diff options
Diffstat (limited to 'src/messageparser.cc')
-rw-r--r-- | src/messageparser.cc | 20 |
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"); |