#include <SmartDataObjectPtr.h>
Inheritance diagram for SmartDataObjectPtr:

Public Types | |
| typedef DataObject* (* | AccessFunction )(SmartDataObjectPtr* ptr) |
Public Methods | |
| SmartDataObjectPtr (AccessFunction access, IDataProviderSvc* pService, IDataDirectory* pDir, const std::string& path) | |
| Standard constructor: Construct an SmartDataObjectPtr instance. More... | |
| SmartDataObjectPtr (const SmartDataObjectPtr& copy) | |
| Copy constructor: Construct an copy of a SmartDataStorePtr instance. More... | |
| virtual | ~SmartDataObjectPtr () |
| Standard Destructor. More... | |
| virtual SmartDataObjectPtr& | operator= (SmartDataObjectPtr& copy) |
| Equivalence operator. More... | |
| operator IDataDirectory * () | |
| Automatic conversion to data directory. More... | |
| const std::string& | path () const |
| Path name. More... | |
| IDataDirectory* | directory () |
| Access to data directory. More... | |
| void | setService ( IDataProviderSvc* svc ) |
| Assign data service. More... | |
| IDataProviderSvc* | service () |
| Retrieve data service. More... | |
| operator int () | |
| operator int for statements like: if ( SmartDataObjectPtr<XXX>(...) ) {}. More... | |
| bool | operator! () |
| operator ! for statements like: if ( !SmartDataObjectPtr<XXX>(...) ) {}. More... | |
| operator void * () | |
| operator int for statements like: if ( SmartDataObjectPtr<XXX>(...) ) {}. More... | |
| operator DataObject *& () | |
| operator DataObject*&. More... | |
| operator DataObject ** () | |
| operator DataObject**. 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... | |
Static Public Methods | |
| DataObject* | retrieve (SmartDataObjectPtr* ptr) |
| Static Object retrieval method. More... | |
| DataObject* | find (SmartDataObjectPtr* ptr) |
| Static Object find method. More... | |
| DataObject* | update (SmartDataObjectPtr* ptr) |
| Static Object update method. More... | |
Protected Methods | |
| StatusCode | find (IDataDirectory* 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 (IDataDirectory* 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 (IDataDirectory* 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... | |
Protected Attributes | |
| IDataProviderSvc* | m_dataProvider |
| Pointer to contained object. More... | |
| IDataDirectory* | m_pDirectory |
| Pointer to the data directory containing the object. More... | |
| DataObject* | m_pObject |
| Pointer to contained object. More... | |
| std::string | m_path |
| Path to object. More... | |
| StatusCode | m_status |
| Keep track of the last error. More... | |
| AccessFunction | m_accessFunc |
| Data access function. More... | |
The class is meant as configurable base class for real Smart pointer instances. Here mainly the access of the data store is handled. It is important to keep as less functions as possible NON-VIRTUAL in particular those, which handle the data access - they might be called very often and hence the comiler must be able to inline them.
Dependencies:
History :
+---------+----------------------------------------------+--------+
| Date | Comment | Who |
+---------+----------------------------------------------+--------+
| 21/04/99| Initial version. | MF |
| 04/07/99| added operator!() | MF |
+---------+----------------------------------------------+--------+
Author: M.Frank Version: 1.0
Definition at line 56 of file SmartDataObjectPtr.h.
|
|
|
|
|
Standard constructor: Construct an SmartDataObjectPtr instance.
Definition at line 131 of file SmartDataObjectPtr.h. |
|
|
Copy constructor: Construct an copy of a SmartDataStorePtr instance.
Definition at line 143 of file SmartDataObjectPtr.h. |
|
|
Standard Destructor.
Definition at line 153 of file SmartDataObjectPtr.h. |
|
|
Static Object retrieval method: must call specific function.
Definition at line 215 of file SmartDataObjectPtr.h. Referenced by operator &&(), SmartDataStorePtr::operator *(), SmartDataStorePtr::operator TYPE *(), SmartDataStorePtr::operator->(), operator||(), SmartDataStorePtr::ptr(), and updateObject(). |
|
|
Access to data directory.
Definition at line 169 of file SmartDataObjectPtr.h. |
|
|
Static Object find method.
Definition at line 225 of file SmartDataObjectPtr.h. |
|
|
Find the specified object from the data store.
Definition at line 64 of file SmartDataObjectPtr.cpp. |
|
|
Find the specified object from the data store.
Definition at line 55 of file SmartDataObjectPtr.cpp. Referenced by findObject(). |
|
|
Object find method. If the object is not known to the local object, it is requested from the data service either using the full path if there is no directory information present. Definition at line 121 of file SmartDataObjectPtr.cpp. Referenced by find(). |
|
|
Access to potential errors during data accesses.
Definition at line 210 of file SmartDataObjectPtr.h. |
|
|
operator DataObject*&.
Definition at line 200 of file SmartDataObjectPtr.h. |
|
|
operator DataObject**.
Definition at line 205 of file SmartDataObjectPtr.h. |
|
|
Automatic conversion to data directory.
Definition at line 159 of file SmartDataObjectPtr.h. |
|
|
operator int for statements like: if ( SmartDataObjectPtr<XXX>(...) ) {}.
Definition at line 184 of file SmartDataObjectPtr.h. |
|
|
operator int for statements like: if ( SmartDataObjectPtr<XXX>(...) ) {}.
Definition at line 194 of file SmartDataObjectPtr.h. |
|
|
operator ! for statements like: if ( !SmartDataObjectPtr<XXX>(...) ) {}.
Definition at line 189 of file SmartDataObjectPtr.h. |
|
|
Equivalence operator.
Definition at line 28 of file SmartDataObjectPtr.cpp. |
|
|
Path name.
Definition at line 164 of file SmartDataObjectPtr.h. |
|
|
Static Object retrieval method.
Definition at line 220 of file SmartDataObjectPtr.h. |
|
|
Retrieve the specified object from the data store.
Definition at line 46 of file SmartDataObjectPtr.cpp. |
|
|
Retrieve the specified object from the data store.
Definition at line 37 of file SmartDataObjectPtr.cpp. Referenced by retrieveObject(). |
|
|
Object retrieve method. If the object is not known to the local object, it is requested from the data service either using the full path if there is no directory information present. Definition at line 96 of file SmartDataObjectPtr.cpp. Referenced by retrieve(). |
|
|
Retrieve data service.
Definition at line 179 of file SmartDataObjectPtr.h. |
|
|
Assign data service.
Definition at line 174 of file SmartDataObjectPtr.h. |
|
|
Static Object update method.
Definition at line 230 of file SmartDataObjectPtr.h. |
|
|
Update the specified object from the data store.
Definition at line 83 of file SmartDataObjectPtr.cpp. |
|
|
Update the specified object from the data store.
Definition at line 74 of file SmartDataObjectPtr.cpp. Referenced by updateObject(). |
|
|
Object update method. If the object is not known to the local object, it is requested from the data service either using the full path if there is no directory information present. Needs to be virtual to to implicit object access. Definition at line 146 of file SmartDataObjectPtr.cpp. Referenced by update(). |
|
|
Data access function.
Definition at line 84 of file SmartDataObjectPtr.h. |
|
|
Pointer to contained object.
Definition at line 74 of file SmartDataObjectPtr.h. |
|
|
Pointer to the data directory containing the object.
Definition at line 76 of file SmartDataObjectPtr.h. |
|
|
Pointer to contained object.
Definition at line 78 of file SmartDataObjectPtr.h. |
|
|
Path to object.
Definition at line 80 of file SmartDataObjectPtr.h. |
|
|
Keep track of the last error.
Definition at line 82 of file SmartDataObjectPtr.h. |
1.2.3 written by Dimitri van Heesch,
© 1997-2000