summaryrefslogtreecommitdiffstats
path: root/src/uscxml
diff options
context:
space:
mode:
authorStefan Radomski <radomski@tk.informatik.tu-darmstadt.de>2014-06-26 21:37:03 (GMT)
committerStefan Radomski <radomski@tk.informatik.tu-darmstadt.de>2014-06-26 21:37:03 (GMT)
commita4b506fd774ec50ad79b7531bd3698c5a6339407 (patch)
tree5e524b2c91e97f1037818e0262616f74e5e628a4 /src/uscxml
parentfe84b93d3e80d4b03e7a401582654c84d7fa7d9a (diff)
downloaduscxml-a4b506fd774ec50ad79b7531bd3698c5a6339407.zip
uscxml-a4b506fd774ec50ad79b7531bd3698c5a6339407.tar.gz
uscxml-a4b506fd774ec50ad79b7531bd3698c5a6339407.tar.bz2
More work on language bindings and C# examples
Diffstat (limited to 'src/uscxml')
-rw-r--r--src/uscxml/Factory.h3
-rw-r--r--src/uscxml/Interpreter.cpp4
2 files changed, 4 insertions, 3 deletions
diff --git a/src/uscxml/Factory.h b/src/uscxml/Factory.h
index a0569bb..ff08754 100644
--- a/src/uscxml/Factory.h
+++ b/src/uscxml/Factory.h
@@ -325,6 +325,7 @@ public:
static void throwErrorPlatform(const std::string& cause);
// we need it public for various static functions
+protected:
InterpreterImpl* _interpreter;
};
@@ -460,6 +461,7 @@ public:
static void setDefaultPluginPath(const std::string& path);
static std::string getDefaultPluginPath();
+protected:
std::map<std::string, DataModelImpl*> _dataModels;
std::map<std::string, std::string> _dataModelAliases;
std::map<std::string, IOProcessorImpl*> _ioProcessors;
@@ -468,7 +470,6 @@ public:
std::map<std::string, std::string> _invokerAliases;
std::map<std::pair<std::string, std::string>, ExecutableContentImpl*> _executableContent;
-protected:
#ifdef BUILD_AS_PLUGINS
pluma::Pluma pluma;
#endif
diff --git a/src/uscxml/Interpreter.cpp b/src/uscxml/Interpreter.cpp
index 9770387..f5aaf77 100644
--- a/src/uscxml/Interpreter.cpp
+++ b/src/uscxml/Interpreter.cpp
@@ -96,7 +96,7 @@
e.name = "error.platform"; \
e.data.compound["cause"] = Data(msg, Data::VERBATIM); \
throw e; \
-
+
/// macro to catch exceptions in executeContent
#define CATCH_AND_DISTRIBUTE(msg) \
@@ -556,7 +556,7 @@ void InterpreterImpl::join() {
bool InterpreterImpl::isRunning() {
// return _running || !_topLevelFinalReached;
- return _state.thread & InterpreterState::USCXML_THREAD_RUNNING;
+ return (_state.thread & InterpreterState::USCXML_THREAD_RUNNING) > 0;
}
void InterpreterImpl::run(void* instance) {