20 #ifndef DEBUGSESSION_H_M8YHEGV6
21 #define DEBUGSESSION_H_M8YHEGV6
30 #include <condition_variable>
43 _breakpointsEnabled =
true;
44 _markedForDeletion =
false;
48 void stepping(
bool enable) {
52 void checkBreakpoints(
const std::list<Breakpoint> qualifiedBreakpoints);
62 Data skipToBreakPoint(
const Data& data);
63 Data addBreakPoint(
const Data& data);
64 Data removeBreakPoint(
const Data& data);
65 Data enableBreakPoint(
const Data& data);
66 Data disableBreakPoint(
const Data& data);
67 Data enableAllBreakPoints();
68 Data disableAllBreakPoints();
72 void setDebugger(
Debugger* debugger) {
80 void markForDeletion(
bool mark) {
81 _markedForDeletion = mark;
85 virtual std::shared_ptr<LoggerImpl> create();
87 virtual void log(LogSeverity severity,
const Event& event);
88 virtual void log(LogSeverity severity,
const Data& data);
89 virtual void log(LogSeverity severity,
const std::string& message);
92 void breakExecution(
Data replyData);
96 bool _breakpointsEnabled;
98 std::condition_variable_any _resumeCond;
99 std::recursive_mutex _runMutex;
100 std::recursive_mutex _mutex;
102 std::thread* _interpreterThread = NULL;
104 static void run(
void* instance);
106 bool _markedForDeletion;
109 std::set<Breakpoint> _breakPoints;
Definition: Breakpoint.cpp:26
Definition: LoggingImpl.h:36
Central class to interpret and process SCXML documents.
Definition: Interpreter.h:79
Definition: Breakpoint.h:36
Definition: Debugger.h:32
Definition: DebugSession.h:37