InterpreterMonitor.h File Reference
#include "uscxml/Common.h"
#include "uscxml/messages/Event.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
 

Macros

#define USCXML_MONITOR_CATCH(callback)
 
#define USCXML_MONITOR_CALLBACK(callback, function)   if (callback) { callback->function(); }
 
#define USCXML_MONITOR_CALLBACK1(callback, function, arg1)   if (callback) { callback->function(arg1); }
 
#define USCXML_MONITOR_CALLBACK2(callback, function, arg1, arg2)   if (callback) { callback->function(arg1, arg2); }
 

Detailed Description

Macro Definition Documentation

#define USCXML_MONITOR_CATCH (   callback)
Value:
catch (Event e) { LOG(ERROR) << "Syntax error when calling " #callback " on monitors: " << std::endl << e << std::endl; } \
catch (std::bad_weak_ptr e) { LOG(ERROR) << "Unclean shutdown " << std::endl; } \
catch (...) { LOG(ERROR) << "An exception occurred when calling " #callback " on monitors"; } \
if (_state == USCXML_DESTROYED) { throw std::bad_weak_ptr(); }