summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--protocol/udm.proto119
1 files changed, 76 insertions, 43 deletions
diff --git a/protocol/udm.proto b/protocol/udm.proto
index dd23368..d792a22 100644
--- a/protocol/udm.proto
+++ b/protocol/udm.proto
@@ -75,24 +75,93 @@ message client_download_ui_data_request {
//ui common proto part end
-//TOOD: extended ui updates subscriptions proto part (ui data messages on timer, e.t.c.)
+//TODO: extended ui updates subscriptions proto part (ui data messages on timer, e.t.c.)
-//ui subscriptions begin
+// event subscription part begin
+
+//TODO: rework
+//TODO: download state chage events
-message download_ui_subscription_info {
+
+message subscription_download_ui_info {
optional client_download_ui_data_request download_ui_data = 1;
optional bool one_shot = 3 [default = false];
required int64 interval = 4;
}
-message download_ui_unsubscription_info {
- required int32 id = 1; //unsubscript from all updates for given id's
+message unsubscription_download_ui_info {
+ required int32 id = 1; //ui element id
+}
+
+
+//subscription type
+enum SUBSCRIPTION_TYPE {
+ S_UI_CHANGE = 0;
+ S_SETTING_CHANGE = 1;
+ S_DOWNLOAD_STATE_CHANGE = 2;
+ S_DOWNLOAD_ADDED = 3;
+ S_DOWNLOAD_DELETED = 4;
+}
+
+//download state subscription for download state changes (can be module defined)
+enum SUBSCRIPTION_DOWNLOAD_STATE {
+ S_D_STARTED = 0;
+ S_D_STOPPED = 1;
+}
+
+message subscription_download_state_change {
+ repeated SUBSCRIPTION_DOWNLOAD_STATE states = 1;
+}
+
+//information about subscription request
+message client_event_subscription_request {
+ required SUBSCRIPTION_TYPE type = 1; //type must be set
+ required string module_name = 2; //module name must be set, can be "" for all installed modules supported subscription type
+ optional subscription_download_ui_info download_ui_info = 3;
+ optional subscription_download_state_change download_state_change = 4;
+}
+
+
+//unsubscript from events of specified type
+//here is two variants of unsubscription
+
+//1. can be customized to unsubscript from few aubscriptions at once
+message client_event_unsubscription_request {
+ required SUBSCRIPTION_TYPE type = 1;
+ required string module_name = 2;
+ optional unsubscription_download_ui_info ui_info = 3;
+ optional subscription_download_state_change download_state_change = 4; //reusing defined structure to avoid code duplication
+}
+
+//2. unsubscript by id given in "server_event_subscription_reply"
+message client_event_unsubscription_by_id_request {
+ required int32 subscription_id = 1;
}
-//ui subscriptions end
+message server_event_subscription_reply {
+ required SUBSCRIPTION_TYPE type = 1;
+ required string module_name = 2;
+ optional subscription_download_ui_info ui_info = 3;
+
+ required bool status = 1000;
+ optional string status_description = 1001;
+ optional int32 subscription_id = 1002 [default = -1];
+}
+
+message server_event_unsubscription_reply {
+ required SUBSCRIPTION_TYPE type = 1;
+ required string module_name = 2;
+ optional unsubscription_download_ui_info ui_info = 3;
+
+ required bool status = 1000;
+ optional string status_description = 1001;
+ optional int32 subscription_id = 1002;
+}
+
+//event subscription part end
+
-//TODO: downloads related proto part
//dowloads proto part begin
@@ -164,42 +233,6 @@ message server_download_reply {
//downloads proto part end
-// event subscription part begin
-enum SUBSCRIPTION_TYPE {
- SUBSCRIPTION_UI_CHANGE = 0;
- SUBSCRIPTION_SETTING_CHANGE = 1;
-}
-
-message client_event_subscription_request {
- required SUBSCRIPTION_TYPE type = 1;
- required string module_name = 2;
- optional download_ui_subscription_info download_ui_info = 3;
-}
-
-message client_event_unsubscription_request {
- required SUBSCRIPTION_TYPE type = 1;
- required string module_name = 2;
- optional download_ui_unsubscription_info ui_info = 3;
-}
-
-message server_event_subscription_reply {
- required SUBSCRIPTION_TYPE type = 1;
- required string module_name = 2;
- optional download_ui_subscription_info ui_info = 3;
-
- required bool status = 10;
- optional string status_description = 11;
-}
-
-message server_event_unsubscription_reply {
- required SUBSCRIPTION_TYPE type = 1;
- required string module_name = 2;
- optional download_ui_unsubscription_info ui_info = 3;
-
- required bool status = 10;
- optional string status_description = 11;
-}
-//event subscription part end
//TODO: settings: