Gaudi Framework, version v20r2

Generated: 18 Jul 2008

IPoolDbMgr Class Reference

#include <PoolDb/IPoolDbMgr.h>

Inheritance diagram for IPoolDbMgr:

Inheritance graph
[legend]
Collaboration diagram for IPoolDbMgr:

Collaboration graph
[legend]
List of all members.

Detailed Description

Description:.

The IPoolDbMgr service interface allows to store and retrieve data stored with the POOL persistency mechanism.

Author:
Markus Frank
Version:
1.0

Definition at line 53 of file IPoolDbMgr.h.

Public Types

enum  { UNKNOWN = Gaudi::IIODataManager::UNKNOWN, PFN = Gaudi::IIODataManager::PFN, LFN = Gaudi::IIODataManager::LFN, FID = Gaudi::IIODataManager::FID }
enum  { BAD_DATA_CONNECTION = Gaudi::IDataConnection::BAD_DATA_CONNECTION }

Public Member Functions

virtual IPoolCacheSvccacheSvc () const=0
 Access to cache service.
virtual StatusCode accessStorageType (const std::string &type_string, long &gaudi_type)=0
 Create access to the POOL persistency mechanism using the Gaudi String identifier.
virtual StatusCode createAddress (long svc_type, const CLID &clid, const std::string *par, const unsigned long *ipar, IOpaqueAddress *&refpAddress)=0
 Create a Generic address using explicit arguments to identify a single object.
virtual StatusCode createAddress (pool::Token *pToken, PoolDbAddress **ppAddress)=0
 Create a Generic address using explicit arguments to identify a single object.
virtual StatusCode connectOutput (const std::string &outputFile, const std::string &openMode)=0
 Connect the output file to the service with open mode.
virtual StatusCode commitOutput (const std::string &outputFile, bool do_commit)=0
 Commit pending output.
virtual StatusCode connect (const std::string &dbName, const std::string &cntName, pool::DbContainer &cntH)=0
 Connect to a database container in read mode.
virtual StatusCode connectContainer (int typ, const std::string &dbName, const std::string &cntName, pool::DbAccessMode openMode, const pool::DbTypeInfo *shape, pool::DbContainer &cntH)=0
 Connect to a database container.
virtual pool::DbSelectcreateSelect (const std::string &criteria, const std::string &dbName, const std::string &cntName)=0
 Request an iterator over a container from the service.
virtual StatusCode disconnect (const std::string &dbName)=0
 Disconnect from an existing data stream.
virtual StatusCode markWrite (pool::DataCallBack *call, const std::string &cntName, PoolDbAddress **ppAddr=0)=0
 Marks a reference to be written.
virtual StatusCode markUpdate (pool::DataCallBack *call, PoolDbAddress *pAddr)=0
 Mark an object for update.
virtual StatusCode read (pool::DataCallBack *call, PoolDbAddress *pAddr)=0
 Read existing object.
virtual StatusCode read (pool::DataCallBack *call, pool::Token &tok)=0
 
Parameters:
call Pointer to callback object


Static Public Member Functions

static const InterfaceIDinterfaceID ()
 Retrieve interface ID.


Member Enumeration Documentation

anonymous enum

Enumerator:
UNKNOWN 
PFN 
LFN 
FID 

Definition at line 56 of file IPoolDbMgr.h.

anonymous enum

Enumerator:
BAD_DATA_CONNECTION 

Definition at line 61 of file IPoolDbMgr.h.


Member Function Documentation

static const InterfaceID& IPoolDbMgr::interfaceID (  )  [inline, static]

Retrieve interface ID.

Reimplemented from IInterface.

Definition at line 64 of file IPoolDbMgr.h.

References IID_IPoolDbMgr.

00064 { return IID_IPoolDbMgr; }

virtual IPoolCacheSvc* IPoolDbMgr::cacheSvc (  )  const [pure virtual]

Access to cache service.

Implemented in PoolDbCnvSvc.

virtual StatusCode IPoolDbMgr::accessStorageType ( const std::string type_string,
long &  gaudi_type 
) [pure virtual]

Create access to the POOL persistency mechanism using the Gaudi String identifier.

Also all appropriate DLLS will be loaded on the fly.

Parameters:
type_string Gaudi storage string identifier
gaudi_type Gaudi storage identifier
Returns:
Status code indicating failure or success.

Implemented in PoolDbCnvSvc.

virtual StatusCode IPoolDbMgr::createAddress ( long  svc_type,
const CLID clid,
const std::string par,
const unsigned long *  ipar,
IOpaqueAddress *&  refpAddress 
) [pure virtual]

Create a Generic address using explicit arguments to identify a single object.

Parameters:
svc_type Technology identifier encapsulated in this address.
clid Class identifier of the DataObject represented by the opaque address
par Array of strings needed to construct the opaque address.
ipar Array of integers needed to construct the opaque address.
refpAddress Reference to pointer to the address where the created Address should be stored.
Returns:
Status code indicating success or failure.

Implemented in PoolDbCnvSvc.

Referenced by PoolDbEvtSelector::createAddress(), and PoolDbDirectoryCnv::updateObjRefs().

virtual StatusCode IPoolDbMgr::createAddress ( pool::Token pToken,
PoolDbAddress **  ppAddress 
) [pure virtual]

Create a Generic address using explicit arguments to identify a single object.

