uscxml::SCXMLIOProcessor Class Reference

The scxml I/O processor as per standard.

#include <SCXMLIOProcessor.h>

Inheritance diagram for uscxml::SCXMLIOProcessor:
[legend]
Collaboration diagram for uscxml::SCXMLIOProcessor:
[legend]

Public Member Functions

virtual std::shared_ptr< IOProcessorImplcreate (uscxml::IOProcessorCallbacks *callbacks)
 Factory demands a new instance. More...
 
virtual void eventFromSCXML (const std::string &target, const Event &event)
 We received an event from the SCXML Interpreter we are associated with. More...
 
Data getDataModelVariables ()
 Export a Data object for the `_x['name']` data-model namespace. More...
 
virtual std::list< std::string > getNames ()
 Return a list of names for types we implement.
 
virtual bool isValidTarget (const std::string &target)
 Determine whether the given target is a valid destination for events. More...
 

Additional Inherited Members

- Protected Member Functions inherited from uscxml::IOProcessorImpl
void eventToSCXML (Event &event, const std::string &type, const std::string &origin, bool internal=false)
 Return an event to the SCXML Interpreter instance. More...
 
- Protected Attributes inherited from uscxml::IOProcessorImpl
IOProcessorCallbacks_callbacks
 

Member Function Documentation

std::shared_ptr< IOProcessorImpl > uscxml::SCXMLIOProcessor::create ( uscxml::IOProcessorCallbacks callbacks)
virtual
Parameters
interpreterThe imlementation of the associated Interpreter
Todo:
We will eventually introduce callbacks and prevent complete access to the interpreter.

Implements uscxml::IOProcessorImpl.

void uscxml::SCXMLIOProcessor::eventFromSCXML ( const std::string &  target,
const Event event 
)
virtual
Parameters
targetWhere the event is supposed to be delivered to.
eventThe event to deliver.

If neither the 'target' nor the 'targetexpr' attribute is specified, the SCXML Processor must add the event will be added to the external event queue of the sending session.

#_internal: If the target is the special term '#_internal', the Processor must add the event to the internal event queue of the sending session.

#_parent: If the target is the special term '#_parent', the Processor must add the event to the external event queue of the SCXML session that invoked the sending session, if there is one.

#_scxml_sessionid: If the target is the special term '#_scxml_sessionid', where sessionid is the id of an SCXML session that is accessible to the Processor, the Processor must add the event to the external queue of that session. The set of SCXML sessions that are accessible to a given SCXML Processor is platform-dependent.

#_invokeid: If the target is the special term '#_invokeid', where invokeid is the invokeid of an SCXML session that the sending session has created by <invoke>, the Processor must add the event to the external queue of that session.

Implements uscxml::IOProcessorImpl.

Data uscxml::SCXMLIOProcessor::getDataModelVariables ( )
virtual
Returns
An object to be represented at `_x['name']`

Implements uscxml::EventHandlerImpl.

bool uscxml::SCXMLIOProcessor::isValidTarget ( const std::string &  target)
virtual
Parameters
targetA target where the Interpreter wants to deliver Events to.
Returns
Whether or not the target is valid.

Implements uscxml::IOProcessorImpl.


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