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
19
20#include <string>
21
22namespace pool {
23 class DbType;
24}
25
26class Placement;
27class Token;
28
29
33class IPoolSvc : virtual public IService {
34
35public: // static members
38
39public: // Non-static members
42
47 virtual Token* registerForWrite(const Placement* placement,
48 const void* obj,
49 const RootType& classDesc) = 0;
50
54 virtual void setObjPtr(void*& obj, const Token* token) = 0;
55
58 virtual unsigned int getOutputContext(const std::string& label) = 0;
59
63 virtual unsigned int getInputContext(const std::string& label, unsigned int maxFile = 0) = 0;
64
66 virtual std::map<std::string, unsigned int> getInputContextMap() const = 0;
67
69 virtual unsigned int getInputContextMapSize() const = 0;
70
75 virtual pool::FileDescriptor getInputFileDescriptor(unsigned int contextId,
76 const std::string& connection) = 0;
77
80 virtual void setShareMode(bool shareCat) = 0;
81
83 virtual void startCatalog() = 0;
84
86 virtual void commitCatalog() = 0;
87
92 virtual void lookupBestPfn(const std::string& dbID, std::string& pfn, std::string& type) const = 0;
93
98 virtual StatusCode connectCollection(const std::string& connection,
99 const std::string& collectionName,
100 unsigned int contextId = IPoolSvc::kInputStream) = 0;
101
106 virtual
107 StatusCode checkCollection(const std::string& connection,
108 unsigned int contextId,
109 bool noContainer) = 0;
110
115 virtual Token* getToken(const std::string& connection,
116 const std::string& collection,
117 const unsigned long ientry) = 0;
118
120 virtual StatusCode connect(Io::IoFlag type,
121 unsigned int contextId = IPoolSvc::kInputStream) = 0;
122
125 virtual StatusCode commit(unsigned int contextId = IPoolSvc::kInputStream) = 0;
126
129 virtual StatusCode commitAndHold(unsigned int contextId = IPoolSvc::kInputStream) = 0;
130
133 virtual StatusCode disconnect(unsigned int contextId = IPoolSvc::kInputStream) = 0;
134
138 virtual StatusCode disconnectDb(const std::string& connection,
139 unsigned int contextId = IPoolSvc::kInputStream) = 0;
140
142 virtual StatusCode getAttribute(const std::string& optName,
143 std::string& data,
144 long tech,
145 unsigned int contextId = IPoolSvc::kInputStream) = 0;
146
148 virtual StatusCode getAttribute(const std::string& optName,
149 std::string& data,
150 long tech,
151 const std::string& dbName,
152 const std::string& contName = "",
153 unsigned int contextId = IPoolSvc::kInputStream) = 0;
154
156 virtual StatusCode setAttribute(const std::string& optName,
157 const std::string& data,
158 long tech,
159 unsigned int contextId = IPoolSvc::kOutputStream) = 0;
160
162 virtual StatusCode setAttribute(const std::string& optName,
163 const std::string& data,
164 long tech,
165 const std::string& dbName,
166 const std::string& contName = "",
167 unsigned int contextId = IPoolSvc::kOutputStream) = 0;
168
169};
170
171#endif
TTypeAdapter RootType
Definition RootType.h:211
This class provides the interface to the APR persistency software.
Definition IPoolSvc.h:33
virtual StatusCode setAttribute(const std::string &optName, const std::string &data, long tech, unsigned int contextId=IPoolSvc::kOutputStream)=0
Set POOL attributes - domain.
virtual StatusCode commitAndHold(unsigned int contextId=IPoolSvc::kInputStream)=0
Commit data for a given stream and hold buffer.
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 StatusCode disconnectDb(const std::string &connection, unsigned int contextId=IPoolSvc::kInputStream)=0
Disconnect single Database.
DeclareInterfaceID(IPoolSvc, 1, 0)
Declare interface ID.
virtual unsigned int getInputContextMapSize() const =0
virtual StatusCode checkCollection(const std::string &connection, unsigned int contextId, bool noContainer)=0
virtual void commitCatalog()=0
PoolStream
Stream to distinguish the POOL Stream instances.
Definition IPoolSvc.h:37
@ kOutputStream
Definition IPoolSvc.h:37
@ kInputStream
Definition IPoolSvc.h:37
virtual pool::FileDescriptor getInputFileDescriptor(unsigned int contextId, const std::string &connection)=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)=0
Get POOL attributes - db/file, container/collection.
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)=0
Set POOL attributes - db/file, container/collection.
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, unsigned int contextId=IPoolSvc::kInputStream)=0
Get POOL attributes - domain.
virtual std::map< std::string, unsigned int > getInputContextMap() const =0
virtual void startCatalog()=0
virtual StatusCode commit(unsigned int contextId=IPoolSvc::kInputStream)=0
Commit data for a given stream and flush buffer.
virtual Token * getToken(const std::string &connection, const std::string &collection, const unsigned long ientry)=0
virtual void lookupBestPfn(const std::string &dbID, std::string &pfn, std::string &type) const =0
virtual unsigned int getOutputContext(const std::string &label)=0
virtual StatusCode connectCollection(const std::string &connection, const std::string &collectionName, unsigned int contextId=IPoolSvc::kInputStream)=0
virtual StatusCode disconnect(unsigned int contextId=IPoolSvc::kInputStream)=0
Disconnect PersistencySvc associated with a stream.
virtual void setObjPtr(void *&obj, const Token *token)=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:20
This class provides a token that identifies in a unique way objects on the persistent storage.
Definition Token.h:22
std::string label(const std::string &format, int i)
Definition label.h:19
Framework include files.