ifw  0.0.1-dev
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | List of all members
rad::SMAdapter Class Reference

#include <SMAdapter.hpp>

Public Member Functions

 SMAdapter (boost::asio::io_service &ios, Dispatcher &dispatcher, scxml4cpp::Context *context, scxml4cpp::EventQueue &externalEvents)
 
virtual ~SMAdapter ()
 
void Load (const std::string &filename, std::list< scxml4cpp::Action * > *actionList, std::list< scxml4cpp::Activity * > *activityList)
 
void RegisterEvents (std::vector< rad::EventInfo > &events)
 
void UnregisterEvents ()
 
void EventCallback (const AnyEvent &e)
 
void Start ()
 
void Stop ()
 
void PostEvent (UniqueEvent &&e)
 
void ProcessEvent ()
 
void ProcessEvent (scxml4cpp::Event *e)
 
void AddStatusListener (scxml4cpp::StatusListener *listener)
 
void AddEventListener (scxml4cpp::EventListener *listener)
 
void SetLogLevel (const std::string &level)
 
 SMAdapter (const SMAdapter &e)=delete
 
SMAdapteroperator= (SMAdapter &e)=delete
 
 SMAdapter (boost::asio::io_service &ios, Dispatcher &dispatcher, scxml4cpp::Context *context, scxml4cpp::EventQueue &externalEvents)
 
virtual ~SMAdapter ()
 
void Load (const std::string &filename, std::list< scxml4cpp::Action * > *actionList, std::list< scxml4cpp::Activity * > *activityList)
 
void RegisterEvents (std::vector< rad::EventInfo > &events)
 
void UnregisterEvents ()
 
void EventCallback (const AnyEvent &e)
 
void Start ()
 
void Stop ()
 
void PostEvent (UniqueEvent &&e)
 
void ProcessEvent ()
 
void ProcessEvent (scxml4cpp::Event *e)
 
void AddStatusListener (scxml4cpp::StatusListener *listener)
 
void AddEventListener (scxml4cpp::EventListener *listener)
 
void SetLogLevel (const std::string &level)
 
 SMAdapter (const SMAdapter &e)=delete
 
SMAdapteroperator= (SMAdapter &e)=delete
 
 SMAdapter (boost::asio::io_service &ios, Dispatcher &dispatcher, scxml4cpp::Context *context, scxml4cpp::EventQueue &externalEvents)
 
virtual ~SMAdapter ()
 
void Load (const std::string &filename, std::list< scxml4cpp::Action * > *actionList, std::list< scxml4cpp::Activity * > *activityList)
 
void RegisterEvents (std::vector< rad::EventInfo > &events)
 
void UnregisterEvents ()
 
void EventCallback (const AnyEvent &e)
 
void Start ()
 
void Stop ()
 
void PostEvent (UniqueEvent &&e)
 
void ProcessEvent ()
 
void ProcessEvent (scxml4cpp::Event *e)
 
void AddStatusListener (scxml4cpp::StatusListener *listener)
 
void AddEventListener (scxml4cpp::EventListener *listener)
 
void SetLogLevel (const std::string &level)
 
 SMAdapter (const SMAdapter &e)=delete
 
SMAdapteroperator= (SMAdapter &e)=delete
 

Detailed Description

This is the adapter to the SCXML engine.

Todo:
replace raw pointers with smart pointers.

This is the adapter to the SCXML engine.

Todo:
replace raw pointers with smart pointers.

This is the adapter to the SCXML engine.

Todo:
replace raw pointers with smart pointers.

Constructor & Destructor Documentation

rad::SMAdapter::SMAdapter ( boost::asio::io_service &  ios,
Dispatcher dispatcher,
scxml4cpp::Context context,
scxml4cpp::EventQueue externalEvents 
)
Parameters
[in]iosEvent loop.
[in]dispatcherEvent dispatcher.
[in]contextSCXML context.
[in]externalEventsSCXML external event queue.
rad::SMAdapter::~SMAdapter ( )
virtual

Cleanup before quitting.

rad::SMAdapter::SMAdapter ( const SMAdapter e)
delete
rad::SMAdapter::SMAdapter ( boost::asio::io_service &  ios,
Dispatcher dispatcher,
scxml4cpp::Context context,
scxml4cpp::EventQueue externalEvents 
)
virtual rad::SMAdapter::~SMAdapter ( )
virtual
rad::SMAdapter::SMAdapter ( const SMAdapter e)
delete
rad::SMAdapter::SMAdapter ( boost::asio::io_service &  ios,
Dispatcher dispatcher,
scxml4cpp::Context context,
scxml4cpp::EventQueue externalEvents 
)
virtual rad::SMAdapter::~SMAdapter ( )
virtual
rad::SMAdapter::SMAdapter ( const SMAdapter e)
delete

