|
ATLAS Offline Software
|
Go to the documentation of this file.
6 #ifndef POOL_ISTORAGESVC_H
7 #define POOL_ISTORAGESVC_H
30 typedef const class Shape *
ShapeH;
66 static const char*
category() {
return "pool_IStorageSvc"; }
99 const std::string& refCont,
103 Token*& refpTok) = 0;
133 Token& refToken) = 0;
144 Token& refToken) = 0;
176 const std::string& cntName,
349 #endif // POOL_ISTORAGESVC_H
virtual DbStatus update(FileDescriptor &refDB, const void *object, ShapeH shapeH, Token &refToken)=0
In place update of an existing object.
@ CONNECTION_NOT_EXISTING
Database does not exist.
virtual DbStatus destroy(FileDescriptor &refDB, Token &refToken)=0
Destroy an existing persistent object.
virtual DbStatus createShape(const FileDescriptor &refDB, const std::string &cntName, const Guid &shapeID, ShapeH &shapeH)=0
Create a persistent shape a given Database container.
class DatabaseConnection * ConnectionH
@ ISTORAGESVC_ERROR
Error tag.
IStorageSvc * createStorageSvc(const std::string &componentName)
@ INVALID_SESSION_TOKEN
Invalid Database session token.
@ INVALID_OBJECT
Object pointer is invalid.
@ ISTORAGESVC_LAST
Terminator.
@ TRANSACTION_FAILED
The Transaction failed.
virtual DbStatus existsConnection(const SessionH sessionH, int mode, const FileDescriptor &refDB)=0
Check the existence of a logical Database unit.
virtual DbStatus openMode(FileDescriptor &refDB, int &mode)=0
Query the access mode of a Database unit.
static const Guid & interfaceID()
Retrieve interface ID.
virtual DbStatus disconnect(FileDescriptor &refDB)=0
Disconnect from a logical Database unit.
@ IS_PERSISTENT_SHAPE
Requested shape the persistent shape.
@ INVALID_OBJ_TOKEN
Invalid object address.
This class provides a token that identifies in a unique way objects on the persistent storage.
virtual ~IStorageSvc()
Destructor (called only by sub-classes)
const class Shape * ShapeH
virtual DbStatus getShape(FileDescriptor &refDB, const Guid &objType, ShapeH &shapeH)=0
Retrieve persistent shape from Storage manager.
virtual DbStatus connect(const SessionH sessionH, int mode, FileDescriptor &refDB)=0
Connect to a logical Database unit.
virtual DbStatus read(const FileDescriptor &refDB, const Token &pToken, ShapeH shapeH, void **object)=0
Read a persistent object from the medium.
virtual DbStatus reconnect(FileDescriptor &refDB, int mode)=0
Reconnect to a logical Database unit with different access mode.
@ INVALID_TRANSACTION_TOKEN
Invalid Database Transaction token.
virtual DbStatus endTransaction(ConnectionH conn, Transaction::Action typ)=0
End/Finish an existing Transaction sequence.
virtual DbStatus queryInterface(const Guid &riid, void **ppvUnkn)=0
IInterface implementation: Query interfaces of Interface.
@ INVALID_CONNECTION_TOKEN
Invalid Database connection token.
@ INVALID_AUTHENTICATION
Invalid Database authentication.
virtual unsigned int release()=0
IInterface implementation: Release Interface instance
virtual std::string getContName(FileDescriptor &refDB, Token &pToken)=0
Get container name for object.
virtual DbStatus startSession(int mode, int tech, SessionH &session)=0
Start a new Database Session.
@ OBJ_NOT_LOADED
Sorry, the requested object is not loaded.
This class provides a encapsulation of a GUID/UUID/CLSID/IID data structure (128 bit number).
virtual DbStatus endSession(const SessionH session)=0
End the Database session.
@ ISTORAGESVC_INFO
Info tag.
virtual DbStatus allocate(FileDescriptor &refDB, const std::string &refCont, int technology, const void *object, ShapeH shapeH, Token *&refpTok)=0
Register object for write.
virtual unsigned int addRef()=0
IInterface implementation: Reference Interface instance
static const char * category()
Retrieve category name.
@ SHAPE_NOT_AVAILIBLE
Requested shape is unfortunately not availible.