summaryrefslogtreecommitdiff
path: root/src/messagehandler.cc
diff options
context:
space:
mode:
authorJonas Suhr Christensen <jsc@umbraculum.org>2012-03-30 16:04:03 +0200
committerJonas Suhr Christensen <jsc@umbraculum.org>2012-03-30 16:04:03 +0200
commitb320cc10871217d51e3458bf85a22e7d50ee4aec (patch)
tree6afc5a990d1b719ac178e8ebd09de3e7b3114ad2 /src/messagehandler.cc
parent85bc3a07c275ef60fb40bc55562b12ab2e21841d (diff)
Added a bit of debug and implemented messagehandler.
Diffstat (limited to 'src/messagehandler.cc')
-rw-r--r--src/messagehandler.cc51
1 files changed, 39 insertions, 12 deletions
diff --git a/src/messagehandler.cc b/src/messagehandler.cc
index 90a89a3..5f3cafb 100644
--- a/src/messagehandler.cc
+++ b/src/messagehandler.cc
@@ -32,47 +32,74 @@
TaskManager taskman;
-MessageList handle_msg(MessageList inMsgList) {
+MessageList handle_msg(MessageList msgList) {
MessageList::iterator it;
- for(it = inMsgList.begin();
- it != inMsgList.end();
+ for(it = msgList.begin();
+ it != msgList.end();
it++) {
message_t m = *it;
switch(m.cmd) {
case cmd::add:
{
- INFO(msghandler, "Handling add command\n");
+ INFO(messagehandler, "Handling add command\n");
task_t t = taskman.createTask();
- // t.parentid = m.add.parentid;
t.title = m.add.title;
t.desc = m.add.desc;
+ try {
+ it->nodes = taskman.addTask(t, m.add.parentid);
+ }
+ catch (std::exception& e) {
+ DEBUG(messagehandler, "Error adding task\n");
+ }
}
break;
case cmd::del:
{
- INFO(msghandler, "Handling del command\n");
+ INFO(messagehandler, "Handling del command\n");
+ try {
+ it->nodes = taskman.deleteTask(m.del.id);
+ }
+ catch (std::exception& e) {
+ DEBUG(messagehandler, "Error deleting task\n");
+ }
}
break;
case cmd::move:
{
- INFO(msghandler, "Handling move command\n");
+ INFO(messagehandler, "Handling move command\n");
+ try {
+ it->nodes = taskman.moveTask(m.move.id, m.move.parentid);
+ }
+ catch (std::exception& e) {
+ DEBUG(messagehandler, "Error moving task\n");
+ }
}
break;
case cmd::update:
{
- INFO(msghandler, "Handling update command\n");
+ INFO(messagehandler, "Handling update command\n");
+ try {
+ task_t t;
+ t.title = m.update.title;
+ t.desc = m.update.desc;
+ it->nodes = taskman.updateTask(m.update.id, t);
+ }
+ catch (std::exception& e) {
+ DEBUG(messagehandler, "Error updating task\n");
+ }
}
break;
default:
- WARN(msghandler, "!!! Unknown command\n");
+ WARN(messagehandler, "!!! Unknown command\n");
break;
}
+ taskman.tree.toStdOut();
+ printf("%d affected nodes registered\n", m.nodes.size());
}
-
- MessageList msglist;
- return msglist;
+
+ return msgList;
}
#ifdef TEST_MSGHANDLER