summaryrefslogtreecommitdiffstats
path: root/src/uscxml/Interpreter.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/uscxml/Interpreter.h')
-rw-r--r--src/uscxml/Interpreter.h34
1 files changed, 26 insertions, 8 deletions
diff --git a/src/uscxml/Interpreter.h b/src/uscxml/Interpreter.h
index 6075dbc..3c44400 100644
--- a/src/uscxml/Interpreter.h
+++ b/src/uscxml/Interpreter.h
@@ -122,6 +122,12 @@ public:
static Interpreter fromClone(const Interpreter& other);
/**
+ * Get the instance of an interpreter with a given sessionId.
+ * @param other The session ID.
+ */
+ static Interpreter fromSessionId(const std::string& sessionId);
+
+ /**
* See PIMPL_OPERATORS macro in Common.h
*/
PIMPL_OPERATORS(Interpreter);
@@ -229,15 +235,27 @@ public:
return _impl;
}
#if 0
- // "Ambiguous user-defined-conversion" with operator bool() on MSVC from Visual Studio 12
- explicit operator MicroStepCallbacks*() { return (MicroStepCallbacks*)(_impl.get()); }
- explicit operator DataModelCallbacks*() { return (DataModelCallbacks*)(_impl.get()); }
- explicit operator IOProcessorCallbacks*() { return (IOProcessorCallbacks*)(_impl.get()); }
- explicit operator ContentExecutorCallbacks*() { return (ContentExecutorCallbacks*)(_impl.get()); }
- explicit operator DelayedEventQueueCallbacks*() { return (DelayedEventQueueCallbacks*)(_impl.get()); }
- explicit operator InvokerCallbacks*() { return (InvokerCallbacks*)(_impl.get()); }
+ // "Ambiguous user-defined-conversion" with operator bool() on MSVC from Visual Studio 12
+ explicit operator MicroStepCallbacks*() {
+ return (MicroStepCallbacks*)(_impl.get());
+ }
+ explicit operator DataModelCallbacks*() {
+ return (DataModelCallbacks*)(_impl.get());
+ }
+ explicit operator IOProcessorCallbacks*() {
+ return (IOProcessorCallbacks*)(_impl.get());
+ }
+ explicit operator ContentExecutorCallbacks*() {
+ return (ContentExecutorCallbacks*)(_impl.get());
+ }
+ explicit operator DelayedEventQueueCallbacks*() {
+ return (DelayedEventQueueCallbacks*)(_impl.get());
+ }
+ explicit operator InvokerCallbacks*() {
+ return (InvokerCallbacks*)(_impl.get());
+ }
#endif
-
+
protected:
std::shared_ptr<InterpreterImpl> _impl;