aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/qregisters.h
diff options
context:
space:
mode:
authorRobin Haberkorn <robin.haberkorn@googlemail.com>2013-01-23 19:02:15 +0100
committerRobin Haberkorn <robin.haberkorn@googlemail.com>2013-01-23 19:02:15 +0100
commit2584da63706f564f3a9d221be685b4b47b5e30b2 (patch)
treef9a80305a8ff301306c88ce9547353789c2885f5 /src/qregisters.h
parent4c37f988b68b35d2510de25a185e091e692d00d5 (diff)
moved StateExpectQReg from parser.h to qregisters.h
* parser.cpp|h should be reserved for generic and misc. stuff. the StateExpectQReg class is used almost exclusively by qregisters.cpp|h * resolves a circular header dependency issue
Diffstat (limited to 'src/qregisters.h')
-rw-r--r--src/qregisters.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/qregisters.h b/src/qregisters.h
index 1a44d8f..d050a84 100644
--- a/src/qregisters.h
+++ b/src/qregisters.h
@@ -259,6 +259,25 @@ public:
* Command states
*/
+/*
+ * Super class for states accepting Q-Register specifications
+ */
+class StateExpectQReg : public State {
+ bool got_local;
+
+public:
+ StateExpectQReg();
+
+private:
+ State *custom(gchar chr) throw (Error);
+
+protected:
+ /*
+ * FIXME: would be nice to pass reg as reference
+ */
+ virtual State *got_register(QRegister *reg) throw (Error) = 0;
+};
+
class StatePushQReg : public StateExpectQReg {
private:
State *got_register(QRegister *reg) throw (Error);