mirror of
https://github.com/rakshasa/rtorrent.git
synced 2026-10-18 15:16:17 +00:00
Stuff.
This commit is contained in:
+39
-9
@@ -5,7 +5,7 @@
|
|||||||
#include "core/manager.h"
|
#include "core/manager.h"
|
||||||
|
|
||||||
torrent::Object
|
torrent::Object
|
||||||
apply_load(const torrent::Object::list_type& args, int flags) {
|
apply_load_trusted(const torrent::Object::list_type& args, int flags) {
|
||||||
auto argsItr = args.begin();
|
auto argsItr = args.begin();
|
||||||
|
|
||||||
if (argsItr == args.end())
|
if (argsItr == args.end())
|
||||||
@@ -23,14 +23,44 @@ apply_load(const torrent::Object::list_type& args, int flags) {
|
|||||||
return torrent::Object();
|
return torrent::Object();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
torrent::Object
|
||||||
|
apply_load_untrusted(const torrent::Object::list_type& args, int flags) {
|
||||||
|
auto argsItr = args.begin();
|
||||||
|
|
||||||
|
if (argsItr == args.end())
|
||||||
|
throw torrent::input_error("Too few arguments.");
|
||||||
|
|
||||||
|
auto& filename = argsItr->as_string();
|
||||||
|
|
||||||
|
core::Manager::command_list_type commands;
|
||||||
|
|
||||||
|
while (++argsItr != args.end())
|
||||||
|
commands.push_back(argsItr->as_string());
|
||||||
|
|
||||||
|
control->core()->try_create_download_untrusted(filename, flags, commands);
|
||||||
|
|
||||||
|
return torrent::Object();
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
initialize_command_load() {
|
initialize_command_load() {
|
||||||
CMD2_ANY_LIST ("load.normal", [](auto, auto& args) { return apply_load(args, core::Manager::create_quiet | core::Manager::create_tied); });
|
CMD2_ANY_LIST ("load.normal", [](auto, auto& args) { return apply_load_trusted(args, core::Manager::create_quiet | core::Manager::create_tied); });
|
||||||
CMD2_ANY_LIST ("load.verbose", [](auto, auto& args) { return apply_load(args, core::Manager::create_tied); });
|
CMD2_ANY_LIST ("load.verbose", [](auto, auto& args) { return apply_load_trusted(args, core::Manager::create_tied); });
|
||||||
CMD2_ANY_LIST ("load.start", [](auto, auto& args) { return apply_load(args, core::Manager::create_quiet | core::Manager::create_tied | core::Manager::create_start); });
|
CMD2_ANY_LIST ("load.start", [](auto, auto& args) { return apply_load_trusted(args, core::Manager::create_quiet | core::Manager::create_tied | core::Manager::create_start); });
|
||||||
CMD2_ANY_LIST ("load.start_verbose", [](auto, auto& args) { return apply_load(args, core::Manager::create_tied | core::Manager::create_start); });
|
CMD2_ANY_LIST ("load.start_verbose", [](auto, auto& args) { return apply_load_trusted(args, core::Manager::create_tied | core::Manager::create_start); });
|
||||||
CMD2_ANY_LIST ("load.raw", [](auto, auto& args) { return apply_load(args, core::Manager::create_quiet | core::Manager::create_raw_data); });
|
CMD2_ANY_LIST ("load.raw", [](auto, auto& args) { return apply_load_trusted(args, core::Manager::create_quiet | core::Manager::create_raw_data); });
|
||||||
CMD2_ANY_LIST ("load.raw_verbose", [](auto, auto& args) { return apply_load(args, core::Manager::create_raw_data); });
|
CMD2_ANY_LIST ("load.raw_verbose", [](auto, auto& args) { return apply_load_trusted(args, core::Manager::create_raw_data); });
|
||||||
CMD2_ANY_LIST ("load.raw_start", [](auto, auto& args) { return apply_load(args, core::Manager::create_quiet | core::Manager::create_start | core::Manager::create_raw_data); });
|
CMD2_ANY_LIST ("load.raw_start", [](auto, auto& args) { return apply_load_trusted(args, core::Manager::create_quiet | core::Manager::create_start | core::Manager::create_raw_data); });
|
||||||
CMD2_ANY_LIST ("load.raw_start_verbose", [](auto, auto& args) { return apply_load(args, core::Manager::create_start | core::Manager::create_raw_data); });
|
CMD2_ANY_LIST ("load.raw_start_verbose", [](auto, auto& args) { return apply_load_trusted(args, core::Manager::create_start | core::Manager::create_raw_data); });
|
||||||
|
|
||||||
|
CMD2_ANY_LIST ("load.untrusted.normal", [](auto, auto& args) { return apply_load_untrusted(args, core::Manager::create_quiet | core::Manager::create_tied); });
|
||||||
|
CMD2_ANY_LIST ("load.untrusted.verbose", [](auto, auto& args) { return apply_load_untrusted(args, core::Manager::create_tied); });
|
||||||
|
CMD2_ANY_LIST ("load.untrusted.start", [](auto, auto& args) { return apply_load_untrusted(args, core::Manager::create_quiet | core::Manager::create_tied | core::Manager::create_start); });
|
||||||
|
CMD2_ANY_LIST ("load.untrusted.start_verbose", [](auto, auto& args) { return apply_load_untrusted(args, core::Manager::create_tied | core::Manager::create_start); });
|
||||||
|
CMD2_ANY_LIST ("load.untrusted.raw", [](auto, auto& args) { return apply_load_untrusted(args, core::Manager::create_quiet | core::Manager::create_raw_data); });
|
||||||
|
CMD2_ANY_LIST ("load.untrusted.raw_verbose", [](auto, auto& args) { return apply_load_untrusted(args, core::Manager::create_raw_data); });
|
||||||
|
CMD2_ANY_LIST ("load.untrusted.raw_start", [](auto, auto& args) { return apply_load_untrusted(args, core::Manager::create_quiet | core::Manager::create_start | core::Manager::create_raw_data); });
|
||||||
|
CMD2_ANY_LIST ("load.untrusted.raw_start_verbose", [](auto, auto& args) { return apply_load_untrusted(args, core::Manager::create_start | core::Manager::create_raw_data); });
|
||||||
|
|
||||||
|
// TODO: Add a command to mark load.untrusted.* as safe.
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user