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

Converter.cpp

Go to the documentation of this file.
00001 // $Header: /nfs/slac/g/glast/ground/cvs/GaudiKernel/src/Lib/Converter.cpp,v 1.1.1.1 2001/04/18 18:14:18 tlindner Exp $
00002 
00003 // Include Files
00004 #include "GaudiKernel/Converter.h"
00005 #include "GaudiKernel/ISvcLocator.h"
00006 #include "GaudiKernel/IMessageSvc.h"
00007 #include "GaudiKernel/IDataProviderSvc.h"
00008 
00009 //--- IInterface::addRef
00010 unsigned long Converter::addRef()   {
00011   m_refCount++;
00012   return m_refCount;
00013 }
00014 
00015 //--- IInterface::release
00016 unsigned long Converter::release()   {
00017   unsigned long count = --m_refCount;
00018   if( count <= 0) {
00019     delete this;
00020   }
00021   return count;
00022 }
00023 
00024 //--- IInterface::queryInterface
00025 StatusCode Converter::queryInterface(const IID& riid, void** ppvInterface)  {
00026   if ( IID_IInterface.versionMatch(riid) )   {
00027     *ppvInterface = (IInterface*)this;
00028   }
00029   else if ( IID_IConverter.versionMatch(riid) )  {
00030     *ppvInterface = (IConverter*)this;
00031   }
00032   else   {
00033      return NO_INTERFACE;
00034   }
00035   addRef();
00036   return StatusCode::SUCCESS;
00037 }
00038 
00040 const CLID& Converter::objType() const    {
00041   return m_classType;
00042 }
00043 
00045 unsigned char Converter::repSvcType() const   {
00046   return m_storageType;
00047 }
00048 
00050 StatusCode Converter::createObj(IOpaqueAddress*, DataObject*&)   {
00051   return StatusCode::SUCCESS;
00052 }
00053 
00054 
00056 StatusCode Converter::fillObjRefs(IOpaqueAddress*, DataObject*)    {
00057   return StatusCode::SUCCESS;
00058 }
00059 
00061 StatusCode Converter::updateObj(IOpaqueAddress*, DataObject*)   {
00062   return StatusCode::SUCCESS;
00063 }
00064 
00066 StatusCode Converter::updateObjRefs(IOpaqueAddress*, DataObject*)  {
00067   return StatusCode::SUCCESS;
00068 }
00069 
00071 StatusCode Converter::createRep(DataObject*, IOpaqueAddress*&)  {
00072   return StatusCode::SUCCESS;
00073 }
00074 
00076 StatusCode Converter::fillRepRefs(IOpaqueAddress*, DataObject*)  {
00077   return StatusCode::SUCCESS;
00078 }
00079 
00081 StatusCode Converter::updateRep(IOpaqueAddress*, DataObject*)  {
00082   return StatusCode::SUCCESS;
00083 }
00084 
00086 StatusCode Converter::updateRepRefs(IOpaqueAddress*, DataObject*)    {
00087   return StatusCode::SUCCESS;
00088 }
00089 
00091 StatusCode Converter::initialize()    {
00092   StatusCode status = StatusCode::SUCCESS;
00093   if ( 0 != serviceLocator() )    {
00094     // Get a reference to the Message Service
00095     status = serviceLocator()->getService("MessageSvc",
00096                                           IID_IMessageSvc, 
00097                                           (IInterface*&)m_messageSvc);
00098     if ( status.isFailure() )   {
00099       return status;
00100     }
00101     // Get a reference to the data provider
00102     status = serviceLocator()->getService("EventDataSvc",
00103                                           IID_IDataProviderSvc, 
00104                                           (IInterface*&)m_dataProvider);
00105     if ( status.isFailure() )   {
00106       return status;
00107     }
00108   }
00109   return status;
00110 }
00111 
00113 StatusCode Converter::finalize()    {
00114   return StatusCode::SUCCESS;
00115 }
00116 
00118 StatusCode Converter::setDataProvider(IDataProviderSvc* svc)  {
00119   m_dataProvider = svc;
00120   return StatusCode::SUCCESS;
00121 }
00122 
00124 IDataProviderSvc* Converter::dataProvider()  {
00125   return m_dataProvider;
00126 }
00127 
00128 //--- Retrieve pointer to service locator
00129 ISvcLocator* Converter::serviceLocator()    {
00130   return m_svcLocator;
00131 }
00132 
00133 //--- Retrieve pointer to message service
00134 IMessageSvc* Converter::msgSvc()    {
00135   return m_messageSvc;
00136 }
00137 // Obsoleted name, kept due to the backwards compatibility
00138 IMessageSvc* Converter::messageService()    {
00139   return m_messageSvc;
00140 }
00141 
00143 Converter::Converter(unsigned char storage_type, const CLID& class_type, ISvcLocator* svc=0) :
00144   m_refCount(0),   
00145   m_storageType(storage_type), 
00146   m_classType(class_type), 
00147   m_dataProvider(0),
00148   m_svcLocator(svc),
00149   m_messageSvc(0)
00150 {
00151   if ( 0 != serviceLocator() ) serviceLocator()->addRef();
00152 }
00153 
00155 Converter::~Converter()   {
00156   if ( 0 != serviceLocator() ) serviceLocator()->release();
00157   //cout << "Converter destroyed!" << endl;
00158 }
00159 

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