summaryrefslogtreecommitdiff
path: root/src/messagehandler.cc
diff options
context:
space:
mode:
authorJonas Suhr Christensen <jsc@umbraculum.org>2012-05-04 16:16:11 +0200
committerJonas Suhr Christensen <jsc@umbraculum.org>2012-05-04 16:16:11 +0200
commitc624755efee924b68bfaee36bc5a37422bda4be8 (patch)
treecb5a19b75f2738bd56d8a5e96db111217243f32d /src/messagehandler.cc
parent448bffdce2f9218a061b35213066aeac617e7ddf (diff)
IMplemneted remove.
Diffstat (limited to 'src/messagehandler.cc')
-rw-r--r--src/messagehandler.cc14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/messagehandler.cc b/src/messagehandler.cc
index 8217bde..cdc7246 100644
--- a/src/messagehandler.cc
+++ b/src/messagehandler.cc
@@ -63,8 +63,18 @@ MessageList handle_msg(MessageList msgList, clientid_t wsi) {
{
INFO(messagehandler, "Handling remove command\n");
try {
- m.nodes = task_manager.removeTask(m.remove.id);
- outmsgs.push_back(m);
+ TaskIdList ids = task_manager.subTasks(m.remove.id);
+ TaskIdList::reverse_iterator id = ids.rbegin();
+ while(id != ids.rend()) {
+ task_t task = task_manager.task(*id);
+
+ message_t m = create_msg_remove(task);
+ m.nodes = task_manager.removeTask(task.id);
+
+ outmsgs.push_back(m);
+ id++;
+ printf("!!!\n");
+ }
}
catch (std::exception& e) {
DEBUG(messagehandler, "Error remove task\n");