summaryrefslogtreecommitdiffstats
path: root/src/uscxml/debug/Breakpoint.h
diff options
context:
space:
mode:
authorStefan Radomski <radomski@tk.informatik.tu-darmstadt.de>2014-03-07 13:03:04 (GMT)
committerStefan Radomski <radomski@tk.informatik.tu-darmstadt.de>2014-03-07 13:03:04 (GMT)
commitca46aa711fb5d08a8fd1cc6b91593c281189e8e3 (patch)
treec46ed5fcbf44ea1a32517f8ba3d6d9a066b6fed8 /src/uscxml/debug/Breakpoint.h
parentfce16e70dff8503bfab2e734bca5a52d9057a3ee (diff)
downloaduscxml-ca46aa711fb5d08a8fd1cc6b91593c281189e8e3.zip
uscxml-ca46aa711fb5d08a8fd1cc6b91593c281189e8e3.tar.gz
uscxml-ca46aa711fb5d08a8fd1cc6b91593c281189e8e3.tar.bz2
Modified InterpreterMonitor for uscxml-debugger
Diffstat (limited to 'src/uscxml/debug/Breakpoint.h')
-rw-r--r--src/uscxml/debug/Breakpoint.h77
1 files changed, 77 insertions, 0 deletions
diff --git a/src/uscxml/debug/Breakpoint.h b/src/uscxml/debug/Breakpoint.h
new file mode 100644
index 0000000..b2861d8
--- /dev/null
+++ b/src/uscxml/debug/Breakpoint.h
@@ -0,0 +1,77 @@
+/**
+ * @file
+ * @author 2012-2014 Stefan Radomski (stefan.radomski@cs.tu-darmstadt.de)
+ * @copyright Simplified BSD
+ *
+ * @cond
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the FreeBSD license as published by the FreeBSD
+ * project.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * You should have received a copy of the FreeBSD license along with this
+ * program. If not, see <http://www.opensource.org/licenses/bsd-license>.
+ * @endcond
+ */
+
+#ifndef BREAKPOINT_H_VR7K7T1X
+#define BREAKPOINT_H_VR7K7T1X
+
+#include "uscxml/Message.h"
+
+namespace uscxml {
+
+class USCXML_API Breakpoint {
+public:
+
+ enum When {
+ UNDEF_WHEN, AFTER, BEFORE, ON
+ };
+
+ enum Subject {
+ UNDEF_SUBJECT, STATE, TRANSITION, STABLE, MICROSTEP, EVENT, INVOKER, EXECUTABLE
+ };
+
+ enum Action {
+ UNDEF_ACTION, ENTER, EXIT, INVOKE, UNINVOKE
+ };
+
+ Breakpoint() {}
+ Breakpoint(const Data& data);
+
+ // would we match the given breakpoint as well?
+ bool matches(const Breakpoint& other) const;
+
+ bool isValid();
+
+ Data toData() const;
+
+ bool operator<(const Breakpoint& other) const {
+ return (origData < other.origData);
+ }
+
+ When when;
+ Subject subject;
+ Action action;
+
+ std::string invokeId;
+ std::string invokeType;
+
+ std::string eventName;
+
+ std::string stateId;
+ std::string transSource;
+ std::string transTarget;
+
+ std::string condition;
+ Data origData;
+};
+
+}
+
+
+
+#endif /* end of include guard: BREAKPOINT_H_VR7K7T1X */