20 #ifndef TRANSFORMER_H_32113356
21 #define TRANSFORMER_H_32113356
35 _document = other.
getImpl()->_document;
36 _baseURL = other.
getImpl()->_baseURL;
37 _scxml = other.
getImpl()->_scxml;
39 _binding = other.
getImpl()->_binding;
44 virtual void writeTo(std::ostream& stream) = 0;
46 throw std::runtime_error(
"Transformer cannot be interpreted as an Interpreter again");
49 virtual XERCESC_NS::DOMDocument* getDocument()
const {
54 std::multimap<std::string, std::string> _extensions;
55 std::list<std::string> _options;
57 XERCESC_NS::DOMDocument* _document;
58 XERCESC_NS::DOMElement* _scxml;
61 InterpreterImpl::Binding _binding;
73 Transformer(std::shared_ptr<TransformerImpl>
const impl) : _impl(impl) { }
77 operator bool()
const {
81 return _impl < other._impl;
84 return _impl == other._impl;
87 return _impl != other._impl;
94 virtual void writeTo(std::ostream& stream) {
95 _impl->writeTo(stream);
101 std::shared_ptr<TransformerImpl> getImpl() {
105 void setExtensions(
const std::multimap<std::string, std::string>& extensions) {
106 _impl->_extensions = extensions;
109 void setOptions(
const std::list<std::string>& options) {
110 _impl->_options = options;
114 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:207