ATLAS Offline Software
|
#include <AthenaBaseComps/AthCnvSvc.h>
Classes | |
class | WorkerEntry |
Public Types | |
typedef std::unordered_map< CLID, WorkerEntry > | Workers |
Public Member Functions | |
AthCnvSvc (const std::string &name, ISvcLocator *pSvcLocator, long type) | |
Constructor with parameters: More... | |
virtual StatusCode | initialize () override |
Gaudi Service Implementation. More... | |
virtual StatusCode | finalize () override |
Friends | |
class | SvcFactory< AthCnvSvc > |
@c IAddressCreator interface implementation | |
typedef std::recursive_mutex | CallMutex |
Mutex to protect Converter creation. More... | |
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... | |
Workers | m_workers |
List of conversion workers. More... | |
CallMutex | m_conv_mut |
virtual 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... | |
virtual StatusCode | convertAddress (const IOpaqueAddress *pAddress, std::string &refAddress) override |
Convert an address to string form. More... | |
virtual 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... | |
AthCnvSvc () | |
Default constructor: More... | |
AthCnvSvc (const AthCnvSvc &) | |
AthCnvSvc & | operator= (const AthCnvSvc &) |
virtual | ~AthCnvSvc () |
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) |
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 converter can be manipulated by the hosting service and knowledge can be supplied, which a "generic" converter cannot acquire itself.
These hooks allow any sub-classed conversion service to override the calls and create converters, which acquire 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 63 of file AthCnvSvc.h.
|
protected |
Mutex to protect Converter creation.
Definition at line 320 of file AthCnvSvc.h.
typedef std::unordered_map<CLID,WorkerEntry> AthCnvSvc::Workers |
Definition at line 105 of file AthCnvSvc.h.
AthCnvSvc::AthCnvSvc | ( | const std::string & | name, |
ISvcLocator * | pSvcLocator, | ||
long | type | ||
) |
Constructor with parameters:
Definition at line 46 of file AthCnvSvc.cxx.
|
private |
Default constructor:
|
protectedvirtual |
|
protectedvirtual |
Activate the new converter after initialization.
Definition at line 507 of file AthCnvSvc.cxx.
|
overridevirtual |
|
inlineprotectedvirtual |
Retrieve address creation interface.
Definition at line 297 of file AthCnvSvc.h.
|
overridevirtual |
|
overridevirtual |
Commit pending output.
Definition at line 400 of file AthCnvSvc.cxx.
|
protectedvirtual |
Configure the new converter before initialize is called.
Definition at line 481 of file AthCnvSvc.cxx.
|
overridevirtual |
Connect the output file to the service.
Definition at line 393 of file AthCnvSvc.cxx.
|
overridevirtual |
Connect the output file to the service with open mode.
Definition at line 385 of file AthCnvSvc.cxx.
|
overridevirtual |
Implementation of IConverter: Get conversion service the converter is connected to.
Definition at line 203 of file AthCnvSvc.cxx.
|
overridevirtual |
Convert an address to string form.
Definition at line 430 of file AthCnvSvc.cxx.
|
overridevirtual |
Convert an address in string form to object form.
Definition at line 439 of file AthCnvSvc.cxx.
|
overridevirtual |
Create a Generic address using explicit arguments to identify a single object.
Definition at line 418 of file AthCnvSvc.cxx.
|
protectedvirtual |
|
overridevirtual |
Implementation of IConverter: Create the transient representation of an object.
Definition at line 244 of file AthCnvSvc.cxx.
|
overridevirtual |
Implementation of IConverter: Convert the transient object to the requested representation.
Definition at line 276 of file AthCnvSvc.cxx.
|
overridevirtual |
Implementation of IConverter: Get Data provider service.
Definition at line 183 of file AthCnvSvc.cxx.
|
virtual |
Disconnect output files from the service.
Definition at line 408 of file AthCnvSvc.cxx.
|
overridevirtual |
Implementation of IConverter: Resolve the references of the created transient object.
Definition at line 252 of file AthCnvSvc.cxx.
|
overridevirtual |
Implementation of IConverter: Resolve the references of the converted object.
Definition at line 284 of file AthCnvSvc.cxx.
|
overridevirtual |
Definition at line 112 of file AthCnvSvc.cxx.
|
overridevirtual |
Gaudi Service Implementation.
Reimplemented in MuonCalibStreamCnvSvc.
Definition at line 104 of file AthCnvSvc.cxx.
|
protectedvirtual |
Initialize the new converter.
Definition at line 496 of file AthCnvSvc.cxx.
|
protectedvirtual |
Load converter or dictionary needed by the converter.
Definition at line 518 of file AthCnvSvc.cxx.
|
protected |
Definition at line 524 of file AthCnvSvc.cxx.
Implementation of IConverter: dummy call.
Definition at line 150 of file AthCnvSvc.cxx.
Remove converter object from conversion service (if present).
Definition at line 350 of file AthCnvSvc.cxx.
|
overridevirtual |
Retrieve the class type of the data store the converter uses.
Definition at line 143 of file AthCnvSvc.cxx.
|
overridevirtual |
|
overridevirtual |
Implementation of IConverter: Set conversion service the converter is connected to.
Definition at line 195 of file AthCnvSvc.cxx.
|
overridevirtual |
Implementation of IConverter: Set Data provider service.
pService | Pointer to data provider service |
Definition at line 160 of file AthCnvSvc.cxx.
|
overridevirtual |
Implementation of IConverter: Update the transient object from the other representation.
Definition at line 260 of file AthCnvSvc.cxx.
|
overridevirtual |
Implementation of IConverter: Update the references of an updated transient object.
Definition at line 268 of file AthCnvSvc.cxx.
|
overridevirtual |
Implementation of IConverter: Update the converted representation of a transient object.
Definition at line 292 of file AthCnvSvc.cxx.
|
overridevirtual |
Implementation of IConverter: Update the references of an already converted object.
Definition at line 300 of file AthCnvSvc.cxx.
|
virtual |
Update state of the service.
Reimplemented in MuonCalibStreamCnvSvc.
Definition at line 450 of file AthCnvSvc.cxx.
|
friend |
Definition at line 1 of file AthCnvSvc.h.
|
protected |
Pointer to the address creation service interface.
Definition at line 312 of file AthCnvSvc.h.
|
protected |
Pointer to the IConversionSvc interface of this.
Definition at line 314 of file AthCnvSvc.h.
|
protected |
Definition at line 321 of file AthCnvSvc.h.
|
protected |
Pointer to data provider service.
Definition at line 310 of file AthCnvSvc.h.
|
protected |
Conversion service type.
Definition at line 316 of file AthCnvSvc.h.
|
protected |
List of conversion workers.
Definition at line 318 of file AthCnvSvc.h.