Parameters:
pToken Pointer to valid POOL token object
ppAddress Reference to pointer to the address where the created Address should be stored.
Returns:
Status code indicating success or failure.

Implemented in PoolDbCnvSvc.

virtual StatusCode IPoolDbMgr::connectOutput ( const std::string outputFile,
const std::string openMode 
) [pure virtual]

Connect the output file to the service with open mode.

Parameters:
outputFile String containig output file
openMode String containig opening mode of the output file
Returns:
Status code indicating success or failure.

Implemented in PoolDbCnvSvc.

Referenced by PoolDbNTupleCnv::fillRepRefs(), and PoolDbStatCnv::saveDescription().

virtual StatusCode IPoolDbMgr::commitOutput ( const std::string outputFile,
bool  do_commit 
) [pure virtual]

Commit pending output.

Parameters:
outputFile String containig output file
do_commit if true commit the output and flush eventually pending items to the database if false, discard pending buffers. Note: The possibility to commit or rollback depends on the database technology used!
Returns:
Status code indicating success or failure.

Implemented in PoolDbCnvSvc.

Referenced by PoolDbNTupleCnv::createRep(), PoolDbNTupleCnv::fillRepRefs(), and PoolDbStatCnv::saveDescription().

virtual StatusCode IPoolDbMgr::connect ( const std::string dbName,
const std::string cntName,
pool::DbContainer cntH 
) [pure virtual]

Connect to a database container in read mode.

Parameters:
dbName String containing name of the database
cntName String containing the name of the container object
cntH Reference to the POOL container object
Returns:
Status code indicating success or failure.

Implemented in PoolDbCnvSvc.

Referenced by PoolDbNTupleCnv::createObj().

virtual StatusCode IPoolDbMgr::connectContainer ( int  typ,
const std::string dbName,
const std::string cntName,
pool::DbAccessMode  openMode,
const pool::DbTypeInfo shape,
pool::DbContainer cntH 
) [pure virtual]

Connect to a database container.

Parameters:
typ Database technology type
dbName String containing name of the database
cntName String containing the name of the container object
openMode Open mode (READ,WRITE,UPDATE,...)
shape Default shape of objects in the container
cntH Reference to the POOL container object
Returns:
Status code indicating success or failure.

Implemented in PoolDbCnvSvc.

Referenced by PoolDbNTupleCnv::createRep().

virtual pool::DbSelect* IPoolDbMgr::createSelect ( const std::string criteria,
const std::string dbName,
const std::string cntName 
) [pure virtual]

Request an iterator over a container from the service.

Parameters:
criteria Selection criteria to restrict iteration
dbName String containing name of the database
cntName String containing the name of the container object
Returns:
Reference to the iterator object

Implemented in PoolDbCnvSvc.

Referenced by PoolDbNTupleCnv::createObj(), PoolDbContext::selectInput(), and PoolDbDirectoryCnv::updateObjRefs().

virtual StatusCode IPoolDbMgr::disconnect ( const std::string dbName  )  [pure virtual]

Disconnect from an existing data stream.

Parameters:
dbName String containing name of the database
Returns:
Status code indicating success or failure.

Implemented in PoolDbCnvSvc.

Referenced by PoolDbEvtSelector::next(), and PoolDbEvtSelector::rewind().

virtual StatusCode IPoolDbMgr::markWrite ( pool::DataCallBack call,
const std::string cntName,
PoolDbAddress **  ppAddr = 0 
) [pure virtual]

Marks a reference to be written.

Parameters:
call Pointer to callback object
cntName Container name the object should be written to.
refpAddr Persistent object location to be used for link setup.
Returns:
Status code indicating success or failure.

Implemented in PoolDbCnvSvc.

Referenced by PoolDbBaseCnv::createRep(), PoolDbNTupleCnv::fillRepRefs(), and PoolDbStatCnv::saveDescription().

virtual StatusCode IPoolDbMgr::markUpdate ( pool::DataCallBack call,
PoolDbAddress pAddr 
) [pure virtual]

Mark an object for update.

Parameters:
call Pointer to callback object
pAddr Persistent object location to be used for link setup.
Returns:
Status code indicating success or failure.

Implemented in PoolDbCnvSvc.

Referenced by PoolDbBaseCnv::updateRep().

virtual StatusCode IPoolDbMgr::read ( pool::DataCallBack call,
PoolDbAddress pAddr 
) [pure virtual]

Read existing object.

Open transaction in read mode if not active.

Parameters:
call Pointer to callback object
pAddr Pointer to valid object address.
Returns:
Status code indicating success or failure.

Implemented in PoolDbCnvSvc.

Referenced by PoolDbBaseCnv::createObj(), PoolDbNTupleCnv::updateObj(), and PoolDbDirectoryCnv::updateObjRefs().

virtual StatusCode IPoolDbMgr::read ( pool::DataCallBack call,
pool::Token tok 
) [pure virtual]

Parameters:
call Pointer to callback object

Parameters:
tok Reference to pool token describing the object
Returns:
Status code indicating success or failure.

Implemented in PoolDbCnvSvc.


The documentation for this class was generated from the following file:
Generated at Fri Jul 18 12:08:21 2008 for Gaudi Framework, version v20r2 by Doxygen version 1.5.1 written by Dimitri van Heesch, © 1997-2004