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
25
29class IAthenaPoolCnvSvc : virtual public extend_interfaces<IConversionSvc, IAthenaPoolCleanUpSvc> {
30public:
33
34 virtual ~IAthenaPoolCnvSvc() {}
35
37 virtual StatusCode disconnectOutput(const std::string& outputConnectionSpec) = 0;
38
40 virtual IPoolSvc* getPoolSvc() = 0;
41
46 virtual Token* registerForWrite(Placement* placement, const void* obj, const RootType& classDesc) = 0;
47
50 virtual void setObjPtr(void*& obj, const Token* token) = 0;
51
53 virtual bool useDetailChronoStat() const = 0;
54
61 virtual StatusCode createAddress(long svcType,
62 const CLID& clid,
63 const std::string* par,
64 const unsigned long* ip,
65 IOpaqueAddress*& refpAddress) = 0;
66
72 virtual StatusCode createAddress(long svcType,
73 const CLID& clid,
74 const std::string& refAddress,
75 IOpaqueAddress*& refpAddress) = 0;
76
80 virtual StatusCode convertAddress(const IOpaqueAddress* pAddress, std::string& refAddress) = 0;
81
83 virtual StatusCode registerCleanUp(IAthenaPoolCleanUp* cnv) = 0;
84
86 virtual StatusCode cleanUp(const std::string& connection) = 0;
87
90 virtual StatusCode setInputAttributes(const std::string& fileName) = 0;
91};
92
93#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 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 APR 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:20
This class provides a token that identifies in a unique way objects on the persistent storage.
Definition Token.h:22