00001
00002 #ifndef EVENTCNVSVC_H
00003 #define EVENTCNVSVC_H 1
00004
00005 #include <map>
00006
00007
00008 #include "GaudiKernel/ConversionSvc.h"
00009 #include "IEventCnvSvc.h"
00010
00011
00012
00013 template <class TYPE> class SvcFactory;
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 class EventCnvSvc : virtual public ConversionSvc, virtual public IEventCnvSvc {
00028
00029 friend class SvcFactory<EventCnvSvc>;
00030
00032 typedef std::map<std::string, Leaf*> LeafMap;
00033 LeafMap m_leaves;
00034
00035
00036 public:
00037
00039 virtual StatusCode initialize();
00040
00042 virtual StatusCode finalize();
00043
00045 virtual StatusCode updateServiceState(IOpaqueAddress* pAddress);
00046
00048 virtual StatusCode queryInterface(const IID& riid, void** ppvInterface);
00049
00051 virtual StatusCode declareObject(const IEventCnvSvc::Leaf& leaf);
00052
00053 protected:
00054
00056 EventCnvSvc(const std::string& name, ISvcLocator* svc);
00057
00059 virtual ~EventCnvSvc();
00060
00061 };
00062
00063
00064 #endif // EVENTCNVSVC_H