![]() |
The Gaudi Framework
v28r0
|
Base class for all conversion services. More...
#include <GaudiKernel/ConversionSvc.h>
Classes | |
class | CnvTest |
class | WorkerEntry |
Public Member Functions | |
StatusCode | initialize () override |
Initialize the service. More... | |
StatusCode | finalize () override |
stop the service. More... | |
long | repSvcType () const override |
Retrieve the class type of the data store the converter uses. More... | |
const CLID & | objType () const override |
Implementation of IConverter: dummy call. More... | |
StatusCode | setDataProvider (IDataProviderSvc *pService) override |
Implementation of IConverter: Set Data provider service. More... | |
SmartIF< IDataProviderSvc > & | dataProvider () const override |
Implementation of IConverter: Get Data provider service. More... | |
StatusCode | setConversionSvc (IConversionSvc *svc) override |
Implementation of IConverter: Set conversion service the converter is connected to. More... | |
SmartIF< IConversionSvc > & | conversionSvc () const override |
Implementation of IConverter: Get conversion service the converter is connected to. More... | |
StatusCode | setAddressCreator (IAddressCreator *creator) override |
Set address creator facility. More... | |
SmartIF< IAddressCreator > & | addressCreator () const override |
Retrieve address creator facility. More... | |
StatusCode | createObj (IOpaqueAddress *pAddress, DataObject *&refpObject) override |
Implementation of IConverter: Create the transient representation of an object. More... | |
StatusCode | fillObjRefs (IOpaqueAddress *pAddress, DataObject *pObject) override |
Implementation of IConverter: Resolve the references of the created transient object. More... | |
StatusCode | updateObj (IOpaqueAddress *pAddress, DataObject *refpObject) override |
Implementation of IConverter: Update the transient object from the other representation. More... | |
StatusCode | updateObjRefs (IOpaqueAddress *pAddress, DataObject *pObject) override |
Implementation of IConverter: Update the references of an updated transient object. More... | |
StatusCode | createRep (DataObject *pObject, IOpaqueAddress *&refpAddress) override |
Implementation of IConverter: Convert the transient object to the requested representation. More... | |
StatusCode | fillRepRefs (IOpaqueAddress *pAddress, DataObject *pObject) override |
Implementation of IConverter: Resolve the references of the converted object. More... | |
StatusCode | updateRep (IOpaqueAddress *pAddress, DataObject *pObject) override |
Implementation of IConverter: Update the converted representation of a transient object. More... | |
StatusCode | updateRepRefs (IOpaqueAddress *pAddress, DataObject *pObject) override |
Implementation of IConverter: Update the references of an already converted object. More... | |
StatusCode | addConverter (const CLID &clid) override |
Add converter object to conversion service. More... | |
StatusCode | addConverter (IConverter *pConverter) override |
Add converter object to conversion service. More... | |
StatusCode | removeConverter (const CLID &clid) override |
Remove converter object from conversion service (if present). More... | |
IConverter * | converter (const CLID &wanted) override |
Retrieve converter from list. More... | |
StatusCode | connectOutput (const std::string &outputFile, const std::string &openMode) override |
Connect the output file to the service with open mode. More... | |
StatusCode | connectOutput (const std::string &output) override |
Connect the output file to the service. More... | |
StatusCode | commitOutput (const std::string &output, bool do_commit) override |
Commit pending output. More... | |
StatusCode | createAddress (long svc_type, const CLID &clid, const std::string *par, const unsigned long *ip, IOpaqueAddress *&refpAddress) override |
Create a Generic address using explicit arguments to identify a single object. More... | |
StatusCode | convertAddress (const IOpaqueAddress *pAddress, std::string &refAddress) override |
Convert an address to string form. More... | |
StatusCode | createAddress (long svc_type, const CLID &clid, const std::string &refAddress, IOpaqueAddress *&refpAddress) override |
Convert an address in string form to object form. More... | |
virtual StatusCode | updateServiceState (IOpaqueAddress *pAddress) |
Update state of the service. More... | |
ConversionSvc (const std::string &name, ISvcLocator *svc, long type) | |
Standard Constructor. More... | |
![]() | |
void * | i_cast (const InterfaceID &tid) const override |
Implementation of IInterface::i_cast. More... | |
StatusCode | queryInterface (const InterfaceID &ti, void **pp) override |
Implementation of IInterface::queryInterface. More... | |
std::vector< std::string > | getInterfaceNames () const override |
Implementation of IInterface::getInterfaceNames. More... | |
~extends () override=default | |
Virtual destructor. More... | |
![]() | |
const std::string & | name () const override |
Retrieve name of the service. More... | |
StatusCode | configure () override |
StatusCode | initialize () override |
StatusCode | start () override |
StatusCode | stop () override |
StatusCode | finalize () override |
StatusCode | terminate () override |
Gaudi::StateMachine::State | FSMState () const override |
Gaudi::StateMachine::State | targetFSMState () const override |
StatusCode | reinitialize () override |
StatusCode | restart () override |
StatusCode | sysInitialize () override |
Initialize Service. More... | |
StatusCode | sysStart () override |
Initialize Service. More... | |
StatusCode | sysStop () override |
Initialize Service. More... | |
StatusCode | sysFinalize () override |
Finalize Service. More... | |
StatusCode | sysReinitialize () override |
Re-initialize the Service. More... | |
StatusCode | sysRestart () override |
Re-initialize the Service. More... | |
Service (std::string name, ISvcLocator *svcloc) | |
Standard Constructor. More... | |
SmartIF< ISvcLocator > & | serviceLocator () const override |
Retrieve pointer to service locator. More... | |
StatusCode | setProperties () |
Method for setting declared properties to the values specified for the job. More... | |
template<class T > | |
StatusCode | service (const std::string &name, const T *&psvc, bool createIf=true) const |
Access a service by name, creating it if it doesn't already exist. More... | |
template<class T > | |
StatusCode | service (const std::string &name, T *&psvc, bool createIf=true) const |
template<typename IFace = IService> | |
SmartIF< IFace > | service (const std::string &name, bool createIf=true) const |
template<class T > | |
StatusCode | service (const std::string &svcType, const std::string &svcName, T *&psvc) const |
Access a service by name and type, creating it if it doesn't already exist. More... | |
template<class T > | |
StatusCode | declarePrivateTool (ToolHandle< T > &handle, std::string toolTypeAndName="", bool createIf=true) |
Declare used Private tool. More... | |
template<class T > | |
StatusCode | declarePublicTool (ToolHandle< T > &handle, std::string toolTypeAndName="", bool createIf=true) |
Declare used Public tool. More... | |
SmartIF< IAuditorSvc > & | auditorSvc () const |
The standard auditor service.May not be invoked before sysInitialize() has been invoked. More... | |
![]() | |
PropertyHolder ()=default | |
~PropertyHolder () override=default | |
Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Details::PropertyBase &prop) |
Declare a property. More... | |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, TYPE &value, const std::string &doc="none") |
Helper to wrap a regular data member and use it as a regular property. More... | |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, TYPE &value, const std::string &doc="none") const |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, Gaudi::Property< TYPE, VERIFIER, HANDLERS > &prop, const std::string &doc="none") |
Declare a PropertyBase instance setting name and documentation. More... | |
Gaudi::Details::PropertyBase * | declareRemoteProperty (const std::string &name, IProperty *rsvc, const std::string &rname="") |
Declare a remote property. More... | |
StatusCode | setProperty (const Gaudi::Details::PropertyBase &p) override |
set the property form another property More... | |
StatusCode | setProperty (const std::string &s) override |
set the property from the formatted string More... | |
StatusCode | setProperty (const std::string &n, const std::string &v) override |
set the property from name and the value More... | |
StatusCode | setProperty (const std::string &name, const TYPE &value) |
set the property form the value More... | |
StatusCode | getProperty (Gaudi::Details::PropertyBase *p) const override |
get the property More... | |
const Gaudi::Details::PropertyBase & | getProperty (const std::string &name) const override |
get the property by name More... | |
StatusCode | getProperty (const std::string &n, std::string &v) const override |
convert the property to the string More... | |
const std::vector< Gaudi::Details::PropertyBase * > & | getProperties () const override |
get all properties More... | |
bool | hasProperty (const std::string &name) const override |
Return true if we have a property with the given name. More... | |
PropertyHolder (const PropertyHolder &)=delete | |
PropertyHolder & | operator= (const PropertyHolder &)=delete |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, ToolHandle< TYPE > &ref, const std::string &doc="none") |
Specializations for various GaudiHandles. More... | |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, ServiceHandle< TYPE > &ref, const std::string &doc="none") |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, ToolHandleArray< TYPE > &ref, const std::string &doc="none") |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, ServiceHandleArray< TYPE > &ref, const std::string &doc="none") |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, DataObjectHandle< TYPE > &ref, const std::string &doc="none") |
![]() | |
virtual | ~CommonMessagingBase ()=default |
Virtual destructor. More... | |
SmartIF< IMessageSvc > & | msgSvc () const |
The standard message service. More... | |
MsgStream & | msgStream () const |
Return an uninitialized MsgStream. More... | |
MsgStream & | msgStream (const MSG::Level level) const |
Predefined configurable message stream for the efficient printouts. More... | |
MsgStream & | always () const |
shortcut for the method msgStream(MSG::ALWAYS) More... | |
MsgStream & | fatal () const |
shortcut for the method msgStream(MSG::FATAL) More... | |
MsgStream & | err () const |
shortcut for the method msgStream(MSG::ERROR) More... | |
MsgStream & | error () const |
shortcut for the method msgStream(MSG::ERROR) More... | |
MsgStream & | warning () const |
shortcut for the method msgStream(MSG::WARNING) More... | |
MsgStream & | info () const |
shortcut for the method msgStream(MSG::INFO) More... | |
MsgStream & | debug () const |
shortcut for the method msgStream(MSG::DEBUG) More... | |
MsgStream & | verbose () const |
shortcut for the method msgStream(MSG::VERBOSE) More... | |
MsgStream & | msg () const |
shortcut for the method msgStream(MSG::INFO) More... | |
MSG::Level | msgLevel () const |
get the output level from the embedded MsgStream More... | |
MSG::Level | outputLevel () const __attribute__((deprecated)) |
Backward compatibility function for getting the output level. More... | |
bool | msgLevel (MSG::Level lvl) const |
get the output level from the embedded MsgStream More... | |
![]() | |
~extend_interfaces () override=default | |
Virtual destructor. More... | |
Protected Member Functions | |
virtual | ~ConversionSvc () |
Standard Destructor. More... | |
virtual IConverter * | createConverter (long typ, const CLID &clid, const ICnvFactory *fac) |
Create new Converter using factory. More... | |
virtual StatusCode | configureConverter (long typ, const CLID &clid, IConverter *cnv) |
Configure the new converter before initialize is called. More... | |
virtual StatusCode | initializeConverter (long typ, const CLID &clid, IConverter *cnv) |
Initialize the new converter. More... | |
virtual StatusCode | activateConverter (long typ, const CLID &clid, IConverter *cnv) |
Activate the new converter after initialization. More... | |
virtual void | loadConverter (DataObject *pObject) |
Load converter or dictionary needed by the converter. More... | |
virtual SmartIF< IAddressCreator > & | addressCreator () |
Retrieve address creation interface. More... | |
StatusCode | makeCall (int typ, bool ignore_add, bool ignore_obj, bool update, IOpaqueAddress *&pAddress, DataObject *&pObject) |
![]() | |
~Service () override | |
Standard Destructor. More... | |
int | outputLevel () const |
get the Service's output level More... | |
![]() | |
Gaudi::Details::PropertyBase * | property (const std::string &name) const |
![]() | |
void | updateMsgStreamOutputLevel (int level) |
Update the output level of the cached MsgStream. More... | |
Protected Attributes | |
SmartIF< IDataProviderSvc > | m_dataSvc |
Pointer to data provider service. More... | |
SmartIF< IAddressCreator > | m_addressCreator |
Pointer to the address creation service interface. More... | |
SmartIF< IConversionSvc > | m_cnvSvc |
Pointer to the IConversionSvc interface of this. More... | |
long | m_type |
Conversion service type. More... | |
std::vector< WorkerEntry > | m_workers |
List of conversion workers. More... | |
![]() | |
Gaudi::StateMachine::State | m_state = Gaudi::StateMachine::OFFLINE |
Service state. More... | |
Gaudi::StateMachine::State | m_targetState = Gaudi::StateMachine::OFFLINE |
Service state. More... | |
Gaudi::Property< int > | m_outputLevel {this, "OutputLevel", MSG::NIL, "output level"} |
Gaudi::Property< bool > | m_auditInit {this, "AuditServices", false, "[[deprecated]] unused"} |
Gaudi::Property< bool > | m_auditorInitialize {this, "AuditInitialize", false, "trigger auditor on initialize()"} |
Gaudi::Property< bool > | m_auditorStart {this, "AuditStart", false, "trigger auditor on start()"} |
Gaudi::Property< bool > | m_auditorStop {this, "AuditStop", false, "trigger auditor on stop()"} |
Gaudi::Property< bool > | m_auditorFinalize {this, "AuditFinalize", false, "trigger auditor on finalize()"} |
Gaudi::Property< bool > | m_auditorReinitialize {this, "AuditReinitialize", false, "trigger auditor on reinitialize()"} |
Gaudi::Property< bool > | m_auditorRestart {this, "AuditRestart", false, "trigger auditor on restart()"} |
SmartIF< IAuditorSvc > | m_pAuditorSvc |
Auditor Service. More... | |
Private Member Functions | |
ConversionSvc (const ConversionSvc &) | |
Fake copy constructor (never implemented). More... | |
ConversionSvc & | operator= (const ConversionSvc &) |
Fake assignment operator (never implemented). More... | |
Base class for all conversion services.
It manages a set of Converters that are specialized for conversions of specific objects.
This supports self learning converters: User hooks include the following (overridable) entries:
configureConverter and activateConverter are user hooks, where the convetrer can be manipulated by the hosting service and knowledge can be supplied, which a "generic" converter cannot aquire itself.
These hooks allow any sub-classed conversion service to override the calls and create converters, which aquire the knowledge about their persistency type and the object type they convert during the initialization.
Only AFTER these three steps the converter must satisfy the storage type of the hosting service and the class type of the required object type.
Definition at line 46 of file ConversionSvc.h.
ConversionSvc::ConversionSvc | ( | const std::string & | name, |
ISvcLocator * | svc, | ||
long | type | ||
) |
Standard Constructor.
Definition at line 379 of file ConversionSvc.cpp.
|
protectedvirtual |
Standard Destructor.
Definition at line 389 of file ConversionSvc.cpp.
|
private |
Fake copy constructor (never implemented).
|
protectedvirtual |
Activate the new converter after initialization.
Activate the freshly created converter.
Definition at line 317 of file ConversionSvc.cpp.
|
override |
Add converter object to conversion service.
Definition at line 209 of file ConversionSvc.cpp.
|
override |
Add converter object to conversion service.
Definition at line 236 of file ConversionSvc.cpp.
|
override |
Retrieve address creator facility.
Access the transient store.
Definition at line 194 of file ConversionSvc.cpp.
|
inlineprotectedvirtual |
Retrieve address creation interface.
Definition at line 210 of file ConversionSvc.h.
|
override |
Commit pending output.
Definition at line 346 of file ConversionSvc.cpp.
|
protectedvirtual |
Configure the new converter before initialize is called.
Configure the freshly created converter.
Definition at line 298 of file ConversionSvc.cpp.
|
override |
Connect the output file to the service with open mode.
Definition at line 335 of file ConversionSvc.cpp.
|
override |
Connect the output file to the service.
Definition at line 341 of file ConversionSvc.cpp.
|
override |
Implementation of IConverter: Get conversion service the converter is connected to.
Get conversion service the converter is connected to.
Definition at line 204 of file ConversionSvc.cpp.
|
override |
Convert an address to string form.
Definition at line 361 of file ConversionSvc.cpp.
|
override |
Retrieve converter from list.
Definition at line 143 of file ConversionSvc.cpp.
|
override |
Create a Generic address using explicit arguments to identify a single object.
Definition at line 351 of file ConversionSvc.cpp.
|
override |
Convert an address in string form to object form.
Definition at line 369 of file ConversionSvc.cpp.
|
protectedvirtual |
Create new Converter using factory.
Reimplemented in Gaudi::RootCnvSvc.
Definition at line 286 of file ConversionSvc.cpp.
|
override |
Implementation of IConverter: Create the transient representation of an object.
Create the transient representation of an object.
Definition at line 103 of file ConversionSvc.cpp.
|
override |
Implementation of IConverter: Convert the transient object to the requested representation.
Convert the transient object to the requested representation.
Definition at line 123 of file ConversionSvc.cpp.
|
override |
Implementation of IConverter: Get Data provider service.
Access the transient store.
Definition at line 175 of file ConversionSvc.cpp.
|
override |
Implementation of IConverter: Resolve the references of the created transient object.
Resolve the references of the created transient object.
Definition at line 108 of file ConversionSvc.cpp.
|
override |
Implementation of IConverter: Resolve the references of the converted object.
Resolve the references of the converted object.
Definition at line 128 of file ConversionSvc.cpp.
|
override |
stop the service.
Definition at line 268 of file ConversionSvc.cpp.
|
override |
Initialize the service.
Definition at line 262 of file ConversionSvc.cpp.
|
protectedvirtual |
Initialize the new converter.
Initialize new converter.
Definition at line 309 of file ConversionSvc.cpp.
|
protectedvirtual |
Load converter or dictionary needed by the converter.
Reimplemented in Gaudi::RootCnvSvc.
Definition at line 94 of file ConversionSvc.cpp.
|
protected |
Definition at line 23 of file ConversionSvc.cpp.
|
override |
Implementation of IConverter: dummy call.
Retrieve the class type of objects the converter produces.
Definition at line 325 of file ConversionSvc.cpp.
|
private |
Fake assignment operator (never implemented).
|
override |
Remove converter object from conversion service (if present).
Definition at line 248 of file ConversionSvc.cpp.
|
override |
Retrieve the class type of the data store the converter uses.
Definition at line 330 of file ConversionSvc.cpp.
|
override |
Set address creator facility.
Definition at line 180 of file ConversionSvc.cpp.
|
override |
Implementation of IConverter: Set conversion service the converter is connected to.
Set conversion service the converter is connected to.
Definition at line 199 of file ConversionSvc.cpp.
|
override |
Implementation of IConverter: Set Data provider service.
Define transient data store.
pService | Pointer to data provider service |
Definition at line 162 of file ConversionSvc.cpp.
|
override |
Implementation of IConverter: Update the transient object from the other representation.
Update the transient object from the other representation.
Definition at line 113 of file ConversionSvc.cpp.
|
override |
Implementation of IConverter: Update the references of an updated transient object.
Update the references of an updated transient object.
Definition at line 118 of file ConversionSvc.cpp.
|
override |
Implementation of IConverter: Update the converted representation of a transient object.
Update the converted representation of a transient object.
Definition at line 133 of file ConversionSvc.cpp.
|
override |
Implementation of IConverter: Update the references of an already converted object.
Update the references of an already converted object.
Definition at line 138 of file ConversionSvc.cpp.
|
virtual |
Update state of the service.
Reimplemented in Gaudi::RootCnvSvc.
Definition at line 98 of file ConversionSvc.cpp.
|
mutableprotected |
Pointer to the address creation service interface.
Definition at line 225 of file ConversionSvc.h.
|
mutableprotected |
Pointer to the IConversionSvc interface of this.
Definition at line 227 of file ConversionSvc.h.
|
mutableprotected |
Pointer to data provider service.
Definition at line 223 of file ConversionSvc.h.
|
protected |
Conversion service type.
Definition at line 229 of file ConversionSvc.h.
|
protected |
List of conversion workers.
Definition at line 231 of file ConversionSvc.h.