195 using extends::extends;
208 void encodeAddrHdr(
long service_type,
const CLID& clid, std::string& address )
const;
211 void decodeAddrHdr(
const std::string& address,
long& service_type,
CLID& clid, std::string& address_trailer )
const;
217 bool enable(
bool value );
239 "Names of services to be requested from the service locator and added by default",
240 "OrderedSet<std::string>" };
unsigned int CLID
Class ID definition.
const long TEST_StorageType
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
MsgStream & debug() const
shortcut for the method msgStream(MSG::DEBUG)
MSG::Level msgLevel() const
A DataObject is the base class of any identifiable object on any data store.
Implementation of property with value of concrete type.
IAddressCreator interface definition.
The data converters are responsible to translate data from one representation into another.
Data provider interface definition.
Opaque address interface definition.
General service interface definition.
SmartIF< IAddressCreator > & addrCreator() const
ServiceEntry(long type, IService *svc, IConversionSvc *cnv, IAddressCreator *cr)
SmartIF< IConversionSvc > & conversionSvc() const
SmartIF< IService > m_service
ServiceEntry(const ServiceEntry &)=default
ServiceEntry(long type, SmartIF< IService > svc, SmartIF< IConversionSvc > cnv, SmartIF< IAddressCreator > cr)
SmartIF< IService > & service() const
SmartIF< IAddressCreator > m_addrCreator
SmartIF< IConversionSvc > m_cnvService
PersistencySvc class implementation definition.
bool m_enable
Flag to indicate that the service is enabled.
StatusCode setConversionSvc(IConversionSvc *svc) override
Set conversion service the converter is connected to.
StatusCode connectOutput(const std::string &outputFile, const std::string &openMode) override
Connect the output file to the service with open mode.
long repSvcType() const override
Return default service type.
void decodeAddrHdr(const std::string &address, long &service_type, CLID &clid, std::string &address_trailer) const
Retrieve storage type and clid from address header of string.
StatusCode createObj(IOpaqueAddress *pAddress, DataObject *&refpObject) override
Implementation of IConverter: Create the transient representation of an object.
Gaudi::Property< std::vector< std::string > > m_svcNames
StatusCode setAddressCreator(IAddressCreator *creator) override
Set address creator facility.
StatusCode setDefaultCnvService(long type) override
Set default service type.
StatusCode updateRepRefs(IOpaqueAddress *pAddress, DataObject *pObject) override
Implementation of IConverter: Update the references of an already converted object.
void encodeAddrHdr(long service_type, const CLID &clid, std::string &address) const
Retrieve string from storage type and clid.
SmartIF< IDataProviderSvc > & dataProvider() const override
Access reference to transient datastore.
StatusCode commitOutput(const std::string &output, bool do_commit) override
Commit pending output.
SmartIF< IConversionSvc > & conversionSvc() const override
Get conversion service the converter is connected to.
const CLID & objType() const override
Retrieve the class type of objects the converter produces. (DUMMY)
std::recursive_mutex m_servicesMutex
Mutex to protect accesses to m_cnvServices.
StatusCode updateObjRefs(IOpaqueAddress *pAddress, DataObject *pObject) override
Implementation of IConverter: Update the references of an updated transient object.
StatusCode convertAddress(const IOpaqueAddress *pAddress, std::string &refAddress) override
Convert an address to string form.
SmartIF< IConversionSvc > m_cnvDefault
Default output service.
SmartIF< IAddressCreator > m_addrCreator
Pointer to the IAddressCreator interface of this, for addressCreator().
StatusCode addConverter(IConverter *pConverter) override
Add converter object to conversion service.
StatusCode fillObjRefs(IOpaqueAddress *pAddress, DataObject *pObject) override
Implementation of IConverter: Resolve the references of the created transient object.
long m_cnvDefType
Default service type.
std::map< long, ServiceEntry > Services
StatusCode removeCnvService(long type) override
Remove a Service.
StatusCode setDataProvider(IDataProviderSvc *pStore) override
Define transient datastore.
StatusCode fillRepRefs(IOpaqueAddress *pAddress, DataObject *pObject) override
Implementation of IConverter: Resolve the references of the converted object.
IConverter * converter(const CLID &clid) override
Retrieve converter from list.
StatusCode addCnvService(IConversionSvc *service) override
Add a new Service.
StatusCode createRep(DataObject *pObject, IOpaqueAddress *&refpAddress) override
Implementation of IConverter: Convert the transient object to the requested representation.
StatusCode updateRep(IOpaqueAddress *pAddress, DataObject *pObject) override
Implementation of IConverter: Update the converted representation of a transient object.
Services m_cnvServices
List of conversion workers.
SmartIF< IAddressCreator > & addressCreator() const override
Retrieve address creator facility.
StatusCode initialize() override
Initialize the service.
bool enable(bool value)
Set enabled flag.
StatusCode createAddress(long svc_type, const CLID &clid, const std::string *pars, const unsigned long *ipars, IOpaqueAddress *&refpAddress) override
Create a Generic address using explicit arguments to identify a single object.
StatusCode makeCall(int typ, IOpaqueAddress *&pAddress, DataObject *&pObject)
Implementation helper.
StatusCode removeConverter(const CLID &clid) override
Remove converter object from conversion service (if present).
StatusCode finalize() override
stop the service.
StatusCode updateObj(IOpaqueAddress *pAddress, DataObject *refpObject) override
Implementation of IConverter: Update the transient object from the other representation.
SmartIF< IConversionSvc > & service(const std::string &nam)
Retrieve conversion service by name.
StatusCode getService(long service_type, IConversionSvc *&refpSvc) override
Retrieve conversion service identified by technology.
SmartIF< IDataProviderSvc > m_dataSvc
Pointer to data provider service.
Small smart pointer class with automatic reference counting for IInterface.
This class is used for returning status codes from appropriate routines.
Base class used to extend a class implementing other interfaces.