11 #include "GaudiKernel/IConversionSvc.h"
16 :
asg::AsgMessaging(
"HolderFactory"),
29 std::vector<uint32_t>::const_iterator blobIt =
start;
40 auto itr = m_ignore.find(clid);
41 if ( itr!=m_ignore.end() && (itr->second.empty() || itr->second.find(
label)!=itr->second.end()) ) {
46 ATH_MSG_VERBOSE(
"deserialize: extracted blob CLID: " << clid <<
" of size: " << blobsize <<
" SubTypeIndex: " <<
idx <<
" Label: " <<
label);
50 ATH_MSG_ERROR(
"deserialize: Could not create holder for CLID " << clid
51 <<
" this probably means that the package holding the class for this CLID was not compiled against the TrigNavigation package in use!");
57 if ( blobIt !=
end ) {
59 std::vector<uint32_t>::const_iterator constEnd =
end;
60 std::vector<uint32_t> blobpart2(blobIt, constEnd);
66 if ( !iholder->syncWithSG() ) {
67 ATH_MSG_WARNING(
"deserialize: after deserialization obejct not accessible though SG");
74 ATH_MSG_DEBUG(
"createHolder: creating holder for CLID: " << clid <<
" label: " <<
label <<
" and index: " <<
index <<
" readonly: " << m_readonly);
78 ATH_MSG_ERROR(
"createHolder: holder can't be done, no predefined storage found for CLID: " << clid);
82 auto holder = itr->second->clone(m_prefix,
label,
index);
84 ATH_MSG_ERROR(
"createHolder: clone of holder failed clid: " << clid);
88 ATH_MSG_DEBUG(
"preparing holder with msg: " << &
msg() <<
" storegate: " << m_storeGate <<
" and prefix " << m_prefix);
90 holder->prepare(*
this, m_storeGate, m_serializerSvc, m_readonly);