14 #ifndef __IPSDKUTIL_DYNAMICOBJECTFACTORY_H__ 15 #define __IPSDKUTIL_DYNAMICOBJECTFACTORY_H__ 20 #pragma warning (push) 21 #pragma warning (disable : 4275 4251) 26 #include <boost/noncopyable.hpp> 31 class BaseDynamicObject;
52 bool isRegistredClass(
const std::string& className)
const;
56 void registerClass(
const std::string& className,
62 void unRegisterClass(
const std::string& className);
78 typedef std::map<std::string, DynamicObjectCreator>
FactoryMap;
91 #endif // __IPSDKUTIL_DYNAMICOBJECTFACTORY_H__ Base class for dynamic objects.
Definition: BaseDynamicObject.h:28
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
DynamicObjectPtr(* DynamicSharedObjectCreator)()
creation function for shared dynamic objects
Definition: DynamicObjectTypes.h:34
BaseDynamicObject *(* DynamicNewObjectCreator)()
creation function for dynamic objects
Definition: DynamicObjectTypes.h:31
boost::shared_ptr< BaseDynamicObject > DynamicObjectPtr
shared pointer to a BaseDynamicObject
Definition: DynamicObjectTypes.h:22
Factory singleton allowing dynamic creation of registred objects.
Definition: DynamicObjectFactory.h:36
FactoryMap _factoryMap
map storing string to creation function association
Definition: DynamicObjectFactory.h:81
Base types for multiplatform compatibility.
Predefined types for dynamic objects management.
std::map< std::string, DynamicObjectCreator > FactoryMap
typedef for string associated to dynamic object creation function
Definition: DynamicObjectFactory.h:78
#define IPSDKUTIL_API
Import/Export macro for library IPSDKUtil.
Definition: IPSDKUtilExports.h:27
Definition of import/export macro for library.
std::pair< DynamicNewObjectCreator, DynamicSharedObjectCreator > DynamicObjectCreator
pair of function pointers allowing to create new and shared dynamic objects
Definition: DynamicObjectFactory.h:75