#include <AthTPCnvSvc.h>
Definition at line 30 of file AthTPCnvSvc.h.
◆ TpCnvs_t
◆ AthTPCnvSvc() [1/2]
AthTPCnvSvc::AthTPCnvSvc |
( |
const std::string & |
name, |
|
|
ISvcLocator * |
pSvcLocator |
|
) |
| |
Constructor with parameters:
Definition at line 35 of file AthTPCnvSvc.cxx.
37 base_class (
name, pSvcLocator ),
◆ ~AthTPCnvSvc()
AthTPCnvSvc::~AthTPCnvSvc |
( |
| ) |
|
|
overridevirtual |
◆ AthTPCnvSvc() [2/2]
AthTPCnvSvc::AthTPCnvSvc |
( |
| ) |
|
|
private |
◆ load_tpcnv()
load the T/P converter class named cls
return NULL on failure.
the converter is OWNED by the T/P converter service
Definition at line 54 of file AthTPCnvSvc.cxx.
56 ITPCnvBase* cnv = ITPCnvBase::Factory::create (
cls).release();
59 <<
"] via Reflex::PluginService");
62 std::scoped_lock lock (
m_mutex);
◆ p2t_cnv()
return the T/P converter for a persistent class (NULL if failure) ITPCnvSvc
owns the ITPCnvBase
pointer
Definition at line 130 of file AthTPCnvSvc.cxx.
133 ITPCnvBase* cnv = ITPCnvBase::Factory::create (
prefix(
type) +
"_PERS_" + persClassName).release();
135 return p2t_cnv (persClassName);
136 if (cnv ==
nullptr) {
138 << persClassName <<
"]");
141 std::scoped_lock lock (
m_mutex);
142 m_cnvs.emplace_back (cnv);
◆ t2p_cnv() [1/2]
return the T/P converter for a transient class (NULL if failure) ITPCnvSvc
owns the ITPCnvBase
pointer
Definition at line 94 of file AthTPCnvSvc.cxx.
97 std::string trans_type;
98 if (!
m_clidSvc->getTypeNameOfID(transClid, trans_type).isSuccess()) {
99 ATH_MSG_INFO(
"could not get a type-name for clid [" << transClid <<
"]");
103 ITPCnvBase* cnv = ITPCnvBase::Factory::create (
prefix(
type) +
"_TRANS_" + trans_type).release();
104 if (cnv ==
nullptr) {
106 if (!
m_clidSvc->getTypeInfoNameOfID(transClid, trans_type).isSuccess()) {
108 << transClid <<
"]");
111 cnv = ITPCnvBase::Factory::create (
prefix(
type) +
"_TRANS_" + trans_type).release();
115 if (cnv ==
nullptr) {
117 << transClid <<
"] (" << trans_type <<
")");
120 std::scoped_lock lock (
m_mutex);
121 m_cnvs.emplace_back (cnv);
◆ t2p_cnv() [2/2]
return the T/P converter for a transient class (NULL if failure) ITPCnvSvc
owns the ITPCnvBase
pointer
Definition at line 72 of file AthTPCnvSvc.cxx.
76 ITPCnvBase* cnv = ITPCnvBase::Factory::create (
prefix(
type) +
"_TRANS_" + transClassName).release();
78 return t2p_cnv (transClassName);
81 << transClassName <<
"]");
84 std::scoped_lock lock (
m_mutex);
◆ t2p_cnv_unique() [1/2]
Return the T/P converter for a transient class.
Returns null on failure (with no warning printed). Ownership is returned to the caller.
Definition at line 163 of file AthTPCnvSvc.cxx.
165 std::string trans_type;
166 if (!
m_clidSvc->getTypeNameOfID(transClid, trans_type).isSuccess()) {
170 std::unique_ptr<ITPCnvBase> cnv = ITPCnvBase::Factory::create (
"_TRANS_" + trans_type);
171 if (cnv ==
nullptr) {
173 if (!
m_clidSvc->getTypeInfoNameOfID(transClid, trans_type).isSuccess()) {
176 cnv = ITPCnvBase::Factory::create (
"_TRANS_" + trans_type);
◆ t2p_cnv_unique() [2/2]
std::unique_ptr< ITPCnvBase > AthTPCnvSvc::t2p_cnv_unique |
( |
const std::string & |
transClassName | ) |
const |
|
overridevirtual |
return the T/P converter for a transient class (NULL if failure) Ownership is returned to the caller.
Return the T/P converter for a transient class.
Ownership is returned to the caller.
Definition at line 152 of file AthTPCnvSvc.cxx.
154 return ITPCnvBase::Factory::create (
"_TRANS_" + transClassName);
◆ m_clidSvc
handle to a IClassIDSvc
to handle loading of types by CLID
Definition at line 106 of file AthTPCnvSvc.h.
◆ m_cnvs
a registry of ITPCnvBase* instances
Definition at line 111 of file AthTPCnvSvc.h.
◆ m_mutex
std::mutex AthTPCnvSvc::m_mutex |
|
mutableprivate |
The documentation for this class was generated from the following files:
virtual ITPCnvBase * t2p_cnv(const std::string &transClassName, Athena::TPCnvType::Value type=Athena::TPCnvType::Athena) override
return the T/P converter for a transient class (NULL if failure) ITPCnvSvc owns the ITPCnvBase pointe...
virtual ITPCnvBase * p2t_cnv(const std::string &persClassName, Athena::TPCnvType::Value type=Athena::TPCnvType::Athena) override
return the T/P converter for a persistent class (NULL if failure) ITPCnvSvc owns the ITPCnvBase point...