summaryrefslogtreecommitdiff
path: root/src/components/include/application_manager/application_manager.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/include/application_manager/application_manager.h')
-rw-r--r--src/components/include/application_manager/application_manager.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/components/include/application_manager/application_manager.h b/src/components/include/application_manager/application_manager.h
index 708bf8b048..72a322f336 100644
--- a/src/components/include/application_manager/application_manager.h
+++ b/src/components/include/application_manager/application_manager.h
@@ -119,6 +119,11 @@ struct ApplicationsPolicyAppIdSorter {
}
};
+struct ExpiredButtonRequestData {
+ uint32_t app_id_;
+ hmi_apis::Common_ButtonName::eType button_name_;
+};
+
typedef std::set<ApplicationSharedPtr, ApplicationsSorter> ApplicationSet;
typedef std::set<ApplicationSharedPtr, ApplicationsPolicyAppIdSorter>
@@ -947,6 +952,35 @@ class ApplicationManager {
*/
virtual bool UnsubscribeAppFromSoftButtons(
const commands::MessageSharedPtr response_message) = 0;
+
+ /**
+ * @brief Save subscribe/unsubscribe button request after timeout to ensure
+ * possibility to align mobile subscription/unsubscription status with actual
+ * subscription/unsubscription status on HMI
+ * @param app_id Application id from request message
+ * @param corr_id Correlation id
+ * @param button_name name of button to subscribe/unsubscribe
+ */
+ virtual void AddExpiredButtonRequest(
+ const uint32_t app_id,
+ const int32_t corr_id,
+ const hmi_apis::Common_ButtonName::eType button_name) = 0;
+
+ /**
+ * @brief Return optional structure with information regarding
+ * subscribe/unsubscribe button request data
+ * @param corr_id Correlation id
+ * @return optional structure with subscribe/unsubscribe button request data
+ */
+ virtual utils::Optional<ExpiredButtonRequestData> GetExpiredButtonRequestData(
+ const int32_t corr_id) const = 0;
+
+ /**
+ * @brief Delete data about already processed expired subscribe/unsubscribe
+ * button request in case if HMI send response to expired request
+ * @param corr_id Correlation id
+ */
+ virtual void DeleteExpiredButtonRequest(const int32_t corr_id) = 0;
};
} // namespace application_manager