ATLAS Offline Software
Loading...
Searching...
No Matches
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
23class Guid;
24
25/*
26 * POOL namespace declaration
27 */
28namespace 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
This class provides a encapsulation of a GUID/UUID/CLSID/IID data structure (128 bit number).
Definition Guid.h:25
IDbDatabase interface.
Definition IDbDatabase.h:41
IDbDomain interface.
Definition IDbDomain.h:40
void release()
delete object if ref count drops to 0
Definition IOODatabase.h:66
virtual ~IOODatabase()
Definition IOODatabase.h:52
virtual IDbContainer * createContainer(const std::string &name, const DbType &typ)=0
Create Database container.
virtual const std::string & name() const =0
Name of the Database implementation.
virtual IDbDatabase * createDatabase(void)=0
Create Database.
virtual IDbDomain * createDomain(void)=0
Create Database domain.
int subRef()
Decrease the reference count.
pool namespace
Definition libname.h:15