ATLAS Offline Software
Loading...
Searching...
No Matches
IPoolSvc.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef POOLSVC_IPOOLSVC_H
6#define POOLSVC_IPOOLSVC_H
7
12
13#include "GaudiKernel/IService.h"
14#include "GaudiKernel/IFileMgr.h"
15
17#include "StorageSvc/DbType.h"
18
20
21#include <string>
22
23// Forward declarations
24namespace pool {
25 class IFileCatalog;
26}
27namespace coral {
28 class Context;
29}
30class Placement;
31class Token;
32
33
37class IPoolSvc : virtual public IService {
38
39public: // static members
42
43public: // Non-static members
46
51 virtual Token* registerForWrite(const Placement* placement,
52 const void* obj,
53 const RootType& classDesc) = 0;
54
58 virtual void setObjPtr(void*& obj, const Token* token) = 0;
59
62 virtual unsigned int getOutputContext(const std::string& label) = 0;
63
67 virtual unsigned int getInputContext(const std::string& label, unsigned int maxFile = 0) = 0;
68
70 virtual std::map<std::string, unsigned int> getInputContextMap() const = 0;
71
73 virtual unsigned int getInputContextMapSize() const = 0;
74
76 virtual const coral::Context* context() const = 0;
77
80 virtual void loadComponent(const std::string& compName) = 0;
81
84 virtual void setShareMode(bool shareCat) = 0;
85
87 virtual const pool::IFileCatalog* catalog() const = 0;
88
93 virtual void lookupBestPfn(const std::string& token, std::string& pfn, std::string& type) const = 0;
94
98 virtual void renamePfn(const std::string& pf, const std::string& newpf) = 0;
99
105 virtual pool::ICollection* createCollection(const std::string& connection,
106 const std::string& collectionName,
107 const pool::DbType& collectionType = pool::POOL_StorageType.type(),
108 unsigned int contextId = IPoolSvc::kInputStream) const = 0;
109
114 virtual Token* getToken(const std::string& connection,
115 const std::string& collection,
116 const unsigned long ientry) const = 0;
117
119 virtual StatusCode connect(Io::IoFlag type,
120 unsigned int contextId = IPoolSvc::kInputStream) = 0;
121
124 virtual StatusCode commit(unsigned int contextId = IPoolSvc::kInputStream) const = 0;
125
128 virtual StatusCode commitAndHold(unsigned int contextId = IPoolSvc::kInputStream) const = 0;
129
132 virtual StatusCode disconnect(unsigned int contextId = IPoolSvc::kInputStream) const = 0;
133
137 virtual StatusCode disconnectDb(const std::string& connection,
138 unsigned int contextId = IPoolSvc::kInputStream) const = 0;
139
141 virtual StatusCode getAttribute(const std::string& optName,
142 std::string& data,
143 long tech,
144 unsigned int contextId = IPoolSvc::kInputStream) const = 0;
145
147 virtual StatusCode getAttribute(const std::string& optName,
148 std::string& data,
149 long tech,
150 const std::string& dbName,
151 const std::string& contName = "",
152 unsigned int contextId = IPoolSvc::kInputStream) const = 0;
153
155 virtual StatusCode setAttribute(const std::string& optName,
156 const std::string& data,
157 long tech,
158 unsigned int contextId = IPoolSvc::kOutputStream) const = 0;
159
161 virtual StatusCode setAttribute(const std::string& optName,
162 const std::string& data,
163 long tech,
164 const std::string& dbName,
165 const std::string& contName = "",
166 unsigned int contextId = IPoolSvc::kOutputStream) const = 0;
167
169 virtual StatusCode setFrontierCache(const std::string& conn) = 0;
170};
171
172#endif
TTypeAdapter RootType
Definition RootType.h:211
This class provides the interface to the APR persistency software.
Definition IPoolSvc.h:37
virtual StatusCode disconnect(unsigned int contextId=IPoolSvc::kInputStream) const =0
Disconnect PersistencySvc associated with a stream.
virtual unsigned int getInputContext(const std::string &label, unsigned int maxFile=0)=0
virtual StatusCode connect(Io::IoFlag type, unsigned int contextId=IPoolSvc::kInputStream)=0
Connect to a logical database unit; PersistencySvc is chosen according to transaction type (accessmod...
virtual void lookupBestPfn(const std::string &token, std::string &pfn, std::string &type) const =0
DeclareInterfaceID(IPoolSvc, 1, 0)
Declare interface ID.
virtual unsigned int getInputContextMapSize() const =0
virtual StatusCode setAttribute(const std::string &optName, const std::string &data, long tech, const std::string &dbName, const std::string &contName="", unsigned int contextId=IPoolSvc::kOutputStream) const =0
Set POOL attributes - db/file, container/collection.
virtual const coral::Context * context() const =0
PoolStream
Stream to distinguish the POOL Stream instances.
Definition IPoolSvc.h:41
@ kOutputStream
Definition IPoolSvc.h:41
@ kInputStream
Definition IPoolSvc.h:41
virtual Token * registerForWrite(const Placement *placement, const void *obj, const RootType &classDesc)=0
virtual StatusCode getAttribute(const std::string &optName, std::string &data, long tech, const std::string &dbName, const std::string &contName="", unsigned int contextId=IPoolSvc::kInputStream) const =0
Get POOL attributes - db/file, container/collection.
virtual void renamePfn(const std::string &pf, const std::string &newpf)=0
virtual StatusCode disconnectDb(const std::string &connection, unsigned int contextId=IPoolSvc::kInputStream) const =0
Disconnect single Database.
virtual StatusCode setFrontierCache(const std::string &conn)=0
Setup Frontier cache for given logical or physical connection name.
virtual std::map< std::string, unsigned int > getInputContextMap() const =0
virtual Token * getToken(const std::string &connection, const std::string &collection, const unsigned long ientry) const =0
virtual void loadComponent(const std::string &compName)=0
virtual StatusCode getAttribute(const std::string &optName, std::string &data, long tech, unsigned int contextId=IPoolSvc::kInputStream) const =0
Get POOL attributes - domain.
virtual const pool::IFileCatalog * catalog() const =0
virtual unsigned int getOutputContext(const std::string &label)=0
virtual StatusCode setAttribute(const std::string &optName, const std::string &data, long tech, unsigned int contextId=IPoolSvc::kOutputStream) const =0
Set POOL attributes - domain.
virtual StatusCode commitAndHold(unsigned int contextId=IPoolSvc::kInputStream) const =0
Commit data for a given stream and hold buffer.
virtual void setObjPtr(void *&obj, const Token *token)=0
virtual StatusCode commit(unsigned int contextId=IPoolSvc::kInputStream) const =0
Commit data for a given stream and flush buffer.
virtual pool::ICollection * createCollection(const std::string &connection, const std::string &collectionName, const pool::DbType &collectionType=pool::POOL_StorageType.type(), unsigned int contextId=IPoolSvc::kInputStream) const =0
virtual void setShareMode(bool shareCat)=0
This class holds all the necessary information to guide the writing of an object in a physical place.
Definition Placement.h:19
This class provides a token that identifies in a unique way objects on the persistent storage.
Definition Token.h:21
An interface to a storage technology specific collection of event references and attributes.
Definition ICollection.h:24
std::string label(const std::string &format, int i)
Definition label.h:19
Framework include files.
Definition libname.h:15
static const DbType POOL_StorageType
Definition DbType.h:84