ALBA
Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Attributes | List of all members
albaPipeFactory Class Reference

#include <albaPipeFactory.h>

Inheritance diagram for albaPipeFactory:
Inheritance graph
[legend]
Collaboration diagram for albaPipeFactory:
Collaboration graph
[legend]

Public Member Functions

 albaTypeMacro (albaPipeFactory, albaObjectFactory)
 
virtual const char * GetALBASourceVersion () const
 
virtual const char * GetDescription () const
 
void RegisterNewPipe (const char *pipe_name, const char *description, albaCreateObjectFunction createFunction)
 
- Public Member Functions inherited from albaObjectFactory
 albaAbstractTypeMacro (albaObjectFactory, albaReferenceCounted)
 
virtual const char * GetALBASourceVersion (void) const =0
 
virtual const char * GetDescription (void) const =0
 
virtual std::list< std::string > GetClassOverrideNames ()
 
virtual std::list< std::string > GetClassOverrideWithNames ()
 
virtual std::list< std::string > GetClassOverrideTypeNames ()
 
virtual std::list< bool > GetEnableFlags ()
 
virtual void SetEnableFlag (bool flag, const char *className, const char *subclassName)
 
virtual bool GetEnableFlag (const char *className, const char *subclassName)
 
virtual void Disable (const char *className)
 
const char * GetLibraryPath ()
 
std::string GetObjectTypeName (const char *classname)
 
void RegisterNewObject (const char *ObjectName, const char *typeName, albaCreateObjectFunction createFunction, albaReferenceCounted *args=NULL)
 
void RegisterOverride (const char *classOverride, const char *overrideClassName, const char *typeName, bool enableFlag, albaCreateObjectFunction createFunction, albaReferenceCounted *args=NULL)
 
albaReferenceCountedGetArgs (const char *type_name)
 
virtual void Print (std::ostream &os, const int indent=0) const
 
 albaObjectFactory ()
 
virtual ~albaObjectFactory ()
 
- Public Member Functions inherited from albaReferenceCounted
 albaReferenceCounted ()
 
virtual ~albaReferenceCounted ()
 
 albaAbstractTypeMacro (albaReferenceCounted, albaObject)
 
virtual void Delete ()
 
void Register (void *obj)
 
virtual void UnRegister (void *obj)
 
int GetReferenceCount ()
 
void SetReferenceCount (int)
 
- Public Member Functions inherited from albaObject
 albaObject ()
 
virtual ~albaObject ()
 
virtual void Delete ()
 
virtual const char * GetTypeName () const
 
virtual bool IsA (const char *type_name) const
 
virtual bool IsA (const albaTypeID &type_id) const
 
virtual albaObjectNewObjectInstance () const =0
 
virtual const albaTypeIDGetTypeId () const
 
virtual void Print (std::ostream &os, const int indent=0) const
 
 albaObject (const albaObject &c)
 

Static Public Member Functions

static int Initialize ()
 
static albaPipeFactoryGetInstance ()
 
static albaPipeCreatePipeInstance (const char *type_name)
 
static std::vector< std::string > & GetPipeNames ()
 
- Static Public Member Functions inherited from albaObjectFactory
static albaObjectCreateInstance (const char *classname)
 
static std::list< albaObject * > CreateAllInstance (const char *classname)
 
static void ReHash ()
 
static void RegisterFactory (albaObjectFactory *)
 
static void UnRegisterFactory (albaObjectFactory *)
 
static void UnRegisterAllFactories ()
 
static std::list< albaObjectFactory * > GetRegisteredFactories ()
 
- Static Public Member Functions inherited from albaObject
static const char * GetStaticTypeName ()
 
static bool IsStaticType (const char *type_name)
 
static bool IsStaticType (const albaTypeID &type_id)
 
static const albaTypeIDGetStaticTypeId ()
 
static albaObjectSafeDownCast (albaObject *o)
 

Protected Member Functions

 albaPipeFactory ()
 
 ~albaPipeFactory ()
 
- Protected Member Functions inherited from albaObjectFactory
virtual albaObjectCreateObject (const char *classname)
 
albaReferenceCountedGetFactoryArgs (const char *type_name)
 

Static Protected Attributes

static bool m_Initialized
 

Additional Inherited Members

- Protected Types inherited from albaObjectFactory
typedef std::multimap< std::string, mmuOverrideInformationmmuOverRideMap
 
- Protected Attributes inherited from albaObjectFactory
mmuOverRideMapm_OverrideMap
 
- Protected Attributes inherited from albaReferenceCounted
int m_ReferenceCount
 
- Protected Attributes inherited from albaObject
bool m_HeapFlag
 

Detailed Description

Object factory for Pipes.

To make a new VME available in the ALBA it must be plugged inside a factory, in particular this factory must be of type albaPipeFactory to be able to retrieve the list of pipes plugged in the factory. Also when using albaPlugPipe<pipe_type> the pipe icon is plugged inside the the ALBA picture factory.

Definition at line 43 of file albaPipeFactory.h.

Constructor & Destructor Documentation

◆ albaPipeFactory()

albaPipeFactory::albaPipeFactory ( )
protected

◆ ~albaPipeFactory()

albaPipeFactory::~albaPipeFactory ( )
inlineprotected

Definition at line 67 of file albaPipeFactory.h.

Member Function Documentation

◆ albaTypeMacro()

albaPipeFactory::albaTypeMacro ( albaPipeFactory  ,
albaObjectFactory   
)

◆ GetALBASourceVersion()

virtual const char * albaPipeFactory::GetALBASourceVersion ( ) const
virtual

All sub-classes of albaObjectFactory should must return the version of ALBA they were built with.

This should be implemented with the macro ALBA_SOURCE_VERSION and NOT a call to Version::GetALBASourceVersion. As the version needs to be compiled into the file as a string constant. This is critical to determine possible incompatible dynamic factory loads.

Implements albaObjectFactory.

◆ GetDescription()

virtual const char * albaPipeFactory::GetDescription ( ) const
virtual

Return a descriptive string describing the factory.

Implements albaObjectFactory.

◆ Initialize()

static int albaPipeFactory::Initialize ( )
static

◆ GetInstance()

static albaPipeFactory * albaPipeFactory::GetInstance ( )
static

return the instance pointer of the factory.

return NULL if not initialized yet

Referenced by albaPlugPipe< T >::albaPlugPipe().

◆ CreatePipeInstance()

static albaPipe * albaPipeFactory::CreatePipeInstance ( const char *  type_name)
static

create an instance of the pipe give its type name

◆ RegisterNewPipe()

void albaPipeFactory::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.

Referenced by albaPlugPipe< T >::albaPlugPipe().

◆ GetPipeNames()

static std::vector< std::string > & albaPipeFactory::GetPipeNames ( )
static

return list of names for pipes plugged into this factory

Member Data Documentation

◆ m_Initialized

bool albaPipeFactory::m_Initialized
staticprotected

Definition at line 70 of file albaPipeFactory.h.


The documentation for this class was generated from the following file: