16 #include "Gaudi/Property.h"
23 static const std::string s_rootName =
"<root-node>";
24 static const NodeId_t s_rootId = 0;
31 NodeId_t CallGraphBuilderSvc::m_uuid = 0;
40 ISvcLocator* pSvcLocator ) :
50 m_nameToId[s_rootName] = s_rootId;
51 m_idToName[s_rootId ] = s_rootName;
66 msg().setLevel( m_outputLevel.value() );
69 <<
"Initializing " <<
name() <<
"..."
75 <<
"Could not initialize base class !!"
77 return StatusCode::FAILURE;
82 return StatusCode::SUCCESS;
88 <<
"Finalizing " <<
name() <<
"..."
91 return StatusCode::SUCCESS;
101 void** ppvInterface )
107 return AthService::queryInterface(riid, ppvInterface);
110 return StatusCode::SUCCESS;
119 std::scoped_lock lock(
m_mutex);
121 if ( m_nameToId.find( nodeName ) == m_nameToId.end() ) {
122 m_nameToId[nodeName] = ++m_uuid;
123 m_idToName[m_uuid ] = nodeName;
126 const NodeId_t nodeId = m_nameToId[nodeName];
128 m_stack.push( nodeId );
130 boost::add_edge(
parentId, nodeId, m_graph );
133 <<
"--> [" << nodeName <<
"] = " << nodeId <<
"\t"
134 <<
"(parent = " << m_idToName[
parentId] <<
")"
141 std::scoped_lock lock(
m_mutex);
143 const NodeId_t nodeId = m_nameToId[nodeName];
146 <<
"<-- [" << nodeName <<
"] = " << nodeId
149 if ( !m_stack.empty() ) {