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 Placement;
22class Token;
23
24
28class IAthenaPoolCnvSvc : virtual public extend_interfaces<IConversionSvc, IAthenaPoolCleanUpSvc> {
29public:
32
33 virtual ~IAthenaPoolCnvSvc() {}
34
36 virtual StatusCode disconnectOutput(const std::string& outputConnectionSpec) = 0;
37
42 virtual Token* registerForWrite(Placement* placement, const void* obj, const RootType& classDesc) = 0;
43
46 virtual void setObjPtr(void*& obj, const Token* token) = 0;
47
49 virtual bool useDetailChronoStat() const = 0;
50
57 virtual StatusCode createAddress(long svcType,
58 const CLID& clid,
59 const std::string* par,
60 const unsigned long* ip,
61 IOpaqueAddress*& refpAddress) = 0;
62
68 virtual StatusCode createAddress(long svcType,
69 const CLID& clid,
70 const std::string& refAddress,
71 IOpaqueAddress*& refpAddress) = 0;
72
76 virtual StatusCode convertAddress(const IOpaqueAddress* pAddress, std::string& refAddress) = 0;
77
79 virtual StatusCode registerCleanUp(IAthenaPoolCleanUp* cnv) = 0;
80
82 virtual StatusCode cleanUp(const std::string& connection) = 0;
83
86 virtual StatusCode setInputAttributes(const std::string& fileName) = 0;
87};
88
89#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 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 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