Loading [MathJax]/extensions/tex2jax.js
The Gaudi Framework  v31r0 (aeb156f0)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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"
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 
54 };
55 #endif // DATASVC_RECORDDATASVC_H
StatusCode finalize() override
Service finalization.
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
Definition: ISvcLocator.h:25
const std::string & name() const override
Retrieve name of the service.
Definition: Service.cpp:274
Implementation of property with value of concrete type.
Definition: Property.h:352
Gaudi::Property< std::string > m_saveIncidentName
Definition: RecordDataSvc.h:46
A RecordDataSvc is the base class for event services.
Definition: RecordDataSvc.h:24
STL class.
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:50
std::vector< std::string > m_incidents
Pending new file incidents.
Definition: RecordDataSvc.h:51
The IRegistry represents the entry door to the environment any data object residing in a transient da...
Definition: IRegistry.h:22
Gaudi::Property< std::string > m_incidentName
Definition: RecordDataSvc.h:44
Base class used to extend a class implementing other interfaces.
Definition: extends.h:10
Gaudi::Property< bool > m_autoLoad
Definition: RecordDataSvc.h:43
Gaudi::Property< std::string > m_persSvcName
Definition: RecordDataSvc.h:47
Base class for all Incidents (computing events).
Definition: Incident.h:17
RecordDataSvc(const std::string &name, ISvcLocator *svc)
Standard Constructor.
void handle(const Incident &incident) override
IIncidentListener override: Inform that a new incident has occured.
StatusCode initialize() override
Service initialisation.
void registerRecord(const std::string &data, IOpaqueAddress *pAddr)
Load new record into the data store if necessary.
Opaque address interface definition.
SmartIF< IConversionSvc > m_cnvSvc
Reference to the main data conversion service.
Definition: RecordDataSvc.h:53
void loadRecords(IRegistry *pReg)
Load dependent records into memory.