Abstract base class for IOProcessors implementations.

#include <IOProcessorImpl.h>

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

Public Member Functions

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

Protected Member Functions

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

IOProcessorCallbacks_callbacks
 

Member Function Documentation

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

Implemented in uscxml::BasicHTTPIOProcessor, and uscxml::SCXMLIOProcessor.

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

Implemented in uscxml::BasicHTTPIOProcessor, and uscxml::SCXMLIOProcessor.

void uscxml::IOProcessorImpl::eventToSCXML ( Event event,
const std::string &  type,
const std::string &  origin,
bool  internal = false 
)
protected
Parameters
eventAn event to enqueue at the interpreter's external queue.
typeThe type of this I/O Processor for event.origintype.
originThe origin of this I/O Processor for event.origin.
internalIf the event is to be delivered to the Interpreter's internal queue instead.
virtual bool uscxml::IOProcessorImpl::isValidTarget ( const std::string &  target)
pure virtual
Parameters
targetA target where the Interpreter wants to deliver Events to.
Returns
Whether or not the target is valid.

Implemented in uscxml::BasicHTTPIOProcessor, and uscxml::SCXMLIOProcessor.


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