/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Event/RawDataCnvBase/RawDataCnvBase-01-00-03/RawDataCnvBase/RawDataCnvSvc.h

Go to the documentation of this file.
00001 #ifndef RawDataCnvSvc_H
00002 #define RawDataCnvSvc_H 
00003 
00004 #include <map>
00005 #include "GaudiKernel/ConversionSvc.h"
00006 #include "RawDataCnvBase/IRawDataCnvSvc.h"
00007 
00008 template <class TYPE> class SvcFactory;
00009 
00010 class IOpaqueAddress;
00011 
00023 class RawDataCnvSvc  : public ConversionSvc, virtual public IRawDataCnvSvc      {
00024 
00025   friend class SvcFactory<RawDataCnvSvc>;
00026 
00028   typedef std::map<std::string, Leaf*> LeafMap;
00029   LeafMap m_leaves;
00030 
00031 public:
00032 
00033   virtual StatusCode initialize();
00034 
00035   virtual StatusCode finalize();
00036 
00038   virtual StatusCode declareObject(const IRawDataCnvSvc::Leaf& leaf);
00039 
00041   virtual StatusCode queryInterface(const InterfaceID& riid, void** ppvInterface);
00042 
00043   // Address creation.
00044   virtual StatusCode createAddress( long  svc_type,
00045                                     const CLID& clid,
00046                                     const std::string* par, 
00047                                     const unsigned long* ip,
00048                                     IOpaqueAddress*& refpAddress);
00049   virtual StatusCode createAddress(long storageType,
00050                                    const CLID& clid,
00051                                    const std::string&,
00052                                    IOpaqueAddress*& refpAddress);
00053 
00054 protected:
00055   virtual StatusCode addConverters () = 0;
00056 
00057   StatusCode updateServiceState(IOpaqueAddress* pAddress);
00058 
00059   RawDataCnvSvc(const std::string& name, ISvcLocator* svc, long storageTyp);
00060 
00061   virtual ~RawDataCnvSvc() { };
00062 };
00063 
00064 
00065 #endif // RawDataCnvSvc_H
00066 

Generated on Tue Nov 29 22:58:34 2016 for BOSS_7.0.2 by  doxygen 1.4.7