35 #ifndef __igtlObjectFactoryBase_h
36 #define __igtlObjectFactoryBase_h
87 static std::list<LightObject::Pointer>
88 CreateAllInstance(
const char* igtlclassname);
101 static void UnRegisterAllFactories();
105 static std::list<ObjectFactoryBase*> GetRegisteredFactories();
112 virtual const char* GetIGTLSourceVersion(
void)
const = 0;
115 virtual const char* GetDescription(
void)
const = 0;
118 virtual std::list<std::string> GetClassOverrideNames();
121 virtual std::list<std::string> GetClassOverrideWithNames();
124 virtual std::list<std::string> GetClassOverrideDescriptions();
127 virtual std::list<bool> GetEnableFlags();
130 virtual void SetEnableFlag(
bool flag,
131 const char* className,
132 const char* subclassName);
135 virtual bool GetEnableFlag(
const char* className,
136 const char* subclassName);
141 virtual void Disable(
const char* className);
144 const char* GetLibraryPath();
157 virtual void PrintSelf(std::ostream& os)
const;
160 void RegisterOverride(
const char* classOverride,
161 const char* overrideClassName,
162 const char* description,
175 OverRideMap* m_OverrideMap;
178 void operator=(
const Self&);
182 static void Initialize();
185 static void RegisterDefaults();
196 static std::list<ObjectFactoryBase*>* m_RegisteredFactories;
200 void* m_LibraryHandle;
201 unsigned long m_LibraryDate;
202 std::string m_LibraryPath;