#include <SoConversionSvc.h>
Inheritance diagram for SoConversionSvc:
Public Types | |
typedef std::vector< WorkerEntry > | Workers |
SUCCESS | |
NO_INTERFACE | |
VERSMISMATCH | |
LAST_ERROR | |
CONVERSIONSVC_NO_ERROR | |
NO_CONVERTER | |
INVALID_ADDRESS | |
INVALID_OBJECT | |
NO_MEMORY | |
BAD_STORAGE_TYPE | |
NO_SOURCE_OBJECT | |
ICONVERSIONSVC_LAST_ERROR | |
enum | Status |
enum | Status |
Public Member Functions | |
StatusCode | queryInterface (const InterfaceID &, void **) |
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!// | |
virtual StatusCode | initialize () |
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!// | |
virtual StatusCode | createRep (DataObject *Object, IOpaqueAddress *&Address) |
Convert the transient object to the requested representation. | |
virtual StatusCode | fillRepRefs (IOpaqueAddress *, DataObject *) |
virtual StatusCode | UpdateRepRefs (IOpaqueAddress *, DataObject *) |
virtual StatusCode | updateRepRefs (IOpaqueAddress *, DataObject *) |
virtual StatusCode | finalize () |
virtual long | repSvcType () const |
const CLID & | objType () const |
virtual StatusCode | setDataProvider (IDataProviderSvc *pService) |
virtual IDataProviderSvc * | dataProvider () const |
virtual StatusCode | setConversionSvc (IConversionSvc *svc) |
virtual IConversionSvc * | conversionSvc () const |
virtual StatusCode | setAddressCreator (IAddressCreator *creator) |
virtual IAddressCreator * | addressCreator () const |
virtual StatusCode | createObj (IOpaqueAddress *pAddress, DataObject *&refpObject) |
virtual StatusCode | fillObjRefs (IOpaqueAddress *pAddress, DataObject *pObject) |
virtual StatusCode | updateObj (IOpaqueAddress *pAddress, DataObject *refpObject) |
virtual StatusCode | updateObjRefs (IOpaqueAddress *pAddress, DataObject *pObject) |
virtual StatusCode | updateRep (IOpaqueAddress *pAddress, DataObject *pObject) |
virtual StatusCode | addConverter (const CLID &clid) |
virtual StatusCode | addConverter (IConverter *pConverter) |
virtual StatusCode | removeConverter (const CLID &clid) |
virtual IConverter * | converter (const CLID &wanted) |
virtual StatusCode | connectOutput (const std::string &outputFile, const std::string &openMode) |
virtual StatusCode | connectOutput (const std::string &output) |
virtual StatusCode | commitOutput (const std::string &output, bool do_commit) |
virtual StatusCode | createAddress (long svc_type, const CLID &clid, const std::string *par, const unsigned long *ip, IOpaqueAddress *&refpAddress) |
virtual StatusCode | createAddress (long svc_type, const CLID &clid, const std::string &refAddress, IOpaqueAddress *&refpAddress) |
virtual StatusCode | convertAddress (const IOpaqueAddress *pAddress, std::string &refAddress) |
virtual StatusCode | updateServiceState (IOpaqueAddress *pAddress) |
virtual unsigned long | addRef () |
virtual unsigned long | release () |
virtual const std::string & | name () const |
virtual const InterfaceID & | type () const |
virtual StatusCode | configure () |
virtual StatusCode | start () |
virtual StatusCode | stop () |
virtual StatusCode | terminate () |
virtual Gaudi::StateMachine::State | FSMState () const |
virtual Gaudi::StateMachine::State | targetFSMState () const |
virtual StatusCode | reinitialize () |
virtual StatusCode | restart () |
virtual StatusCode | sysInitialize () |
virtual StatusCode | sysStart () |
virtual StatusCode | sysStop () |
virtual StatusCode | sysFinalize () |
virtual StatusCode | sysReinitialize () |
virtual StatusCode | sysRestart () |
virtual StatusCode | setProperty (const Property &p) |
virtual StatusCode | setProperty (const std::string &s) |
virtual StatusCode | setProperty (const std::string &n, const std::string &v) |
StatusCode | setProperty (const std::string &name, const TYPE &value) |
virtual StatusCode | getProperty (Property *p) const |
virtual const Property & | getProperty (const std::string &name) const |
virtual StatusCode | getProperty (const std::string &n, std::string &v) const |
virtual const std::vector< Property * > & | getProperties () const |
ISvcLocator * | serviceLocator () const |
IMessageSvc * | msgSvc () |
IMessageSvc * | msgSvc () const |
IMessageSvc * | messageService () |
IMessageSvc * | messageService () const |
StatusCode | setProperties () |
StatusCode | service (const std::string &name, T *&psvc, bool createIf=true) const |
StatusCode | service (const std::string &svcType, const std::string &svcName, T *&psvc) const |
Property * | declareProperty (const std::string &name, T &property, const std::string &doc="none") const |
Property * | declareRemoteProperty (const std::string &name, IProperty *rsvc, const std::string &rname="") const |
IAuditorSvc * | auditorSvc () const |
Static Public Member Functions | |
static const InterfaceID & | interfaceID () |
static const InterfaceID & | interfaceID () |
static const InterfaceID & | interfaceID () |
static const InterfaceID & | interfaceID () |
static const InterfaceID & | interfaceID () |
static const InterfaceID & | interfaceID () |
Public Attributes | |
SUCCESS | |
NO_INTERFACE | |
VERSMISMATCH | |
LAST_ERROR | |
CONVERSIONSVC_NO_ERROR | |
NO_CONVERTER | |
Protected Member Functions | |
SoConversionSvc (const std::string &, ISvcLocator *) | |
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!// | |
virtual | ~SoConversionSvc () |
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!// | |
virtual IAddressCreator * | addressCreator () |
virtual IConverter * | createConverter (long typ, const CLID &clid, const ICnvFactory *fac) |
virtual StatusCode | configureConverter (long typ, const CLID &clid, IConverter *cnv) |
virtual StatusCode | initializeConverter (long typ, const CLID &clid, IConverter *cnv) |
virtual StatusCode | activateConverter (long typ, const CLID &clid, IConverter *cnv) |
virtual void | loadConverter (DataObject *pObject) |
StatusCode | makeCall (int typ, bool ignore_add, bool ignore_obj, bool update, IOpaqueAddress *&pAddress, DataObject *&pObject) |
int | outputLevel () const |
Protected Attributes | |
IDataProviderSvc * | m_dataSvc |
IAddressCreator * | m_addressCreator |
long | m_type |
Workers * | m_workers |
IntegerProperty | m_outputLevel |
Gaudi::StateMachine::State | m_state |
Gaudi::StateMachine::State | m_targetState |
IMessageSvc * | m_messageSvc |
Friends | |
class | SvcFactory< SoConversionSvc > |
friend class | ServiceManager |
Definition at line 34 of file SoConversionSvc.h.
SoConversionSvc::SoConversionSvc | ( | const std::string & | , | |
ISvcLocator * | ||||
) | [protected] |
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//
Definition at line 24 of file SoConversionSvc.cpp.
00028 :ConversionSvc(aName, aSvcLoc, So_TechnologyType) 00029 00030 00031 { 00032 }
SoConversionSvc::~SoConversionSvc | ( | ) | [protected, virtual] |
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//
Definition at line 34 of file SoConversionSvc.cpp.
StatusCode SoConversionSvc::queryInterface | ( | const InterfaceID & | , | |
void ** | ||||
) | [virtual] |
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//
Reimplemented from ConversionSvc.
Definition at line 41 of file SoConversionSvc.cpp.
00047 { 00048 if(ISoConversionSvc::interfaceID() == aRIID) { 00049 *aPPVIF = static_cast<ISoConversionSvc*> (this); 00050 addRef(); 00051 return StatusCode::SUCCESS; 00052 } else if(IConversionSvc::interfaceID() == aRIID) { 00053 *aPPVIF = static_cast<IConversionSvc*> (this); 00054 addRef(); 00055 return StatusCode::SUCCESS; 00056 } else { 00057 return ConversionSvc::queryInterface(aRIID, aPPVIF); 00058 } 00059 }
StatusCode SoConversionSvc::initialize | ( | ) | [virtual] |
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//
Reimplemented from ConversionSvc.
Definition at line 62 of file SoConversionSvc.cpp.
00066 { 00067 StatusCode status = ConversionSvc::initialize(); 00068 if( status.isFailure() ) return status; 00069 00070 MsgStream log(messageService(), name()); 00071 log << MSG::INFO << this->name() << " initialized successfully" << endreq; 00072 00073 return status; 00074 }
StatusCode SoConversionSvc::createRep | ( | DataObject * | Object, | |
IOpaqueAddress *& | Address | |||
) | [virtual] |
Convert the transient object to the requested representation.
e.g. conversion to persistent objects.
Object | Pointer to location of the object | |
Address | Reference to location of pointer with the object address. |
check the arguments
Logical volume?
Histogram ?
Other objects :
< other object
Reimplemented from ConversionSvc.
Definition at line 76 of file SoConversionSvc.cpp.
00089 { 00090 aAddress = 0; 00091 00093 if(!aObject) { 00094 MsgStream log( msgSvc() , name() ); 00095 log << MSG::ERROR 00096 << " DataObject* points to NULL! " << endreq ; 00097 return StatusCode::FAILURE ; 00098 } 00099 00101 if(dynamic_cast<const IDetectorElement*>(aObject)) { 00102 IConverter* cnv = converter( CLID_DetectorElement ); 00103 if(!cnv) { 00104 MsgStream log( msgSvc() , name() ); 00105 log << MSG::ERROR 00106 << " Converter is not found for Object/CLID='" 00107 << System::typeinfoName( typeid( *aObject ) ) << "'/'" 00108 << aObject->clID() << "'" << endreq ; 00109 return StatusCode::FAILURE ; 00110 } 00111 return cnv->createRep( aObject , aAddress ) ; 00112 } 00113 00115 if(dynamic_cast<const ILVolume*>(aObject)) { 00116 IConverter* cnv = converter( CLID_LVolume ); 00117 if(!cnv) { 00118 MsgStream log( msgSvc() , name() ); 00119 log << MSG::ERROR 00120 << " Converter is not found for Object/CLID='" 00121 << System::typeinfoName( typeid( *aObject ) ) << "'/'" 00122 << aObject->clID() << "'" << endreq ; 00123 return StatusCode::FAILURE ; 00124 } 00125 return cnv->createRep( aObject , aAddress ) ; 00126 } 00127 00129 if(dynamic_cast<const AIDA::IHistogram*>(aObject)) { 00130 IConverter* cnv = converter( CLID_Histogram ); 00131 if(!cnv) { 00132 MsgStream log( msgSvc() , name() ); 00133 log << MSG::ERROR 00134 << " Histogram converter is not found for Object/CLID='" 00135 << System::typeinfoName( typeid( *aObject ) ) << "'/'" 00136 << aObject->clID() << "'" << endreq ; 00137 return StatusCode::FAILURE ; 00138 } 00139 return cnv->createRep( aObject , aAddress ) ; 00140 } 00141 00143 IConverter* cnv = converter( aObject->clID() ) ; 00144 if(!cnv) { 00145 MsgStream log( msgSvc() , name() ); 00146 log << MSG::INFO 00147 << " Converter is not found for Object/CLID='" 00148 << System::typeinfoName( typeid( *aObject ) ) << "'/'" 00149 << aObject->clID() << "'" 00150 << endreq ; 00151 00152 log << MSG::ALWAYS << aObject->fillStream(log.stream()) << endreq; 00153 00154 return StatusCode::SUCCESS ; 00155 } 00156 return cnv->createRep( aObject , aAddress ) ; 00157 00158 };
virtual StatusCode SoConversionSvc::fillRepRefs | ( | IOpaqueAddress * | , | |
DataObject * | ||||
) | [inline, virtual] |
Reimplemented from ConversionSvc.
Definition at line 55 of file SoConversionSvc.h.
00057 { return StatusCode::SUCCESS; }
virtual StatusCode SoConversionSvc::UpdateRepRefs | ( | IOpaqueAddress * | , | |
DataObject * | ||||
) | [inline, virtual] |
virtual StatusCode SoConversionSvc::updateRepRefs | ( | IOpaqueAddress * | , | |
DataObject * | ||||
) | [inline, virtual] |
Reimplemented from ConversionSvc.
Definition at line 65 of file SoConversionSvc.h.
00067 { return StatusCode::SUCCESS; }
static const InterfaceID& ISoConversionSvc::interfaceID | ( | ) | [inline, static, inherited] |
Reimplemented from IConversionSvc.
Definition at line 12 of file ISoConversionSvc.h.
00012 { return IID_ISoConversionSvc; }
friend class SvcFactory< SoConversionSvc > [friend] |
Definition at line 36 of file SoConversionSvc.h.