00001 //==================================================================== 00002 // RawDataCnv.h 00003 //==================================================================== 00004 // 00005 // Description: 00006 // RawDataCnv is the concrete converter for 00007 // the event header on the TDS /Event 00008 // 00009 //-------------------------------------------------------------------- 00010 00011 #ifndef EF_TDR_EVENT_CNV_H 00012 #define EF_TDR_EVENT_CNV_H 00013 00014 // Include files. 00015 #include "RawDataCnvBase/RawDataBaseCnv.h" 00016 #include "RawDataCnv/ClassID_temp.h" 00017 00018 namespace Event{ class EventH; } 00019 00020 // Forward declarations. 00021 class IOpaqueAddress; 00022 class DataObject; 00023 class StatusCode; 00024 class IRawDataInputSvc; 00025 00026 // Converter Factory to create instances of this class. 00027 template <class TYPE> class CnvFactory; 00028 00029 class RawDataCnv : public RawDataBaseCnv 00030 { 00031 00032 // Declaration of a Converter Factory to create instances of this class. 00033 friend class CnvFactory<RawDataCnv>; 00034 protected: 00035 // Standard Constructor. 00036 RawDataCnv(ISvcLocator* svc); 00037 public: 00038 00039 StatusCode initialize(); 00040 00041 // Return the class type of this converter. 00042 static const CLID& classID(); 00043 00044 virtual long repSvcType() const { 00045 return PACKEDRAWEVENT_StorageType; 00046 } 00047 00048 static const unsigned char storageType() { 00049 return PACKEDRAWEVENT_StorageType; 00050 } 00051 00052 // Create a converted object in the Transient Data Store. 00053 StatusCode createObj(IOpaqueAddress* pAddr, DataObject*& pObj); 00054 00056 virtual StatusCode updateObj(IOpaqueAddress*, DataObject*); 00057 00058 virtual StatusCode createRep(DataObject* pObj, IOpaqueAddress*& pAddr); 00059 00060 private: 00061 IRawDataInputSvc* m_inputSvc; 00062 }; 00063 00064 #endif // EF_TDR_EVENT_CNV_H