summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--client-qt/udm-client-qt/client_session.cpp2
-rw-r--r--client-qt/udm-client-qt/udm_main.cpp29
-rw-r--r--protocol/events.proto1
-rw-r--r--protocol/udm.proto2
-rw-r--r--server/src/server_session.cpp7
5 files changed, 35 insertions, 6 deletions
diff --git a/client-qt/udm-client-qt/client_session.cpp b/client-qt/udm-client-qt/client_session.cpp
index 6bad75c..25b545d 100644
--- a/client-qt/udm-client-qt/client_session.cpp
+++ b/client-qt/udm-client-qt/client_session.cpp
@@ -276,7 +276,7 @@ void client_session::handle_read(const boost::system::error_code& error, size_t
// if(!parsed)
else
{
- BOOST_LOG_TRIVIAL(error)<<"failed to parse client message";
+ BOOST_LOG_TRIVIAL(error)<<"failed to parse server message";
delete this; //close connection
return;
}
diff --git a/client-qt/udm-client-qt/udm_main.cpp b/client-qt/udm-client-qt/udm_main.cpp
index 084fa06..fcd07ff 100644
--- a/client-qt/udm-client-qt/udm_main.cpp
+++ b/client-qt/udm-client-qt/udm_main.cpp
@@ -35,6 +35,8 @@
#include <QToolBar>
#include <QMenu>
+#include <boost/log/trivial.hpp>
+
#include "connect_widget.h"
#include "client_session.h"
#include "downloads_model.h"
@@ -323,7 +325,6 @@ void udm_main::server_message_received(server_msg msg)
modules.clear(); //TODO: something better
for(auto i : msg.server_modules_reply())
modules.push_back(i);
-
}
break;
case SERVER_MSG_TYPE::SERVER_DOWNLOADS_LIST_REPLY:
@@ -347,7 +348,7 @@ void udm_main::server_message_received(server_msg msg)
{
if(i.id() == msg.download().download().id())
{
- //TODO: merge download, not replace
+ //TODO: merge download, not replace ?
i = msg.download().download();
found = true;
break;
@@ -359,7 +360,31 @@ void udm_main::server_message_received(server_msg msg)
mdl_downloads->refresh();
}
break;
+ case SERVER_MSG_TYPE::SERVER_DOWNLOAD_STATE_CHANGE:
+ {
+ for(auto i : msg.download_state_changes())
+ {
+ switch(i.state())
+ {
+ case SUBSCRIPTION_DOWNLOAD_STATE::SDS_STARTED:
+ //TODO:
+ break;
+ case SUBSCRIPTION_DOWNLOAD_STATE::SDS_STOPPED:
+ //TODO:
+ break;
+ case SUBSCRIPTION_DOWNLOAD_STATE::SDS_DELETED:
+ //TODO:
+ break;
+ default:
+ BOOST_LOG_TRIVIAL(debug)<<"error: unhandled download state in server message message\n"<<msg.DebugString();
+ break;
+ }
+ }
+
+ }
+ break;
default:
+ BOOST_LOG_TRIVIAL(debug)<<"error: unhandled server message\n"<<msg.DebugString();
break;
}
}
diff --git a/protocol/events.proto b/protocol/events.proto
index 553ada5..8521e55 100644
--- a/protocol/events.proto
+++ b/protocol/events.proto
@@ -54,6 +54,7 @@ enum SUBSCRIPTION_MODE {
enum SUBSCRIPTION_DOWNLOAD_STATE {
SDS_STARTED = 0;
SDS_STOPPED = 1;
+ SDS_DELETED = 2;
}
message subscription_download_state_change {
diff --git a/protocol/udm.proto b/protocol/udm.proto
index 78793fb..8b09867 100644
--- a/protocol/udm.proto
+++ b/protocol/udm.proto
@@ -23,8 +23,6 @@
import "ui.proto";
import "events.proto";
import "download.proto";
-//import "misc.proto";
-//import "settings.proto";
import "module.proto";
import "auth.proto";
import "core.proto";
diff --git a/server/src/server_session.cpp b/server/src/server_session.cpp
index b572980..2d4e1e4 100644
--- a/server/src/server_session.cpp
+++ b/server/src/server_session.cpp
@@ -535,6 +535,8 @@ bool server_session::handle_command(client_msg *msg)
break;
case CLIENT_MSG_TYPE::CLIENT_DOWNLOAD_DELETE:
{
+ server_msg s_msg;
+ s_msg.set_type(SERVER_MSG_TYPE::SERVER_DOWNLOAD_STATE_CHANGE);
for(auto i : msg->download_delete_request())
{
for(auto m : modules->get_downloader_modules())
@@ -548,12 +550,15 @@ bool server_session::handle_command(client_msg *msg)
}
else
{
- //TODO: fire event
+ auto dsc = s_msg.add_download_state_changes();
+ dsc->set_download_id(i.download_id());
+ dsc->set_state(SUBSCRIPTION_DOWNLOAD_STATE::SDS_DELETED);
}
break;
}
}
}
+ fire_event(SUBSCRIPTION_TYPE::ST_DOWNLOAD_STATE_CHANGE, s_msg);
}
break;
case CLIENT_MSG_TYPE::CLIENT_SUBSCRIPTION_REQUEST: