| The Gaudi Framework v32r1 (f65d50dc)

RecordDataSvc.h
Go to the documentation of this file.
1 #ifndef DATASVC_RECORDDATASVC_H
2 #define DATASVC_RECORDDATASVC_H
3
4 #include "GaudiKernel/DataSvc.h"
5 #include "GaudiKernel/IConversionSvc.h"
6 #include "GaudiKernel/IIncidentListener.h"
7
24 class RecordDataSvc : public extends<DataSvc, IIncidentListener> {
25 public:
26 StatusCode initialize() override;
27 StatusCode finalize() override;
28
30 void handle( const Incident& incident ) override;
31
33 RecordDataSvc( const std::string& name, ISvcLocator* svc );
34
35 protected:
37 void registerRecord( const std::string& data, IOpaqueAddress* pAddr );
38
40 void loadRecords( IRegistry* pReg );
41
42 protected:
43 Gaudi::Property<bool> m_autoLoad{this, "AutoLoad", true, "autoload of records"};
44 Gaudi::Property<std::string> m_incidentName{this, "IncidentName", "",
45 "name of incident to be fired if new record arrives"};
46 Gaudi::Property<std::string> m_saveIncidentName{this, "SaveIncident", "SAVE_RECORD", "name of the 'save' incident"};
47 Gaudi::Property<std::string> m_persSvcName{this, "PersistencySvc", "PersistencySvc/RecordPersistencySvc",
48 "name of the persistency service"};
49
51 std::vector<std::string> m_incidents;
53 SmartIF<IConversionSvc> m_cnvSvc;
54 };
55 #endif // DATASVC_RECORDDATASVC_H
RecordDataSvc::finalize
StatusCode finalize() override
Service finalization.
Definition: RecordDataSvc.cpp:82
SmartIF< IConversionSvc >
ISvcLocator
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
Definition: ISvcLocator.h:25
Gaudi::Property
Implementation of property with value of concrete type.
Definition: Property.h:352
RecordDataSvc::m_saveIncidentName
Gaudi::Property< std::string > m_saveIncidentName
Definition: RecordDataSvc.h:46
RecordDataSvc
A RecordDataSvc is the base class for event services.
Definition: RecordDataSvc.h:24
std::string
STL class.
DataSvc.h
Service::name
const std::string & name() const override
Retrieve name of the service.
Definition: Service.cpp:274
StatusCode
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:50
RecordDataSvc::m_incidents
std::vector< std::string > m_incidents
Pending new file incidents.
Definition: RecordDataSvc.h:51
IRegistry
The IRegistry represents the entry door to the environment any data object residing in a transient da...
Definition: IRegistry.h:22
RecordDataSvc::m_incidentName
Gaudi::Property< std::string > m_incidentName
Definition: RecordDataSvc.h:44
std::vector< std::string >
IConversionSvc.h
extends
Base class used to extend a class implementing other interfaces.
Definition: extends.h:10
RecordDataSvc::m_autoLoad
Gaudi::Property< bool > m_autoLoad
Definition: RecordDataSvc.h:43
RecordDataSvc::m_persSvcName
Gaudi::Property< std::string > m_persSvcName
Definition: RecordDataSvc.h:47
Incident
Base class for all Incidents (computing events).
Definition: Incident.h:17
RecordDataSvc::RecordDataSvc
RecordDataSvc(const std::string &name, ISvcLocator *svc)
Standard Constructor.
Definition: RecordDataSvc.cpp:147
IIncidentListener.h
RecordDataSvc::handle
void handle(const Incident &incident) override
IIncidentListener override: Inform that a new incident has occured.
Definition: RecordDataSvc.cpp:90
RecordDataSvc::initialize
StatusCode initialize() override
Service initialisation.
Definition: RecordDataSvc.cpp:38
RecordDataSvc::registerRecord
void registerRecord(const std::string &data, IOpaqueAddress *pAddr)
Load new record into the data store if necessary.
Definition: RecordDataSvc.cpp:129
IOpaqueAddress
Opaque address interface definition.
Definition: IOpaqueAddress.h:23
RecordDataSvc::m_cnvSvc
SmartIF< IConversionSvc > m_cnvSvc
Reference to the main data conversion service.
Definition: RecordDataSvc.h:53
RecordDataSvc::loadRecords
void loadRecords(IRegistry *pReg)
Load dependent records into memory.
Definition: RecordDataSvc.cpp:110