libalextractor  2.0.6.8
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends
Public Member Functions | Protected Member Functions
AL::ALExtractor Class Reference

ALExtractor class implements an extractor. More...

#include <alextractor/alextractor.h>

List of all members.

Public Member Functions

 ALExtractor (boost::shared_ptr< ALBroker > pBroker, const std::string &pName)
 Constructor.
virtual ~ALExtractor ()
 Destructor.
virtual void subscribe (const std::string &pSubscribedName, const int &pPeriod, const float &pPrecision)
 Called by the "client" to tell that it is interested in the output values.
virtual void subscribe (const std::string &pSubscribedName)
 Called by the "client" to tell that it is interested in the output values. Period and Precision specified by getDefaultPrecision() and getDefaultPeriod() will be used by default.
virtual void updatePeriod (const std::string &pSubscribedName, const int &pPeriod)
 Called by the "client" to update the periode.
virtual void updatePrecision (const std::string &pSubscribedName, const float &pPrecision)
 Called by the "client" to update the precision.
virtual void unsubscribe (const std::string &pSubscribedName)
 Called by the "client" to tell that it is not interested anymore in the output values.
virtual int getCurrentPeriod ()
 Called by the "client" to get the current period chosen by the Extractor.
virtual float getCurrentPrecision ()
 Called by the "client" to get the current precision chosen by the Extractor.
virtual int getMyPeriod (const std::string &pSubscribedName)
 Called by the "client" to get the period.
virtual float getMyPrecision (const std::string &pSubscribedName)
 Called by the "client" to get the precision.
ALValue getSubscribersInfo ()
 Called by the "client" to get the information of all the current subscribers.
virtual std::string httpGet ()
 Called by the broker webpage to detail the module.

Protected Member Functions

virtual void xStartDetection (const int pPeriod, const float pPrecision)=0
 What the extractor shall do to start detection.
virtual void xUpdateParameters (const int pPeriod, const float pPrecision)
 Enables to do some custom updates when the period and/or the precision have been updated.
virtual void xStopDetection ()=0
 What the extractor shall do to stop detection.
virtual int getDefaultPeriod ()
 Specifies the advertised period that should be chosen by default when subscribe(std::string name) is used.
virtual float getDefaultPrecision ()
 Specifies the advertised precision that should be chosen by default when subscribe(std::string name) is used.
virtual int getMinimumPeriod ()
 Specifies the minimum period (in ms) that can be set for the extractor.
virtual int getMaximumPeriod ()
 Specifies the maximum period (in ms) that can be set for the extractor.
virtual std::vector< std::string > getOutputNames (void)
 Which values this extractor updates in ALMemory.
std::vector< std::string > getEventList (void)
 Retrieves the list of events updated by the extractor.
std::vector< std::string > getMemoryKeyList (void)
 Retrieves the list of memory keys updated by the extractor.
void declareEvent (const std::string &event)
 Declares an event in ALMemory.
void declareMemoryKey (const std::string &key)
 Initializes a memory key in ALMemory (with an empty ALValue).

Detailed Description

ALExtractor class implements an extractor.

An extractor is a module which extracts some information about the world. It can be activated to produce information.

Definition at line 35 of file alextractor.h.


Constructor & Destructor Documentation

AL::ALExtractor::ALExtractor ( boost::shared_ptr< ALBroker pBroker,
const std::string &  pName 
)

Constructor.

Create a extractor link to a broker.

Parameters:
pBrokerpointer to the broker
pNamename of the extractor

Member Function Documentation

virtual int AL::ALExtractor::getCurrentPeriod ( ) [virtual]

Called by the "client" to get the current period chosen by the Extractor.

Returns:
current period
virtual float AL::ALExtractor::getCurrentPrecision ( ) [virtual]

Called by the "client" to get the current precision chosen by the Extractor.

Returns:
current precision
virtual int AL::ALExtractor::getDefaultPeriod ( ) [protected, virtual]

Specifies the advertised period that should be chosen by default when subscribe(std::string name) is used.

Implementing this method is optional. If not implemented, 30 ms will be chosen.

virtual float AL::ALExtractor::getDefaultPrecision ( ) [protected, virtual]

