ATLAS Offline Software
Loading...
Searching...
No Matches
ITPCnvSvc.h
Go to the documentation of this file.
1
2
3/*
4 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
5*/
6
7// ITPCnvSvc.h
8// Header file for class ITPCnvSvc
9// Author: S.Binet<binet@cern.ch>
11#ifndef ATHENAKERNEL_ITPCNVSVC_H
12#define ATHENAKERNEL_ITPCNVSVC_H 1
13
16
17
19#include "GaudiKernel/IService.h"
20#include "GaudiKernel/ClassID.h"
21#include <string>
22
23
24class ITPCnvBase;
25
26
28 : virtual public ::IService
29{
31 // Public methods:
33 public:
35
36
39 virtual ~ITPCnvSvc();
40
45 virtual
47 load_tpcnv(const std::string& cls) = 0;
48
52 virtual
54 t2p_cnv(const std::string& transClassName,
56
60 virtual
62 t2p_cnv(const CLID& transClid,
64
68 virtual
70 p2t_cnv(const std::string& persClassName,
72
76 virtual
77 std::unique_ptr<ITPCnvBase>
78 t2p_cnv_unique(const std::string& transClassName) const = 0;
79
84 virtual
85 std::unique_ptr<ITPCnvBase>
86 t2p_cnv_unique(const CLID transClid) const = 0;
87};
88
89#endif //> !ATHENAKERNEL_ITPCNVSVC_H
uint32_t CLID
The Class ID type.
Set up plugin loading of TP converters.
virtual std::unique_ptr< ITPCnvBase > t2p_cnv_unique(const std::string &transClassName) const =0
return the T/P converter for a transient class (NULL if failure) Ownership is returned to the caller.
virtual ~ITPCnvSvc()
Destructor:
Definition ITPCnvSvc.cxx:20
virtual ITPCnvBase * load_tpcnv(const std::string &cls)=0
load the T/P converter class named cls return NULL on failure.
virtual ITPCnvBase * p2t_cnv(const std::string &persClassName, Athena::TPCnvType::Value type=Athena::TPCnvType::Athena)=0
return the T/P converter for a persistent class (NULL if failure) ITPCnvSvc owns the ITPCnvBase point...
virtual ITPCnvBase * t2p_cnv(const std::string &transClassName, Athena::TPCnvType::Value type=Athena::TPCnvType::Athena)=0
return the T/P converter for a transient class (NULL if failure) ITPCnvSvc owns the ITPCnvBase pointe...
DeclareInterfaceID(ITPCnvSvc, 1, 0)
virtual std::unique_ptr< ITPCnvBase > t2p_cnv_unique(const CLID transClid) const =0
Return the T/P converter for a transient class.
virtual ITPCnvBase * t2p_cnv(const CLID &transClid, Athena::TPCnvType::Value type=Athena::TPCnvType::Athena)=0
return the T/P converter for a transient class (NULL if failure) ITPCnvSvc owns the ITPCnvBase pointe...