summaryrefslogtreecommitdiff
path: root/protocol/module.proto
diff options
context:
space:
mode:
Diffstat (limited to 'protocol/module.proto')
-rw-r--r--protocol/module.proto47
1 files changed, 47 insertions, 0 deletions
diff --git a/protocol/module.proto b/protocol/module.proto
new file mode 100644
index 0000000..2376b7b
--- /dev/null
+++ b/protocol/module.proto
@@ -0,0 +1,47 @@
+/*
+ Copyright © 2015 Gluzskiy Alexandr (sss)
+
+ This file is part of Unknown Download Manager (UDM).
+
+ UDM is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 2 of the License, or
+ (at your option) any later version.
+
+ UDM is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with UDM. If not, see <http://www.gnu.org/licenses/>.
+
+*/
+
+import "settings.proto";
+import "ui.proto";
+import "misc.proto";
+
+enum SERVER_MODULE_TYPE {
+ SERVER_MODULE_DOWNLOADER = 0;
+ SERVER_MODULE_METADATA_STORAGE = 1;
+}
+
+
+
+message module_info //general module info for client including settings, download info ui and module specific menus
+{
+ required SERVER_MODULE_TYPE type = 1;
+ required string name = 2; //unique (used as module id)
+ required string version = 3;
+ optional string description = 4 [default = "no description specified"];
+ repeated setting settings = 5;
+ repeated module_download_ui_element_info download_info_ui = 6; //module defined download info ui, always complete here
+ repeated module_download_ui_element_info download_creation_ui = 7; //module defined download creation ui, always complete here
+ repeated module_download_menu_element_info download_menu = 8; //module defined download menu info, may not present
+ repeated module_download_menu_element_info download_content_menu = 9; //menu for files and folders inside download root, may not present
+ repeated string_pair get_downloads_parameters_info = 10; //info about additional parameters which may be passed to api_module_downloader::get_download, api_module_downloader::get_downloads
+ repeated int_string_pair download_state_name = 11; //module defined download states description, we have a few hardcoded states necessary for every downloader: 0 = stopped, 1 = running, ...
+}
+
+