Specifies the advertised precision that should be chosen by default when subscribe(std::string name) is used.

Implementing this method is optional. If not implemented, 0 will be chosen.

std::vector<std::string> AL::ALExtractor::getEventList ( void  ) [protected]

Retrieves the list of events updated by the extractor.

Returns:
vector of events
virtual int AL::ALExtractor::getMaximumPeriod ( ) [protected, virtual]

Specifies the maximum period (in ms) that can be set for the extractor.

Implementing this method is optional. If not implemented, no maximum period will be set and the function will return -1.

std::vector<std::string> AL::ALExtractor::getMemoryKeyList ( void  ) [protected]

Retrieves the list of memory keys updated by the extractor.

Returns:
vector of memory keys
virtual int AL::ALExtractor::getMinimumPeriod ( ) [protected, virtual]

Specifies the minimum period (in ms) that can be set for the extractor.

Implementing this method is optional. If not implemented, 1 ms will be chosen.

virtual int AL::ALExtractor::getMyPeriod ( const std::string &  pSubscribedName) [virtual]

Called by the "client" to get the period.

Parameters:
pSubscribedNameName of the client module
Returns:
period I required
virtual float AL::ALExtractor::getMyPrecision ( const std::string &  pSubscribedName) [virtual]

Called by the "client" to get the precision.

Parameters:
pSubscribedNameName of the client module
Returns:
precision I required
virtual std::vector<std::string> AL::ALExtractor::getOutputNames ( void  ) [protected, virtual]

Which values this extractor updates in ALMemory.

Returns:
vector of modified value

Called by the "client" to get the information of all the current subscribers.

Returns:
info, names and parameters of all subscribers
virtual std::string AL::ALExtractor::httpGet ( ) [virtual]

Called by the broker webpage to detail the module.

Returns:
an optional extra description of the module

Reimplemented from AL::ALModule.

virtual void AL::ALExtractor::subscribe ( const std::string &  pSubscribedName,
const int &  pPeriod,
const float &  pPrecision 
) [virtual]

Called by the "client" to tell that it is interested in the output values.

Parameters:
pSubscribedNameName of the client module
pPeriodperiod of the extractor
pPrecisionprecision of the extractor
virtual void AL::ALExtractor::subscribe ( const std::string &  pSubscribedName) [virtual]

Called by the "client" to tell that it is interested in the output values. Period and Precision specified by getDefaultPrecision() and getDefaultPeriod() will be used by default.

Parameters:
pSubscribedNameName of the client module
virtual void AL::ALExtractor::unsubscribe ( const std::string &  pSubscribedName) [virtual]

Called by the "client" to tell that it is not interested anymore in the output values.

Parameters:
pSubscribedNameName of the client module
virtual void AL::ALExtractor::updatePeriod ( const std::string &  pSubscribedName,
const int &  pPeriod 
) [virtual]

Called by the "client" to update the periode.

Parameters:
pSubscribedNameName of the client module
pPeriodperiod of the extractor
virtual void AL::ALExtractor::updatePrecision ( const std::string &  pSubscribedName,
const float &  pPrecision 
) [virtual]

Called by the "client" to update the precision.

Parameters:
pSubscribedNameName of the client module
pPrecisionprecision of the extractor
virtual void AL::ALExtractor::xStartDetection ( const int  pPeriod,
const float  pPrecision 
) [protected, pure virtual]

What the extractor shall do to start detection.

This method is called only once: when the first module subscribes.

Parameters:
pPeriodperiod of the extractor
pPrecisionprecision of the extractor
virtual void AL::ALExtractor::xStopDetection ( ) [protected, pure virtual]

What the extractor shall do to stop detection.

this method is called only once: when the last module unsubscribes.

virtual void AL::ALExtractor::xUpdateParameters ( const int  pPeriod,
const float  pPrecision 
) [inline, protected, virtual]

Enables to do some custom updates when the period and/or the precision have been updated.

This empty method can be overrided to do some custom updates when the period and/or the precision have been updated.

Parameters:
pPeriodperiod of the extractor
pPrecisionprecision of the extractor

Definition at line 158 of file alextractor.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends