ATLAS Offline Software
Loading...
Searching...
No Matches
IPoolSvc.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#ifndef POOLSVC_IPOOLSVC_H
6#define POOLSVC_IPOOLSVC_H
7
12
13#include "GaudiKernel/IService.h"
16#include "StorageSvc/DbType.h"
18
19#include <string>
20
21// Forward declarations
22namespace pool {
23 class IFileCatalog;
24}
25namespace coral {
26 class Context;
27}
28class Placement;
29class StatusCode;
30class Token;
31
32
36class IPoolSvc : virtual public IService {
37
38public: // static members
41
42public: // Non-static members
45
50 virtual Token* registerForWrite(const Placement* placement,
51 const void* obj,
52 const RootType& classDesc) = 0;
53
57 virtual void setObjPtr(void*& obj, const Token* token) = 0;
58
61 virtual unsigned int getOutputContext(const std::string& label) = 0;
62
66 virtual unsigned int getInputContext(const std::string& label, unsigned int maxFile = 0) = 0;
67
69 virtual std::map<std::string, unsigned int> getInputContextMap() const = 0;
70
72 virtual unsigned int getInputContextMapSize() const = 0;
73
75 virtual const coral::Context* context() const = 0;
76
79 virtual void loadComponent(const std::string& compName) = 0;
80
83 virtual void setShareMode(bool shareCat) = 0;
84
86 virtual const pool::IFileCatalog* catalog() const = 0;
87
92 virtual void lookupBestPfn(const std::string& token, std::string& pfn, std::string& type) const = 0;
93
97 virtual void renamePfn(const std::string& pf, const std::string& newpf) = 0;
98
104 virtual pool::ICollection* createCollection(const std::string& connection,
105 const std::string& collectionName,
106 const pool::DbType& collectionType = pool::POOL_StorageType.type(),
107 unsigned int contextId = IPoolSvc::kInputStream) const = 0;
108
113 virtual Token* getToken(const std::string& connection,
114 const std::string& collection,
115 const unsigned long ientry) const = 0;
116
119 unsigned int contextId = IPoolSvc::kInputStream) = 0;
120
123 virtual StatusCode commit(unsigned int contextId = IPoolSvc::kInputStream) const = 0;
124
127 virtual StatusCode commitAndHold(unsigned int contextId = IPoolSvc::kInputStream) const = 0;
128
131 virtual StatusCode disconnect(unsigned int contextId = IPoolSvc::kInputStream) const = 0;
132
136 virtual StatusCode disconnectDb(const std::string& connection,
137 unsigned int contextId = IPoolSvc::kInputStream) const = 0;
138
140 virtual StatusCode getAttribute(const std::string& optName,
141 std::string& data,
142 long tech,
143 unsigned int contextId = IPoolSvc::kInputStream) const = 0;
144
146 virtual StatusCode getAttribute(const std::string& optName,
147 std::string& data,
148 long tech,
149 const std::string& dbName,
150 const std::string& contName = "",
151 unsigned int contextId = IPoolSvc::kInputStream) const = 0;
152
154 virtual StatusCode setAttribute(const std::string& optName,
155 const std::string& data,
156 long tech,
157 unsigned int contextId = IPoolSvc::kOutputStream) const = 0;
158
160 virtual StatusCode setAttribute(const std::string& optName,
161 const std::string& data,
162 long tech,
163 const std::string& dbName,
164 const std::string& contName = "",
165 unsigned int contextId = IPoolSvc::kOutputStream) const = 0;
166
168 virtual StatusCode setFrontierCache(const std::string& conn) = 0;
169};
170
171#endif
char data[hepevt_bytes_allocation_ATLAS]
Definition HepEvt.cxx:11
TTypeAdapter RootType
Definition RootType.h:211
This class provides the interface to the LCG POOL persistency software.
Definition IPoolSvc.h:36
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 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:40
@ kOutputStream
Definition IPoolSvc.h:40
@ kInputStream
Definition IPoolSvc.h:40
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 StatusCode connect(pool::ITransaction::Type type, unsigned int contextId=IPoolSvc::kInputStream)=0
Connect to a logical database unit; PersistencySvc is chosen according to transaction type (accessmod...
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:23
Type
Transaction type enumeration.
std::string label(const std::string &format, int i)
Definition label.h:19
pool namespace
Definition libname.h:15
static const DbType POOL_StorageType
Definition DbType.h:84