MicroStep.h
Go to the documentation of this file.
1 
20 #ifndef MICROSTEP_H_07DA8BFA
21 #define MICROSTEP_H_07DA8BFA
22 
23 
24 #include <memory>
25 #include <list>
26 #include <string>
27 
28 #include "uscxml/Common.h"
29 #include "uscxml/messages/Data.h"
31 
32 
33 // forward declare
34 namespace XERCESC_NS {
35 class DOMElement;
36 }
37 
38 namespace uscxml {
39 
40 class MicroStepImpl;
41 
46 class USCXML_API MicroStep {
47 public:
49 
50  virtual InterpreterState step(size_t blockMs);
51  virtual void reset();
52  virtual bool isInState(const std::string& stateId);
53 
54  std::list<XERCESC_NS::DOMElement*> getConfiguration();
55 
56  virtual void init(XERCESC_NS::DOMElement* scxml);
57  virtual void markAsCancelled();
58 
60  virtual void deserialize(const Data& encodedState);
61 
63  virtual Data serialize();
64 
65  std::shared_ptr<MicroStepImpl> getImpl() const;
66 protected:
67  std::shared_ptr<MicroStepImpl> _impl;
68 };
69 
70 }
71 
72 #endif /* end of include guard: MICROSTEP_H_07DA8BFA */
Definition: Breakpoint.cpp:26
#define PIMPL_OPERATORS(type)
The usual operators as required for the PIMPL pattern.
Definition: Common.h:68
Definition: Breakpoint.h:30
Definition: MicroStep.h:46
Definition: Data.h:44