summaryrefslogtreecommitdiffstats
path: root/src/bindings/swig/uscxml_beautify.i
diff options
context:
space:
mode:
Diffstat (limited to 'src/bindings/swig/uscxml_beautify.i')
-rw-r--r--src/bindings/swig/uscxml_beautify.i67
1 files changed, 67 insertions, 0 deletions
diff --git a/src/bindings/swig/uscxml_beautify.i b/src/bindings/swig/uscxml_beautify.i
new file mode 100644
index 0000000..8b57e78
--- /dev/null
+++ b/src/bindings/swig/uscxml_beautify.i
@@ -0,0 +1,67 @@
+%extend uscxml::Event {
+ std::vector<std::pair<std::string, Data> > getParamPairs() {
+ std::vector<std::pair<std::string, Data> > pairs;
+ std::multimap<std::string, Data>::iterator paramPairIter = self->getParams().begin();
+ while(paramPairIter != self->getParams().end()) {
+ pairs.push_back(*paramPairIter);
+ paramPairIter++;
+ }
+ return pairs;
+ }
+};
+
+%extend uscxml::Interpreter {
+
+ std::vector<std::string> getBasicConfiguration() {
+ Arabica::XPath::NodeSet<std::string> nativeConfig = self->getBasicConfiguration();
+ std::vector<std::string> config;
+ for (int i = 0; i < nativeConfig.size(); i++) {
+ Arabica::DOM::Element<std::string> elem(nativeConfig[i]);
+ config.push_back(elem.getAttribute("id"));
+ }
+ return config;
+ }
+
+ std::vector<std::string> getConfiguration() {
+ Arabica::XPath::NodeSet<std::string> nativeConfig = self->getConfiguration();
+ std::vector<std::string> config;
+ for (int i = 0; i < nativeConfig.size(); i++) {
+ Arabica::DOM::Element<std::string> elem(nativeConfig[i]);
+ config.push_back(elem.getAttribute("id"));
+ }
+ return config;
+ }
+
+ std::vector<std::string> getIOProcessorKeys() {
+ std::vector<std::string> keys;
+ std::map<std::string, IOProcessor>::const_iterator iter = self->getIOProcessors().begin();
+ while(iter != self->getIOProcessors().end()) {
+ keys.push_back(iter->first);
+ iter++;
+ }
+ return keys;
+ }
+
+ std::vector<std::string> getInvokerKeys() {
+ std::vector<std::string> keys;
+ std::map<std::string, Invoker>::const_iterator iter = self->getInvokers().begin();
+ while(iter != self->getInvokers().end()) {
+ keys.push_back(iter->first);
+ iter++;
+ }
+ return keys;
+ }
+
+};
+
+%extend uscxml::Data {
+ std::vector<std::string> getCompundKeys() {
+ std::vector<std::string> keys;
+ std::map<std::string, Data>::const_iterator iter = self->compound.begin();
+ while(iter != self->compound.end()) {
+ keys.push_back(iter->first);
+ iter++;
+ }
+ return keys;
+ }
+};