diff options
author | Stefan Radomski <radomski@tk.informatik.tu-darmstadt.de> | 2014-08-21 11:19:08 (GMT) |
---|---|---|
committer | Stefan Radomski <radomski@tk.informatik.tu-darmstadt.de> | 2014-08-21 11:19:08 (GMT) |
commit | a3fb1daf5b4e58471cc714853636025b6cac9aed (patch) | |
tree | 03f60a2f396f7d339a0733099da0f56f64c8d822 /src/bindings/swig/uscxml_beautify.i | |
parent | 7454d99f1d02c68706da1ed6237a5f391291942d (diff) | |
download | uscxml-a3fb1daf5b4e58471cc714853636025b6cac9aed.zip uscxml-a3fb1daf5b4e58471cc714853636025b6cac9aed.tar.gz uscxml-a3fb1daf5b4e58471cc714853636025b6cac9aed.tar.bz2 |
Reactiveted new CMake policies and some more documentation
Diffstat (limited to 'src/bindings/swig/uscxml_beautify.i')
-rw-r--r-- | src/bindings/swig/uscxml_beautify.i | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/bindings/swig/uscxml_beautify.i b/src/bindings/swig/uscxml_beautify.i index bf54958..751be78 100644 --- a/src/bindings/swig/uscxml_beautify.i +++ b/src/bindings/swig/uscxml_beautify.i @@ -114,6 +114,10 @@ }; +%{ + #include <glog/logging.h> +%} + %extend uscxml::Data { std::vector<std::string> getCompoundKeys() { std::vector<std::string> keys; @@ -124,4 +128,22 @@ } return keys; } + + std::string getXML() { + if (!self->node) + return ""; + + std::stringstream ss; + ss << self->node; + return ss.str(); + } + + void setXML(const std::string& xml) { + NameSpacingParser parser = NameSpacingParser::fromXML(xml); + if (!parser.errorsReported()) { + self->node = parser.getDocument(); + } else { + LOG(ERROR) << "Cannot parse message as XML: " << parser.errors(); + } + } }; |