ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Database
APR
StorageSvc
StorageSvc
IOODatabase.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
//====================================================================
6
// IOODatabase interface definition
7
//--------------------------------------------------------------------
8
//
9
// Package : StorageSvc (The pool framework)
10
//
11
// Description: Interface of the Db persistenty service
12
//
13
// @author M.Frank
14
//
15
//====================================================================
16
#ifndef POOL_IOODATABASE_H
17
#define POOL_IOODATABASE_H
18
19
// Framework include files
20
#include "
StorageSvc/pool.h
"
21
#include "
StorageSvc/DbType.h
"
22
23
class
Guid
;
24
25
/*
26
* POOL namespace declaration
27
*/
28
namespace
pool
{
29
30
// Forward declarations
31
class
IDbDomain
;
32
class
IDbDatabase
;
33
class
IDbContainer
;
34
50
class
IOODatabase
:
public
RefCounter
{
51
public
:
52
virtual
~IOODatabase
() {}
53
54
public
:
56
virtual
const
std::string&
name
()
const
= 0;
57
59
virtual
IDbDomain
*
createDomain
(
void
) = 0;
61
virtual
IDbDatabase
*
createDatabase
(
void
) = 0;
63
virtual
IDbContainer
*
createContainer
(
const
std::string&
name
,
const
DbType
& typ) = 0;
64
66
void
release
() {
if
(
RefCounter::subRef
() <= 0 )
delete
this
; }
67
};
68
}
// End namespace pool
69
#endif
// POOL_IOODATABASE_H
pool.h
DbType.h
Guid
This class provides a encapsulation of a GUID/UUID/CLSID/IID data structure (128 bit number).
Definition
Guid.h:25
pool::DbType
Definition
DbType.h:30
pool::IDbContainer
Description:
Definition
IDbContainer.h:44
pool::IDbDatabase
IDbDatabase interface.
Definition
IDbDatabase.h:41
pool::IDbDomain
IDbDomain interface.
Definition
IDbDomain.h:42
pool::IOODatabase
Definition
IOODatabase.h:50
pool::IOODatabase::release
void release()
delete object if ref count drops to 0
Definition
IOODatabase.h:66
pool::IOODatabase::~IOODatabase
virtual ~IOODatabase()
Definition
IOODatabase.h:52
pool::IOODatabase::createContainer
virtual IDbContainer * createContainer(const std::string &name, const DbType &typ)=0
Create Database container.
pool::IOODatabase::name
virtual const std::string & name() const =0
Name of the Database implementation.
pool::IOODatabase::createDatabase
virtual IDbDatabase * createDatabase(void)=0
Create Database.
pool::IOODatabase::createDomain
virtual IDbDomain * createDomain(void)=0
Create Database domain.
pool::RefCounter::subRef
int subRef()
Decrease the reference count.
Definition
Database/APR/StorageSvc/StorageSvc/pool.h:99
pool::RefCounter::RefCounter
RefCounter()
Definition
Database/APR/StorageSvc/StorageSvc/pool.h:92
pool
Framework include files.
Definition
libname.h:15
Generated on
for ATLAS Offline Software by
1.17.0