aboutsummaryrefslogtreecommitdiffstats
path: root/include/libhomescreen.hpp
diff options
context:
space:
mode:
authorwang_zhiqiang <wang_zhiqiang@dl.cn.nexty-ele.com>2018-11-14 11:14:04 +0800
committerwang_zhiqiang <wang_zhiqiang@dl.cn.nexty-ele.com>2018-11-21 16:51:10 +0800
commitc0146077906057bf97688a617870228eaad0cf54 (patch)
tree7d7bcc9a8a58c8c1f137be3872b643566c08e78c /include/libhomescreen.hpp
parent43452ff8a759da135525678528c159f1e4e68504 (diff)
homescreen-service: add five verbs. 1.showWindow: instead of tap_shortcut and show onscreen. 2.hideWindow: used when want to hide onscreen. 3.replyShowWindow: used when post onscreen reply information to application. 4.showNotification: used by application who want to display notification on homescreen top area. 5.showInformation: used by application who want to display information on homescreen botton area. homescreen: 1.add fullscreen transfer button. 2.display notification and information. Bug-AGL: SPEC-1931 Change-Id: Ie0753fe0656282b1ff8c04dcef625f2a4154edde Signed-off-by: wang_zhiqiang <wang_zhiqiang@dl.cn.nexty-ele.com>
Diffstat (limited to 'include/libhomescreen.hpp')
-rw-r--r--include/libhomescreen.hpp106
1 files changed, 64 insertions, 42 deletions
diff --git a/include/libhomescreen.hpp b/include/libhomescreen.hpp
index 54662d4..0fed49f 100644
--- a/include/libhomescreen.hpp
+++ b/include/libhomescreen.hpp
@@ -31,65 +31,87 @@ extern "C"
class LibHomeScreen
{
public:
- LibHomeScreen();
- ~LibHomeScreen();
+ LibHomeScreen();
+ ~LibHomeScreen();
- LibHomeScreen(const LibHomeScreen &) = delete;
- LibHomeScreen &operator=(const LibHomeScreen &) = delete;
+ LibHomeScreen(const LibHomeScreen &) = delete;
+ LibHomeScreen &operator=(const LibHomeScreen &) = delete;
- using handler_func = std::function<void(json_object*)>;
+ using handler_func = std::function<void(json_object*)>;
- enum EventType {
- Event_TapShortcut = 1,
- Event_OnScreenMessage,
- Event_OnScreenReply
- };
+ enum EventType {
+ Event_ShowWindow = 1,
+ Event_TapShortcut = 1,
+ Event_OnScreenMessage,
+ Event_OnScreenReply,
+ Event_HideWindow,
+ Event_ReplyShowWindow,
+ Event_ShowNotification,
+ Event_ShowInformation
+ };
- static const std::vector<std::string> api_list;
- static const std::vector<std::string> event_list;
+ /* Key for json obejct */
+ const char *_keyParameter = "parameter";
+ const char *_keyArea = "area";
- /* Method */
- int init(const int port, const std::string& token);
+ /* display area */
+ const char *_areaNormal = "normal";
+ const char *_areaFullScreen = "fullscreen";
+ const char *_areaSplitMain = "split.main";
+ const char *_areaSplitSub = "split.sub";
- int tapShortcut(const char* application_id);
- int onScreenMessage(const char* display_message);
- int onScreenReply(const char* reply_message);
+ static const std::vector<std::string> api_list;
+ static const std::vector<std::string> event_list;
- void set_event_handler(enum EventType et, handler_func f);
+ /* Method */
+ int init(const int port, const std::string& token);
- void registerCallback(
- void (*event_cb)(const std::string& event, struct json_object* event_contents),
- void (*reply_cb)(struct json_object* reply_contents),
- void (*hangup_cb)(void) = nullptr);
+ int tapShortcut(const char* application_id);
+ int onScreenMessage(const char* display_message);
+ int onScreenReply(const char* reply_message);
+
+ void set_event_handler(enum EventType et, handler_func f);
+
+ void registerCallback(
+ void (*event_cb)(const std::string& event, struct json_object* event_contents),
+ void (*reply_cb)(struct json_object* reply_contents),
+ void (*hangup_cb)(void) = nullptr);
+
+ int call(const std::string& verb, struct json_object* arg);
+ int call(const char* verb, struct json_object* arg);
+ int subscribe(const std::string& event_name);
+ int unsubscribe(const std::string& event_name);
+
+ int showWindow(const char* application_id, json_object* json);
+ int hideWindow(const char* application_id);
+ int replyShowWindow(const char* application_id, json_object* json);
+ int showNotification(json_object* json);
+ int showInformation(json_object* json);
- int call(const std::string& verb, struct json_object* arg);
- int call(const char* verb, struct json_object* arg);
- int subscribe(const std::string& event_name);
- int unsubscribe(const std::string& event_name);
private:
- int initialize_websocket();
+ int initialize_websocket();
- void (*onEvent)(const std::string& event, struct json_object* event_contents);
- void (*onReply)(struct json_object* reply);
- void (*onHangup)(void);
+ void (*onEvent)(const std::string& event, struct json_object* event_contents);
+ void (*onReply)(struct json_object* reply);
+ void (*onHangup)(void);
- struct afb_wsj1* sp_websock;
- struct afb_wsj1_itf minterface;
- sd_event* mploop;
- std::string muri;
+ struct afb_wsj1* sp_websock;
+ struct afb_wsj1_itf minterface;
+ sd_event* mploop;
+ std::string muri;
- int mport = 2000;
- std::string mtoken = "hs";
+ int mport = 2000;
+ std::string mtoken = "hs";
- std::map<EventType, handler_func> handlers;
+ std::map<EventType, handler_func> handlers;
public:
- /* Don't use/ Internal only */
- void on_hangup(void *closure, struct afb_wsj1 *wsj);
- void on_call(void *closure, const char *api, const char *verb, struct afb_wsj1_msg *msg);
- void on_event(void *closure, const char *event, struct afb_wsj1_msg *msg);
- void on_reply(void *closure, struct afb_wsj1_msg *msg);
+ /* Don't use/ Internal only */
+ void on_hangup(void *closure, struct afb_wsj1 *wsj);
+ void on_call(void *closure, const char *api, const char *verb, struct afb_wsj1_msg *msg);
+ void on_event(void *closure, const char *event, struct afb_wsj1_msg *msg);
+ void on_reply(void *closure, struct afb_wsj1_msg *msg);
};
#endif /* LIBHOMESCREEN_H */