summaryrefslogtreecommitdiff
path: root/src/messageparser.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/messageparser.cc')
-rw-r--r--src/messageparser.cc20
1 files changed, 19 insertions, 1 deletions
diff --git a/src/messageparser.cc b/src/messageparser.cc
index cb46669..e6d5e46 100644
--- a/src/messageparser.cc
+++ b/src/messageparser.cc
@@ -108,7 +108,9 @@ inline static void create_msg_list(MsgTokensList& msgTokensList,
message_t m;
- if(t[0] == "add") m.cmd = cmd::add;
+ if(t[0] == "observe") m.cmd = cmd::observe;
+ else if(t[0] == "unobserve") m.cmd = cmd::unobserve;
+ else if(t[0] == "add") m.cmd = cmd::add;
else if(t[0] == "del") m.cmd = cmd::del;
else if(t[0] == "move") m.cmd = cmd::move;
else if(t[0] == "update") m.cmd = cmd::update;
@@ -117,6 +119,22 @@ inline static void create_msg_list(MsgTokensList& msgTokensList,
// printf("Number of tokens %d\n", t.size());
switch(m.cmd) {
+ case cmd::observe: {
+ if(t.size() != 1+1) {
+ printf("Wrong number of parameters\n");
+ continue;
+ }
+ m.observe.id = atoi(t[1].c_str());
+ break;
+ }
+ case cmd::unobserve: {
+ if(t.size() != 1+1) {
+ printf("Wrong number of parameters\n");
+ continue;
+ }
+ m.unobserve.id = atoi(t[1].c_str());
+ break;
+ }
case cmd::add: {
if(t.size() != 3+1) {
printf("Wrong number of parameters\n");