Plug-in List. More...

#include <gpluginmanager.h>

Inheritance diagram for GPlugInList:
[legend]

Public Member Functions

 GPlugInList (GPlugInManager *mng, const R::RString &name)
 
virtual void HandlerNotFound (const R::RNotification &notification)
 
R::RString GetName (void) const
 
int Compare (const GPlugInList &list) const
 
int Compare (const R::RString &name) const
 
size_t GetNbFactories (void) const
 
R::RCursor< GPlugInFactoryGetFactories (void) const
 
size_t GetNbPlugIns (void) const
 
template<class plugin >
R::RCastCursor< GPlugIn, plugin > GetPlugIns (void) const
 
- Public Member Functions inherited from RObject
 RObject (const RString &name=RString::Null)
 
int Compare (const RObject &obj) const
 
RString GetName (void) const
 
virtual RCString GetClassName (void) const
 
void PostNotification (const hNotification handle)
 
void PostNotification (const RCString &name)
 
void PostNotification (const hNotification handle, T data)
 
void PostNotification (const RCString &name, T data)
 
void InsertObserver (tNotificationHandler handler, const hNotification handle, RObject *object)
 
void InsertObserver (tNotificationHandler handler, const RCString &name, RObject *object)
 
void InsertObserver (tNotificationHandler handler, const hNotification handle)
 
void InsertObserver (tNotificationHandler handler, const RCString &name)
 
void InsertObserver (tNotificationHandler handler, RObject *object)
 
void InsertObserver (tNotificationHandler handler)
 
void DeleteObserver (void)
 
void DeleteObserver (const hNotification handle, RObject *object)
 
void DeleteObserver (const RCString &name, RObject *object)
 
hNotification GetNotificationHandle (const RCString &name) const
 
RCString GetNotificationName (const hNotification handle) const
 
virtual ~RObject (void)
 

Private Member Functions

void CreateConfig (void)
 
void Create (GSession *session)
 
void Disconnect (GSession *session)
 
void Delete (void)
 

Private Attributes

R::RString Name
 
R::RContainer< GPlugInFactory,
true, true > 
Factories
 
R::RContainer< GPlugIn, false,
true > 
Plugins
 
GPlugInCurrent
 
GPlugInManagerMng
 

Additional Inherited Members

- Protected Attributes inherited from RObject
RString Name
 

Detailed Description

Plug-in List.

The GPlugInList manages a given list of plug-ins. It is manage by an instance of GPlugInManager. Some lists have a current plug-in.

Each time a new current plug-in is selected, GPlugInList emits a GALILEI::hCurrentPlugIn notification with the current plug-in as parameter ( of de type GPluIn). The internal name of a list is composed from the name of the manager and its name separated by a | (for example "Measures|Features Evaluation"). The name of a list is the one of the manager if there is only one list (for example "Storage|Storage").

Constructor & Destructor Documentation

GPlugInList ( GPlugInManager mng,
const R::RString name 
)

Constructor for the list of plug-ins.

Parameters
mngManager of the list.
nameName of the list.

Member Function Documentation

virtual void HandlerNotFound ( const R::RNotification notification)
virtual

This method is call when no handler is founded for a notification send by the session. Actually, it does nothing.

Parameters
notificationNotification.

Reimplemented from RObject.

R::RString GetName ( void  ) const

Get the name of the plug-in list.

int Compare ( const GPlugInList list) const

Comparison method needed by R::RContainer.

Parameters
listPlug-ins list to compare.
int Compare ( const R::RString name) const

Comparison method needed by R::RContainer.

Parameters
nameName to compare.
size_t GetNbFactories ( void  ) const

Get the number of factories registered.

R::RCursor<GPlugInFactory> GetFactories ( void  ) const

Get a cursor over the registered factories.

size_t GetNbPlugIns ( void  ) const

Get the number of enabled plug-ins.

R::RCastCursor<GPlugIn,plugin> GetPlugIns ( void  ) const

Get a cursor over the enabled plug-ins.

void CreateConfig ( void  )
private

Apply the configuration parameters.

void Create ( GSession session)
private

Create the plug-ins for a given session.

Parameters
sessionPointer to the session.
void Disconnect ( GSession session)
private

Disconnect the plug-ins for a given session.

Parameters
sessionPointer to the session.
void Delete ( void  )
private

Delete the plug-ins.

Member Data Documentation

R::RString Name
private

The name of the list.

R::RContainer<GPlugInFactory,true,true> Factories
private

Factories.

R::RContainer<GPlugIn,false,true> Plugins
private

Enabled plug-ins.

GPlugIn* Current
private

Current selected plug-in.

GPlugInManager* Mng
private

The manager of the list.