A small class used to access easily (and efficiently) data items residing in data stores.
More...
|
| SmartDataLocator (IDataProviderSvc *pService, const std::string &fullPath) |
| Standard constructor: Construct an SmartDataLocator instance which is able to connect to a DataObject instance which is identified by its parent object and the path relative to the parent. More...
|
|
| SmartDataLocator (IDataProviderSvc *pService, IRegistry *pDirectory) |
| Standard constructor: Construct an SmartDataLocator instance which is able to connect to a DataObject instance which is identified by its directory entry. More...
|
|
| SmartDataLocator (IDataProviderSvc *pService, DataObject *pObject, const std::string &path) |
| Standard constructor: Construct an SmartDataLocator instance which is able to connect to a DataObject instance which is identified by its parent object and the path relative to the parent. More...
|
|
| SmartDataLocator (SmartDataObjectPtr &refObject, IRegistry *pDirectory) |
| Standard constructor: Construct an SmartDataLocator instance which is able to connect to a DataObject instance which is identified by its parent object and the path relative to the parent. More...
|
|
| SmartDataLocator (SmartDataObjectPtr &refObject, const std::string &path) |
| Standard constructor: Construct an SmartDataLocator instance which is able to connect to a DataObject instance which is identified by its parent object and the path relative to the parent. More...
|
|
virtual | ~SmartDataLocator () |
| Standard destructor. More...
|
|
template<class OTHER > |
SmartDataPtr< OTHER > & | operator= (OTHER *pObj) |
| Automatic conversion to data type. More...
|
|
template<class OTHER > |
SmartDataPtr< OTHER > & | operator= (const OTHER *pObj) |
| Automatic conversion to data type. More...
|
|
| SmartDataLocator (IDataProviderSvc *pService, const std::string &fullPath) |
| Standard constructor: Construct an SmartDataLocator instance which is able to connect to a DataObject instance which is identified by its parent object and the path relative to the parent. More...
|
|
| SmartDataLocator (IDataProviderSvc *pService, IRegistry *pDirectory) |
| Standard constructor: Construct an SmartDataLocator instance which is able to connect to a DataObject instance which is identified by its directory entry. More...
|
|
| SmartDataLocator (IDataProviderSvc *pService, DataObject *pObject, const std::string &path) |
| Standard constructor: Construct an SmartDataLocator instance which is able to connect to a DataObject instance which is identified by its parent object and the path relative to the parent. More...
|
|
| SmartDataLocator (SmartDataObjectPtr &refObject, IRegistry *pDirectory) |
| Standard constructor: Construct an SmartDataLocator instance which is able to connect to a DataObject instance which is identified by its parent object and the path relative to the parent. More...
|
|
| SmartDataLocator (SmartDataObjectPtr &refObject, const std::string &path) |
| Standard constructor: Construct an SmartDataLocator instance which is able to connect to a DataObject instance which is identified by its parent object and the path relative to the parent. More...
|
|
virtual | ~SmartDataLocator () |
| Standard destructor. More...
|
|
template<class OTHER > |
SmartDataPtr< OTHER > & | operator= (OTHER *pObj) |
| Automatic conversion to data type. More...
|
|
template<class OTHER > |
SmartDataPtr< OTHER > & | operator= (const OTHER *pObj) |
| Automatic conversion to data type. More...
|
|
| SmartDataStorePtr (IDataProviderSvc *pService, IRegistry *pRegistry, const std::string &path) |
| Standard constructor: Construct an SmartDataStorePtr instance which is able to connect to a DataObject instance which is identified by its directory entry. More...
|
|
| SmartDataStorePtr (const SmartDataObjectPtr ©) |
| Copy constructor: Construct an copy of a SmartDataStorePtr instance. More...
|
|
| SmartDataStorePtr (IDataProviderSvc *pService, IRegistry *pRegistry, const std::string &path) |
| Standard constructor: Construct an SmartDataStorePtr instance which is able to connect to a DataObject instance which is identified by its directory entry. More...
|
|
| SmartDataStorePtr (const SmartDataObjectPtr ©) |
| Copy constructor: Construct an copy of a SmartDataStorePtr instance. More...
|
|
virtual | ~SmartDataStorePtr () |
| Standard Destructor. More...
|
|
virtual | ~SmartDataStorePtr () |
| Standard Destructor. More...
|
|
SmartDataStorePtr & | operator= (DataObject *pObj) |
| Automatic conversion to data type. More...
|
|
SmartDataStorePtr & | operator= (const DataObject *pObj) |
| Automatic conversion to data type. More...
|
|
SmartDataStorePtr & | operator= (const SmartDataObjectPtr ©) |
| unhides assignment operator of base class More...
|
|
SmartDataStorePtr & | operator= (DataObject *pObj) |
| Automatic conversion to data type. More...
|
|
SmartDataStorePtr & | operator= (const DataObject *pObj) |
| Automatic conversion to data type. More...
|
|
SmartDataStorePtr & | operator= (const SmartDataObjectPtr ©) |
| unhides assignment operator of base class More...
|
|
TYPE * | ptr () |
| Automatic conversion to data type. More...
|
|
TYPE * | ptr () |
| Automatic conversion to data type. More...
|
|
TYPE * | operator-> () |
| Dereference operator: the heart of the smart pointer. More...
|
|
TYPE * | operator-> () |
| Dereference operator: the heart of the smart pointer. More...
|
|
TYPE & | operator* () |
| Dereference operator: the heart of the smart pointer. More...
|
|
TYPE & | operator* () |
| Dereference operator: the heart of the smart pointer. More...
|
|
| operator TYPE * () |
| Automatic conversion to data type. More...
|
|
| operator TYPE * () |
| Automatic conversion to data type. More...
|
|
| operator TYPE & () |
| Automatic conversion to data type. More...
|
|
| operator TYPE & () |
| Automatic conversion to data type. More...
|
|
| operator int () |
| operator int for statements like: if ( SmartDataStorePtr<XXX>(...) ) {} More...
|
|
| operator int () |
| operator int for statements like: if ( SmartDataStorePtr<XXX>(...) ) {} More...
|
|
bool | operator! () |
| operator ! for statements like: if ( !SmartDataStorePtr<XXX>(...) ) {} More...
|
|
bool | operator! () |
| operator ! for statements like: if ( !SmartDataStorePtr<XXX>(...) ) {} More...
|
|
TYPE * | accessTypeSafeData () |
| Internal type safe accessor to data. More...
|
|
TYPE * | accessTypeSafeData () |
| Internal type safe accessor to data. More...
|
|
| SmartDataObjectPtr (AccessFunction access, IDataProviderSvc *pService, IRegistry *pDir, const std::string &path) |
| Standard constructor: Construct an SmartDataObjectPtr instance. More...
|
|
| SmartDataObjectPtr (const SmartDataObjectPtr ©) |
| Copy constructor: Construct an copy of a SmartDataStorePtr instance. More...
|
|
virtual | ~SmartDataObjectPtr () |
| Standard Destructor. More...
|
|
| operator IRegistry * () |
| Automatic conversion to data directory. More...
|
|
const std::string & | path () const |
| Path name. More...
|
|
IRegistry * | directory () |
| Access to data directory. More...
|
|
void | setService (IDataProviderSvc *svc) |
| Assign data service. More...
|
|
IDataProviderSvc * | service () |
| Retrieve data service. More...
|
|
StatusCode | getLastError () const |
| Access to potential errors during data accesses. More...
|
|
DataObject * | accessData () |
| Static Object retrieval method: must call specific function. More...
|
|
DataObject * | retrieveObject () |
| Object retrieve method. More...
|
|
DataObject * | findObject () |
| Object find method. More...
|
|
DataObject * | updateObject () |
| Object update method. More...
|
|
| SmartDataObjectPtr (AccessFunction access, IDataProviderSvc *pService, IRegistry *pDir, const std::string &path) |
| Standard constructor: Construct an SmartDataObjectPtr instance. More...
|
|
| SmartDataObjectPtr (const SmartDataObjectPtr ©) |
| Copy constructor: Construct an copy of a SmartDataStorePtr instance. More...
|
|
virtual | ~SmartDataObjectPtr () |
| Standard Destructor. More...
|
|
| operator IRegistry * () |
| Automatic conversion to data directory. More...
|
|
const std::string & | path () const |
| Path name. More...
|
|
IRegistry * | directory () |
| Access to data directory. More...
|
|
void | setService (IDataProviderSvc *svc) |
| Assign data service. More...
|
|
IDataProviderSvc * | service () |
| Retrieve data service. More...
|
|
StatusCode | getLastError () const |
| Access to potential errors during data accesses. More...
|
|
DataObject * | accessData () |
| Static Object retrieval method: must call specific function. More...
|
|
DataObject * | retrieveObject () |
| Object retrieve method. More...
|
|
DataObject * | findObject () |
| Object find method. More...
|
|
DataObject * | updateObject () |
| Object update method. More...
|
|
|
typedef DataObject *(* | AccessFunction) (SmartDataObjectPtr *ptr) |
|
typedef DataObject *(* | AccessFunction) (SmartDataObjectPtr *ptr) |
|
static DataObject * | retrieve (SmartDataObjectPtr *ptr) |
| Static Object retrieval method. More...
|
|
static DataObject * | find (SmartDataObjectPtr *ptr) |
| Static Object find method. More...
|
|
static DataObject * | update (SmartDataObjectPtr *ptr) |
| Static Object update method. More...
|
|
static DataObject * | retrieve (SmartDataObjectPtr *ptr) |
| Static Object retrieval method. More...
|
|
static DataObject * | find (SmartDataObjectPtr *ptr) |
| Static Object find method. More...
|
|
static DataObject * | update (SmartDataObjectPtr *ptr) |
| Static Object update method. More...
|
|
StatusCode | find (IRegistry *pDirectory, const std::string &path, DataObject *&refpObject) |
| Find the specified object from the data store. More...
|
|
StatusCode | find (const std::string &fullPath, DataObject *&refpObject) |
| Find the specified object from the data store. More...
|
|
StatusCode | retrieve (IRegistry *pDirectory, const std::string &path, DataObject *&refpObject) |
| Retrieve the specified object from the data store. More...
|
|
StatusCode | retrieve (const std::string &fullPath, DataObject *&refpObject) |
| Retrieve the specified object from the data store. More...
|
|
StatusCode | update (IRegistry *pDirectory) |
| Update the specified object from the data store. More...
|
|
StatusCode | update (const std::string &fullPath) |
| Update the specified object from the data store. More...
|
|
StatusCode | find (IRegistry *pDirectory, const std::string &path, DataObject *&refpObject) |
| Find the specified object from the data store. More...
|
|
StatusCode | find (const std::string &fullPath, DataObject *&refpObject) |
| Find the specified object from the data store. More...
|
|
StatusCode | retrieve (IRegistry *pDirectory, const std::string &path, DataObject *&refpObject) |
| Retrieve the specified object from the data store. More...
|
|
StatusCode | retrieve (const std::string &fullPath, DataObject *&refpObject) |
| Retrieve the specified object from the data store. More...
|
|
StatusCode | update (IRegistry *pDirectory) |
| Update the specified object from the data store. More...
|
|
StatusCode | update (const std::string &fullPath) |
| Update the specified object from the data store. More...
|
|
TYPE * | m_pObject |
| Pointer to data store object. More...
|
|
IDataProviderSvc * | m_dataProvider |
| Pointer to contained object. More...
|
|
IRegistry * | m_pRegistry |
| Pointer to the data registry containing the object. More...
|
|
StatusCode | m_status |
| Keep track of the last error. More...
|
|
std::string | m_path |
| Path to object. More...
|
|
AccessFunction | m_accessFunc |
| Data access function. More...
|
|
template<class TYPE>
class SmartDataLocator< TYPE >
A small class used to access easily (and efficiently) data items residing in data stores.
The class constructors take several arguments neccessary to be passed tyo the data services in order to automatically load objects in case they are not yet loaded. This is achieved through a smart pointer mechanism i.e. by overloading the operator->() at dereferencing time the the object will be requested from the store.
The SmartDataLocator is meant to be "short living". It only makes sense to keep an object instance within e.g. the scope of one method. "long living" instances do not make sense and in the contrary would be harmful, because the information passed during construction to would be invalid and returned object pointers would actually point to hyperspace.
The intrinsic functionality, wether the object will be retrieved or loaded from the data store is defined by the LOADER::.
Base Class: SmartDataStorePtr
- Author
- M.Frank
- Version
- 1.0
Definition at line 45 of file SmartDataLocator.h.