16#ifndef __albaPipeFactory_h
17#define __albaPipeFactory_h
24#define albaPlugPipeMacro(pipe_type,descr) \
25 RegisterNewPipe(pipe_type::GetStaticTypeName(), descr, pipe_type::NewObject);
96 factory->
RegisterNewPipe(T::GetStaticTypeName(), description, T::NewObject);
#define EXPORT_STL_VECTOR(declspec_, T_)
albaObject *(* albaCreateObjectFunction)()
Create instances of classes using an object factory.
Object factory for Pipes.
void RegisterNewPipe(const char *pipe_name, const char *description, albaCreateObjectFunction createFunction)
This function can be used by Application code to register new Objects's to the mflCoreFactory.
albaTypeMacro(albaPipeFactory, albaObjectFactory)
virtual const char * GetALBASourceVersion() const
All sub-classes of albaObjectFactory should must return the version of ALBA they were built with.
static std::vector< std::string > & GetPipeNames()
return list of names for pipes plugged into this factory
virtual const char * GetDescription() const
Return a descriptive string describing the factory.
static albaPipeFactory * GetInstance()
return the instance pointer of the factory.
static albaPipe * CreatePipeInstance(const char *type_name)
create an instance of the pipe give its type name
static bool m_Initialized
Plug a pipe in the main ALBA Pipe factory.
albaPlugPipe(const char *description)
Plug a new Pipe class into the Pipe factory.