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

DbUserConverter.h

Go to the documentation of this file.
00001 //      ============================================================
00002 //
00003 //      DbUserConverter.h
00004 //      ------------------------------------------------------------
00005 //
00006 //      Package   : Generic Converter definition
00007 //
00008 //      Author    : Markus Frank
00009 //
00010 //      Changes   : 6/10/1998   Initial Version                 M.F
00011 //
00012 //
00013 //
00014 //      ===========================================================
00015 #ifndef DBCNV_DBSVC_DBUSERCONVERTER_H
00016 #define DBCNV_DBSVC_DBUSERCONVERTER_H
00017 
00018 // generic experiment headers
00019 #include "GaudiKernel/IConverter.h"
00020 #include "DbUserCnvFactory.h"
00021 
00022 // Forward declarations
00023 class ISvcLocator;
00024 class IOODataBase;
00025 class IDataProviderSvc;
00026 
00050 class DbUserConverter : virtual public IConverter           {
00051 public:
00052   typedef DataObject* (*Creator)();
00053 
00056 
00057   virtual StatusCode queryInterface(const IID& riid, void** ppvInterface);
00058 
00060   virtual unsigned long addRef();
00061 
00063   virtual unsigned long release();
00065 
00068 
00069   virtual StatusCode initialize();
00070 
00072   virtual StatusCode finalize();
00073 
00075   virtual StatusCode setDataProvider(IDataProviderSvc* svc);
00076 
00078   virtual IDataProviderSvc* dataProvider();
00079 
00081   virtual const CLID& objType() const;
00082 
00084   virtual unsigned char repSvcType() const;
00085 
00087   virtual StatusCode createObj(IOpaqueAddress* pAddress,DataObject*& refpObject);
00088 
00090   virtual StatusCode fillObjRefs(IOpaqueAddress* pAddress, DataObject* pObject);
00091 
00093   virtual StatusCode updateObj(IOpaqueAddress* pAddress, DataObject* refpObject);
00094 
00096   virtual StatusCode updateObjRefs(IOpaqueAddress* pAddress, DataObject* pObject);
00097 
00099   virtual StatusCode createRep(DataObject* pObject, IOpaqueAddress*& refpAddress);
00100 
00102   virtual StatusCode fillRepRefs(IOpaqueAddress* pAddress,DataObject* pObject);
00103 
00105   virtual StatusCode updateRep(IOpaqueAddress* pAddress, DataObject* pObject);
00106 
00108   virtual StatusCode updateRepRefs(IOpaqueAddress* pAddress, DataObject* pObject);
00110 
00113 
00114   DbUserConverter( Creator creator, const CLID& class_type, IOODataBase* db, ISvcLocator* svc);
00115 protected:
00117   virtual ~DbUserConverter();
00119 
00120 private:
00122   IConverter*  m_implementation;
00124   ISvcLocator* m_svcLocator;
00125 };
00126 #endif // DBCNV_DBSVC_DBUSERCONVERTER_H 

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