summaryrefslogtreecommitdiff
path: root/server/src/server_session.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/server_session.cpp')
-rw-r--r--server/src/server_session.cpp77
1 files changed, 39 insertions, 38 deletions
diff --git a/server/src/server_session.cpp b/server/src/server_session.cpp
index ff49408..2c8687d 100644
--- a/server/src/server_session.cpp
+++ b/server/src/server_session.cpp
@@ -420,34 +420,35 @@ bool server_session::handle_command(client_msg *msg)
//draft implementation, need a lot of optimizations
server_msg m;
m.set_type(SERVER_MSG_TYPE::SERVER_DOWNLOADS_LIST_REPLY);
- for(auto i : downloads)
- {
- server_download_reply *r = m.add_downloads();
- download *d = r->mutable_download();
- d->set_id(i.first); //set core_id for later access
- d->set_module_name(i.second.module_name);
- module_base *module = nullptr;
- for(auto dm : modules->get_downloader_modules())
- {
+ for(auto i : downloads)
+ {
+ server_download_reply *r = m.add_downloads();
+ download *d = r->mutable_download();
+ d->set_id(i.first); //set core_id for later access
+ d->set_module_name(i.second.module_name);
+ module_base *module = nullptr;
+ for(auto dm : modules->get_downloader_modules())
+ {
if(dm->get_module_info().name == i.second.module_name)
{
module = dm;
break;
}
- }
- if(!module)
- {
+ }
+ if(!module)
+ {
//downloader module not found, this should be a fatal error
continue;
- }
- module_downloader *dm = static_cast<module_downloader*>(module);
- download_s ds = dm->get_download(i.second.module_id);
- d->set_downloaded(ds.downloaded);
- d->set_size(ds.size);
- d->set_name(ds.name);
- }
- send_message(&m);
- return true;
+ }
+ module_downloader *dm = static_cast<module_downloader*>(module);
+ download_s ds = dm->get_download(i.second.module_id);
+ d->set_downloaded(ds.downloaded);
+ d->set_size(ds.size);
+ d->set_name(ds.name);
+ d->set_state(ds.state);
+ }
+ send_message(&m);
+ return true;
}
break;
case CLIENT_MSG_TYPE::CLIENT_DOWNLOAD_ADD:
@@ -459,24 +460,24 @@ bool server_session::handle_command(client_msg *msg)
std::map<int, std::string> params;
for(auto p : msg->download_add_request().params())
params[p.id()] = p.value();
- auto dm = static_cast<module_downloader *>(i);
- int download_id = dm->add_download(params);
- int core_id = downloads.size();
- downloads[core_id].module_id = download_id;
- downloads[core_id].module_name = msg->download_add_request().module_name();
- server_msg m;
- m.set_type(SERVER_MSG_TYPE::SERVER_DOWNLOAD_INFO_REPLY);
- download *d = m.mutable_download()->mutable_download();
- d->set_id(core_id);
- auto dl = dm->get_download(download_id);
- d->set_name(dl.name);
- d->set_size(dl.size);
- d->set_module_name(msg->download_add_request().module_name());
- d->set_downloaded(dl.downloaded);
- send_message(&m);
-
+ auto dm = static_cast<module_downloader *>(i);
+ int download_id = dm->add_download(params);
+ int core_id = downloads.size();
+ downloads[core_id].module_id = download_id;
+ downloads[core_id].module_name = msg->download_add_request().module_name();
+ server_msg m;
+ m.set_type(SERVER_MSG_TYPE::SERVER_DOWNLOAD_INFO_REPLY);
+ download *d = m.mutable_download()->mutable_download();
+ d->set_id(core_id);
+ auto dl = dm->get_download(download_id);
+ d->set_name(dl.name);
+ d->set_size(dl.size);
+ d->set_state(dl.state);
+ d->set_module_name(msg->download_add_request().module_name());
+ d->set_downloaded(dl.downloaded);
+ send_message(&m);
}
- }
+ }
}
break;
default: