aboutsummaryrefslogtreecommitdiffstats
path: root/src/homescreen.h
diff options
context:
space:
mode:
authorMarius Vlad <marius.vlad@collabora.com>2020-08-17 12:31:52 +0300
committerMarius Vlad <marius.vlad@collabora.com>2020-08-19 16:13:29 +0300
commit60bc3bb15799c2443bc8074c9cb23317e2784d77 (patch)
treea0b1d9320b70afb3018ae510f7b10e9deb43dbe6 /src/homescreen.h
parent6e68d6a8d6580a73f47494e74b41575b1c8d1c9c (diff)
src: Split hs_instance into its own header file
We need to gain a hold of the clientManager class instance, which this hs_instance acts as a container. Bug-AGL: SPEC-3524 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I3ff67fee1a652e8e85857a32352593ac9a2dcca2
Diffstat (limited to 'src/homescreen.h')
-rw-r--r--src/homescreen.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/homescreen.h b/src/homescreen.h
new file mode 100644
index 0000000..5da365b
--- /dev/null
+++ b/src/homescreen.h
@@ -0,0 +1,25 @@
+#ifndef HOMESCREEN_H
+#define HOMESCREEN_H
+
+#include <memory>
+#include <algorithm>
+#include <unordered_map>
+#include <list>
+
+#include "hs-helper.h"
+#include "hs-clientmanager.h"
+#include "hs-appinfo.h"
+
+struct hs_instance {
+ HS_ClientManager *client_manager; // the connection session manager
+ HS_AppInfo *app_info; // application info
+
+ hs_instance() : client_manager(HS_ClientManager::instance()), app_info(HS_AppInfo::instance()) {}
+ int init(afb_api_t api);
+ void setEventHook(const char *event, const event_hook_func f);
+ void onEvent(afb_api_t api, const char *event, struct json_object *object);
+private:
+ std::unordered_map<std::string, std::list<event_hook_func>> event_hook_list;
+};
+
+#endif