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 DOMDocument;
31 class DOMNode;
32 }
33 
34 namespace uscxml {
35 
36 class InterpreterImpl;
37 
43 class USCXML_API ExecutableContentImpl {
44 public:
46  virtual ~ExecutableContentImpl() {};
47  virtual std::shared_ptr<ExecutableContentImpl> create(InterpreterImpl* interpreter) = 0;
48 
49  virtual void setInterpreter(InterpreterImpl* interpreter) {
50  _interpreter = interpreter;
51  }
52 
53  virtual std::string getLocalName() = 0;
54  virtual std::string getNamespace() {
55  return "http://www.w3.org/2005/07/scxml";
56  }
57  virtual void enterElement(XERCESC_NS::DOMElement* node) = 0;
58  virtual void exitElement(XERCESC_NS::DOMElement* node) = 0;
59  virtual bool processChildren() = 0;
60 
61 protected:
62  InterpreterImpl* _interpreter;
63 };
64 
65 
66 }
67 
68 #endif /* end of include guard: EXECUTABLECONTENTIMPL_H_CCE9F02D */
Definition: Breakpoint.cpp:26
Definition: InterpreterImpl.h:48
Definition: Breakpoint.h:30
virtual std::string getNamespace()
Definition: ExecutableContentImpl.h:54
Abstract base class fo all elements of executable content.
Definition: ExecutableContentImpl.h:43