16 #ifndef __IPSDKBASEDATA_DATAITEMNODEFACTORY_H__ 17 #define __IPSDKBASEDATA_DATAITEMNODEFACTORY_H__ 22 #pragma warning (push) 23 #pragma warning (disable : 4275 4251) 27 #include <boost/noncopyable.hpp> 52 bool isRegistredNode(
const std::string& className)
const;
55 std::set<std::string> getRegistredNodes()
const;
60 template <
typename NodeType>
66 template <
typename NodeType>
67 void unRegisterNode();
72 const std::string& getNodeName(
const std::string& className)
const;
77 const std::string& getNodeToolTip(
const std::string& className)
const;
82 const std::string& getNodeLibraryName(
const std::string& className)
const;
87 const boost::filesystem::path& getNodeHeaderPath(
const std::string& className)
const;
118 void registerNode(
const std::string& className,
124 void unRegisterNode(
const std::string& className);
138 template <
typename NodeType>
143 const std::string& className = NodeType::getTypeName();
147 nodeInfo.
_nodeName = NodeType::getObjectNameStr();
157 template <
typename NodeType>
162 const std::string& className = NodeType::getTypeName();
173 #pragma warning (pop) 175 #endif // __IPSDKBASEDATA_DATAITEMNODEFACTORY_H__ Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
std::map< std::string, NodeInfo > FactoryMap
map associating a class name to node informations
Definition: DataItemNodeFactory.h:129
Factory singleton allowing dynamic creation of registred data item nodes.
Definition: DataItemNodeFactory.h:36
Definition of import/export macro for library.
std::string _nodeToolTip
node tooltip
Definition: DataItemNodeFactory.h:103
boost::shared_ptr< BaseDataItemNode > DataItemNodePtr
shared pointer to DataItemNode
Definition: DataItemTypes.h:158
boost::filesystem::path _nodeHeaderPath
node header path
Definition: DataItemNodeFactory.h:109
std::string _nodeName
node name
Definition: DataItemNodeFactory.h:100
struct used to store node informations
Definition: DataItemNodeFactory.h:97
void unRegisterNode()
un register a previously registred node from factory
Definition: DataItemNodeFactory.h:159
Predefined types for data items.
DataItemNodeCreator _dataItemNodeCreator
node creation function
Definition: DataItemNodeFactory.h:112
#define IPSDKBASEDATA_API
Import/Export macro for library IPSDKUtil.
Definition: IPSDKBaseDataExports.h:27
void registerNode()
register a new data item node into factory
Definition: DataItemNodeFactory.h:140
std::string _nodeLibraryName
node library name
Definition: DataItemNodeFactory.h:106
DataItemNodePtr(* DataItemNodeCreator)()
data item node creator function
Definition: DataItemTypes.h:176
FactoryMap _factoryMap
map storing string to node informations association
Definition: DataItemNodeFactory.h:132