33 #ifndef __igtlObjectFactoryBase_h
34 #define __igtlObjectFactoryBase_h
85 static std::list<LightObject::Pointer>
86 CreateAllInstance(
const char* igtlclassname);
99 static void UnRegisterAllFactories();
103 static std::list<ObjectFactoryBase*> GetRegisteredFactories();
110 virtual const char* GetIGTLSourceVersion(
void)
const = 0;
113 virtual const char* GetDescription(
void)
const = 0;
116 virtual std::list<std::string> GetClassOverrideNames();
119 virtual std::list<std::string> GetClassOverrideWithNames();
122 virtual std::list<std::string> GetClassOverrideDescriptions();
125 virtual std::list<bool> GetEnableFlags();
128 virtual void SetEnableFlag(
bool flag,
129 const char* className,
130 const char* subclassName);
133 virtual bool GetEnableFlag(
const char* className,
134 const char* subclassName);
139 virtual void Disable(
const char* className);
142 const char* GetLibraryPath();
155 virtual void PrintSelf(std::ostream& os)
const;
158 void RegisterOverride(
const char* classOverride,
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 igtlTypeMacro(thisClass, superclass)
SmartPointer< Self > Pointer
Create instances of classes using an object factory.
SmartPointer< const Self > ConstPointer
Define API for object creation callback functions.
Light weight base class for most igtl classes.
Base class for most igtl classes.