46 std::unordered_map<std::string , std::shared_ptr<CreatorInterface> >::const_iterator lIt =
mCreators.find ( aNodeClassName ) ;
50 log (
Warning() ,
"Derived node \"" , aNodeClassName ,
"\" already exists in map of creators. Continuing for now, but be warned." );
61 log (
Debug() ,
"Creator called for Node of type " ,
Quote ( Type < T >() ) );
62 return new T ( aNode );
Templated concrete implementation with a CreatorInterface interface.
Node * create(const Node &aNode)
Concrete function which creates a new IPbus client based on the protocol identifier specified.
std::unordered_map< std::string, std::shared_ptr< CreatorInterface > > mCreators
Hash map associating a creator for a particular node type with a string identifier for that node type...
void add(const std::string &aNodeClassName)
Method to create an associate between a node type identifier and a Creator of that particular node ty...
A heirarchical node for navigating heirarchical firmwares.
_Quote< T > Quote(const T &aT)
void log(FatalLevel &aFatal, const T0 &aArg0)
Function to add a log entry at Fatal level.