ATLAS Offline Software
Loading...
Searching...
No Matches
IAthenaPoolCnvSvc.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef ATHENAPOOLCNVSVC_IATHENAPOOLCNVSVC_H
6#define ATHENAPOOLCNVSVC_IATHENAPOOLCNVSVC_H
7
12
14#include "GaudiKernel/IConversionSvc.h"
16
17#include <string>
18
19// Forward declarations
20class IOpaqueAddress;
21class IPoolSvc;
22class Placement;
23class Token;
24
25namespace pool {
26 class DbType;
27}
28
29
33class IAthenaPoolCnvSvc : virtual public extend_interfaces<IConversionSvc, IAthenaPoolCleanUpSvc> {
34public:
37
38 virtual ~IAthenaPoolCnvSvc() {}
39
41 virtual StatusCode disconnectOutput(const std::string& outputConnectionSpec) = 0;
42
44 virtual IPoolSvc* getPoolSvc() = 0;
45
50 virtual Token* registerForWrite(Placement* placement, const void* obj, const RootType& classDesc) = 0;
51
54 virtual void setObjPtr(void*& obj, const Token* token) = 0;
55
57 virtual bool useDetailChronoStat() const = 0;
58
65 virtual StatusCode createAddress(long svcType,
66 const CLID& clid,
67 const std::string* par,
68 const unsigned long* ip,
69 IOpaqueAddress*& refpAddress) = 0;
70
76 virtual StatusCode createAddress(long svcType,
77 const CLID& clid,
78 const std::string& refAddress,
79 IOpaqueAddress*& refpAddress) = 0;
80
84 virtual StatusCode convertAddress(const IOpaqueAddress* pAddress, std::string& refAddress) = 0;
85
88 virtual StatusCode decodeOutputSpec(std::string& connectionSpec, int& outputTech) const = 0;
89
91 virtual StatusCode registerCleanUp(IAthenaPoolCleanUp* cnv) = 0;
92
94 virtual StatusCode cleanUp(const std::string& connection) = 0;
95
98 virtual StatusCode setInputAttributes(const std::string& fileName) = 0;
99};
100
101#endif
uint32_t CLID
The Class ID type.
This file contains the class definition for the IAthenaPoolCleanUpSvc class.
TTypeAdapter RootType
Definition RootType.h:211
This class provides the interface for the AthenaPoolCleanUp which is used to clean up AthenaPoolConve...
This class provides the interface between Athena and PoolSvc.
virtual StatusCode setInputAttributes(const std::string &fileName)=0
Set the input file attributes, if any are requested from jobOpts.
virtual StatusCode cleanUp(const std::string &connection)=0
Implement cleanUp to call all registered IAthenaPoolCleanUp cleanUp() function.
virtual StatusCode createAddress(long svcType, const CLID &clid, const std::string &refAddress, IOpaqueAddress *&refpAddress)=0
Create address from string form.
virtual StatusCode convertAddress(const IOpaqueAddress *pAddress, std::string &refAddress)=0
Convert address to string form.
DeclareInterfaceID(IAthenaPoolCnvSvc, 1, 0)
Declare interface ID.
virtual Token * registerForWrite(Placement *placement, const void *obj, const RootType &classDesc)=0
virtual IPoolSvc * getPoolSvc()=0
virtual StatusCode disconnectOutput(const std::string &outputConnectionSpec)=0
Disconnect to the output connection.
virtual StatusCode decodeOutputSpec(std::string &connectionSpec, int &outputTech) const =0
Extract/deduce the DB technology from the connection string/file specification.
virtual bool useDetailChronoStat() const =0
virtual StatusCode createAddress(long svcType, const CLID &clid, const std::string *par, const unsigned long *ip, IOpaqueAddress *&refpAddress)=0
Create a Generic address using explicit arguments to identify a single object.
virtual void setObjPtr(void *&obj, const Token *token)=0
virtual StatusCode registerCleanUp(IAthenaPoolCleanUp *cnv)=0
Implement registerCleanUp to register a IAthenaPoolCleanUp to be called during cleanUp.
This class provides the interface to the LCG POOL persistency software.
Definition IPoolSvc.h:35
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
pool namespace
Definition libname.h:15