Member Function Documentation

void rad::SMAdapter::AddEventListener ( scxml4cpp::EventListener listener)

Register a listener for the event processed notification.

Parameters
[in]listenerListener to be registered.
void rad::SMAdapter::AddEventListener ( scxml4cpp::EventListener listener)
void rad::SMAdapter::AddEventListener ( scxml4cpp::EventListener listener)
void rad::SMAdapter::AddStatusListener ( scxml4cpp::StatusListener listener)

Register a listener for a change of SM state notification.

Parameters
[in]listenerListener to be registered.
void rad::SMAdapter::AddStatusListener ( scxml4cpp::StatusListener listener)
void rad::SMAdapter::AddStatusListener ( scxml4cpp::StatusListener listener)
void rad::SMAdapter::EventCallback ( const AnyEvent e)
void rad::SMAdapter::EventCallback ( const AnyEvent e)

Method invoked by rad::Dispatcher or rad::Activity to trigger the processing of an event by the SM.

Parameters
[in]eRAD event to be processed by the SM
void rad::SMAdapter::EventCallback ( const AnyEvent e)
void rad::SMAdapter::Load ( const std::string &  filename,
std::list< scxml4cpp::Action * > *  actionList,
std::list< scxml4cpp::Activity * > *  activityList 
)

Load an SCXML model from file.

Parameters
[in]filenameSCXML model to load.
[in]actionListList of actions mapped to SCXML model.
[in]activityListList of activities mapped to SCXML model.
Returns
0 if the model can be loaded, -1 otherwise.
Todo:
throw exception for ill-formed models?

Load an SCXML model from file.

Parameters
[in]filenameSCXML model to load.
[in]actionListList of actions mapped to SCXML model.
[in]activityListList of activities mapped to SCXML model.
Returns
0 if the model can be loaded, -1 otherwise.
Todo:
throw exception for ill-formed models?
void rad::SMAdapter::Load ( const std::string &  filename,
std::list< scxml4cpp::Action * > *  actionList,
std::list< scxml4cpp::Activity * > *  activityList 
)
void rad::SMAdapter::Load ( const std::string &  filename,
std::list< scxml4cpp::Action * > *  actionList,
std::list< scxml4cpp::Activity * > *  activityList 
)
SMAdapter& rad::SMAdapter::operator= ( SMAdapter e)
delete
SMAdapter& rad::SMAdapter::operator= ( SMAdapter e)
delete
SMAdapter& rad::SMAdapter::operator= ( SMAdapter e)
delete
void rad::SMAdapter::PostEvent ( UniqueEvent &&  e)
void rad::SMAdapter::PostEvent ( UniqueEvent &&  e)
void rad::SMAdapter::PostEvent ( UniqueEvent &&  e)

Post asynchronously an event, to be processed by the SM, in the Event Loop.

Parameters
[in]eRAD event to post.
void rad::SMAdapter::ProcessEvent ( )

Trigger the processing of the events in the SM external event queue.

void rad::SMAdapter::ProcessEvent ( )
void rad::SMAdapter::ProcessEvent ( )
void rad::SMAdapter::ProcessEvent ( scxml4cpp::Event e)
void rad::SMAdapter::ProcessEvent ( scxml4cpp::Event e)

Trigger the processing of the given event. (the processing terminates when the SM external event queue is empty)

Parameters
[in]SMevent to be processed.
void rad::SMAdapter::ProcessEvent ( scxml4cpp::Event e)
void rad::SMAdapter::RegisterEvents ( std::vector< rad::EventInfo > &  events)

Register the events, to be processed by the SM, in the event dispatcher.

Parameters
[in]eventsVector of events handled by the SM.
void rad::SMAdapter::RegisterEvents ( std::vector< rad::EventInfo > &  events)
void rad::SMAdapter::RegisterEvents ( std::vector< rad::EventInfo > &  events)
void rad::SMAdapter::SetLogLevel ( const std::string &  level)
void rad::SMAdapter::SetLogLevel ( const std::string &  level)
void rad::SMAdapter::SetLogLevel ( const std::string &  level)

Sets the log level of the SM engine.

Parameters
[in]levelThe desired log level.
void rad::SMAdapter::Start ( )
void rad::SMAdapter::Start ( )

Starts the SM model interpretation.

void rad::SMAdapter::Start ( )
void rad::SMAdapter::Stop ( )
void rad::SMAdapter::Stop ( )

Stops the SM model interpretation.

void rad::SMAdapter::Stop ( )
void rad::SMAdapter::UnregisterEvents ( )
void rad::SMAdapter::UnregisterEvents ( )
void rad::SMAdapter::UnregisterEvents ( )

Unregister the events processed by the SM.


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