33#ifndef __igtlObjectFactoryBase_h
34#define __igtlObjectFactoryBase_h
85 static std::list<LightObject::Pointer>
129 const char* className,
130 const char* subclassName);
134 const char* subclassName);
159 const char* overrideClassName,
160 const char* description,
173 OverRideMap* m_OverrideMap;
176 void operator=(
const Self&);
180 static void Initialize();
183 static void RegisterDefaults();
194 static std::list<ObjectFactoryBase*>* m_RegisteredFactories;
198 void* m_LibraryHandle;
199 unsigned long m_LibraryDate;
200 std::string m_LibraryPath;
Define API for object creation callback functions.
Create instances of classes using an object factory.
SmartPointer< const Self > ConstPointer
virtual void PrintSelf(std::ostream &os) const
void RegisterOverride(const char *classOverride, const char *overrideClassName, const char *description, bool enableFlag, CreateObjectFunctionBase *createFunction)
virtual const char * GetIGTLSourceVersion(void) const =0
SmartPointer< Self > Pointer
static void RegisterFactory(ObjectFactoryBase *)
virtual LightObject::Pointer CreateObject(const char *igtlclassname)
virtual void Disable(const char *className)
static LightObject::Pointer CreateInstance(const char *igtlclassname)
static void UnRegisterAllFactories()
virtual std::list< std::string > GetClassOverrideWithNames()
virtual const char * GetDescription(void) const =0
virtual ~ObjectFactoryBase()
static std::list< ObjectFactoryBase * > GetRegisteredFactories()
static void UnRegisterFactory(ObjectFactoryBase *)
virtual void SetEnableFlag(bool flag, const char *className, const char *subclassName)
virtual bool GetEnableFlag(const char *className, const char *subclassName)
static std::list< LightObject::Pointer > CreateAllInstance(const char *igtlclassname)
virtual std::list< std::string > GetClassOverrideDescriptions()
const char * GetLibraryPath()
virtual std::list< std::string > GetClassOverrideNames()
igtlTypeMacro(ObjectFactoryBase, Object)
virtual std::list< bool > GetEnableFlags()
Base class for most igtl classes.
Implements transparent reference counting.
The "igtl" namespace contains all OpenIGTLink classes. There are several nested namespaces within the...