diff options
author | Gluzskiy Alexandr <sss@sss.chaoslab.ru> | 2015-11-21 18:00:49 +0300 |
---|---|---|
committer | Gluzskiy Alexandr <sss@sss.chaoslab.ru> | 2015-11-21 18:00:49 +0300 |
commit | f3693316d59943ca30f07dcdb614ffc8ebc30efe (patch) | |
tree | ecf8552b288382890be58213bf461ba140da9c78 | |
parent | 23c6b9cb5ec8186584c05fe0db0d0dcdc1c56d28 (diff) |
client-qt:
subscription to "ST_DOWNLOAD_ADDED" event
-rw-r--r-- | client-qt/udm-client-qt/udm_main.cpp | 14 | ||||
-rw-r--r-- | server/src/server_session.cpp | 2 |
2 files changed, 15 insertions, 1 deletions
diff --git a/client-qt/udm-client-qt/udm_main.cpp b/client-qt/udm-client-qt/udm_main.cpp index 3b546c3..9fe80b3 100644 --- a/client-qt/udm-client-qt/udm_main.cpp +++ b/client-qt/udm-client-qt/udm_main.cpp @@ -278,6 +278,19 @@ void udm_main::server_message_received(server_msg msg) msg.set_auth_token(auth_token); session->send_message(msg); } + //subscript to needed events + { + client_msg msg; + msg.set_type(CLIENT_MSG_TYPE::CLIENT_SUBSCRIPTION_REQUEST); + msg.set_auth_token(auth_token); + //subscript to download added event + auto s = msg.add_subscription_request(); + s->set_type(SUBSCRIPTION_TYPE::ST_DOWNLOAD_ADDED); //fire event than new download added + s->set_mode(SUBSCRIPTION_MODE::SM_EVENT); //this type of event support only "event" mode + s->set_module_name(""); //we need this event for all installed modules + + session->send_message(msg); + } } else { @@ -309,6 +322,7 @@ void udm_main::server_message_received(server_msg msg) } for(auto i : msg.downloads()) downloads.push_back(i.download()); + //TODO: something better than whole list rebuild mdl_downloads->insertRows(0, downloads.size()); mdl_downloads->refresh(); } diff --git a/server/src/server_session.cpp b/server/src/server_session.cpp index 5287900..ee15426 100644 --- a/server/src/server_session.cpp +++ b/server/src/server_session.cpp @@ -470,7 +470,6 @@ bool server_session::handle_command(client_msg *msg) d->set_state(dl.state); d->set_module_name(msg->download_add_request().module_name()); d->set_downloaded(dl.downloaded); - //TODO: fill event with info ? fire_event(SUBSCRIPTION_TYPE::ST_DOWNLOAD_ADDED, m); break; } @@ -654,6 +653,7 @@ void server_session::fire_event(SUBSCRIPTION_TYPE type, server_msg &msg) { case SUBSCRIPTION_TYPE::ST_DOWNLOAD_ADDED: { + //this message already filled with all required info, just send it send_message(&msg); } break; |