|
rad
3.0.0
|
#include <smAdapter.hpp>
Public Member Functions | |
| SMAdapter (boost::asio::io_service &ios, scxml4cpp::Context *context, scxml4cpp::EventQueue &external_events) | |
| virtual | ~SMAdapter () |
| void | Load (const std::string &filename, std::list< scxml4cpp::Action * > *action_list, std::list< scxml4cpp::Activity * > *activity_list) |
| void | Append (const std::string &filename, std::list< scxml4cpp::Action * > *action_list, std::list< scxml4cpp::Activity * > *activity_list) |
| void | Start () |
| void | Stop () |
| void | PostEvent (SharedEvent e) |
| void | ProcessEvent () |
| void | ProcessEvent (scxml4cpp::Event *e) |
| void | ProcessEvent (const AnyEvent &e) |
| void | SetStatusRepresentation (const bool use_fully_qualified_state) |
| std::string | GetStatus () const |
| std::set< scxml4cpp::State * > | GetActiveStates () |
| void | AddStatusListener (scxml4cpp::StatusListener *listener) |
| void | RemoveStatusListener (scxml4cpp::StatusListener *listener) |
| void | AddEventListener (scxml4cpp::EventListener *listener) |
| void | RemoveEventListener (scxml4cpp::EventListener *listener) |
| void | SetStatusPublisher (std::function< void(const std::string &)> publisher) |
| void | PublishStatus () |
| void | RegisterRejectHandler (const std::string &id, std::function< void(const rad::AnyEvent &, const std::string &state)> handler) |
| template<typename T > | |
| void | RegisterDefaultRequestRejectHandler () |
| void | SetLogLevel (const std::string &level) |
| SMAdapter (const SMAdapter &e)=delete | |
| SMAdapter & | operator= (SMAdapter &e)=delete |
| SMAdapter (boost::asio::io_service &ios, scxml4cpp::Context *context, scxml4cpp::EventQueue &external_events) | |
| virtual | ~SMAdapter () |
| void | Load (const std::string &filename, std::list< scxml4cpp::Action * > *action_list, std::list< scxml4cpp::Activity * > *activity_list) |
| void | Append (const std::string &filename, std::list< scxml4cpp::Action * > *action_list, std::list< scxml4cpp::Activity * > *activity_list) |
| void | Start () |
| void | Stop () |
| void | PostEvent (SharedEvent e) |
| void | ProcessEvent () |
| void | ProcessEvent (scxml4cpp::Event *e) |
| void | ProcessEvent (const AnyEvent &e) |
| void | SetStatusRepresentation (const bool use_fully_qualified_state) |
| std::string | GetStatus () const |
| std::set< scxml4cpp::State * > | GetActiveStates () |
| void | AddStatusListener (scxml4cpp::StatusListener *listener) |
| void | RemoveStatusListener (scxml4cpp::StatusListener *listener) |
| void | AddEventListener (scxml4cpp::EventListener *listener) |
| void | RemoveEventListener (scxml4cpp::EventListener *listener) |
| void | SetStatusPublisher (std::function< void(const std::string &)> publisher) |
| void | PublishStatus () |
| void | RegisterRejectHandler (const std::string &id, std::function< void(const rad::AnyEvent &, const std::string &state)> handler) |
| template<typename T > | |
| void | RegisterDefaultRequestRejectHandler () |
| void | SetLogLevel (const std::string &level) |
| SMAdapter (const SMAdapter &e)=delete | |
| SMAdapter & | operator= (SMAdapter &e)=delete |
This is the adapter to the SCXML engine.
This is the adapter to the SCXML engine.
| rad::SMAdapter::SMAdapter | ( | boost::asio::io_service & | ios, |
| scxml4cpp::Context * | context, | ||
| scxml4cpp::EventQueue & | external_events | ||
| ) |
| [in] | ios | Event loop. |
| [in] | context | SCXML context. |
| [in] | external_events | SCXML external event queue. |
|
virtual |
Cleanup before quitting.
|
delete |
| rad::SMAdapter::SMAdapter | ( | boost::asio::io_service & | ios, |
| scxml4cpp::Context * | context, | ||
| scxml4cpp::EventQueue & | external_events | ||
| ) |
|
virtual |
|
delete |
| void rad::SMAdapter::AddEventListener | ( | scxml4cpp::EventListener * | listener | ) |
Register a listener for the event processed notification.
| [in] | listener | Listener to be registered. |
| void rad::SMAdapter::AddEventListener | ( | scxml4cpp::EventListener * | listener | ) |
| void rad::SMAdapter::AddStatusListener | ( | scxml4cpp::StatusListener * | listener | ) |
Register a listener for a change of SM state notification.
| [in] | listener | Listener to be registered. |
| void rad::SMAdapter::AddStatusListener | ( | scxml4cpp::StatusListener * | listener | ) |
| void rad::SMAdapter::Append | ( | const std::string & | filename, |
| std::list< scxml4cpp::Action * > * | action_list, | ||
| std::list< scxml4cpp::Activity * > * | activity_list | ||
| ) |
| void rad::SMAdapter::Append | ( | const std::string & | filename, |
| std::list< scxml4cpp::Action * > * | action_list, | ||
| std::list< scxml4cpp::Activity * > * | activity_list | ||
| ) |
| std::set< scxml4cpp::State * > rad::SMAdapter::GetActiveStates | ( | ) |
| std::set<scxml4cpp::State*> rad::SMAdapter::GetActiveStates | ( | ) |
| std::string rad::SMAdapter::GetStatus | ( | ) | const |
| std::string rad::SMAdapter::GetStatus | ( | ) | const |
| void rad::SMAdapter::Load | ( | const std::string & | filename, |
| std::list< scxml4cpp::Action * > * | action_list, | ||
| std::list< scxml4cpp::Activity * > * | activity_list | ||
| ) |
Load an SCXML model from file.
| [in] | filename | SCXML model to load. |
| [in] | action_list | List of actions mapped to SCXML model. |
| [in] | activity_list | List of activities mapped to SCXML model. |
| void rad::SMAdapter::Load | ( | const std::string & | filename, |
| std::list< scxml4cpp::Action * > * | action_list, | ||
| std::list< scxml4cpp::Activity * > * | activity_list | ||
| ) |
| void rad::SMAdapter::PostEvent | ( | SharedEvent | e | ) |
Post asynchronously an event, to be processed by the SM, in the Event Loop. Note: this method can be invoked also by passing UniqueEvent as argument since C++ will upgrade it SharedEvent automatically.
| [in] | e | Shared RAD event to post. |
| void rad::SMAdapter::PostEvent | ( | SharedEvent | e | ) |
| void rad::SMAdapter::ProcessEvent | ( | ) |
Trigger the processing of the events in the SM external event queue.
| void rad::SMAdapter::ProcessEvent | ( | ) |
| void rad::SMAdapter::ProcessEvent | ( | const AnyEvent & | e | ) |
Method invoked to trigger the processing of an event by the SM.
| [in] | e | RAD event to be processed by the SM |
| void rad::SMAdapter::ProcessEvent | ( | const AnyEvent & | 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)
| [in] | e | SCXML event to be processed. |
| void rad::SMAdapter::ProcessEvent | ( | scxml4cpp::Event * | e | ) |
| void rad::SMAdapter::PublishStatus | ( | ) |
Publishes the SM information.
| void rad::SMAdapter::PublishStatus | ( | ) |
|
inline |
Method to register the reject handler implemented via the free function rad::DefaultRequestRejectHandler() (see above) to be used to reject event associated to requests.
TODO find out why the logging doesn't work in templated inline methods!
|
inline |
Method to register the reject handler implemented via the free function rad::DefaultRequestRejectHandler() (see above) to be used to reject event associated to requests.
TODO find out why the logging doesn't work in templated inline methods!
| void rad::SMAdapter::RegisterRejectHandler | ( | const std::string & | id, |
| std::function< void(const rad::AnyEvent &, const std::string &state)> | handler | ||
| ) |
Method to register a handler that can be used to reject an event.
| id | Event identifier to be rejected. |
| handler | Function implementing the rejection handler. |
Register a function to be invoked when an event is ingored/rejected by the SM engine.
| [in] | id | Event identifier. |
| [in] | handler | Function to be invoked. |
| void rad::SMAdapter::RegisterRejectHandler | ( | const std::string & | id, |
| std::function< void(const rad::AnyEvent &, const std::string &state)> | handler | ||
| ) |
Method to register a handler that can be used to reject an event.
| id | Event identifier to be rejected. |
| handler | Function implementing the rejection handler. |
| void rad::SMAdapter::RemoveEventListener | ( | scxml4cpp::EventListener * | listener | ) |
Deregister a listener for the event processed notification.
| [in] | listener | Listener to be deregistered. |
| void rad::SMAdapter::RemoveEventListener | ( | scxml4cpp::EventListener * | listener | ) |
| void rad::SMAdapter::RemoveStatusListener | ( | scxml4cpp::StatusListener * | listener | ) |
Deregister a listener for a change of SM state notification.
| [in] | listener | Listener to be deregistered. |
| void rad::SMAdapter::RemoveStatusListener | ( | scxml4cpp::StatusListener * | listener | ) |
| void rad::SMAdapter::SetLogLevel | ( | const std::string & | level | ) |
Sets the log level of the SM engine.
| [in] | level | The desired log level. |
| void rad::SMAdapter::SetLogLevel | ( | const std::string & | level | ) |
| void rad::SMAdapter::SetStatusPublisher | ( | std::function< void(const std::string &)> | publisher | ) |
Configure a function to be used as publisher for the SM information.
| void rad::SMAdapter::SetStatusPublisher | ( | std::function< void(const std::string &)> | publisher | ) |
| void rad::SMAdapter::SetStatusRepresentation | ( | const bool | use_fully_qualified_state | ) |
Set a flag indicating whether states ID are fully qualified (i.e. include parent states) or not.
| void rad::SMAdapter::SetStatusRepresentation | ( | const bool | use_fully_qualified_state | ) |
| void rad::SMAdapter::Start | ( | ) |
Starts the SM model interpretation.
| void rad::SMAdapter::Start | ( | ) |
| void rad::SMAdapter::Stop | ( | ) |
Stops the SM model interpretation.
| void rad::SMAdapter::Stop | ( | ) |