/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Calibration/CalibSvc/CalibXmlCnvSvc/CalibXmlCnvSvc-00-01-01/CalibXmlCnvSvc/CalibXmlCnvSvc.h

Go to the documentation of this file.
00001 //$Header: /bes/bes/BossCvs/Calibration/CalibSvc/CalibXmlCnvSvc/CalibXmlCnvSvc/CalibXmlCnvSvc.h,v 1.2 2006/04/06 04:04:10 maqm Exp $
00002 #ifndef CalibXmlCnvSvc_h
00003 #define CalibXmlCnvSvc_h  1
00004 
00005 #include <string>
00006 
00007 #include "CalibDataSvc/ICalibMetaCnvSvc.h"   // not sure if this is needed
00008 #include "GaudiKernel/ConversionSvc.h"
00009 #include "CalibDataSvc/ICalibXmlSvc.h"
00010 
00011 #include <xercesc/dom/DOMDocument.hpp>
00012 
00014 template <class TYPE> class SvcFactory;
00015 
00016 class IDetDataSvc;
00017 class IOpaqueAddress;
00018 namespace xmlBase {
00019   class XmlParser;
00020 }
00021 
00023 //--------------------------------------------------------------------------
00030 
00031 class CalibXmlCnvSvc : public ConversionSvc, virtual public ICalibXmlSvc 
00032 {
00034   friend class SvcFactory<CalibXmlCnvSvc>;
00035 
00036  protected:
00037 
00038   CalibXmlCnvSvc(const std::string& name, ISvcLocator* svc );
00039   virtual ~CalibXmlCnvSvc() {}
00040 
00041  public:
00042   
00043   // Reimplemented from IInterface
00044 
00045   virtual StatusCode queryInterface( const InterfaceID& riid, 
00046                                      void** ppvInterface);  
00047 
00048  public:
00049 
00050   // Overloaded from ConversionSvc
00051 
00052   virtual StatusCode initialize();
00053   virtual StatusCode finalize();
00054 
00066   virtual StatusCode createAddress(unsigned char svc_type,
00067                                    const CLID& clid,
00068                                    const std::string* par, 
00069                                    const unsigned long* ip,
00070                                    IOpaqueAddress*& refpAddress);
00071 
00072   // from ICalibXmlSvc interface
00073   virtual XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument* 
00074   parse(const char* filename);
00075 
00076   
00077   /*  
00078          probably don't need to override these
00080   virtual StatusCode createObj     ( IOpaqueAddress* pAddress, 
00081                                      DataObject*&    refpObject );
00082   
00084   virtual StatusCode fillObjRefs   ( IOpaqueAddress* pAddress, 
00085                                      DataObject* pObject );
00086   
00088   virtual StatusCode updateObj     ( IOpaqueAddress* pAddress, 
00089                                      DataObject* pObject );
00090 
00092   virtual StatusCode updateObjRefs ( IOpaqueAddress* pAddress, 
00093                                      DataObject* pObject );
00094 
00096   virtual StatusCode createRep     ( DataObject* pObject, 
00097                                      IOpaqueAddress*& refpAddress );
00098 
00100   virtual StatusCode fillRepRefs   ( IOpaqueAddress* pAddress,
00101                                      DataObject* pObject );
00102 
00104   virtual StatusCode updateRep     ( IOpaqueAddress* pAddress, 
00105                                      DataObject* pObject );
00106 
00108   virtual StatusCode updateRepRefs ( IOpaqueAddress* pAddress, 
00109                                      DataObject* pObject );
00110   */
00111 
00112 
00113   
00114  public:
00115 
00116   // Probably don't need this.  meta conversion service should
00117   // already have fetched and stored everything we need.
00118   //  calibUtil::Metadata* getMeta();
00119 
00120  private:
00121 
00122   //Probably don't need this
00123   // /// Handle for metadata access
00124   // calibUtil::Metadata*    m_meta;
00125 
00126   // Not sure we need this
00128   IConversionSvc*      m_detPersSvc;
00129 
00130   // Not sure we need this
00132   IDetDataSvc*         m_detDataSvc;
00133 
00134   xmlBase::XmlParser*       m_parser;
00135 };
00136 #endif   
00137 
00138 
00139 
00140 
00141 
00142 
00143 
00144 

Generated on Tue Nov 29 22:57:54 2016 for BOSS_7.0.2 by  doxygen 1.4.7