20 #ifndef TRANSFORMER_H_32113356
21 #define TRANSFORMER_H_32113356
34 _document = other.
getImpl()->_document;
35 _baseURL = other.
getImpl()->_baseURL;
36 _scxml = other.
getImpl()->_scxml;
38 _binding = other.
getImpl()->_binding;
43 virtual void writeTo(std::ostream& stream) = 0;
45 throw std::runtime_error(
"Transformer cannot be interpreted as an Interpreter again");
48 virtual XERCESC_NS::DOMDocument* getDocument()
const {
53 std::multimap<std::string, std::string> _extensions;
54 std::list<std::string> _options;
56 XERCESC_NS::DOMDocument* _document;
57 XERCESC_NS::DOMElement* _scxml;
60 InterpreterImpl::Binding _binding;
72 Transformer(std::shared_ptr<TransformerImpl>
const impl) : _impl(impl) { }
76 operator bool()
const {
80 return _impl < other._impl;
83 return _impl == other._impl;
86 return _impl != other._impl;
93 virtual void writeTo(std::ostream& stream) {
94 _impl->writeTo(stream);
100 std::shared_ptr<TransformerImpl> getImpl() {
104 void setExtensions(
const std::multimap<std::string, std::string>& extensions) {
105 _impl->_extensions = extensions;
108 void setOptions(
const std::list<std::string>& options) {
109 _impl->_options = options;
113 std::shared_ptr<TransformerImpl> _impl;
Definition: Breakpoint.cpp:26
Central class to interpret and process SCXML documents.
Definition: Interpreter.h:79
std::shared_ptr< InterpreterImpl > getImpl() const
Return the actual implementation of the Interperter.
Definition: Interpreter.h:222