Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

Converter.h

Go to the documentation of this file.
00001 // $Header: /nfs/slac/g/glast/ground/cvs/GaudiKernel/GaudiKernel/Converter.h,v 1.1.1.1 2001/04/18 18:14:18 tlindner Exp $
00002 #ifndef GAUDIKERNEL_CONVERTER_H
00003 #define GAUDIKERNEL_CONVERTER_H
00004 
00005 // generic experiment headers
00006 #include "GaudiKernel/IConverter.h"
00007 
00008 // Forward declarations
00009 class ISvcLocator;
00010 class IMessageSvc;
00011 class IDataDirectory;
00012 class IDataProviderSvc;
00013 
00022 class Converter : virtual public IConverter         {
00023 
00024 public:
00025 
00027   virtual StatusCode queryInterface(const IID& riid, void** ppvInterface);
00028 
00030   virtual unsigned long addRef();
00031 
00033   virtual unsigned long release();
00034 
00036   virtual StatusCode initialize();
00037 
00039   virtual StatusCode finalize();
00040 
00042   virtual StatusCode setDataProvider(IDataProviderSvc* svc);
00043 
00045   virtual IDataProviderSvc* dataProvider();
00046 
00048   virtual const CLID& objType() const;
00049 
00051   virtual unsigned char repSvcType() const;
00052 
00054   virtual StatusCode createObj(IOpaqueAddress* pAddress,DataObject*& refpObject);
00055 
00057   virtual StatusCode fillObjRefs(IOpaqueAddress* pAddress, DataObject* pObject);
00058 
00060   virtual StatusCode updateObj(IOpaqueAddress* pAddress, DataObject* refpObject);
00061 
00063   virtual StatusCode updateObjRefs(IOpaqueAddress* pAddress, DataObject* pObject);
00064 
00066   virtual StatusCode createRep(DataObject* pObject, IOpaqueAddress*& refpAddress);
00067 
00069   virtual StatusCode fillRepRefs(IOpaqueAddress* pAddress,DataObject* pObject);
00070 
00072   virtual StatusCode updateRep(IOpaqueAddress* pAddress, DataObject* pObject);
00073 
00075   virtual StatusCode updateRepRefs(IOpaqueAddress* pAddress, DataObject* pObject);
00076 
00078   Converter(unsigned char storage_type, const CLID& class_type, ISvcLocator* svc);
00079 
00080 protected:
00081 
00083   virtual ~Converter();
00084 
00086   ISvcLocator* serviceLocator();
00087 
00089   IMessageSvc* msgSvc();
00090   // Obsoleted name, kept due to the backwards compatibility
00091   IMessageSvc* messageService();
00092 
00093 private:
00094 
00096   unsigned long     m_refCount;
00098   unsigned char     m_storageType;
00100   const CLID        m_classType;
00102   IDataProviderSvc* m_dataProvider;
00104   ISvcLocator*      m_svcLocator;
00106   IMessageSvc*      m_messageSvc;
00107 };
00108 
00109 
00110 #endif // GAUDIKERNEL_CONVERTER_H 

Generated at Wed Nov 21 12:22:03 2001 by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000