Go to the documentation of this file.
11 #ifndef GAUDIKERNEL_IDATAMANAGERSVC_H
12 #define GAUDIKERNEL_IDATAMANAGERSVC_H
19 #include <string_view>
139 template <
typename F,
typename = std::enable_if_t<!std::is_convertible_v<F, IDataStoreAgent*>>>
142 return traverseSubTree( sub_path, &agent );
160 template <
typename F,
typename = std::enable_if_t<!std::is_convertible_v<F, IDataStoreAgent*>>>
163 return traverseSubTree( pObject, &agent );
176 template <
typename F,
typename = std::enable_if_t<!std::is_convertible_v<F, IDataStoreAgent*>>>
179 return traverseTree( &agent );
216 return registerAddress( parentObj ? parentObj->
registry() :
nullptr, objectPath, pAddress );
244 return unregisterAddress( pParent ? pParent->
registry() :
nullptr, objPath );
257 #endif // GAUDIKERNEL_IDATAMANAGERSVC_H
StatusCode registerAddress(DataObject *parentObj, std::string_view objectPath, IOpaqueAddress *pAddress)
Register object address with the data store.
virtual StatusCode objectParent(const DataObject *pObject, IRegistry *&refpParent)=0
IDataManagerSvc: Explore the object store: retrieve the object's parent.
virtual StatusCode unregisterAddress(IRegistry *pParent, std::string_view objPath)=0
Unregister object address from the data store.
StatusCode unregisterAddress(DataObject *pParent, std::string_view objPath)
Unregister object address from the data store.
virtual StatusCode setDataLoader(IConversionSvc *svc, IDataProviderSvc *dpsvc=nullptr)=0
Pass a default data loader to the service.
virtual StatusCode objectLeaves(const DataObject *pObject, std::vector< IRegistry * > &refLeaves)=0
Explore the object store: retrieve all leaves attached to the object The object is identified by its ...
virtual CLID rootCLID() const =0
Get class ID of root Event.
virtual StatusCode objectParent(const IRegistry *pRegistry, IRegistry *&refpParent)=0
IDataManagerSvc: Explore the object store: retrieve the object's parent.
Base class to be used to extend an interface.
virtual StatusCode clearStore()=0
Remove all data objects in the data store.
virtual StatusCode traverseSubTree(std::string_view sub_tree_path, IDataStoreAgent *pAgent)=0
Analyse by traversing all data objects below the sub tree identified by its full path name.
virtual StatusCode registerAddress(IRegistry *parentObj, std::string_view objectPath, IOpaqueAddress *pAddress)=0
Register object address with the data store.
virtual StatusCode setRoot(std::string root_path, IOpaqueAddress *pRootAddr)=0
Initialize data store for new event by giving new event path.
virtual StatusCode registerAddress(std::string_view fullPath, IOpaqueAddress *pAddress)=0
Register object address with the data store.
virtual StatusCode clearSubTree(DataObject *pObject)=0
Remove all data objects below the sub tree identified by the object.
virtual StatusCode unregisterAddress(std::string_view fullPath)=0
Unregister object address from the data store.
virtual StatusCode traverseTree(IDataStoreAgent *pAgent)=0
Analyse by traversing all data objects in the data store.
unsigned int CLID
Class ID definition.
StatusCode traverseTree(F &&f)
Analyse by traversing all data objects in the data store.
virtual const std::string & rootName() const =0
Get Name of root Event.
StatusCode traverseSubTree(DataObject *pObject, F &&f)
Analyse by traversing all data objects below the sub tree identified by the object.
virtual StatusCode objectLeaves(const IRegistry *pRegistry, std::vector< IRegistry * > &refLeaves)=0
Explore the object store: retrieve all leaves attached to the object The object is identified by the ...
virtual StatusCode clearSubTree(std::string_view sub_path)=0
Remove all data objects below the sub tree identified by its full path name.
::details::GenericDataStoreAgent< F > makeDataStoreAgent(F &&f)
StatusCode traverseSubTree(std::string_view sub_path, F &&f)
Analyse by traversing all data objects below the sub tree identified by its full path name.
IRegistry * registry() const
Get pointer to Registry.
virtual StatusCode setRoot(std::string root_name, DataObject *pObject)=0
Initialize data store for new event by giving new event path.
virtual StatusCode traverseSubTree(DataObject *pObject, IDataStoreAgent *pAgent)=0
Analyse by traversing all data objects below the sub tree identified by the object.
DeclareInterfaceID(IDataManagerSvc, 4, 0)
InterfaceID.