5#ifndef POOL_ISTORAGESVC_H
6#define POOL_ISTORAGESVC_H
66 static const char*
category() {
return "pool_IStorageSvc"; }
99 const std::string& refCont,
103 Token*& refpTok) = 0;
This class provides a encapsulation of a GUID/UUID/CLSID/IID data structure (128 bit number).
This class provides a token that identifies in a unique way objects on the persistent storage.
Definition of the DbConnection class.
Description: Definition an option to be supplied to database objects.
The IStorageSvc interface is able to handle user request for.
virtual StatusCode queryInterface(const Guid &riid, void **ppvUnkn)=0
IInterface implementation: Query interfaces of Interface.
virtual StatusCode read(const FileDescriptor &refDB, const Token &pToken, ShapeH shapeH, void **object)=0
Read a persistent object from the medium.
virtual StatusCode getShape(FileDescriptor &refDB, const Guid &objType, ShapeH &shapeH)=0
Retrieve persistent shape from Storage manager.
virtual std::string getContName(FileDescriptor &refDB, Token &pToken)=0
Get container name for object.
virtual ShapeH createShape(const Guid &shapeID)=0
Create a Shape representation based on a ShapeID.
virtual ~IStorageSvc()
Destructor (called only by sub-classes)
virtual StatusCode endSession(const SessionH session)=0
End the Database session.
virtual StatusCode existsConnection(const SessionH sessionH, int mode, const FileDescriptor &refDB)=0
Check the existence of a logical Database unit.
static const Guid & interfaceID()
Retrieve interface ID.
virtual StatusCode connect(const SessionH sessionH, int mode, FileDescriptor &refDB)=0
Connect to a logical Database unit.
virtual StatusCode disconnect(FileDescriptor &refDB)=0
Disconnect from a logical Database unit.
virtual unsigned int addRef()=0
IInterface implementation: Reference Interface instance.
static const char * category()
Retrieve category name.
virtual StatusCode getDomainOption(const SessionH sessionH, DbOption &opt)=0
Access options for a given database domain.
virtual StatusCode openMode(FileDescriptor &refDB, int &mode)=0
Query the access mode of a Database unit.
virtual StatusCode allocate(FileDescriptor &refDB, const std::string &refCont, int technology, const void *object, ShapeH shapeH, Token *&refpTok)=0
Register object for write.
virtual StatusCode endTransaction(ConnectionH conn, Transaction::Action typ)=0
End/Finish an existing Transaction sequence.
virtual StatusCode setDomainOption(const SessionH sessionH, const DbOption &opt)=0
Set options for a given database domain.
virtual StatusCode startSession(int mode, int tech, SessionH &session)=0
Start a new Database Session.
virtual unsigned int release()=0
IInterface implementation: Release Interface instance.
IStorageSvc * createStorageSvc(const std::string &componentName)
class DatabaseConnection * ConnectionH
const class Shape * ShapeH