ExecutableContentImpl.h
Go to the documentation of this file.
1 
20 #ifndef EXECUTABLECONTENTIMPL_H_CCE9F02D
21 #define EXECUTABLECONTENTIMPL_H_CCE9F02D
22 
23 #include "uscxml/Common.h"
24 
25 #include <string>
26 #include <memory>
27 #include <sstream>
28 
29 namespace XERCESC_NS {
30 class DOMElement;
31 class DOMDocument;
32 class DOMNode;
33 }
34 
35 namespace uscxml {
36 
37 class InterpreterImpl;
38 
44 class USCXML_API ExecutableContentImpl {
45 public:
47  virtual ~ExecutableContentImpl() {};
48  virtual std::shared_ptr<ExecutableContentImpl> create(InterpreterImpl* interpreter) = 0;
49 
50  virtual void setInterpreter(InterpreterImpl* interpreter) {
51  _interpreter = interpreter;
52  }
53 
54  virtual std::string getLocalName() = 0;
55  virtual std::string getNamespace() {
56  return "http://www.w3.org/2005/07/scxml";
57  }
58  virtual void enterElement(XERCESC_NS::DOMElement* node) = 0;
59  virtual void exitElement(XERCESC_NS::DOMElement* node) = 0;
60  virtual bool processChildren() = 0;
61 
62 protected:
63  InterpreterImpl* _interpreter;
64 };
65 
66 
67 }
68 
69 #endif /* end of include guard: EXECUTABLECONTENTIMPL_H_CCE9F02D */
Definition: Breakpoint.cpp:26
Definition: InterpreterImpl.h:51
Definition: Breakpoint.h:30
virtual std::string getNamespace()
Definition: ExecutableContentImpl.h:55
Abstract base class fo all elements of executable content.
Definition: ExecutableContentImpl.h:44