diff options
Diffstat (limited to 'test/src/test-snippets.cpp')
-rw-r--r-- | test/src/test-snippets.cpp | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/test/src/test-snippets.cpp b/test/src/test-snippets.cpp index f26b730..5eb680f 100644 --- a/test/src/test-snippets.cpp +++ b/test/src/test-snippets.cpp @@ -9,6 +9,8 @@ #include "uscxml/Interpreter.h" #include "uscxml/interpreter/LoggingImpl.h" +#include <iostream> + using namespace uscxml; void microstep_snippet() { @@ -31,9 +33,30 @@ void microstep_snippet() { } +void lambda_snippet() { + InterpreterState state = uscxml::USCXML_UNDEF; + Interpreter scxml = Interpreter::fromURL("https://raw.githubusercontent.com/tklab-tud/uscxml/master/test/w3c/null/test436.scxml"); + + scxml.on().enterState([](const std::string& sessionId, + const std::string& stateName, + const xercesc_3_1::DOMElement* state) { + std::cout << "Entered " << stateName << std::endl; + }); + + scxml.on().exitState([](const std::string& sessionId, + const std::string& stateName, + const xercesc_3_1::DOMElement* state) { + std::cout << "Exited " << stateName << std::endl; + }); + + + while((state = scxml.step()) != uscxml::USCXML_FINISHED) {} + +} + int main(int argc, char** argv) { try { - Logger::getDefault().log(USCXML_FATAL) << "Foo!" << " BAR?" << std::endl; + lambda_snippet(); microstep_snippet(); } catch (...) { exit(EXIT_FAILURE); |