Abstract base class for all invokers.

#include <InvokerImpl.h>

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

Public Member Functions

virtual std::shared_ptr< InvokerImplcreate (InvokerCallbacks *callbacks)=0
 Factory demands a new instance. More...
 
virtual void deserialize (const Data &encodedState)
 Load a state from a Data object. More...
 
virtual void eventFromSCXML (const Event &event)=0
 Invoker received an event from the SCXML Interpreter.
 
virtual std::list< std::string > getNames ()=0
 Return a list of names for types we implement.
 
virtual void invoke (const std::string &source, const Event &invokeEvent)=0
 Invoker's parent state became active at the end of a macro-step. More...
 
virtual Data serialize ()
 Save our state into a Data object.
 
virtual void setInvokeId (const std::string &invokeId)
 Set the invocation identifier as required when returning events. More...
 
virtual void uninvoke ()=0
 The invokers's parent state was left at the end of a macro-step.
 
- Public Member Functions inherited from uscxml::EventHandlerImpl
virtual Data getDataModelVariables ()=0
 Export a Data object for the `_x['name']` data-model namespace. More...
 

Protected Member Functions

void eventToSCXML (Event &event, const std::string &type, const std::string &invokeId, bool internal=false)
 Return an event to the SCXML Interpreter instance. More...
 

Protected Attributes

InvokerCallbacks_callbacks
 
std::string _invokeId
 

Member Function Documentation

virtual std::shared_ptr<InvokerImpl> uscxml::InvokerImpl::create ( InvokerCallbacks callbacks)
pure virtual
Parameters
callbacksAn object implementing the invoker callbacks.

Implemented in uscxml::DirMonInvoker, and uscxml::USCXMLInvoker.

virtual void uscxml::InvokerImpl::deserialize ( const Data encodedState)
inlinevirtual
Parameters
encodedStateThe state we returned somewhen else via serialize.

Reimplemented in uscxml::USCXMLInvoker.

void uscxml::InvokerImpl::eventToSCXML ( Event event,
const std::string &  type,
const std::string &  invokeId,
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.
invokeIdThe invocation identifier of this invocation for event.invokeid.
internalIf the event is to be delivered to the Interpreter's internal queue instead.
virtual void uscxml::InvokerImpl::invoke ( const std::string &  source,
const Event invokeEvent 
)
pure virtual
Parameters
sourceThe content of the invoke's src or evaluated srcexpr attribute
invokeEventThe invocation with all its data as an event

Implemented in uscxml::DirMonInvoker, and uscxml::USCXMLInvoker.

virtual void uscxml::InvokerImpl::setInvokeId ( const std::string &  invokeId)
inlinevirtual
Parameters
invokeIdThe invocation identifier.

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