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

ItemCnv.h

Go to the documentation of this file.
00001 // $Header: /nfs/slac/g/glast/ground/cvs/GlastSvc/src/EventSelector/ItemCnv.h,v 1.2 2001/04/19 01:32:29 igable Exp $
00002 #ifndef ITEMCNV_H
00003 #define ITEMCNV_H 1
00004 
00005 
00006 // Include files
00007 #include "BaseCnv.h"
00008 
00009 
00010 // Externals
00011 extern unsigned const char SICB_StorageType;
00012 
00013 
00014 //------------------------------------------------------------------------------
00015 //
00016 // ClassName :    ItemCnv<TYPE>
00017 //  
00018 // Description :  Converter of a single item
00019 //
00020 // Modified SicbItemCnv
00021 //
00022 //------------------------------------------------------------------------------
00023 
00024 
00025 template <class TYPE>
00026 class ItemCnv : public BaseCnv { //public Converter         {
00027 
00028 public:
00029 
00031  virtual StatusCode createObj(IOpaqueAddress* pAddress, DataObject*& refpObject) {
00032     TYPE* new_object  = new TYPE();
00033   //StatusCode status = updateObj(pAddress, new_object);
00034   //if ( StatusCode::SUCCESS == status )    {
00035     refpObject = new_object;
00036     return StatusCode::SUCCESS;
00037   };
00038 
00040   //virtual StatusCode fillObjRefs(IOpaqueAddress* pAddress, DataObject* pObject);
00041 
00043   virtual StatusCode updateObj(IOpaqueAddress* pAddress, DataObject* refpObject) {
00044       return StatusCode::SUCCESS;
00045   }
00046 
00048   //virtual StatusCode updateObjRefs(IOpaqueAddress* pAddress, DataObject* pObject);
00049 
00051   //virtual StatusCode createRep(DataObject* pObject, IOpaqueAddress*& refpAddress);
00052 
00054   //virtual StatusCode fillRepRefs(IOpaqueAddress* pAddress,DataObject* pObject);
00055 
00057   //virtual StatusCode updateRep(IOpaqueAddress* pAddress, DataObject* pObject);
00058 
00060   //virtual StatusCode updateRepRefs(IOpaqueAddress* pAddress, DataObject* pObject);
00061 
00063   static const CLID& classID()                  { return TYPE::classID(); }
00064 
00065 protected:
00066 
00068   ItemCnv(ISvcLocator* svc)
00069       : BaseCnv(TYPE::classID(), svc) {};
00070 
00072   virtual ~ItemCnv()                        { }
00073 
00074   virtual StatusCode updateObj(int* data, TYPE* pObject)  {
00075     return StatusCode::SUCCESS;
00076   }
00077 
00079   //StatusCode addDataLeaf (RegistryEntry* base, RegistryEntry* ent, IOpaqueAddress* addr);
00080 
00081 //  virtual StatusCode updateObj(int* data, TYPE* pObject) = 0;
00082 
00083   //virtual StatusCode updateObjRefs(int* data, TYPE* pObject) = 0;
00084 
00085 };
00086 
00087 
00088 #endif // ITEMCNV_H 

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