|
μHAL (v2.7.9)
Part of the IPbus software repository
|
Go to the documentation of this file.
38 #include <boost/shared_ptr.hpp>
39 #include <boost/unordered_map.hpp>
76 boost::unordered_map< std::string , boost::shared_ptr<CreatorInterface> >::const_iterator lIt =
mCreators.find ( aNode->
mClassName );
80 log (
Warning ,
"Class " ,
Quote ( aNode->
mClassName ) ,
" is unknown to the NodeTreeBuilder class factory. A plain node will be returned instead." );
93 log (
Warning ,
"No class types have been defined" );
100 Node* lClassNode ( lIt->second->create ( *aNode ) );
static boost::shared_ptr< DerivedNodeFactory > mInstance
The single instance of the class.
A singleton class to register derived nodes, and create instances of them later NOTE!...
DerivedNodeFactory()
Default constructor This is private since only a single instance is to be created,...
A heirarchical node for navigating heirarchical firmwares.
void log(FatalLevel &aFatal, const T0 &aArg0)
Function to add a log entry at Fatal level.
_Quote< T > Quote(const T &aT)
std::string mClassName
Class name used to construct the derived node type.
Node * convertToClassType(Node *aNode)
virtual ~DerivedNodeFactory()
Destructor.
static DerivedNodeFactory & getInstance()
Static method to retrieve the single instance of the class.
boost::unordered_map< std::string, boost::shared_ptr< CreatorInterface > > mCreators
Hash map associating a creator for a particular node type with a string identifier for that node type...