#include "uscxml/Common.h"
#include "uscxml/messages/Event.h"
#include "uscxml/interpreter/Logging.h"
#include "uscxml/debug/InterpreterIssue.h"
#include <mutex>
Include dependency graph for InterpreterMonitor.h:
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Classes | |
class | uscxml::InterpreterMonitor |
class | uscxml::StateTransitionMonitor |
Detailed Description
- Copyright
- Simplified BSD
Macro Definition Documentation
#define USCXML_MONITOR_CALLBACK | ( | callbacks, | |
function | |||
) |
Value:
{ \
Interpreter inptr = _callbacks->getInterpreter(); \
for (auto callback : callbacks) { callback->function(inptr); } }
#define USCXML_MONITOR_CALLBACK1 | ( | callbacks, | |
function, | |||
arg1 | |||
) |
Value:
{ \
Interpreter inptr = _callbacks->getInterpreter(); \
for (auto callback : callbacks) { callback->function(inptr, arg1); } }
#define USCXML_MONITOR_CALLBACK2 | ( | callbacks, | |
function, | |||
arg1, | |||
arg2 | |||
) |
Value:
{ \
Interpreter inptr = _callbacks->getInterpreter(); \
for (auto callback : callbacks) { callback->function(inptr, arg1, arg2); } }
#define USCXML_MONITOR_CATCH | ( | callback | ) |
Value:
catch (Event e) { LOG(USCXML_ERROR) << "Syntax error when calling " #callback " on monitors: " << std::endl << e << std::endl; } \
catch (std::bad_weak_ptr e) { LOG(USCXML_ERROR) << "Unclean shutdown " << std::endl; } \
catch (...) { LOG(USCXML_ERROR) << "An exception occurred when calling " #callback " on monitors"; } \
if (_state == USCXML_DESTROYED) { throw std::bad_weak_ptr(); }