1 #ifndef GAUDIKERNEL_IDATAMANAGERSVC_H 2 #define GAUDIKERNEL_IDATAMANAGERSVC_H 50 virtual CLID rootCLID()
const = 0;
103 virtual StatusCode clearSubTree( std::string_view sub_path ) = 0;
129 template <
typename F,
typename = std::enable_if_t<!std::is_convertible_v<F, IDataStoreAgent*>>>
132 return traverseSubTree( sub_path, &agent );
150 template <
typename F,
typename = std::enable_if_t<!std::is_convertible_v<F, IDataStoreAgent*>>>
153 return traverseSubTree( pObject, &agent );
166 template <
typename F,
typename = std::enable_if_t<!std::is_convertible_v<F, IDataStoreAgent*>>>
169 return traverseTree( &agent );
206 return registerAddress( parentObj ? parentObj->
registry() :
nullptr, objectPath, pAddress );
224 virtual StatusCode unregisterAddress( std::string_view fullPath ) = 0;
234 return unregisterAddress( pParent ? pParent->
registry() :
nullptr, objPath );
247 #endif // GAUDIKERNEL_IDATAMANAGERSVC_H
IRegistry * registry() const
Get pointer to Registry.
StatusCode traverseTree(F &&f)
Analyse by traversing all data objects in the data store.
StatusCode traverseSubTree(DataObject *pObject, F &&f)
Analyse by traversing all data objects below the sub tree identified by the object.
Data provider interface definition.
StatusCode unregisterAddress(DataObject *pParent, std::string_view objPath)
Unregister object address from the data store.
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.
StatusCode registerAddress(DataObject *parentObj, std::string_view objectPath, IOpaqueAddress *pAddress)
Register object address with the data store.
This class is used for returning status codes from appropriate routines.
Base class to be used to extend an interface.
The IRegistry represents the entry door to the environment any data object residing in a transient da...
unsigned int CLID
Class ID definition.
#define DeclareInterfaceID(iface, major, minor)
Macro to declare the interface ID when using the new mechanism of extending and implementing interfac...
Generic data agent interface.
Opaque address interface definition.
A DataObject is the base class of any identifiable object on any data store.
::details::GenericDataStoreAgent< F > makeDataStoreAgent(F &&f)