aboutsummaryrefslogtreecommitdiffstats
path: root/src/libhomescreen.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/libhomescreen.cpp')
-rw-r--r--src/libhomescreen.cpp47
1 files changed, 20 insertions, 27 deletions
diff --git a/src/libhomescreen.cpp b/src/libhomescreen.cpp
index ad18ca4..71afa66 100644
--- a/src/libhomescreen.cpp
+++ b/src/libhomescreen.cpp
@@ -307,38 +307,31 @@ int LibHomeScreen::onScreenReply(const char* reply_message)
void LibHomeScreen::set_event_handler(enum EventType et, handler_func f)
{
if (et > Event_Min && et < Event_Max) {
- switch (et) {
- case Event_ShowWindow:
- this->subscribe(LibHomeScreen::event_list[0]);
- break;
- case Event_OnScreenMessage:
- this->subscribe(LibHomeScreen::event_list[1]);
- break;
- case Event_OnScreenReply:
- this->subscribe(LibHomeScreen::event_list[2]);
- break;
- case Event_HideWindow:
- this->subscribe(LibHomeScreen::event_list[3]);
- break;
- case Event_ReplyShowWindow:
- this->subscribe(LibHomeScreen::event_list[4]);
- break;
- case Event_ShowNotification:
- this->subscribe(LibHomeScreen::event_list[5]);
- break;
- case Event_ShowInformation:
- this->subscribe(LibHomeScreen::event_list[6]);
- break;
- case Event_AppListChanged:
- this->subscribe(LibHomeScreen::event_list[7]);
- break;
- }
-
this->handlers[et] = std::move(f);
}
}
/**
+ * This function subscribe HomeScreen event
+ *
+ * #### Parameters
+ * None
+ *
+ * #### Return
+ * - Nothing
+ *
+ * #### Note
+ * To call HomeScreen's subscribe APIs.
+ *
+ */
+void LibHomeScreen::publishSubscription(void)
+{
+ for(auto &it : handlers) {
+ this->subscribe(LibHomeScreen::event_list[it.first - 1]);
+ }
+}
+
+/**
* This function calls the API of HomeScreen via WebSocket
*
* #### Parameters