| # Gaudi Framework, version v20r2
Generated: 18 Jul 2008

- Main Page
- Namespaces
- Classes
- Files
- Directories
- Related Pages

- Search for |

- File List
- File Members

# PoolDbCnvSvc.cpp File Reference

`#include "GaudiKernel/MsgStream.h"`
`#include "GaudiKernel/strcasecmp.h"`
`#include "GaudiKernel/SvcFactory.h"`
`#include "GaudiKernel/CnvFactory.h"`
`#include "GaudiKernel/IRegistry.h"`
`#include "GaudiKernel/IDataManagerSvc.h"`
`#include "GaudiKernel/IDataProviderSvc.h"`
`#include "GaudiPoolDb/IPoolCacheSvc.h"`
`#include "GaudiPoolDb/PoolDbCnvSvc.h"`
`#include "GaudiPoolDb/PoolDbAddress.h"`
`#include "GaudiPoolDb/PoolDbDataConnection.h"`
`#include "POOLCore/Token.h"`
`#include "StorageSvc/DbType.h"`
`#include "StorageSvc/DbObject.h"`
`#include "StorageSvc/DbSelect.h"`
`#include "StorageSvc/DataCallBack.h"`
`#include "StorageSvc/DbTypeInfo.h"`
`#include "StorageSvc/DbInstanceCount.h"`
`#include "StorageSvc/DbOptionCallback.h"`
`#include "GaudiUtils/IFileCatalog.h"`
`#include "GaudiUtils/IIODataManager.h"`
`#include "TInterpreter.h"`
`#include <sstream>`
`#include <set>`

Include dependency graph for PoolDbCnvSvc.cpp:

Go to the source code of this file.

## Defines
#define | S_OK StatusCode::SUCCESS
#define | S_FAIL StatusCode::FAILURE
## Typedefs
typedef std::vector< std::string > | StringV
typedef const std::string & | CSTR
## Functions
| DECLARE_SERVICE_FACTORY (PoolDbCnvSvc)
static void | checkAccessMode (DbAccessMode mode, DbDatabase &dbH)
## Variables
static pool::DbInstanceCount::Counter * | s_count

## Define Documentation

#define S_FAIL StatusCode::FAILURE

Definition at line 55 of file PoolDbCnvSvc.cpp.

Referenced by createItem(), PoolDbNTupleCnv::createObj(), PoolDbNTupleCnv::createRep(), PoolDbNTupleCnv::fillRepRefs(), PoolDbCnvSvc::markUpdate(), PoolDbCnvSvc::read(), and PoolDbNTupleCnv::updateObj().

#define S_OK StatusCode::SUCCESS

Definition at line 54 of file PoolDbCnvSvc.cpp.

Referenced by PoolDbNTupleCnv::bindRead(), PoolDbNTupleCnv::bindWrite(), Gaudi::IODataManager::connectDataIO(), PoolDbCnvSvc::createAddress(), PoolDbNTupleCnv::createRep(), Gaudi::IODataManager::establishConnection(), PoolDbNTupleCnv::fillRepRefs(), PoolDbCnvSvc::initialize(), PoolDbCnvSvc::markUpdate(), Gaudi::IODataManager::queryInterface(), PoolDbCnvSvc::queryInterface(), PoolDbCnvSvc::read(), PoolDbNTupleCnv::readData(), PoolDbNTupleCnv::updateObj(), and PoolDbCnvSvc::updateServiceState().

## Typedef Documentation

typedef const std::string& CSTR

Definition at line 52 of file PoolDbCnvSvc.cpp.

typedef std::vector<std::string> StringV

Definition at line 51 of file PoolDbCnvSvc.cpp.

## Function Documentation

static void checkAccessMode | ( | DbAccessMode | mode,
|  | DbDatabase & | dbH |
| ) |  |  | `[static]`

Definition at line 67 of file PoolDbCnvSvc.cpp.

References pool::accessMode(), Gaudi::Units::m, pool::DbDatabase::name(), pool::DbDatabase::openMode(), pool::RECREATE, and pool::UPDATE.

    00067                                                                  {
    00068   DbAccessMode m = dbH.openMode();
    00069   if ( m&mode || m&pool::UPDATE || m&pool::RECREATE )  {
    00070     return;
    00071   }
    00072   std::string err =
    00073       "The dataset "+dbH.name()+" cannot be opened in mode "+
    00074       +pool::accessMode(mode)+
    00075       +"\nThe database was already open, but in mode "
    00076       +pool::accessMode(m);
    00077   throw std::runtime_error(err);
    00078 }

DECLARE_SERVICE_FACTORY | ( | PoolDbCnvSvc |  | ) |

## Variable Documentation

pool::DbInstanceCount::Counter* s_count`[static]`

Initial value:

      pool::DbInstanceCount::getCounter(typeid(PoolDbCnvSvc))

Definition at line 46 of file PoolDbCnvSvc.cpp.