update doc 39/18139/3 6.99.1 guppy/6.99.1 guppy_6.99.1
authorwang_zhiqiang <wang_zhiqiang@dl.cn.nexty-ele.com>
Wed, 21 Nov 2018 08:32:29 +0000 (16:32 +0800)
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>
Fri, 23 Nov 2018 12:45:14 +0000 (12:45 +0000)
add new sequence and update doxygen files.

Change-Id: I6737939eb2628577d58b2d1d65086e46e7cb14a4
Signed-off-by: wang_zhiqiang <wang_zhiqiang@dl.cn.nexty-ele.com>
282 files changed:
doc/ApplicationGuide.md
doc/api-ref/.keep [deleted file]
doc/api-ref/html/annotated.html
doc/api-ref/html/arrowdown.png [new file with mode: 0644]
doc/api-ref/html/arrowright.png [new file with mode: 0644]
doc/api-ref/html/classes.html
doc/api-ref/html/d0/d1e/homescreen_8c.html [deleted file]
doc/api-ref/html/d0/d1e/homescreen_8c_source.html [deleted file]
doc/api-ref/html/d0/d53/struct_h_s___client_ctxt.html [new file with mode: 0644]
doc/api-ref/html/d0/d8a/libhomescreen_8cpp.html
doc/api-ref/html/d0/d8a/libhomescreen_8cpp_source.html
doc/api-ref/html/d2/d66/include_2hmi-debug_8h.html [new file with mode: 0644]
doc/api-ref/html/d2/d66/include_2hmi-debug_8h_source.html [new file with mode: 0644]
doc/api-ref/html/d2/d8e/class_h_s___client_manager.html [new file with mode: 0644]
doc/api-ref/html/d3/d3d/hs-helper_8h.html
doc/api-ref/html/d3/d3d/hs-helper_8h_source.html
doc/api-ref/html/d4/d10/structdisplay-members.html [new file with mode: 0644]
doc/api-ref/html/d5/d0d/class_h_s___client-members.html [new file with mode: 0644]
doc/api-ref/html/d5/d20/class_h_s___client.html [new file with mode: 0644]
doc/api-ref/html/d5/d56/struct_h_s___client_ctxt-members.html [new file with mode: 0644]
doc/api-ref/html/d6/dda/homescreen_8cpp.html [new file with mode: 0644]
doc/api-ref/html/d6/dda/homescreen_8cpp_source.html [new file with mode: 0644]
doc/api-ref/html/d6/de3/structwindow.html [new file with mode: 0644]
doc/api-ref/html/d6/df5/structdisplay.html [new file with mode: 0644]
doc/api-ref/html/d6/dff/src_2hmi-debug_8h.html [new file with mode: 0644]
doc/api-ref/html/d6/dff/src_2hmi-debug_8h_source.html [new file with mode: 0644]
doc/api-ref/html/d7/df4/class_lib_home_screen-members.html
doc/api-ref/html/d8/d55/hs-client_8cpp.html [new file with mode: 0644]
doc/api-ref/html/d8/d55/hs-client_8cpp_source.html [new file with mode: 0644]
doc/api-ref/html/da/dd3/hs-client_8h.html [new file with mode: 0644]
doc/api-ref/html/da/dd3/hs-client_8h_source.html [new file with mode: 0644]
doc/api-ref/html/db/dcb/structgeometry-members.html [moved from doc/api-ref/html/dd/d86/structevent-members.html with 52% similarity]
doc/api-ref/html/dd/d1d/hs-helper_8c.html [deleted file]
doc/api-ref/html/dd/d1d/hs-helper_8c_source.html [deleted file]
doc/api-ref/html/dd/d30/hs-clientmanager_8cpp.html [new file with mode: 0644]
doc/api-ref/html/dd/d30/hs-clientmanager_8cpp_source.html [new file with mode: 0644]
doc/api-ref/html/dd/dc9/class_h_s___client_manager-members.html [new file with mode: 0644]
doc/api-ref/html/dd/ddc/structgeometry.html [new file with mode: 0644]
doc/api-ref/html/de/da4/simple-egl_8cpp.html [new file with mode: 0644]
doc/api-ref/html/de/da4/simple-egl_8cpp_source.html [new file with mode: 0644]
doc/api-ref/html/de/dca/hs-clientmanager_8h.html [new file with mode: 0644]
doc/api-ref/html/de/dca/hs-clientmanager_8h_source.html [new file with mode: 0644]
doc/api-ref/html/de/dd0/class_lib_home_screen.html
doc/api-ref/html/df/d37/structwindow-members.html [new file with mode: 0644]
doc/api-ref/html/df/d43/libhomescreen_8hpp.html
doc/api-ref/html/df/d43/libhomescreen_8hpp_source.html
doc/api-ref/html/df/d66/hs-helper_8cpp.html [new file with mode: 0644]
doc/api-ref/html/df/d66/hs-helper_8cpp_source.html [new file with mode: 0644]
doc/api-ref/html/df/d76/hmi-debug_8h.html [deleted file]
doc/api-ref/html/df/d76/hmi-debug_8h_source.html [deleted file]
doc/api-ref/html/df/d7d/structevent.html [deleted file]
doc/api-ref/html/df/dac/test_8cpp.html [deleted file]
doc/api-ref/html/df/dac/test_8cpp_source.html [deleted file]
doc/api-ref/html/dir_0f70dc74e67ded1ed6ea12b5a24cac83.html [deleted file]
doc/api-ref/html/dir_65f76d62445e9e84c0450b12bf77c3bc.html
doc/api-ref/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html
doc/api-ref/html/dir_a01af9eb3c502936dfd53c3f8e45721d.html [deleted file]
doc/api-ref/html/dir_d44c64559bbebec7f509842c48db8b23.html
doc/api-ref/html/doxygen.css
doc/api-ref/html/files.html
doc/api-ref/html/functions.html
doc/api-ref/html/functions_enum.html
doc/api-ref/html/functions_eval.html
doc/api-ref/html/functions_func.html
doc/api-ref/html/functions_type.html
doc/api-ref/html/functions_vars.html
doc/api-ref/html/globals.html
doc/api-ref/html/globals_defs.html
doc/api-ref/html/globals_enum.html
doc/api-ref/html/globals_eval.html
doc/api-ref/html/globals_func.html
doc/api-ref/html/globals_type.html
doc/api-ref/html/globals_vars.html
doc/api-ref/html/index.html
doc/api-ref/html/jquery.js
doc/api-ref/html/menu.js [deleted file]
doc/api-ref/html/menudata.js [deleted file]
doc/api-ref/html/search/all_0.html
doc/api-ref/html/search/all_0.js
doc/api-ref/html/search/all_1.html
doc/api-ref/html/search/all_1.js
doc/api-ref/html/search/all_10.html
doc/api-ref/html/search/all_10.js
doc/api-ref/html/search/all_11.html
doc/api-ref/html/search/all_11.js
doc/api-ref/html/search/all_12.html
doc/api-ref/html/search/all_12.js
doc/api-ref/html/search/all_13.html [moved from doc/api-ref/html/search/defines_4.html with 89% similarity]
doc/api-ref/html/search/all_13.js [new file with mode: 0644]
doc/api-ref/html/search/all_14.html [new file with mode: 0644]
doc/api-ref/html/search/all_14.js [new file with mode: 0644]
doc/api-ref/html/search/all_15.html [new file with mode: 0644]
doc/api-ref/html/search/all_15.js [new file with mode: 0644]
doc/api-ref/html/search/all_2.html
doc/api-ref/html/search/all_2.js
doc/api-ref/html/search/all_3.html
doc/api-ref/html/search/all_3.js
doc/api-ref/html/search/all_4.html
doc/api-ref/html/search/all_4.js
doc/api-ref/html/search/all_5.html
doc/api-ref/html/search/all_5.js
doc/api-ref/html/search/all_6.html
doc/api-ref/html/search/all_6.js
doc/api-ref/html/search/all_7.html
doc/api-ref/html/search/all_7.js
doc/api-ref/html/search/all_8.html
doc/api-ref/html/search/all_8.js
doc/api-ref/html/search/all_9.html
doc/api-ref/html/search/all_9.js
doc/api-ref/html/search/all_a.html
doc/api-ref/html/search/all_a.js
doc/api-ref/html/search/all_b.html
doc/api-ref/html/search/all_b.js
doc/api-ref/html/search/all_c.html
doc/api-ref/html/search/all_c.js
doc/api-ref/html/search/all_d.html
doc/api-ref/html/search/all_d.js
doc/api-ref/html/search/all_e.html
doc/api-ref/html/search/all_e.js
doc/api-ref/html/search/all_f.html
doc/api-ref/html/search/all_f.js
doc/api-ref/html/search/classes_0.html
doc/api-ref/html/search/classes_0.js
doc/api-ref/html/search/classes_1.html
doc/api-ref/html/search/classes_1.js
doc/api-ref/html/search/classes_2.html [new file with mode: 0644]
doc/api-ref/html/search/classes_2.js [new file with mode: 0644]
doc/api-ref/html/search/classes_3.html [new file with mode: 0644]
doc/api-ref/html/search/classes_3.js [new file with mode: 0644]
doc/api-ref/html/search/classes_4.html [new file with mode: 0644]
doc/api-ref/html/search/classes_4.js [new file with mode: 0644]
doc/api-ref/html/search/defines_0.html
doc/api-ref/html/search/defines_0.js
doc/api-ref/html/search/defines_1.html
doc/api-ref/html/search/defines_1.js
doc/api-ref/html/search/defines_2.html
doc/api-ref/html/search/defines_2.js
doc/api-ref/html/search/defines_3.html
doc/api-ref/html/search/defines_3.js
doc/api-ref/html/search/defines_4.js [deleted file]
doc/api-ref/html/search/enums_0.html
doc/api-ref/html/search/enums_1.html
doc/api-ref/html/search/enums_1.js
doc/api-ref/html/search/enums_2.html
doc/api-ref/html/search/enumvalues_0.html
doc/api-ref/html/search/enumvalues_0.js
doc/api-ref/html/search/enumvalues_1.html
doc/api-ref/html/search/enumvalues_1.js
doc/api-ref/html/search/enumvalues_2.html
doc/api-ref/html/search/enumvalues_3.html
doc/api-ref/html/search/enumvalues_4.html
doc/api-ref/html/search/files_0.html
doc/api-ref/html/search/files_0.js
doc/api-ref/html/search/files_1.html
doc/api-ref/html/search/files_2.html
doc/api-ref/html/search/files_2.js
doc/api-ref/html/search/functions_0.html
doc/api-ref/html/search/functions_0.js
doc/api-ref/html/search/functions_1.html
doc/api-ref/html/search/functions_1.js
doc/api-ref/html/search/functions_10.html [new file with mode: 0644]
doc/api-ref/html/search/functions_10.js [new file with mode: 0644]
doc/api-ref/html/search/functions_2.html
doc/api-ref/html/search/functions_2.js
doc/api-ref/html/search/functions_3.html
doc/api-ref/html/search/functions_3.js
doc/api-ref/html/search/functions_4.html
doc/api-ref/html/search/functions_4.js
doc/api-ref/html/search/functions_5.html
doc/api-ref/html/search/functions_5.js
doc/api-ref/html/search/functions_6.html
doc/api-ref/html/search/functions_6.js
doc/api-ref/html/search/functions_7.html
doc/api-ref/html/search/functions_7.js
doc/api-ref/html/search/functions_8.html
doc/api-ref/html/search/functions_8.js
doc/api-ref/html/search/functions_9.html
doc/api-ref/html/search/functions_9.js
doc/api-ref/html/search/functions_a.html
doc/api-ref/html/search/functions_a.js
doc/api-ref/html/search/functions_b.html
doc/api-ref/html/search/functions_b.js
doc/api-ref/html/search/functions_c.html
doc/api-ref/html/search/functions_c.js
doc/api-ref/html/search/functions_d.html
doc/api-ref/html/search/functions_d.js
doc/api-ref/html/search/functions_e.html
doc/api-ref/html/search/functions_e.js
doc/api-ref/html/search/functions_f.html [new file with mode: 0644]
doc/api-ref/html/search/functions_f.js [new file with mode: 0644]
doc/api-ref/html/search/search.css
doc/api-ref/html/search/searchdata.js
doc/api-ref/html/search/typedefs_0.html
doc/api-ref/html/search/typedefs_0.js
doc/api-ref/html/search/typedefs_1.html
doc/api-ref/html/search/typedefs_1.js
doc/api-ref/html/search/typedefs_2.html [new file with mode: 0644]
doc/api-ref/html/search/typedefs_2.js [new file with mode: 0644]
doc/api-ref/html/search/typedefs_3.html [new file with mode: 0644]
doc/api-ref/html/search/typedefs_3.js [new file with mode: 0644]
doc/api-ref/html/search/variables_0.html
doc/api-ref/html/search/variables_0.js
doc/api-ref/html/search/variables_1.html
doc/api-ref/html/search/variables_1.js
doc/api-ref/html/search/variables_10.html [new file with mode: 0644]
doc/api-ref/html/search/variables_10.js [new file with mode: 0644]
doc/api-ref/html/search/variables_11.html [new file with mode: 0644]
doc/api-ref/html/search/variables_11.js [new file with mode: 0644]
doc/api-ref/html/search/variables_12.html [new file with mode: 0644]
doc/api-ref/html/search/variables_12.js [new file with mode: 0644]
doc/api-ref/html/search/variables_13.html [new file with mode: 0644]
doc/api-ref/html/search/variables_13.js [new file with mode: 0644]
doc/api-ref/html/search/variables_2.html
doc/api-ref/html/search/variables_2.js
doc/api-ref/html/search/variables_3.html
doc/api-ref/html/search/variables_3.js
doc/api-ref/html/search/variables_4.html
doc/api-ref/html/search/variables_4.js
doc/api-ref/html/search/variables_5.html
doc/api-ref/html/search/variables_5.js
doc/api-ref/html/search/variables_6.html [new file with mode: 0644]
doc/api-ref/html/search/variables_6.js [new file with mode: 0644]
doc/api-ref/html/search/variables_7.html [new file with mode: 0644]
doc/api-ref/html/search/variables_7.js [new file with mode: 0644]
doc/api-ref/html/search/variables_8.html [new file with mode: 0644]
doc/api-ref/html/search/variables_8.js [new file with mode: 0644]
doc/api-ref/html/search/variables_9.html [new file with mode: 0644]
doc/api-ref/html/search/variables_9.js [new file with mode: 0644]
doc/api-ref/html/search/variables_a.html [new file with mode: 0644]
doc/api-ref/html/search/variables_a.js [new file with mode: 0644]
doc/api-ref/html/search/variables_b.html [new file with mode: 0644]
doc/api-ref/html/search/variables_b.js [new file with mode: 0644]
doc/api-ref/html/search/variables_c.html [new file with mode: 0644]
doc/api-ref/html/search/variables_c.js [new file with mode: 0644]
doc/api-ref/html/search/variables_d.html [new file with mode: 0644]
doc/api-ref/html/search/variables_d.js [new file with mode: 0644]
doc/api-ref/html/search/variables_e.html [new file with mode: 0644]
doc/api-ref/html/search/variables_e.js [new file with mode: 0644]
doc/api-ref/html/search/variables_f.html [new file with mode: 0644]
doc/api-ref/html/search/variables_f.js [new file with mode: 0644]
doc/api-ref/html/tabs.css
doc/api-ref/latex/Makefile [new file with mode: 0644]
doc/api-ref/latex/annotated.tex
doc/api-ref/latex/d0/d1e/homescreen_8c.tex [deleted file]
doc/api-ref/latex/d0/d53/struct_h_s___client_ctxt.tex [new file with mode: 0644]
doc/api-ref/latex/d0/d8a/libhomescreen_8cpp.tex
doc/api-ref/latex/d2/d66/include_2hmi-debug_8h.tex [new file with mode: 0644]
doc/api-ref/latex/d2/d8e/class_h_s___client_manager.tex [new file with mode: 0644]
doc/api-ref/latex/d3/d3d/hs-helper_8h.tex
doc/api-ref/latex/d5/d20/class_h_s___client.tex [new file with mode: 0644]
doc/api-ref/latex/d6/dda/homescreen_8cpp.tex [new file with mode: 0644]
doc/api-ref/latex/d6/de3/structwindow.tex [new file with mode: 0644]
doc/api-ref/latex/d6/df5/structdisplay.tex [new file with mode: 0644]
doc/api-ref/latex/d6/dff/src_2hmi-debug_8h.tex [new file with mode: 0644]
doc/api-ref/latex/d8/d55/hs-client_8cpp.tex [new file with mode: 0644]
doc/api-ref/latex/da/dd3/hs-client_8h.tex [new file with mode: 0644]
doc/api-ref/latex/dd/d1d/hs-helper_8c.tex [deleted file]
doc/api-ref/latex/dd/d30/hs-clientmanager_8cpp.tex [new file with mode: 0644]
doc/api-ref/latex/dd/ddc/structgeometry.tex [new file with mode: 0644]
doc/api-ref/latex/de/da4/simple-egl_8cpp.tex [new file with mode: 0644]
doc/api-ref/latex/de/dca/hs-clientmanager_8h.tex [new file with mode: 0644]
doc/api-ref/latex/de/dd0/class_lib_home_screen.tex
doc/api-ref/latex/df/d43/libhomescreen_8hpp.tex
doc/api-ref/latex/df/d66/hs-helper_8cpp.tex [new file with mode: 0644]
doc/api-ref/latex/df/d76/hmi-debug_8h.tex [deleted file]
doc/api-ref/latex/df/d7d/structevent.tex [deleted file]
doc/api-ref/latex/df/dac/test_8cpp.tex [deleted file]
doc/api-ref/latex/dir_0f70dc74e67ded1ed6ea12b5a24cac83.tex [deleted file]
doc/api-ref/latex/dir_65f76d62445e9e84c0450b12bf77c3bc.tex
doc/api-ref/latex/dir_68267d1309a1af8e8297ef4c3efbcdba.tex
doc/api-ref/latex/dir_a01af9eb3c502936dfd53c3f8e45721d.tex [deleted file]
doc/api-ref/latex/dir_d44c64559bbebec7f509842c48db8b23.tex
doc/api-ref/latex/doxygen.sty
doc/api-ref/latex/files.tex
doc/api-ref/latex/refman.tex
doc/parts/initialize-registercallback.svg [deleted file]
doc/parts/initialize-set-event-handler.svg
doc/parts/initialize.svg [deleted file]
doc/parts/showInformation.svg [new file with mode: 0644]
doc/parts/showNotification.svg [new file with mode: 0644]
doc/parts/showOnScreen.svg [new file with mode: 0644]
doc/parts/showWindow.svg [new file with mode: 0644]

index dd3f1f0..9c5c409 100644 (file)
@@ -3,7 +3,7 @@
 <div align="right">Revision: 0.1</div>
 <div align="right">TOYOTA MOTOR CORPORATION</div>
 <div align="right">Advanced Driver Information Technology</div>
 <div align="right">Revision: 0.1</div>
 <div align="right">TOYOTA MOTOR CORPORATION</div>
 <div align="right">Advanced Driver Information Technology</div>
-<div align="right">26th/Sep/2017</div>
+<div align="right">21th/Nov/2018</div>
 
 * * *
 
 
 * * *
 
 - [Software Architecture](#Software\ Architecture)
 - [API reference](#API\ reference)
 - [Sequence](#Sequence)
 - [Software Architecture](#Software\ Architecture)
 - [API reference](#API\ reference)
 - [Sequence](#Sequence)
-       - [Initialize](#InitializeSequence)
-       - [Tap Shortcut](#TapShortcutSequence)
-       - [On Screen Message / Reply Sequence](#OnScreenMessageSequence)
+       - [Initialize](###Initialize\ Sequence)
+       - [Tap Shortcut(deprecated)](###Tap\ Shortcut\ Sequence)
+    - [ShowWindow](###ShowWindow\ Sequence)
+       - [On Screen Message / Reply Sequence(deprecated)](###On\ Screen\ Message\ /\ Reply\ Sequence)
+    - [ShowOnscreen](###ShowOnscreen\ Sequence)
+    - [ShowNotification](###ShowNotification\ Sequence)
+    - [ShowInformation](###ShowInformation\ Sequence)
 - [Sample code](#Sample\ code)
 - [Limitation](#Limitation)
 - [Next Plan](#Next\ Plan)
 - [Sample code](#Sample\ code)
 - [Limitation](#Limitation)
 - [Next Plan](#Next\ Plan)
+- [Appendix](#Appendix)
 
 * * *
 
 
 * * *
 
@@ -45,12 +50,16 @@ HomeScreen can start/switch applications run in AGL, also displays information s
 
 You can find these projects in AGL gerrit.
 
 
 You can find these projects in AGL gerrit.
 
-homescreen-2017(HomeScreenGUI):
-    https://gerrit.automotivelinux.org/gerrit/#/admin/projects/staging/homescreen-2017
-agl-service-homescreen-2017(HomeScreenBinder's binding library):
-    https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/agl-service-homescreen-2017
+homescreen(HomeScreenGUI):
+    https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/homescreen
+launcher(LauncherGUI)
+    https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/launcher
+agl-service-homescreen(HomeScreenBinder's binding library):
+    https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/agl-service-homescreen
 libhomescreen(library for application to communication with HomeScreenBinder):
     https://gerrit.automotivelinux.org/gerrit/#/admin/projects/src/libhomescreen
 libhomescreen(library for application to communication with HomeScreenBinder):
     https://gerrit.automotivelinux.org/gerrit/#/admin/projects/src/libhomescreen
+libqthomescreen(library for qt application to communication with HomeScreenBinder based on libhomescreen)
+    https://gerrit.automotivelinux.org/gerrit/#/admin/projects/src/libqthomescreen
 
 Also HomeScreenGUI is using libwindowmanager.
 
 
 Also HomeScreenGUI is using libwindowmanager.
 
@@ -84,12 +93,16 @@ $ repo sync
 
 Then you can find the following recipes.
 
 
 Then you can find the following recipes.
 
-* `meta-agl-devel/meta-hmi-framework/homescreen-2017`
+* `meta-agl-demo/recipes-demo-hmi/homescreen`
 
 
-* `meta-agl-devel/meta-hmi-framework/agl-service-homescreen-2017`
+* `meta-agl-devel/meta-hmi-framework/recipes-demo-hmi/launcher`
+
+* `meta-agl-demo/recipes-demo-hmi/agl-service-homescreen`
 
 * `meta-agl-demo/recipes-demo-hmi/libhomescreen`
 
 
 * `meta-agl-demo/recipes-demo-hmi/libhomescreen`
 
+* `meta-agl-devel/meta-hmi-framework/recipes-demo-hmi/qlibhomescreen`
+
 
 **Bitbake**
 
 
 **Bitbake**
 
@@ -109,6 +122,7 @@ To use HomeScreen API, an application shall paste the following configuration de
 ```
 <feature name="urn:AGL:widget:required-api">
        <param name="homescreen" value="ws" />
 ```
 <feature name="urn:AGL:widget:required-api">
        <param name="homescreen" value="ws" />
+    <param name="windowmanager" value="ws" />
 </feature>
 ```
 
 </feature>
 ```
 
@@ -119,7 +133,7 @@ To use HomeScreen API, an application shall paste the following configuration de
 ### How to call HomeScreen APIs from your Application?
 HomeScreen provides a library which is called "libhomescreen".
 This library treats "json format" as API calling.
 ### How to call HomeScreen APIs from your Application?
 HomeScreen provides a library which is called "libhomescreen".
 This library treats "json format" as API calling.
-For example, if an application wants to call "tap_shortcut()" API, the you should implement as below.
+For example, if an application wants to call "showWIndow()" API, the you should implement as below.
 
 At first the application should create the instance of libhomescreen.
 
 
 At first the application should create the instance of libhomescreen.
 
@@ -131,16 +145,16 @@ libhs->init(port, token);
 
 The port and token is provided by Application Framework
 
 
 The port and token is provided by Application Framework
 
-Execute the "tapShortcut()" function.
+Execute the "showWindow()" function.
 
 ```
 
 ```
-libhs->tapShortcut("application_id");
+libhs->showWindow("application_id", "display_area");
 ```
 
 ```
 
-Regarding the detail of tap_shortcut() API, please refer [this](#HomeScreen\ API) section.
-The first parameter is the name of API, so in this case "tap_shortcut" is proper string.
-And the second parameter corresponds to arguments of "connect()" API.
-
+Regarding the detail of showWindow() API, please refer [this](#HomeScreen\ API) section.
+The first parameter is the appid of application which want to display,liked "dashboard".
+And the second parameter corresponds to display_area which defined by windowmanager,usually "normal",
+so in this case "showWindow" the two parameters are proper string.
 
 See also our [Sample code](#Sample\ code).
 
 
 See also our [Sample code](#Sample\ code).
 
@@ -152,15 +166,29 @@ See also our [Sample code](#Sample\ code).
 <div id="Supported\ usecase"></div>
 
 ## Supported usecase
 <div id="Supported\ usecase"></div>
 
 ## Supported usecase
-1. HomeScreenGUI sending ShortCut Icon tapped event to applications
-       - Applications using libhomescreen to subscribe the tapShortcut event,
-        HomeScreenGUI will send ShortCut Icon tapped event to applications.
-2. Display OnScreen messages
+1. HomeScreenGUI sending showWindow event to applications
+       - Applications using libhomescreen to subscribe the showWindow event,
+        HomeScreenGUI will send showWindow event to applications.
+2. Display OnScreen messages(deprecated)
        - Applications sending OnScreen messages to homescreen-service, and OnScreenAPP
         will get these message and display.
        - Applications sending OnScreen messages to homescreen-service, and OnScreenAPP
         will get these message and display.
-3. Get OnSreen Reply event
+3. Get OnSreen Reply event(deprecated)
        - When OnScreen messages is displaying, OnScreenAPP will send a reply event to applications.
        - When OnScreen messages is displaying, OnScreenAPP will send a reply event to applications.
-
+4. Display OnScreen by showWindow
+    - When application who want to show OnScreen,it can call "showWindow",then OnScreenApp will
+        display request OnScreen.
+5. Hide OnScreen by hideWindow
+    - When application who want to hide OnScreen which is displaying,it can call "hideWindow",then OnScreenApp
+        will hide OnScreen.
+6. Send OnScreen Reply by replyShowWindow
+    - When user touch the button of OnScreen, OnScreenApp can call "relplyShowWindow" to send reply information
+        back to application.
+7. Show Notification on HomeScreenGUI
+    - When application who want to display a notification,it can call "showNotification",then HomeScreenGUI will
+        display the notification contents on the screen top area.
+8. Show Information on HomeScreenGUI
+    - When application who want to display a information,it can call "showInformation",then HomeScreenGUI will
+        display the information contents on the screen bottom area.
 * * *
 
 <div id="Software\ Architecture"></div>
 * * *
 
 <div id="Software\ Architecture"></div>
@@ -182,7 +210,7 @@ The communication protocols between libhomescreen and upper binder, upper binder
 <div id="API%20reference"></div>
 
 ## API reference
 <div id="API%20reference"></div>
 
 ## API reference
-"libhomescreen" and "agl-service-homescreen-2017" provides several kinds of APIs.
+"libhomescreen" and "agl-service-homescreen" provides several kinds of APIs.
 
 <div id="Home\ Screen\ Specific\ API"></div>
 
 
 <div id="Home\ Screen\ Specific\ API"></div>
 
@@ -190,7 +218,7 @@ The communication protocols between libhomescreen and upper binder, upper binder
 
 - [LibHomeScreen ()](api-ref/html/de/dd0/class_lib_home_screen.html#a724bd949c4154fad041f96a15ef0f5dc)
 - [init (const int port, const std::string &token)](api-ref/html/de/dd0/class_lib_home_screen.html#a6a57b573cc767725762ba9beab032220)
 
 - [LibHomeScreen ()](api-ref/html/de/dd0/class_lib_home_screen.html#a724bd949c4154fad041f96a15ef0f5dc)
 - [init (const int port, const std::string &token)](api-ref/html/de/dd0/class_lib_home_screen.html#a6a57b573cc767725762ba9beab032220)
-- [tapShortcut(const char *application_id)](api-ref/html/de/dd0/class_lib_home_screen.html#afb571c9577087b47065eb23e7fdbc903)
+- [tapShortcut(const char *application_id)](api-ref/html/de/dd0/class_lib_home_screen.html#a6ca8ff4a2aa019a735afaff713e0ef44)
 - [onScreenMessage(const char *display_message)](api-ref/html/de/dd0/class_lib_home_screen.html#ac336482036a72b51a822725f1929523c)
 - [onScreenReply(const char *reply_message)](api-ref/html/de/dd0/class_lib_home_screen.html#a6c065f41f2c5d1f58d2763bfb4da9c37)
 - [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)](api-ref/html/de/dd0/class_lib_home_screen.html#a2789e8a5372202cc36f48e71dbb9b7cf)
 - [onScreenMessage(const char *display_message)](api-ref/html/de/dd0/class_lib_home_screen.html#ac336482036a72b51a822725f1929523c)
 - [onScreenReply(const char *reply_message)](api-ref/html/de/dd0/class_lib_home_screen.html#a6c065f41f2c5d1f58d2763bfb4da9c37)
 - [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)](api-ref/html/de/dd0/class_lib_home_screen.html#a2789e8a5372202cc36f48e71dbb9b7cf)
@@ -199,6 +227,12 @@ The communication protocols between libhomescreen and upper binder, upper binder
 - [call (const char* verb, struct json_object* arg)](api-ref/html/de/dd0/class_lib_home_screen.html#ab5e8e8ab7d53e0f114e9e907fcbb7643)
 - [subscribe (const string& event_name)](api-ref/html/de/dd0/class_lib_home_screen.html#aa4c189807b75d070f567967f0d690738)
 - [unsubscribe (const string& event_name)](api-ref/html/de/dd0/class_lib_home_screen.html#aac03a45cbd453ba69ddb00c1016930a6)
 - [call (const char* verb, struct json_object* arg)](api-ref/html/de/dd0/class_lib_home_screen.html#ab5e8e8ab7d53e0f114e9e907fcbb7643)
 - [subscribe (const string& event_name)](api-ref/html/de/dd0/class_lib_home_screen.html#aa4c189807b75d070f567967f0d690738)
 - [unsubscribe (const string& event_name)](api-ref/html/de/dd0/class_lib_home_screen.html#aac03a45cbd453ba69ddb00c1016930a6)
+- [showWindow (const char* application_id, json_object* json)](api-ref/html/de/dd0/class_lib_home_screen.html#a69fc770cb3f94d30a10c2c8c81eb892f)
+- [hideWindow (const char* application_id)](api-ref/html/de/dd0/class_lib_home_screen.html#a4dbaea6c7b310e8ce7207155ff11b32a)
+- [replyShowWindow (const char* application_id, json_object* json)](api-ref/html/de/dd0/class_lib_home_screen.html#a6310b129fc85ef0623e2e2063950cc4b)
+- [showNotification (json_object* json)](api-ref/html/de/dd0/class_lib_home_screen.html#a93ad567ed597a80a344ba82457c2bd7f)
+- [showInformation (json_object* json)](api-ref/html/de/dd0/class_lib_home_screen.html#ada999aeb0444c964428bdf1ee236727f)
+
 
 * * *
 
 
 * * *
 
@@ -209,7 +243,6 @@ The communication protocols between libhomescreen and upper binder, upper binder
 <div id="InitializeSequence"></div>
 
 ### Initialize Sequence
 <div id="InitializeSequence"></div>
 
 ### Initialize Sequence
-![initialize-registercallback.svg](parts/initialize-registercallback.svg) * deprecated
 ![initialize-set-event-handler](parts/initialize-set-event-handler.svg)
 
 <div id="TapShortcutSequence"></div>
 ![initialize-set-event-handler](parts/initialize-set-event-handler.svg)
 
 <div id="TapShortcutSequence"></div>
@@ -217,11 +250,31 @@ The communication protocols between libhomescreen and upper binder, upper binder
 ### Tap Shortcut Sequence
 ![tap_shortcut.svg](parts/tap_shortcut.svg)
 
 ### Tap Shortcut Sequence
 ![tap_shortcut.svg](parts/tap_shortcut.svg)
 
+<div id="ShowWindowSequence"></div>
+
+### ShowWindow Sequence
+![showWindow.svg](parts/showWindow.svg)
+
 <div id="OnScreenMessageSequence"></div>
 
 ### On Screen Message / Reply Sequence
 ![on_screen_message.svg](parts/on_screen_message.svg)
 
 <div id="OnScreenMessageSequence"></div>
 
 ### On Screen Message / Reply Sequence
 ![on_screen_message.svg](parts/on_screen_message.svg)
 
+<div id="ShowOnscreenSequence"></div>
+
+### ShowOnScreen Sequence
+![showOnScreen.svg](parts/showOnScreen.svg)
+
+<div id="ShowNotificationSequence"></div>
+
+### ShowNotification Sequence
+![showNotification.svg](parts/showNotification.svg)
+
+<div id="ShowInformationSequence"></div>
+
+### ShowInformation Sequence
+![showInformation.svg](parts/showInformation.svg)
+
 
 <div id="Sample\ code"></div>
 
 
 <div id="Sample\ code"></div>
 
@@ -232,43 +285,31 @@ You can find sample implementation of HomeScreen as below.
 
 * `libhomescreen/sample/template`
 
 
 * `libhomescreen/sample/template`
 
-### Appendix
+# Limitation
+Now OnScreenApp is developing,approximately it will finished at GG.
 
 
-```
-@startuml
-title Application initialization phase (ex. registerCallback)
-entity App
-entity HomeScreenBinder
-entity HomeScreenGUI
-App->HomeScreenBinder: init(port, token)
-App->HomeScreenBinder: subscribe()
+# Next Plan
+None.
 
 
-note over HomeScreenBinder
-    Register the event the App wishes to receive
-    ・tap_shortcut
-    ・on_screen_message
-    ・on_screen_reply
-end note
-
-App->HomeScreenBinder: registerCallback()
-
-@enduml
-```
+# Appendix
 
 ```
 @startuml
 
 ```
 @startuml
-title Application initialization phase (ex. set_event_handler)
+
+title Application initialization phase
+
 entity App
 entity HomeScreenBinder
 entity HomeScreenGUI
 entity App
 entity HomeScreenBinder
 entity HomeScreenGUI
+
 App->HomeScreenBinder: init(port, token)
 App->HomeScreenBinder: set_event_handler()
 
 note over HomeScreenBinder
     setup event handler the App wishes to receive
 App->HomeScreenBinder: init(port, token)
 App->HomeScreenBinder: set_event_handler()
 
 note over HomeScreenBinder
     setup event handler the App wishes to receive
-    ・LibHomeScreen::Event_TapShortcut
-    ・LibHomeScreen::Event_OnScreenMessage
-    ・LibHomeScreen::Event_OnScreenReply
+    ・LibHomeScreen::Event_ShowWindow
+    ・LibHomeScreen::Event_HideWindow
+    ・LibHomeScreen::Event_ReplyShowWindow
 end note
 
 @enduml
 end note
 
 @enduml
@@ -291,6 +332,30 @@ HomeScreenBinder->App: event_handler(application_id)
 @enduml
 ```
 
 @enduml
 ```
 
+```
+@startuml
+
+title Application callback event showWindow phase
+
+actor user
+entity "homescreen-service" as hss
+entity launcher
+entity App
+entity windowmanager as wm
+
+user-->launcher: tap app's icon
+launcher->hss: showWindow()
+note over hss,App
+{"application_id":"tapped application id", "parameter":{"area":"display area", ...}}
+end note
+hss->App: push showWindow event
+App->wm: activateWindow("application_name","display area")
+wm-->App: push syncDraw event
+App->App: display
+
+@enduml
+```
+
 ```
 @startuml
 title Application Callback Event On Screen Message / Reply phase
 ```
 @startuml
 title Application Callback Event On Screen Message / Reply phase
@@ -317,3 +382,109 @@ HomeScreenGUI->HomeScreenBinder: onScreenReply(reply_message)
 HomeScreenBinder->App: event_handler(reply_message)
 @enduml
 ```
 HomeScreenBinder->App: event_handler(reply_message)
 @enduml
 ```
+
+```
+@startuml
+
+title show/hide onscreen phase
+
+actor user
+entity "homescreen-service" as hss
+entity App
+entity onscreenapp
+entity windowmanager as wm
+
+== show onscreen ==
+user->App: the operation request onscreen
+App->hss: showWindow()
+note over App,hss
+{"application_id":"onscreenapp", 
+"parameter":{"area":"display area", "file":"qml file path", 
+"data":{"the datas to onscreen qml"}}}
+end note
+
+hss->onscreenapp: push showWindow event
+note over hss,onscreenapp
+{"application_id":"onscreenapp", 
+"parameter":{"area":"display area", "file":"qml file path", 
+"data":{"the datas to onscreen qml"},
+<font color=red >"replyto":"caller application id"
+}}
+end note
+
+onscreenapp->onscreenapp: get and save parameters
+onscreenapp->wm: activateWindow("onscreeapp", "display area")
+alt can show
+wm-->onscreenapp: push syncDraw event
+onscreenapp->wm: endDraw("onscreeapp")
+onscreenapp->onscreenapp: load and display qml file
+else can't show
+note over onscreenapp,wm
+do nothing
+end note
+end
+
+== hide onscreen ==
+
+user->onscreenapp: tap onscreen's button
+onscreenapp->hss: replyShowWindow()
+note over onscreenapp,hss
+{"application_id":"the application id who called onscreenapp", 
+"parameter": {"buttonName": "VOLUME_UP", "buttonPressMode": "shortPress", "buttonPressState": "release"}}
+end note
+hss->App: push replyShowWindow event
+App->App: call reply function
+App->hss: hideWindow("onscreenapp")
+hss->onscreenapp: push hideWindow event
+note over hss,onscreenapp
+{"application_id":"request hideWindow application id"}
+end note
+onscreenapp->wm: deactivateWindow("onscreenapp");
+onscreenapp->onscreenapp: hide window
+
+@enduml
+```
+
+```
+@startuml
+
+title show notification on HomeScreen top area
+
+entity "homescreen-service" as hss
+entity homescreen
+entity App
+
+App->hss: showNotification()
+note over App,hss
+{"icon":"display icon", "text":"display text"}
+end note
+hss-> homescreen: push showNotification event
+note over hss,homescreen
+{"application_id":"request application id", 
+"parameter":{"icon":"display icon", "text":"display text"}}
+end note
+
+homescreen->homescreen: display notification message 3s
+
+@enduml
+```
+
+```
+@startuml
+
+title show information on HomeScreen bottom area
+
+entity "homescreen-service" as hss
+entity homescreen
+entity App
+
+App->hss: showInformation()
+note over hss
+{"info":"display information"}
+end note
+hss-> homescreen: push showInformation event
+
+homescreen->homescreen: display information message 3s
+
+@enduml
+```
\ No newline at end of file
diff --git a/doc/api-ref/.keep b/doc/api-ref/.keep
deleted file mode 100644 (file)
index e69de29..0000000
index 8e5887a..2a2bb7e 100644 (file)
@@ -3,8 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <title>HomeScreenBinding: Class List</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="jquery.js"></script>
 <title>HomeScreenBinding: Class List</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="jquery.js"></script>
@@ -12,6 +11,9 @@
 <link href="search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="search/searchdata.js"></script>
 <script type="text/javascript" src="search/search.js"></script>
 <link href="search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="search/searchdata.js"></script>
 <script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
 <link href="doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
 <link href="doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
 </table>
 </div>
 <!-- end header part -->
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.11 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </script>
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-$(function() {
-  initMenu('',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-</script>
-<div id="main-nav"></div>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
 </div><!-- top -->
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
 </div><!-- top -->
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
@@ -64,8 +87,13 @@ $(function() {
 <div class="contents">
 <div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</div><div class="directory">
 <table class="directory">
 <div class="contents">
 <div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</div><div class="directory">
 <table class="directory">
-<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="df/d7d/structevent.html" target="_self">event</a></td><td class="desc"></td></tr>
-<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="de/dd0/class_lib_home_screen.html" target="_self">LibHomeScreen</a></td><td class="desc"></td></tr>
+<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d6/df5/structdisplay.html" target="_self">display</a></td><td class="desc"></td></tr>
+<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dd/ddc/structgeometry.html" target="_self">geometry</a></td><td class="desc"></td></tr>
+<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d5/d20/class_h_s___client.html" target="_self">HS_Client</a></td><td class="desc"></td></tr>
+<tr id="row_3_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d0/d53/struct_h_s___client_ctxt.html" target="_self">HS_ClientCtxt</a></td><td class="desc"></td></tr>
+<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d2/d8e/class_h_s___client_manager.html" target="_self">HS_ClientManager</a></td><td class="desc"></td></tr>
+<tr id="row_5_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="de/dd0/class_lib_home_screen.html" target="_self">LibHomeScreen</a></td><td class="desc"></td></tr>
+<tr id="row_6_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d6/de3/structwindow.html" target="_self">window</a></td><td class="desc"></td></tr>
 </table>
 </div><!-- directory -->
 </div><!-- contents -->
 </table>
 </div><!-- directory -->
 </div><!-- contents -->
@@ -73,7 +101,7 @@ $(function() {
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.13
+</a> 1.8.11
 </small></address>
 </body>
 </html>
 </small></address>
 </body>
 </html>
diff --git a/doc/api-ref/html/arrowdown.png b/doc/api-ref/html/arrowdown.png
new file mode 100644 (file)
index 0000000..0b63f6d
Binary files /dev/null and b/doc/api-ref/html/arrowdown.png differ
diff --git a/doc/api-ref/html/arrowright.png b/doc/api-ref/html/arrowright.png
new file mode 100644 (file)
index 0000000..c6ee22f
Binary files /dev/null and b/doc/api-ref/html/arrowright.png differ
index 1d0c8c0..b0d4141 100644 (file)
@@ -3,8 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <title>HomeScreenBinding: Class Index</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="jquery.js"></script>
 <title>HomeScreenBinding: Class Index</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="jquery.js"></script>
@@ -12,6 +11,9 @@
 <link href="search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="search/searchdata.js"></script>
 <script type="text/javascript" src="search/search.js"></script>
 <link href="search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="search/searchdata.js"></script>
 <script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
 <link href="doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
 <link href="doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
 </table>
 </div>
 <!-- end header part -->
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.11 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </script>
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-$(function() {
-  initMenu('',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-</script>
-<div id="main-nav"></div>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li class="current"><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
 </div><!-- top -->
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
 </div><!-- top -->
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
@@ -62,22 +85,28 @@ $(function() {
 <div class="title">Class Index</div>  </div>
 </div><!--header-->
 <div class="contents">
 <div class="title">Class Index</div>  </div>
 </div><!--header-->
 <div class="contents">
-<div class="qindex"><a class="qindex" href="#letter_e">e</a>&#160;|&#160;<a class="qindex" href="#letter_l">l</a></div>
+<div class="qindex"><a class="qindex" href="#letter_D">D</a>&#160;|&#160;<a class="qindex" href="#letter_G">G</a>&#160;|&#160;<a class="qindex" href="#letter_H">H</a>&#160;|&#160;<a class="qindex" href="#letter_L">L</a>&#160;|&#160;<a class="qindex" href="#letter_W">W</a></div>
 <table class="classindex">
 <table class="classindex">
-<tr><td rowspan="2" valign="bottom"><a name="letter_e"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;e&#160;&#160;</div></td></tr></table>
-</td><td rowspan="2" valign="bottom"><a name="letter_l"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;l&#160;&#160;</div></td></tr></table>
+<tr><td rowspan="2" valign="bottom"><a name="letter_H"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;H&#160;&#160;</div></td></tr></table>
+</td><td valign="top"><a class="el" href="d2/d8e/class_h_s___client_manager.html">HS_ClientManager</a>&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_d"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;d&#160;&#160;</div></td></tr></table>
+</td><td rowspan="2" valign="bottom"><a name="letter_w"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;w&#160;&#160;</div></td></tr></table>
+</td></tr>
+<tr><td rowspan="2" valign="bottom"><a name="letter_L"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;L&#160;&#160;</div></td></tr></table>
+</td></tr>
+<tr><td valign="top"><a class="el" href="d5/d20/class_h_s___client.html">HS_Client</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d6/df5/structdisplay.html">display</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d6/de3/structwindow.html">window</a>&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="d0/d53/struct_h_s___client_ctxt.html">HS_ClientCtxt</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="de/dd0/class_lib_home_screen.html">LibHomeScreen</a>&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_g"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;g&#160;&#160;</div></td></tr></table>
 </td><td></td></tr>
 </td><td></td></tr>
-<tr><td></td></tr>
-<tr><td valign="top"><a class="el" href="df/d7d/structevent.html">event</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="de/dd0/class_lib_home_screen.html">LibHomeScreen</a>&#160;&#160;&#160;</td><td></td></tr>
 <tr><td></td><td></td><td></td></tr>
 <tr><td></td><td></td><td></td></tr>
+<tr><td></td><td></td><td valign="top"><a class="el" href="dd/ddc/structgeometry.html">geometry</a>&#160;&#160;&#160;</td><td></td></tr>
+<tr><td></td><td></td><td></td><td></td></tr>
 </table>
 </table>
-<div class="qindex"><a class="qindex" href="#letter_e">e</a>&#160;|&#160;<a class="qindex" href="#letter_l">l</a></div>
+<div class="qindex"><a class="qindex" href="#letter_D">D</a>&#160;|&#160;<a class="qindex" href="#letter_G">G</a>&#160;|&#160;<a class="qindex" href="#letter_H">H</a>&#160;|&#160;<a class="qindex" href="#letter_L">L</a>&#160;|&#160;<a class="qindex" href="#letter_W">W</a></div>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.13
+</a> 1.8.11
 </small></address>
 </body>
 </html>
 </small></address>
 </body>
 </html>
diff --git a/doc/api-ref/html/d0/d1e/homescreen_8c.html b/doc/api-ref/html/d0/d1e/homescreen_8c.html
deleted file mode 100644 (file)
index 2ea52e3..0000000
+++ /dev/null
@@ -1,832 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>HomeScreenBinding: src/homescreen.c File Reference</title>
-<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="../../jquery.js"></script>
-<script type="text/javascript" src="../../dynsections.js"></script>
-<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="../../search/searchdata.js"></script>
-<script type="text/javascript" src="../../search/search.js"></script>
-<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td id="projectalign" style="padding-left: 0.5em;">
-   <div id="projectname">HomeScreenBinding
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
-</script>
-<script type="text/javascript" src="../../menudata.js"></script>
-<script type="text/javascript" src="../../menu.js"></script>
-<script type="text/javascript">
-$(function() {
-  initMenu('../../',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-</script>
-<div id="main-nav"></div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-</div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="../../dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#nested-classes">Classes</a> &#124;
-<a href="#define-members">Macros</a> &#124;
-<a href="#func-members">Functions</a> &#124;
-<a href="#var-members">Variables</a>  </div>
-  <div class="headertitle">
-<div class="title">homescreen.c File Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><code>#include &lt;afb/afb-binding.h&gt;</code><br />
-<code>#include &lt;stdio.h&gt;</code><br />
-<code>#include &lt;string.h&gt;</code><br />
-<code>#include &lt;stdlib.h&gt;</code><br />
-<code>#include &lt;stdint.h&gt;</code><br />
-<code>#include &lt;unistd.h&gt;</code><br />
-<code>#include &lt;json-c/json.h&gt;</code><br />
-<code>#include &lt;glib.h&gt;</code><br />
-<code>#include &lt;pthread.h&gt;</code><br />
-<code>#include &quot;<a class="el" href="../../d3/d3d/hs-helper_8h_source.html">hs-helper.h</a>&quot;</code><br />
-</div>
-<p><a href="../../d0/d1e/homescreen_8c_source.html">Go to the source code of this file.</a></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
-Classes</h2></td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d7d/structevent.html">event</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
-Macros</h2></td></tr>
-<tr class="memitem:a369266c24eacffb87046522897a570d5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d1e/homescreen_8c.html#a369266c24eacffb87046522897a570d5">_GNU_SOURCE</a></td></tr>
-<tr class="separator:a369266c24eacffb87046522897a570d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad2c1fbc92ba364fcf83f15e6d0af66f0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d1e/homescreen_8c.html#ad2c1fbc92ba364fcf83f15e6d0af66f0">AFB_BINDING_VERSION</a>&#160;&#160;&#160;2</td></tr>
-<tr class="separator:ad2c1fbc92ba364fcf83f15e6d0af66f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a09f43d9e7e1c5d2198c0d66024b4500e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d1e/homescreen_8c.html#a09f43d9e7e1c5d2198c0d66024b4500e">COMMAND_EVENT_NUM</a>&#160;&#160;&#160;4</td></tr>
-<tr class="separator:a09f43d9e7e1c5d2198c0d66024b4500e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9a68ed04201d9390bb85b2c6ab1d7250"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d1e/homescreen_8c.html#a9a68ed04201d9390bb85b2c6ab1d7250">EVENT_SUBSCRIBE_ERROR_CODE</a>&#160;&#160;&#160;100</td></tr>
-<tr class="separator:a9a68ed04201d9390bb85b2c6ab1d7250"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:af48cab759d4ae0ddbfcdd60f4051ba05"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d1e/homescreen_8c.html#af48cab759d4ae0ddbfcdd60f4051ba05">pingSample</a> (struct afb_req request)</td></tr>
-<tr class="separator:af48cab759d4ae0ddbfcdd60f4051ba05"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a096eae5c8f297f9df142a406eea56227"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d1e/homescreen_8c.html#a096eae5c8f297f9df142a406eea56227">tap_shortcut</a> (struct afb_req request)</td></tr>
-<tr class="separator:a096eae5c8f297f9df142a406eea56227"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a640cf8ed97d804c5ed1c09a349056338"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d1e/homescreen_8c.html#a640cf8ed97d804c5ed1c09a349056338">on_screen_message</a> (struct afb_req request)</td></tr>
-<tr class="separator:a640cf8ed97d804c5ed1c09a349056338"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2f380055d7d69828115d2a8951634933"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d1e/homescreen_8c.html#a2f380055d7d69828115d2a8951634933">on_screen_reply</a> (struct afb_req request)</td></tr>
-<tr class="separator:a2f380055d7d69828115d2a8951634933"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4ff0c8b506669e5622a6ee168134d8f1"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d1e/homescreen_8c.html#a4ff0c8b506669e5622a6ee168134d8f1">subscribe</a> (struct afb_req request)</td></tr>
-<tr class="separator:a4ff0c8b506669e5622a6ee168134d8f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab92621255d7370c6dd8a0f1a8e376ad3"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d1e/homescreen_8c.html#ab92621255d7370c6dd8a0f1a8e376ad3">unsubscribe</a> (struct afb_req request)</td></tr>
-<tr class="separator:ab92621255d7370c6dd8a0f1a8e376ad3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a83d646edf54a6a082f69121bc89a08de"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d1e/homescreen_8c.html#a83d646edf54a6a082f69121bc89a08de">preinit</a> ()</td></tr>
-<tr class="separator:a83d646edf54a6a082f69121bc89a08de"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a00cbbc0f3f4452db078ae511684a6adc"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d1e/homescreen_8c.html#a00cbbc0f3f4452db078ae511684a6adc">init</a> ()</td></tr>
-<tr class="separator:a00cbbc0f3f4452db078ae511684a6adc"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1279893c0fe937311a81e0a98fb4cf1c"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d1e/homescreen_8c.html#a1279893c0fe937311a81e0a98fb4cf1c">onevent</a> (const char *<a class="el" href="../../df/d7d/structevent.html">event</a>, struct json_object *object)</td></tr>
-<tr class="separator:a1279893c0fe937311a81e0a98fb4cf1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
-Variables</h2></td></tr>
-<tr class="memitem:a1c3c5bfa861dcb58d9e9d216d893864c"><td class="memItemLeft" align="right" valign="top">static struct <a class="el" href="../../df/d7d/structevent.html">event</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d1e/homescreen_8c.html#a1c3c5bfa861dcb58d9e9d216d893864c">event_list</a> [<a class="el" href="../../d0/d1e/homescreen_8c.html#a09f43d9e7e1c5d2198c0d66024b4500e">COMMAND_EVENT_NUM</a>]</td></tr>
-<tr class="separator:a1c3c5bfa861dcb58d9e9d216d893864c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2af1ff5a4cbf03125e61e903832035f5"><td class="memItemLeft" align="right" valign="top">static struct afb_event&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d1e/homescreen_8c.html#a2af1ff5a4cbf03125e61e903832035f5">ev_tap_shortcut</a></td></tr>
-<tr class="separator:a2af1ff5a4cbf03125e61e903832035f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af7cfc4f688bb898c09291252c4cb832c"><td class="memItemLeft" align="right" valign="top">static struct afb_event&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d1e/homescreen_8c.html#af7cfc4f688bb898c09291252c4cb832c">ev_on_screen_message</a></td></tr>
-<tr class="separator:af7cfc4f688bb898c09291252c4cb832c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5c225341e0ecbae0585302ef754a55ec"><td class="memItemLeft" align="right" valign="top">static struct afb_event&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d1e/homescreen_8c.html#a5c225341e0ecbae0585302ef754a55ec">ev_on_screen_reply</a></td></tr>
-<tr class="separator:a5c225341e0ecbae0585302ef754a55ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a25fbdcc4e5787e3f41d99f4a71e86611"><td class="memItemLeft" align="right" valign="top">static struct afb_event&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d1e/homescreen_8c.html#a25fbdcc4e5787e3f41d99f4a71e86611">ev_reserved</a></td></tr>
-<tr class="separator:a25fbdcc4e5787e3f41d99f4a71e86611"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aed1c5296a2e6d34945507a0fca17a376"><td class="memItemLeft" align="right" valign="top">static const char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d1e/homescreen_8c.html#aed1c5296a2e6d34945507a0fca17a376">_error</a> [] = &quot;error&quot;</td></tr>
-<tr class="separator:aed1c5296a2e6d34945507a0fca17a376"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1f2c79fa6801b63751e270d67994fe81"><td class="memItemLeft" align="right" valign="top">static const char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d1e/homescreen_8c.html#a1f2c79fa6801b63751e270d67994fe81">_application_name</a> [] = &quot;application_name&quot;</td></tr>
-<tr class="separator:a1f2c79fa6801b63751e270d67994fe81"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:abfd6c1d6f316fa952b11553f8f275e92"><td class="memItemLeft" align="right" valign="top">static const char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d1e/homescreen_8c.html#abfd6c1d6f316fa952b11553f8f275e92">_display_message</a> [] = &quot;display_message&quot;</td></tr>
-<tr class="separator:abfd6c1d6f316fa952b11553f8f275e92"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a79b0f0b481161527ccb80e83da143219"><td class="memItemLeft" align="right" valign="top">static const char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d1e/homescreen_8c.html#a79b0f0b481161527ccb80e83da143219">_reply_message</a> [] = &quot;reply_message&quot;</td></tr>
-<tr class="separator:a79b0f0b481161527ccb80e83da143219"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:acad6dadf60fac3d701e488e4fcd11c89"><td class="memItemLeft" align="right" valign="top">static const struct afb_verb_v2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d1e/homescreen_8c.html#acad6dadf60fac3d701e488e4fcd11c89">verbs</a> []</td></tr>
-<tr class="separator:acad6dadf60fac3d701e488e4fcd11c89"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae2a62ab481a2922cbfc788193857a12e"><td class="memItemLeft" align="right" valign="top">const struct afb_binding_v2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d1e/homescreen_8c.html#ae2a62ab481a2922cbfc788193857a12e">afbBindingV2</a></td></tr>
-<tr class="separator:ae2a62ab481a2922cbfc788193857a12e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<h2 class="groupheader">Macro Definition Documentation</h2>
-<a id="a369266c24eacffb87046522897a570d5"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a369266c24eacffb87046522897a570d5">&#9670;&nbsp;</a></span>_GNU_SOURCE</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define _GNU_SOURCE</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p class="definition">Definition at line <a class="el" href="../../d0/d1e/homescreen_8c_source.html#l00017">17</a> of file <a class="el" href="../../d0/d1e/homescreen_8c_source.html">homescreen.c</a>.</p>
-
-</div>
-</div>
-<a id="ad2c1fbc92ba364fcf83f15e6d0af66f0"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad2c1fbc92ba364fcf83f15e6d0af66f0">&#9670;&nbsp;</a></span>AFB_BINDING_VERSION</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define AFB_BINDING_VERSION&#160;&#160;&#160;2</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p class="definition">Definition at line <a class="el" href="../../d0/d1e/homescreen_8c_source.html#l00018">18</a> of file <a class="el" href="../../d0/d1e/homescreen_8c_source.html">homescreen.c</a>.</p>
-
-</div>
-</div>
-<a id="a09f43d9e7e1c5d2198c0d66024b4500e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a09f43d9e7e1c5d2198c0d66024b4500e">&#9670;&nbsp;</a></span>COMMAND_EVENT_NUM</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define COMMAND_EVENT_NUM&#160;&#160;&#160;4</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p class="definition">Definition at line <a class="el" href="../../d0/d1e/homescreen_8c_source.html#l00031">31</a> of file <a class="el" href="../../d0/d1e/homescreen_8c_source.html">homescreen.c</a>.</p>
-
-</div>
-</div>
-<a id="a9a68ed04201d9390bb85b2c6ab1d7250"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a9a68ed04201d9390bb85b2c6ab1d7250">&#9670;&nbsp;</a></span>EVENT_SUBSCRIBE_ERROR_CODE</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define EVENT_SUBSCRIBE_ERROR_CODE&#160;&#160;&#160;100</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p class="definition">Definition at line <a class="el" href="../../d0/d1e/homescreen_8c_source.html#l00032">32</a> of file <a class="el" href="../../d0/d1e/homescreen_8c_source.html">homescreen.c</a>.</p>
-
-</div>
-</div>
-<h2 class="groupheader">Function Documentation</h2>
-<a id="a00cbbc0f3f4452db078ae511684a6adc"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a00cbbc0f3f4452db078ae511684a6adc">&#9670;&nbsp;</a></span>init()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int init </td>
-          <td>(</td>
-          <td class="paramname"></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p class="definition">Definition at line <a class="el" href="../../d0/d1e/homescreen_8c_source.html#l00277">277</a> of file <a class="el" href="../../d0/d1e/homescreen_8c_source.html">homescreen.c</a>.</p>
-<div class="fragment"><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;{</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;   <a class="code" href="../../df/d76/hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;binding init&quot;</span>);</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;</div><div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;   <a class="code" href="../../d0/d1e/homescreen_8c.html#a2af1ff5a4cbf03125e61e903832035f5">ev_tap_shortcut</a> = afb_daemon_make_event(<a class="code" href="../../d3/d3d/hs-helper_8h.html#a0cd84b1a2184c9b84d1b7bf24582f28e">evlist</a>[0]);</div><div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;   <a class="code" href="../../d0/d1e/homescreen_8c.html#af7cfc4f688bb898c09291252c4cb832c">ev_on_screen_message</a> = afb_daemon_make_event(<a class="code" href="../../d3/d3d/hs-helper_8h.html#a0cd84b1a2184c9b84d1b7bf24582f28e">evlist</a>[1]);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;   <a class="code" href="../../d0/d1e/homescreen_8c.html#a5c225341e0ecbae0585302ef754a55ec">ev_on_screen_reply</a> = afb_daemon_make_event(<a class="code" href="../../d3/d3d/hs-helper_8h.html#a0cd84b1a2184c9b84d1b7bf24582f28e">evlist</a>[2]);</div><div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;   <a class="code" href="../../d0/d1e/homescreen_8c.html#a25fbdcc4e5787e3f41d99f4a71e86611">ev_reserved</a> = afb_daemon_make_event(<a class="code" href="../../d3/d3d/hs-helper_8h.html#a0cd84b1a2184c9b84d1b7bf24582f28e">evlist</a>[3]);</div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;</div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;   <a class="code" href="../../d0/d1e/homescreen_8c.html#a1c3c5bfa861dcb58d9e9d216d893864c">event_list</a>[0].<a class="code" href="../../df/d7d/structevent.html#a45c6cfb7961a21a3366db067e4cc59ab">name</a> = <a class="code" href="../../d3/d3d/hs-helper_8h.html#a0cd84b1a2184c9b84d1b7bf24582f28e">evlist</a>[0];</div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;   <a class="code" href="../../d0/d1e/homescreen_8c.html#a1c3c5bfa861dcb58d9e9d216d893864c">event_list</a>[0].<a class="code" href="../../df/d7d/structevent.html#a58726ebc551d36562ac3f9e1fe293214">event</a> = &amp;<a class="code" href="../../d0/d1e/homescreen_8c.html#a2af1ff5a4cbf03125e61e903832035f5">ev_tap_shortcut</a>;</div><div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;</div><div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;   <a class="code" href="../../d0/d1e/homescreen_8c.html#a1c3c5bfa861dcb58d9e9d216d893864c">event_list</a>[1].<a class="code" href="../../df/d7d/structevent.html#a45c6cfb7961a21a3366db067e4cc59ab">name</a> = <a class="code" href="../../d3/d3d/hs-helper_8h.html#a0cd84b1a2184c9b84d1b7bf24582f28e">evlist</a>[1];</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;   <a class="code" href="../../d0/d1e/homescreen_8c.html#a1c3c5bfa861dcb58d9e9d216d893864c">event_list</a>[1].<a class="code" href="../../df/d7d/structevent.html#a58726ebc551d36562ac3f9e1fe293214">event</a> = &amp;<a class="code" href="../../d0/d1e/homescreen_8c.html#af7cfc4f688bb898c09291252c4cb832c">ev_on_screen_message</a>;</div><div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;   <a class="code" href="../../d0/d1e/homescreen_8c.html#a1c3c5bfa861dcb58d9e9d216d893864c">event_list</a>[2].<a class="code" href="../../df/d7d/structevent.html#a45c6cfb7961a21a3366db067e4cc59ab">name</a> = <a class="code" href="../../d3/d3d/hs-helper_8h.html#a0cd84b1a2184c9b84d1b7bf24582f28e">evlist</a>[2];</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;   <a class="code" href="../../d0/d1e/homescreen_8c.html#a1c3c5bfa861dcb58d9e9d216d893864c">event_list</a>[2].<a class="code" href="../../df/d7d/structevent.html#a58726ebc551d36562ac3f9e1fe293214">event</a> = &amp;<a class="code" href="../../d0/d1e/homescreen_8c.html#a5c225341e0ecbae0585302ef754a55ec">ev_on_screen_reply</a>;</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;   <a class="code" href="../../d0/d1e/homescreen_8c.html#a1c3c5bfa861dcb58d9e9d216d893864c">event_list</a>[3].<a class="code" href="../../df/d7d/structevent.html#a45c6cfb7961a21a3366db067e4cc59ab">name</a> = <a class="code" href="../../d3/d3d/hs-helper_8h.html#a0cd84b1a2184c9b84d1b7bf24582f28e">evlist</a>[3];</div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;   <a class="code" href="../../d0/d1e/homescreen_8c.html#a1c3c5bfa861dcb58d9e9d216d893864c">event_list</a>[3].<a class="code" href="../../df/d7d/structevent.html#a58726ebc551d36562ac3f9e1fe293214">event</a> = &amp;<a class="code" href="../../d0/d1e/homescreen_8c.html#a25fbdcc4e5787e3f41d99f4a71e86611">ev_reserved</a>;</div><div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;   <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;}</div><div class="ttc" id="structevent_html_a58726ebc551d36562ac3f9e1fe293214"><div class="ttname"><a href="../../df/d7d/structevent.html#a58726ebc551d36562ac3f9e1fe293214">event::event</a></div><div class="ttdeci">struct afb_event * event</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00037">homescreen.c:37</a></div></div>
-<div class="ttc" id="hmi-debug_8h_html_abc0d6e0760017d8ae48b836925b2ef15"><div class="ttname"><a href="../../df/d76/hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a></div><div class="ttdeci">#define HMI_NOTICE(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d76/hmi-debug_8h_source.html#l00020">hmi-debug.h:20</a></div></div>
-<div class="ttc" id="homescreen_8c_html_a25fbdcc4e5787e3f41d99f4a71e86611"><div class="ttname"><a href="../../d0/d1e/homescreen_8c.html#a25fbdcc4e5787e3f41d99f4a71e86611">ev_reserved</a></div><div class="ttdeci">static struct afb_event ev_reserved</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00045">homescreen.c:45</a></div></div>
-<div class="ttc" id="hs-helper_8h_html_a0cd84b1a2184c9b84d1b7bf24582f28e"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#a0cd84b1a2184c9b84d1b7bf24582f28e">evlist</a></div><div class="ttdeci">static const char * evlist[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00034">hs-helper.h:34</a></div></div>
-<div class="ttc" id="structevent_html_a45c6cfb7961a21a3366db067e4cc59ab"><div class="ttname"><a href="../../df/d7d/structevent.html#a45c6cfb7961a21a3366db067e4cc59ab">event::name</a></div><div class="ttdeci">const char * name</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00036">homescreen.c:36</a></div></div>
-<div class="ttc" id="homescreen_8c_html_a5c225341e0ecbae0585302ef754a55ec"><div class="ttname"><a href="../../d0/d1e/homescreen_8c.html#a5c225341e0ecbae0585302ef754a55ec">ev_on_screen_reply</a></div><div class="ttdeci">static struct afb_event ev_on_screen_reply</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00044">homescreen.c:44</a></div></div>
-<div class="ttc" id="homescreen_8c_html_af7cfc4f688bb898c09291252c4cb832c"><div class="ttname"><a href="../../d0/d1e/homescreen_8c.html#af7cfc4f688bb898c09291252c4cb832c">ev_on_screen_message</a></div><div class="ttdeci">static struct afb_event ev_on_screen_message</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00043">homescreen.c:43</a></div></div>
-<div class="ttc" id="homescreen_8c_html_a1c3c5bfa861dcb58d9e9d216d893864c"><div class="ttname"><a href="../../d0/d1e/homescreen_8c.html#a1c3c5bfa861dcb58d9e9d216d893864c">event_list</a></div><div class="ttdeci">static struct event event_list[COMMAND_EVENT_NUM]</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00040">homescreen.c:40</a></div></div>
-<div class="ttc" id="homescreen_8c_html_a2af1ff5a4cbf03125e61e903832035f5"><div class="ttname"><a href="../../d0/d1e/homescreen_8c.html#a2af1ff5a4cbf03125e61e903832035f5">ev_tap_shortcut</a></div><div class="ttdeci">static struct afb_event ev_tap_shortcut</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00042">homescreen.c:42</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a id="a640cf8ed97d804c5ed1c09a349056338"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a640cf8ed97d804c5ed1c09a349056338">&#9670;&nbsp;</a></span>on_screen_message()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static void on_screen_message </td>
-          <td>(</td>
-          <td class="paramtype">struct afb_req&#160;</td>
-          <td class="paramname"><em>request</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-<p>HomeScreen OnScreen message</p>
-<h4>Parameters</h4>
-<p>Request key</p><ul>
-<li>display_message : message for display</li>
-</ul>
-<h4>Return</h4>
-<p>Nothing </p>
-
-<p class="definition">Definition at line <a class="el" href="../../d0/d1e/homescreen_8c_source.html#l00114">114</a> of file <a class="el" href="../../d0/d1e/homescreen_8c_source.html">homescreen.c</a>.</p>
-<div class="fragment"><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;{</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;    <a class="code" href="../../df/d76/hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;is called.&quot;</span>);</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;    <span class="keywordtype">int</span> ret = 0;</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* value = afb_req_value(request, <a class="code" href="../../d0/d1e/homescreen_8c.html#abfd6c1d6f316fa952b11553f8f275e92">_display_message</a>);</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;    <span class="keywordflow">if</span> (value) {</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;      <a class="code" href="../../df/d76/hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;request params = %s.&quot;</span>, value);</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;      <span class="keyword">struct </span>json_object* push_obj = json_object_new_object();</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;      <a class="code" href="../../dd/d1d/hs-helper_8c.html#a8777c53f1d4d5412f19b134ad85ffedf">hs_add_object_to_json_object_str</a>( push_obj, 2,</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;      <a class="code" href="../../d0/d1e/homescreen_8c.html#abfd6c1d6f316fa952b11553f8f275e92">_display_message</a>, value);</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;      afb_event_push(<a class="code" href="../../d0/d1e/homescreen_8c.html#af7cfc4f688bb898c09291252c4cb832c">ev_on_screen_message</a>, push_obj);</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;    } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;      afb_req_fail_f(request, <span class="stringliteral">&quot;failed&quot;</span>, <span class="stringliteral">&quot;called %s, Unknown palameter&quot;</span>, __FUNCTION__);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;      <span class="keywordflow">return</span>;</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;    }</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;  <span class="comment">// response to HomeScreen</span></div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;    <span class="keyword">struct </span>json_object *res = json_object_new_object();</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;    <a class="code" href="../../dd/d1d/hs-helper_8c.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs_add_object_to_json_object_func</a>(res, __FUNCTION__, 2,</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;      <a class="code" href="../../d0/d1e/homescreen_8c.html#aed1c5296a2e6d34945507a0fca17a376">_error</a>,  ret);</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;    afb_req_success(request, res, <span class="stringliteral">&quot;afb_event_push event [on_screen_message]&quot;</span>);</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;}</div><div class="ttc" id="hs-helper_8c_html_a8777c53f1d4d5412f19b134ad85ffedf"><div class="ttname"><a href="../../dd/d1d/hs-helper_8c.html#a8777c53f1d4d5412f19b134ad85ffedf">hs_add_object_to_json_object_str</a></div><div class="ttdeci">void hs_add_object_to_json_object_str(struct json_object *j_obj, int count,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d1d/hs-helper_8c_source.html#l00110">hs-helper.c:110</a></div></div>
-<div class="ttc" id="hmi-debug_8h_html_abc0d6e0760017d8ae48b836925b2ef15"><div class="ttname"><a href="../../df/d76/hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a></div><div class="ttdeci">#define HMI_NOTICE(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d76/hmi-debug_8h_source.html#l00020">hmi-debug.h:20</a></div></div>
-<div class="ttc" id="homescreen_8c_html_aed1c5296a2e6d34945507a0fca17a376"><div class="ttname"><a href="../../d0/d1e/homescreen_8c.html#aed1c5296a2e6d34945507a0fca17a376">_error</a></div><div class="ttdeci">static const char _error[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00047">homescreen.c:47</a></div></div>
-<div class="ttc" id="homescreen_8c_html_af7cfc4f688bb898c09291252c4cb832c"><div class="ttname"><a href="../../d0/d1e/homescreen_8c.html#af7cfc4f688bb898c09291252c4cb832c">ev_on_screen_message</a></div><div class="ttdeci">static struct afb_event ev_on_screen_message</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00043">homescreen.c:43</a></div></div>
-<div class="ttc" id="homescreen_8c_html_abfd6c1d6f316fa952b11553f8f275e92"><div class="ttname"><a href="../../d0/d1e/homescreen_8c.html#abfd6c1d6f316fa952b11553f8f275e92">_display_message</a></div><div class="ttdeci">static const char _display_message[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00050">homescreen.c:50</a></div></div>
-<div class="ttc" id="hs-helper_8c_html_ae83604a37134e7bdee3ce4f10bb0b47a"><div class="ttname"><a href="../../dd/d1d/hs-helper_8c.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs_add_object_to_json_object_func</a></div><div class="ttdeci">void hs_add_object_to_json_object_func(struct json_object *j_obj, const char *verb_name, int count,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d1d/hs-helper_8c_source.html#l00125">hs-helper.c:125</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a id="a2f380055d7d69828115d2a8951634933"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a2f380055d7d69828115d2a8951634933">&#9670;&nbsp;</a></span>on_screen_reply()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static void on_screen_reply </td>
-          <td>(</td>
-          <td class="paramtype">struct afb_req&#160;</td>
-          <td class="paramname"><em>request</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-<p>HomeScreen OnScreen Reply</p>
-<h4>Parameters</h4>
-<p>Request key</p><ul>
-<li>reply_message : message for reply</li>
-</ul>
-<h4>Return</h4>
-<p>Nothing </p>
-
-<p class="definition">Definition at line <a class="el" href="../../d0/d1e/homescreen_8c_source.html#l00151">151</a> of file <a class="el" href="../../d0/d1e/homescreen_8c_source.html">homescreen.c</a>.</p>
-<div class="fragment"><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;{</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;    <a class="code" href="../../df/d76/hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;is called.&quot;</span>);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;    <span class="keywordtype">int</span> ret = 0;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* value = afb_req_value(request, <a class="code" href="../../d0/d1e/homescreen_8c.html#a79b0f0b481161527ccb80e83da143219">_reply_message</a>);</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;    <span class="keywordflow">if</span> (value) {</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;      <a class="code" href="../../df/d76/hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;request params = %s.&quot;</span>, value);</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;      <span class="keyword">struct </span>json_object* push_obj = json_object_new_object();</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;      <a class="code" href="../../dd/d1d/hs-helper_8c.html#a8777c53f1d4d5412f19b134ad85ffedf">hs_add_object_to_json_object_str</a>( push_obj, 2,</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;      <a class="code" href="../../d0/d1e/homescreen_8c.html#a79b0f0b481161527ccb80e83da143219">_reply_message</a>, value);</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;      afb_event_push(<a class="code" href="../../d0/d1e/homescreen_8c.html#a5c225341e0ecbae0585302ef754a55ec">ev_on_screen_reply</a>, push_obj);</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;    } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;      afb_req_fail_f(request, <span class="stringliteral">&quot;failed&quot;</span>, <span class="stringliteral">&quot;called %s, Unknown palameter&quot;</span>, __FUNCTION__);</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;      <span class="keywordflow">return</span>;</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;    }</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;  <span class="comment">// response to HomeScreen</span></div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;    <span class="keyword">struct </span>json_object *res = json_object_new_object();</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;    <a class="code" href="../../dd/d1d/hs-helper_8c.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs_add_object_to_json_object_func</a>(res, __FUNCTION__, 2,</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;      <a class="code" href="../../d0/d1e/homescreen_8c.html#aed1c5296a2e6d34945507a0fca17a376">_error</a>,  ret);</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;    afb_req_success(request, res, <span class="stringliteral">&quot;afb_event_push event [on_screen_reply]&quot;</span>);</div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;}</div><div class="ttc" id="hs-helper_8c_html_a8777c53f1d4d5412f19b134ad85ffedf"><div class="ttname"><a href="../../dd/d1d/hs-helper_8c.html#a8777c53f1d4d5412f19b134ad85ffedf">hs_add_object_to_json_object_str</a></div><div class="ttdeci">void hs_add_object_to_json_object_str(struct json_object *j_obj, int count,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d1d/hs-helper_8c_source.html#l00110">hs-helper.c:110</a></div></div>
-<div class="ttc" id="hmi-debug_8h_html_abc0d6e0760017d8ae48b836925b2ef15"><div class="ttname"><a href="../../df/d76/hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a></div><div class="ttdeci">#define HMI_NOTICE(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d76/hmi-debug_8h_source.html#l00020">hmi-debug.h:20</a></div></div>
-<div class="ttc" id="homescreen_8c_html_aed1c5296a2e6d34945507a0fca17a376"><div class="ttname"><a href="../../d0/d1e/homescreen_8c.html#aed1c5296a2e6d34945507a0fca17a376">_error</a></div><div class="ttdeci">static const char _error[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00047">homescreen.c:47</a></div></div>
-<div class="ttc" id="homescreen_8c_html_a5c225341e0ecbae0585302ef754a55ec"><div class="ttname"><a href="../../d0/d1e/homescreen_8c.html#a5c225341e0ecbae0585302ef754a55ec">ev_on_screen_reply</a></div><div class="ttdeci">static struct afb_event ev_on_screen_reply</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00044">homescreen.c:44</a></div></div>
-<div class="ttc" id="homescreen_8c_html_a79b0f0b481161527ccb80e83da143219"><div class="ttname"><a href="../../d0/d1e/homescreen_8c.html#a79b0f0b481161527ccb80e83da143219">_reply_message</a></div><div class="ttdeci">static const char _reply_message[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00051">homescreen.c:51</a></div></div>
-<div class="ttc" id="hs-helper_8c_html_ae83604a37134e7bdee3ce4f10bb0b47a"><div class="ttname"><a href="../../dd/d1d/hs-helper_8c.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs_add_object_to_json_object_func</a></div><div class="ttdeci">void hs_add_object_to_json_object_func(struct json_object *j_obj, const char *verb_name, int count,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d1d/hs-helper_8c_source.html#l00125">hs-helper.c:125</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a id="a1279893c0fe937311a81e0a98fb4cf1c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1279893c0fe937311a81e0a98fb4cf1c">&#9670;&nbsp;</a></span>onevent()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static void onevent </td>
-          <td>(</td>
-          <td class="paramtype">const char *&#160;</td>
-          <td class="paramname"><em>event</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">struct json_object *&#160;</td>
-          <td class="paramname"><em>object</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p class="definition">Definition at line <a class="el" href="../../d0/d1e/homescreen_8c_source.html#l00301">301</a> of file <a class="el" href="../../d0/d1e/homescreen_8c_source.html">homescreen.c</a>.</p>
-<div class="fragment"><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;{</div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;   <a class="code" href="../../df/d76/hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;on_event %s&quot;</span>, <a class="code" href="../../df/d7d/structevent.html">event</a>);</div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;}</div><div class="ttc" id="hmi-debug_8h_html_abc0d6e0760017d8ae48b836925b2ef15"><div class="ttname"><a href="../../df/d76/hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a></div><div class="ttdeci">#define HMI_NOTICE(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d76/hmi-debug_8h_source.html#l00020">hmi-debug.h:20</a></div></div>
-<div class="ttc" id="structevent_html"><div class="ttname"><a href="../../df/d7d/structevent.html">event</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00035">homescreen.c:35</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a id="af48cab759d4ae0ddbfcdd60f4051ba05"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af48cab759d4ae0ddbfcdd60f4051ba05">&#9670;&nbsp;</a></span>pingSample()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static void pingSample </td>
-          <td>(</td>
-          <td class="paramtype">struct afb_req&#160;</td>
-          <td class="paramname"><em>request</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p class="definition">Definition at line <a class="el" href="../../d0/d1e/homescreen_8c_source.html#l00057">57</a> of file <a class="el" href="../../d0/d1e/homescreen_8c_source.html">homescreen.c</a>.</p>
-<div class="fragment"><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;{</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;   <span class="keyword">static</span> <span class="keywordtype">int</span> pingcount = 0;</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;   afb_req_success_f(request, json_object_new_int(pingcount), <span class="stringliteral">&quot;Ping count = %d&quot;</span>, pingcount);</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;   <a class="code" href="../../df/d76/hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;Verbosity macro at level notice invoked at ping invocation count = %d&quot;</span>, pingcount);</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;   pingcount++;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;}</div><div class="ttc" id="hmi-debug_8h_html_abc0d6e0760017d8ae48b836925b2ef15"><div class="ttname"><a href="../../df/d76/hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a></div><div class="ttdeci">#define HMI_NOTICE(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d76/hmi-debug_8h_source.html#l00020">hmi-debug.h:20</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a id="a83d646edf54a6a082f69121bc89a08de"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a83d646edf54a6a082f69121bc89a08de">&#9670;&nbsp;</a></span>preinit()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int preinit </td>
-          <td>(</td>
-          <td class="paramname"></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p class="definition">Definition at line <a class="el" href="../../d0/d1e/homescreen_8c_source.html#l00271">271</a> of file <a class="el" href="../../d0/d1e/homescreen_8c_source.html">homescreen.c</a>.</p>
-<div class="fragment"><div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;{</div><div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;   <a class="code" href="../../df/d76/hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;binding preinit (was register)&quot;</span>);</div><div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;   <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;}</div><div class="ttc" id="hmi-debug_8h_html_abc0d6e0760017d8ae48b836925b2ef15"><div class="ttname"><a href="../../df/d76/hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a></div><div class="ttdeci">#define HMI_NOTICE(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d76/hmi-debug_8h_source.html#l00020">hmi-debug.h:20</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a id="a4ff0c8b506669e5622a6ee168134d8f1"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a4ff0c8b506669e5622a6ee168134d8f1">&#9670;&nbsp;</a></span>subscribe()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static void subscribe </td>
-          <td>(</td>
-          <td class="paramtype">struct afb_req&#160;</td>
-          <td class="paramname"><em>request</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-<p>Subscribe event</p>
-<h4>Parameters</h4>
-<ul>
-<li>event : Event name. Event list is written in <a class="el" href="../../d0/d8a/libhomescreen_8cpp.html">libhomescreen.cpp</a></li>
-</ul>
-<h4>Return</h4>
-<p>Nothing</p>
-<h4>Note</h4>
-
-<p class="definition">Definition at line <a class="el" href="../../d0/d1e/homescreen_8c_source.html#l00189">189</a> of file <a class="el" href="../../d0/d1e/homescreen_8c_source.html">homescreen.c</a>.</p>
-<div class="fragment"><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;{</div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> *value = afb_req_value(request, <span class="stringliteral">&quot;event&quot;</span>);</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;    <a class="code" href="../../df/d76/hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;value is %s&quot;</span>, value);</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;    <span class="keywordtype">int</span> ret = 0;</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;    <span class="keywordflow">if</span>(value) {</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;        <span class="keywordtype">int</span> index = <a class="code" href="../../dd/d1d/hs-helper_8c.html#a2ff1b894941c3b461ca8119079c4146a">hs_search_event_name_index</a>(value);</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;        <span class="keywordflow">if</span>(index &lt; 0)</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;        {</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;            <a class="code" href="../../df/d76/hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;dedicated event doesn&#39;t exist&quot;</span>);</div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;            ret = <a class="code" href="../../d0/d1e/homescreen_8c.html#a9a68ed04201d9390bb85b2c6ab1d7250">EVENT_SUBSCRIBE_ERROR_CODE</a>;</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;        }</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;        {</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;            afb_req_subscribe(request, *<a class="code" href="../../d0/d1e/homescreen_8c.html#a1c3c5bfa861dcb58d9e9d216d893864c">event_list</a>[index].<a class="code" href="../../df/d7d/structevent.html">event</a>);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;        }</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;    }</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;    <span class="keywordflow">else</span>{</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;        <a class="code" href="../../df/d76/hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;Please input event name&quot;</span>);</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;        ret = <a class="code" href="../../d0/d1e/homescreen_8c.html#a9a68ed04201d9390bb85b2c6ab1d7250">EVENT_SUBSCRIBE_ERROR_CODE</a>;</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;    }</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;    <span class="comment">/*create response json object*/</span></div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;    <span class="keyword">struct </span>json_object *res = json_object_new_object();</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;    <a class="code" href="../../dd/d1d/hs-helper_8c.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs_add_object_to_json_object_func</a>(res, __FUNCTION__, 2,</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;        <a class="code" href="../../d0/d1e/homescreen_8c.html#aed1c5296a2e6d34945507a0fca17a376">_error</a>, ret);</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;    afb_req_success_f(request, res, <span class="stringliteral">&quot;homescreen binder subscribe event name [%s]&quot;</span>, value);</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;}</div><div class="ttc" id="hmi-debug_8h_html_abc0d6e0760017d8ae48b836925b2ef15"><div class="ttname"><a href="../../df/d76/hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a></div><div class="ttdeci">#define HMI_NOTICE(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d76/hmi-debug_8h_source.html#l00020">hmi-debug.h:20</a></div></div>
-<div class="ttc" id="homescreen_8c_html_aed1c5296a2e6d34945507a0fca17a376"><div class="ttname"><a href="../../d0/d1e/homescreen_8c.html#aed1c5296a2e6d34945507a0fca17a376">_error</a></div><div class="ttdeci">static const char _error[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00047">homescreen.c:47</a></div></div>
-<div class="ttc" id="structevent_html"><div class="ttname"><a href="../../df/d7d/structevent.html">event</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00035">homescreen.c:35</a></div></div>
-<div class="ttc" id="hs-helper_8c_html_a2ff1b894941c3b461ca8119079c4146a"><div class="ttname"><a href="../../dd/d1d/hs-helper_8c.html#a2ff1b894941c3b461ca8119079c4146a">hs_search_event_name_index</a></div><div class="ttdeci">int hs_search_event_name_index(const char *value)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d1d/hs-helper_8c_source.html#l00142">hs-helper.c:142</a></div></div>
-<div class="ttc" id="homescreen_8c_html_a1c3c5bfa861dcb58d9e9d216d893864c"><div class="ttname"><a href="../../d0/d1e/homescreen_8c.html#a1c3c5bfa861dcb58d9e9d216d893864c">event_list</a></div><div class="ttdeci">static struct event event_list[COMMAND_EVENT_NUM]</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00040">homescreen.c:40</a></div></div>
-<div class="ttc" id="homescreen_8c_html_a9a68ed04201d9390bb85b2c6ab1d7250"><div class="ttname"><a href="../../d0/d1e/homescreen_8c.html#a9a68ed04201d9390bb85b2c6ab1d7250">EVENT_SUBSCRIBE_ERROR_CODE</a></div><div class="ttdeci">#define EVENT_SUBSCRIBE_ERROR_CODE</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00032">homescreen.c:32</a></div></div>
-<div class="ttc" id="hs-helper_8c_html_ae83604a37134e7bdee3ce4f10bb0b47a"><div class="ttname"><a href="../../dd/d1d/hs-helper_8c.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs_add_object_to_json_object_func</a></div><div class="ttdeci">void hs_add_object_to_json_object_func(struct json_object *j_obj, const char *verb_name, int count,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d1d/hs-helper_8c_source.html#l00125">hs-helper.c:125</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a id="a096eae5c8f297f9df142a406eea56227"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a096eae5c8f297f9df142a406eea56227">&#9670;&nbsp;</a></span>tap_shortcut()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static void tap_shortcut </td>
-          <td>(</td>
-          <td class="paramtype">struct afb_req&#160;</td>
-          <td class="paramname"><em>request</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-<p>tap_shortcut notify for homescreen When Shortcut area is tapped, notify these applciations</p>
-<h4>Parameters</h4>
-<p>Request key</p><ul>
-<li>application_name : application name</li>
-</ul>
-<h4>Return</h4>
-<p>Nothing </p>
-
-<p class="definition">Definition at line <a class="el" href="../../d0/d1e/homescreen_8c_source.html#l00077">77</a> of file <a class="el" href="../../d0/d1e/homescreen_8c_source.html">homescreen.c</a>.</p>
-<div class="fragment"><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;{</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;    <a class="code" href="../../df/d76/hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;is called.&quot;</span>);</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;    <span class="keywordtype">int</span> ret = 0;</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* value = afb_req_value(request, <a class="code" href="../../d0/d1e/homescreen_8c.html#a1f2c79fa6801b63751e270d67994fe81">_application_name</a>);</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;    <span class="keywordflow">if</span> (value) {</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;      <a class="code" href="../../df/d76/hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;request params = %s.&quot;</span>, value);</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;      <span class="keyword">struct </span>json_object* push_obj = json_object_new_object();</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;      <a class="code" href="../../dd/d1d/hs-helper_8c.html#a8777c53f1d4d5412f19b134ad85ffedf">hs_add_object_to_json_object_str</a>( push_obj, 2,</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;      <a class="code" href="../../d0/d1e/homescreen_8c.html#a1f2c79fa6801b63751e270d67994fe81">_application_name</a>, value);</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;      afb_event_push(<a class="code" href="../../d0/d1e/homescreen_8c.html#a2af1ff5a4cbf03125e61e903832035f5">ev_tap_shortcut</a>, push_obj);</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;    } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;      afb_req_fail_f(request, <span class="stringliteral">&quot;failed&quot;</span>, <span class="stringliteral">&quot;called %s, Unknown palameter&quot;</span>, __FUNCTION__);</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;      <span class="keywordflow">return</span>;</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;    }</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;  <span class="comment">// response to HomeScreen</span></div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;    <span class="keyword">struct </span>json_object *res = json_object_new_object();</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;    <a class="code" href="../../dd/d1d/hs-helper_8c.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs_add_object_to_json_object_func</a>(res, __FUNCTION__, 2,</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;      <a class="code" href="../../d0/d1e/homescreen_8c.html#aed1c5296a2e6d34945507a0fca17a376">_error</a>,  ret);</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;    afb_req_success(request, res, <span class="stringliteral">&quot;afb_event_push event [tap_shortcut]&quot;</span>);</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;}</div><div class="ttc" id="hs-helper_8c_html_a8777c53f1d4d5412f19b134ad85ffedf"><div class="ttname"><a href="../../dd/d1d/hs-helper_8c.html#a8777c53f1d4d5412f19b134ad85ffedf">hs_add_object_to_json_object_str</a></div><div class="ttdeci">void hs_add_object_to_json_object_str(struct json_object *j_obj, int count,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d1d/hs-helper_8c_source.html#l00110">hs-helper.c:110</a></div></div>
-<div class="ttc" id="hmi-debug_8h_html_abc0d6e0760017d8ae48b836925b2ef15"><div class="ttname"><a href="../../df/d76/hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a></div><div class="ttdeci">#define HMI_NOTICE(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d76/hmi-debug_8h_source.html#l00020">hmi-debug.h:20</a></div></div>
-<div class="ttc" id="homescreen_8c_html_a1f2c79fa6801b63751e270d67994fe81"><div class="ttname"><a href="../../d0/d1e/homescreen_8c.html#a1f2c79fa6801b63751e270d67994fe81">_application_name</a></div><div class="ttdeci">static const char _application_name[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00049">homescreen.c:49</a></div></div>
-<div class="ttc" id="homescreen_8c_html_aed1c5296a2e6d34945507a0fca17a376"><div class="ttname"><a href="../../d0/d1e/homescreen_8c.html#aed1c5296a2e6d34945507a0fca17a376">_error</a></div><div class="ttdeci">static const char _error[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00047">homescreen.c:47</a></div></div>
-<div class="ttc" id="homescreen_8c_html_a2af1ff5a4cbf03125e61e903832035f5"><div class="ttname"><a href="../../d0/d1e/homescreen_8c.html#a2af1ff5a4cbf03125e61e903832035f5">ev_tap_shortcut</a></div><div class="ttdeci">static struct afb_event ev_tap_shortcut</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00042">homescreen.c:42</a></div></div>
-<div class="ttc" id="hs-helper_8c_html_ae83604a37134e7bdee3ce4f10bb0b47a"><div class="ttname"><a href="../../dd/d1d/hs-helper_8c.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs_add_object_to_json_object_func</a></div><div class="ttdeci">void hs_add_object_to_json_object_func(struct json_object *j_obj, const char *verb_name, int count,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d1d/hs-helper_8c_source.html#l00125">hs-helper.c:125</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a id="ab92621255d7370c6dd8a0f1a8e376ad3"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab92621255d7370c6dd8a0f1a8e376ad3">&#9670;&nbsp;</a></span>unsubscribe()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static void unsubscribe </td>
-          <td>(</td>
-          <td class="paramtype">struct afb_req&#160;</td>
-          <td class="paramname"><em>request</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-<p>Unsubscribe event</p>
-<h4>Parameters</h4>
-<ul>
-<li>event : Event name. Event list is written in <a class="el" href="../../d0/d8a/libhomescreen_8cpp.html">libhomescreen.cpp</a></li>
-</ul>
-<h4>Return</h4>
-<p>Nothing</p>
-<h4>Note</h4>
-
-<p class="definition">Definition at line <a class="el" href="../../d0/d1e/homescreen_8c_source.html#l00229">229</a> of file <a class="el" href="../../d0/d1e/homescreen_8c_source.html">homescreen.c</a>.</p>
-<div class="fragment"><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;{</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> *value = afb_req_value(request, <span class="stringliteral">&quot;event&quot;</span>);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;    <a class="code" href="../../df/d76/hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;value is %s&quot;</span>, value);</div><div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;    <span class="keywordtype">int</span> ret = 0;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;    <span class="keywordflow">if</span>(value) {</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;        <span class="keywordtype">int</span> index = <a class="code" href="../../dd/d1d/hs-helper_8c.html#a2ff1b894941c3b461ca8119079c4146a">hs_search_event_name_index</a>(value);</div><div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;        <span class="keywordflow">if</span>(index &lt; 0)</div><div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;        {</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;            <a class="code" href="../../df/d76/hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;dedicated event doesn&#39;t exist&quot;</span>);</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;            ret = <a class="code" href="../../d0/d1e/homescreen_8c.html#a9a68ed04201d9390bb85b2c6ab1d7250">EVENT_SUBSCRIBE_ERROR_CODE</a>;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;        }</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;        {</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;            afb_req_unsubscribe(request, *<a class="code" href="../../d0/d1e/homescreen_8c.html#a1c3c5bfa861dcb58d9e9d216d893864c">event_list</a>[index].<a class="code" href="../../df/d7d/structevent.html">event</a>);</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;        }</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;    }</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;    <span class="keywordflow">else</span>{</div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;        <a class="code" href="../../df/d76/hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;Please input event name&quot;</span>);</div><div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;        ret = <a class="code" href="../../d0/d1e/homescreen_8c.html#a9a68ed04201d9390bb85b2c6ab1d7250">EVENT_SUBSCRIBE_ERROR_CODE</a>;</div><div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;    }</div><div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;    <span class="comment">/*create response json object*/</span></div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;    <span class="keyword">struct </span>json_object *res = json_object_new_object();</div><div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;    <a class="code" href="../../dd/d1d/hs-helper_8c.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs_add_object_to_json_object_func</a>(res, __FUNCTION__, 2,</div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;        <a class="code" href="../../d0/d1e/homescreen_8c.html#aed1c5296a2e6d34945507a0fca17a376">_error</a>, ret);</div><div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;    afb_req_success_f(request, res, <span class="stringliteral">&quot;homescreen binder unsubscribe event name [%s]&quot;</span>, value);</div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;}</div><div class="ttc" id="hmi-debug_8h_html_abc0d6e0760017d8ae48b836925b2ef15"><div class="ttname"><a href="../../df/d76/hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a></div><div class="ttdeci">#define HMI_NOTICE(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d76/hmi-debug_8h_source.html#l00020">hmi-debug.h:20</a></div></div>
-<div class="ttc" id="homescreen_8c_html_aed1c5296a2e6d34945507a0fca17a376"><div class="ttname"><a href="../../d0/d1e/homescreen_8c.html#aed1c5296a2e6d34945507a0fca17a376">_error</a></div><div class="ttdeci">static const char _error[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00047">homescreen.c:47</a></div></div>
-<div class="ttc" id="structevent_html"><div class="ttname"><a href="../../df/d7d/structevent.html">event</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00035">homescreen.c:35</a></div></div>
-<div class="ttc" id="hs-helper_8c_html_a2ff1b894941c3b461ca8119079c4146a"><div class="ttname"><a href="../../dd/d1d/hs-helper_8c.html#a2ff1b894941c3b461ca8119079c4146a">hs_search_event_name_index</a></div><div class="ttdeci">int hs_search_event_name_index(const char *value)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d1d/hs-helper_8c_source.html#l00142">hs-helper.c:142</a></div></div>
-<div class="ttc" id="homescreen_8c_html_a1c3c5bfa861dcb58d9e9d216d893864c"><div class="ttname"><a href="../../d0/d1e/homescreen_8c.html#a1c3c5bfa861dcb58d9e9d216d893864c">event_list</a></div><div class="ttdeci">static struct event event_list[COMMAND_EVENT_NUM]</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00040">homescreen.c:40</a></div></div>
-<div class="ttc" id="homescreen_8c_html_a9a68ed04201d9390bb85b2c6ab1d7250"><div class="ttname"><a href="../../d0/d1e/homescreen_8c.html#a9a68ed04201d9390bb85b2c6ab1d7250">EVENT_SUBSCRIBE_ERROR_CODE</a></div><div class="ttdeci">#define EVENT_SUBSCRIBE_ERROR_CODE</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00032">homescreen.c:32</a></div></div>
-<div class="ttc" id="hs-helper_8c_html_ae83604a37134e7bdee3ce4f10bb0b47a"><div class="ttname"><a href="../../dd/d1d/hs-helper_8c.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs_add_object_to_json_object_func</a></div><div class="ttdeci">void hs_add_object_to_json_object_func(struct json_object *j_obj, const char *verb_name, int count,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d1d/hs-helper_8c_source.html#l00125">hs-helper.c:125</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<h2 class="groupheader">Variable Documentation</h2>
-<a id="a1f2c79fa6801b63751e270d67994fe81"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1f2c79fa6801b63751e270d67994fe81">&#9670;&nbsp;</a></span>_application_name</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">const char _application_name[] = &quot;application_name&quot;</td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p class="definition">Definition at line <a class="el" href="../../d0/d1e/homescreen_8c_source.html#l00049">49</a> of file <a class="el" href="../../d0/d1e/homescreen_8c_source.html">homescreen.c</a>.</p>
-
-</div>
-</div>
-<a id="abfd6c1d6f316fa952b11553f8f275e92"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#abfd6c1d6f316fa952b11553f8f275e92">&#9670;&nbsp;</a></span>_display_message</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">const char _display_message[] = &quot;display_message&quot;</td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p class="definition">Definition at line <a class="el" href="../../d0/d1e/homescreen_8c_source.html#l00050">50</a> of file <a class="el" href="../../d0/d1e/homescreen_8c_source.html">homescreen.c</a>.</p>
-
-</div>
-</div>
-<a id="aed1c5296a2e6d34945507a0fca17a376"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aed1c5296a2e6d34945507a0fca17a376">&#9670;&nbsp;</a></span>_error</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">const char _error[] = &quot;error&quot;</td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p class="definition">Definition at line <a class="el" href="../../d0/d1e/homescreen_8c_source.html#l00047">47</a> of file <a class="el" href="../../d0/d1e/homescreen_8c_source.html">homescreen.c</a>.</p>
-
-</div>
-</div>
-<a id="a79b0f0b481161527ccb80e83da143219"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a79b0f0b481161527ccb80e83da143219">&#9670;&nbsp;</a></span>_reply_message</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">const char _reply_message[] = &quot;reply_message&quot;</td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p class="definition">Definition at line <a class="el" href="../../d0/d1e/homescreen_8c_source.html#l00051">51</a> of file <a class="el" href="../../d0/d1e/homescreen_8c_source.html">homescreen.c</a>.</p>
-
-</div>
-</div>
-<a id="ae2a62ab481a2922cbfc788193857a12e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae2a62ab481a2922cbfc788193857a12e">&#9670;&nbsp;</a></span>afbBindingV2</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">const struct afb_binding_v2 afbBindingV2</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<b>Initial value:</b><div class="fragment"><div class="line">= {</div><div class="line">    .api = <span class="stringliteral">&quot;homescreen&quot;</span>,</div><div class="line">    .specification = NULL,</div><div class="line">    .verbs = <a class="code" href="../../d0/d1e/homescreen_8c.html#acad6dadf60fac3d701e488e4fcd11c89">verbs</a>,</div><div class="line">    .preinit = <a class="code" href="../../d0/d1e/homescreen_8c.html#a83d646edf54a6a082f69121bc89a08de">preinit</a>,</div><div class="line">    .init = <a class="code" href="../../d0/d1e/homescreen_8c.html#a00cbbc0f3f4452db078ae511684a6adc">init</a>,</div><div class="line">    .onevent = <a class="code" href="../../d0/d1e/homescreen_8c.html#a1279893c0fe937311a81e0a98fb4cf1c">onevent</a></div><div class="line">}</div><div class="ttc" id="homescreen_8c_html_a83d646edf54a6a082f69121bc89a08de"><div class="ttname"><a href="../../d0/d1e/homescreen_8c.html#a83d646edf54a6a082f69121bc89a08de">preinit</a></div><div class="ttdeci">static int preinit()</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00271">homescreen.c:271</a></div></div>
-<div class="ttc" id="homescreen_8c_html_a1279893c0fe937311a81e0a98fb4cf1c"><div class="ttname"><a href="../../d0/d1e/homescreen_8c.html#a1279893c0fe937311a81e0a98fb4cf1c">onevent</a></div><div class="ttdeci">static void onevent(const char *event, struct json_object *object)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00301">homescreen.c:301</a></div></div>
-<div class="ttc" id="homescreen_8c_html_a00cbbc0f3f4452db078ae511684a6adc"><div class="ttname"><a href="../../d0/d1e/homescreen_8c.html#a00cbbc0f3f4452db078ae511684a6adc">init</a></div><div class="ttdeci">static int init()</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00277">homescreen.c:277</a></div></div>
-<div class="ttc" id="homescreen_8c_html_acad6dadf60fac3d701e488e4fcd11c89"><div class="ttname"><a href="../../d0/d1e/homescreen_8c.html#acad6dadf60fac3d701e488e4fcd11c89">verbs</a></div><div class="ttdeci">static const struct afb_verb_v2 verbs[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00260">homescreen.c:260</a></div></div>
-</div><!-- fragment -->
-<p class="definition">Definition at line <a class="el" href="../../d0/d1e/homescreen_8c_source.html#l00306">306</a> of file <a class="el" href="../../d0/d1e/homescreen_8c_source.html">homescreen.c</a>.</p>
-
-</div>
-</div>
-<a id="af7cfc4f688bb898c09291252c4cb832c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af7cfc4f688bb898c09291252c4cb832c">&#9670;&nbsp;</a></span>ev_on_screen_message</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">struct afb_event ev_on_screen_message</td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p class="definition">Definition at line <a class="el" href="../../d0/d1e/homescreen_8c_source.html#l00043">43</a> of file <a class="el" href="../../d0/d1e/homescreen_8c_source.html">homescreen.c</a>.</p>
-
-</div>
-</div>
-<a id="a5c225341e0ecbae0585302ef754a55ec"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5c225341e0ecbae0585302ef754a55ec">&#9670;&nbsp;</a></span>ev_on_screen_reply</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">struct afb_event ev_on_screen_reply</td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p class="definition">Definition at line <a class="el" href="../../d0/d1e/homescreen_8c_source.html#l00044">44</a> of file <a class="el" href="../../d0/d1e/homescreen_8c_source.html">homescreen.c</a>.</p>
-
-</div>
-</div>
-<a id="a25fbdcc4e5787e3f41d99f4a71e86611"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a25fbdcc4e5787e3f41d99f4a71e86611">&#9670;&nbsp;</a></span>ev_reserved</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">struct afb_event ev_reserved</td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p class="definition">Definition at line <a class="el" href="../../d0/d1e/homescreen_8c_source.html#l00045">45</a> of file <a class="el" href="../../d0/d1e/homescreen_8c_source.html">homescreen.c</a>.</p>
-
-</div>
-</div>
-<a id="a2af1ff5a4cbf03125e61e903832035f5"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a2af1ff5a4cbf03125e61e903832035f5">&#9670;&nbsp;</a></span>ev_tap_shortcut</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">struct afb_event ev_tap_shortcut</td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p class="definition">Definition at line <a class="el" href="../../d0/d1e/homescreen_8c_source.html#l00042">42</a> of file <a class="el" href="../../d0/d1e/homescreen_8c_source.html">homescreen.c</a>.</p>
-
-</div>
-</div>
-<a id="a1c3c5bfa861dcb58d9e9d216d893864c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1c3c5bfa861dcb58d9e9d216d893864c">&#9670;&nbsp;</a></span>event_list</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">struct <a class="el" href="../../df/d7d/structevent.html">event</a> event_list[<a class="el" href="../../d0/d1e/homescreen_8c.html#a09f43d9e7e1c5d2198c0d66024b4500e">COMMAND_EVENT_NUM</a>]</td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p class="definition">Definition at line <a class="el" href="../../d0/d1e/homescreen_8c_source.html#l00040">40</a> of file <a class="el" href="../../d0/d1e/homescreen_8c_source.html">homescreen.c</a>.</p>
-
-</div>
-</div>
-<a id="acad6dadf60fac3d701e488e4fcd11c89"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#acad6dadf60fac3d701e488e4fcd11c89">&#9670;&nbsp;</a></span>verbs</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">const struct afb_verb_v2 verbs[]</td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-<b>Initial value:</b><div class="fragment"><div class="line">= {</div><div class="line">    </div><div class="line">    { .verb = <span class="stringliteral">&quot;ping&quot;</span>,              .session = AFB_SESSION_NONE,    .callback = <a class="code" href="../../d0/d1e/homescreen_8c.html#af48cab759d4ae0ddbfcdd60f4051ba05">pingSample</a>,        .auth = NULL },</div><div class="line">    { .verb = <span class="stringliteral">&quot;tap_shortcut&quot;</span>,      .session = AFB_SESSION_NONE,    .callback = <a class="code" href="../../d0/d1e/homescreen_8c.html#a096eae5c8f297f9df142a406eea56227">tap_shortcut</a>,      .auth = NULL },</div><div class="line">    { .verb = <span class="stringliteral">&quot;on_screen_message&quot;</span>, .session = AFB_SESSION_NONE,    .callback = <a class="code" href="../../d0/d1e/homescreen_8c.html#a640cf8ed97d804c5ed1c09a349056338">on_screen_message</a>, .auth = NULL },</div><div class="line">    { .verb = <span class="stringliteral">&quot;on_screen_reply&quot;</span>,   .session = AFB_SESSION_NONE,    .callback = <a class="code" href="../../d0/d1e/homescreen_8c.html#a2f380055d7d69828115d2a8951634933">on_screen_reply</a>,   .auth = NULL },</div><div class="line">    { .verb = <span class="stringliteral">&quot;subscribe&quot;</span>,         .session = AFB_SESSION_NONE,    .callback = <a class="code" href="../../d0/d1e/homescreen_8c.html#a4ff0c8b506669e5622a6ee168134d8f1">subscribe</a>,         .auth = NULL },</div><div class="line">    { .verb = <span class="stringliteral">&quot;unsubscribe&quot;</span>,       .session = AFB_SESSION_NONE,    .callback = <a class="code" href="../../d0/d1e/homescreen_8c.html#ab92621255d7370c6dd8a0f1a8e376ad3">unsubscribe</a>,       .auth = NULL },</div><div class="line">    {NULL } </div><div class="line">}</div><div class="ttc" id="homescreen_8c_html_a096eae5c8f297f9df142a406eea56227"><div class="ttname"><a href="../../d0/d1e/homescreen_8c.html#a096eae5c8f297f9df142a406eea56227">tap_shortcut</a></div><div class="ttdeci">static void tap_shortcut(struct afb_req request)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00077">homescreen.c:77</a></div></div>
-<div class="ttc" id="homescreen_8c_html_af48cab759d4ae0ddbfcdd60f4051ba05"><div class="ttname"><a href="../../d0/d1e/homescreen_8c.html#af48cab759d4ae0ddbfcdd60f4051ba05">pingSample</a></div><div class="ttdeci">static void pingSample(struct afb_req request)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00057">homescreen.c:57</a></div></div>
-<div class="ttc" id="homescreen_8c_html_a2f380055d7d69828115d2a8951634933"><div class="ttname"><a href="../../d0/d1e/homescreen_8c.html#a2f380055d7d69828115d2a8951634933">on_screen_reply</a></div><div class="ttdeci">static void on_screen_reply(struct afb_req request)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00151">homescreen.c:151</a></div></div>
-<div class="ttc" id="homescreen_8c_html_ab92621255d7370c6dd8a0f1a8e376ad3"><div class="ttname"><a href="../../d0/d1e/homescreen_8c.html#ab92621255d7370c6dd8a0f1a8e376ad3">unsubscribe</a></div><div class="ttdeci">static void unsubscribe(struct afb_req request)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00229">homescreen.c:229</a></div></div>
-<div class="ttc" id="homescreen_8c_html_a640cf8ed97d804c5ed1c09a349056338"><div class="ttname"><a href="../../d0/d1e/homescreen_8c.html#a640cf8ed97d804c5ed1c09a349056338">on_screen_message</a></div><div class="ttdeci">static void on_screen_message(struct afb_req request)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00114">homescreen.c:114</a></div></div>
-<div class="ttc" id="homescreen_8c_html_a4ff0c8b506669e5622a6ee168134d8f1"><div class="ttname"><a href="../../d0/d1e/homescreen_8c.html#a4ff0c8b506669e5622a6ee168134d8f1">subscribe</a></div><div class="ttdeci">static void subscribe(struct afb_req request)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00189">homescreen.c:189</a></div></div>
-</div><!-- fragment -->
-<p class="definition">Definition at line <a class="el" href="../../d0/d1e/homescreen_8c_source.html#l00260">260</a> of file <a class="el" href="../../d0/d1e/homescreen_8c_source.html">homescreen.c</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="../../doxygen.png" alt="doxygen"/>
-</a> 1.8.13
-</small></address>
-</body>
-</html>
diff --git a/doc/api-ref/html/d0/d1e/homescreen_8c_source.html b/doc/api-ref/html/d0/d1e/homescreen_8c_source.html
deleted file mode 100644 (file)
index 6a4f516..0000000
+++ /dev/null
@@ -1,108 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>HomeScreenBinding: src/homescreen.c Source File</title>
-<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="../../jquery.js"></script>
-<script type="text/javascript" src="../../dynsections.js"></script>
-<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="../../search/searchdata.js"></script>
-<script type="text/javascript" src="../../search/search.js"></script>
-<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td id="projectalign" style="padding-left: 0.5em;">
-   <div id="projectname">HomeScreenBinding
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
-</script>
-<script type="text/javascript" src="../../menudata.js"></script>
-<script type="text/javascript" src="../../menu.js"></script>
-<script type="text/javascript">
-$(function() {
-  initMenu('../../',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-</script>
-<div id="main-nav"></div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-</div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="../../dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="headertitle">
-<div class="title">homescreen.c</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="../../d0/d1e/homescreen_8c.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * Copyright (c) 2017 TOYOTA MOTOR CORPORATION</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> * Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * you may not use this file except in compliance with the License.</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * You may obtain a copy of the License at</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *      http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * limitations under the License.</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno"><a class="line" href="../../d0/d1e/homescreen_8c.html#a369266c24eacffb87046522897a570d5">   17</a></span>&#160;<span class="preprocessor">#define _GNU_SOURCE</span></div><div class="line"><a name="l00018"></a><span class="lineno"><a class="line" href="../../d0/d1e/homescreen_8c.html#ad2c1fbc92ba364fcf83f15e6d0af66f0">   18</a></span>&#160;<span class="preprocessor">#define AFB_BINDING_VERSION 2</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#include &lt;afb/afb-binding.h&gt;</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;stdio.h&gt;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;string.h&gt;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;stdlib.h&gt;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;stdint.h&gt;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &lt;unistd.h&gt;</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;json-c/json.h&gt;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;glib.h&gt;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &lt;pthread.h&gt;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d3/d3d/hs-helper_8h.html">hs-helper.h</a>&quot;</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="../../d0/d1e/homescreen_8c.html#a09f43d9e7e1c5d2198c0d66024b4500e">   31</a></span>&#160;<span class="preprocessor">#define COMMAND_EVENT_NUM 4</span></div><div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="../../d0/d1e/homescreen_8c.html#a9a68ed04201d9390bb85b2c6ab1d7250">   32</a></span>&#160;<span class="preprocessor">#define EVENT_SUBSCRIBE_ERROR_CODE 100</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">/* To Do hash table is better */</span></div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="../../df/d7d/structevent.html">   35</a></span>&#160;<span class="keyword">struct </span><a class="code" href="../../df/d7d/structevent.html">event</a>{</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="../../df/d7d/structevent.html#a45c6cfb7961a21a3366db067e4cc59ab">   36</a></span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="../../df/d7d/structevent.html#a45c6cfb7961a21a3366db067e4cc59ab">name</a>;</div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="../../df/d7d/structevent.html#a58726ebc551d36562ac3f9e1fe293214">   37</a></span>&#160;    <span class="keyword">struct </span>afb_event* <a class="code" href="../../df/d7d/structevent.html#a58726ebc551d36562ac3f9e1fe293214">event</a>;</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;    };</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="../../d0/d1e/homescreen_8c.html#a1c3c5bfa861dcb58d9e9d216d893864c">   40</a></span>&#160;<span class="keyword">static</span> <span class="keyword">struct </span><a class="code" href="../../df/d7d/structevent.html">event</a> <a class="code" href="../../d0/d1e/homescreen_8c.html#a1c3c5bfa861dcb58d9e9d216d893864c">event_list</a>[<a class="code" href="../../d0/d1e/homescreen_8c.html#a09f43d9e7e1c5d2198c0d66024b4500e">COMMAND_EVENT_NUM</a>];</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;</div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="../../d0/d1e/homescreen_8c.html#a2af1ff5a4cbf03125e61e903832035f5">   42</a></span>&#160;<span class="keyword">static</span> <span class="keyword">struct </span>afb_event <a class="code" href="../../d0/d1e/homescreen_8c.html#a2af1ff5a4cbf03125e61e903832035f5">ev_tap_shortcut</a>;</div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="../../d0/d1e/homescreen_8c.html#af7cfc4f688bb898c09291252c4cb832c">   43</a></span>&#160;<span class="keyword">static</span> <span class="keyword">struct </span>afb_event <a class="code" href="../../d0/d1e/homescreen_8c.html#af7cfc4f688bb898c09291252c4cb832c">ev_on_screen_message</a>;</div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="../../d0/d1e/homescreen_8c.html#a5c225341e0ecbae0585302ef754a55ec">   44</a></span>&#160;<span class="keyword">static</span> <span class="keyword">struct </span>afb_event <a class="code" href="../../d0/d1e/homescreen_8c.html#a5c225341e0ecbae0585302ef754a55ec">ev_on_screen_reply</a>;</div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="../../d0/d1e/homescreen_8c.html#a25fbdcc4e5787e3f41d99f4a71e86611">   45</a></span>&#160;<span class="keyword">static</span> <span class="keyword">struct </span>afb_event <a class="code" href="../../d0/d1e/homescreen_8c.html#a25fbdcc4e5787e3f41d99f4a71e86611">ev_reserved</a>;</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;</div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="../../d0/d1e/homescreen_8c.html#aed1c5296a2e6d34945507a0fca17a376">   47</a></span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="../../d0/d1e/homescreen_8c.html#aed1c5296a2e6d34945507a0fca17a376">_error</a>[] = <span class="stringliteral">&quot;error&quot;</span>;</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="../../d0/d1e/homescreen_8c.html#a1f2c79fa6801b63751e270d67994fe81">   49</a></span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="../../d0/d1e/homescreen_8c.html#a1f2c79fa6801b63751e270d67994fe81">_application_name</a>[] = <span class="stringliteral">&quot;application_name&quot;</span>;</div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="../../d0/d1e/homescreen_8c.html#abfd6c1d6f316fa952b11553f8f275e92">   50</a></span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="../../d0/d1e/homescreen_8c.html#abfd6c1d6f316fa952b11553f8f275e92">_display_message</a>[] = <span class="stringliteral">&quot;display_message&quot;</span>;</div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="../../d0/d1e/homescreen_8c.html#a79b0f0b481161527ccb80e83da143219">   51</a></span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="../../d0/d1e/homescreen_8c.html#a79b0f0b481161527ccb80e83da143219">_reply_message</a>[] = <span class="stringliteral">&quot;reply_message&quot;</span>;</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="comment">********** Method of HomeScreen Service (API) **********</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">*/</span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;</div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="../../d0/d1e/homescreen_8c.html#af48cab759d4ae0ddbfcdd60f4051ba05">   57</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="../../d0/d1e/homescreen_8c.html#af48cab759d4ae0ddbfcdd60f4051ba05">pingSample</a>(<span class="keyword">struct</span> afb_req request)</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;{</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;   <span class="keyword">static</span> <span class="keywordtype">int</span> pingcount = 0;</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;   afb_req_success_f(request, json_object_new_int(pingcount), <span class="stringliteral">&quot;Ping count = %d&quot;</span>, pingcount);</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;   <a class="code" href="../../df/d76/hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;Verbosity macro at level notice invoked at ping invocation count = %d&quot;</span>, pingcount);</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;   pingcount++;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;}</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="../../d0/d1e/homescreen_8c.html#a096eae5c8f297f9df142a406eea56227">   77</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="../../d0/d1e/homescreen_8c.html#a096eae5c8f297f9df142a406eea56227">tap_shortcut</a> (<span class="keyword">struct</span> afb_req request)</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;{</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;    <a class="code" href="../../df/d76/hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;is called.&quot;</span>);</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;    <span class="keywordtype">int</span> ret = 0;</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* value = afb_req_value(request, <a class="code" href="../../d0/d1e/homescreen_8c.html#a1f2c79fa6801b63751e270d67994fe81">_application_name</a>);</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;    <span class="keywordflow">if</span> (value) {</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;      <a class="code" href="../../df/d76/hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;request params = %s.&quot;</span>, value);</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;      <span class="keyword">struct </span>json_object* push_obj = json_object_new_object();</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;      <a class="code" href="../../dd/d1d/hs-helper_8c.html#a8777c53f1d4d5412f19b134ad85ffedf">hs_add_object_to_json_object_str</a>( push_obj, 2,</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;      <a class="code" href="../../d0/d1e/homescreen_8c.html#a1f2c79fa6801b63751e270d67994fe81">_application_name</a>, value);</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;      afb_event_push(<a class="code" href="../../d0/d1e/homescreen_8c.html#a2af1ff5a4cbf03125e61e903832035f5">ev_tap_shortcut</a>, push_obj);</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;    } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;      afb_req_fail_f(request, <span class="stringliteral">&quot;failed&quot;</span>, <span class="stringliteral">&quot;called %s, Unknown palameter&quot;</span>, __FUNCTION__);</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;      <span class="keywordflow">return</span>;</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;    }</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;  <span class="comment">// response to HomeScreen</span></div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;    <span class="keyword">struct </span>json_object *res = json_object_new_object();</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;    <a class="code" href="../../dd/d1d/hs-helper_8c.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs_add_object_to_json_object_func</a>(res, __FUNCTION__, 2,</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;      <a class="code" href="../../d0/d1e/homescreen_8c.html#aed1c5296a2e6d34945507a0fca17a376">_error</a>,  ret);</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;    afb_req_success(request, res, <span class="stringliteral">&quot;afb_event_push event [tap_shortcut]&quot;</span>);</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;}</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;</div><div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="../../d0/d1e/homescreen_8c.html#a640cf8ed97d804c5ed1c09a349056338">  114</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="../../d0/d1e/homescreen_8c.html#a640cf8ed97d804c5ed1c09a349056338">on_screen_message</a> (<span class="keyword">struct</span> afb_req request)</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;{</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;    <a class="code" href="../../df/d76/hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;is called.&quot;</span>);</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;    <span class="keywordtype">int</span> ret = 0;</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* value = afb_req_value(request, <a class="code" href="../../d0/d1e/homescreen_8c.html#abfd6c1d6f316fa952b11553f8f275e92">_display_message</a>);</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;    <span class="keywordflow">if</span> (value) {</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;      <a class="code" href="../../df/d76/hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;request params = %s.&quot;</span>, value);</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;      <span class="keyword">struct </span>json_object* push_obj = json_object_new_object();</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;      <a class="code" href="../../dd/d1d/hs-helper_8c.html#a8777c53f1d4d5412f19b134ad85ffedf">hs_add_object_to_json_object_str</a>( push_obj, 2,</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;      <a class="code" href="../../d0/d1e/homescreen_8c.html#abfd6c1d6f316fa952b11553f8f275e92">_display_message</a>, value);</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;      afb_event_push(<a class="code" href="../../d0/d1e/homescreen_8c.html#af7cfc4f688bb898c09291252c4cb832c">ev_on_screen_message</a>, push_obj);</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;    } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;      afb_req_fail_f(request, <span class="stringliteral">&quot;failed&quot;</span>, <span class="stringliteral">&quot;called %s, Unknown palameter&quot;</span>, __FUNCTION__);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;      <span class="keywordflow">return</span>;</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;    }</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;  <span class="comment">// response to HomeScreen</span></div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;    <span class="keyword">struct </span>json_object *res = json_object_new_object();</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;    <a class="code" href="../../dd/d1d/hs-helper_8c.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs_add_object_to_json_object_func</a>(res, __FUNCTION__, 2,</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;      <a class="code" href="../../d0/d1e/homescreen_8c.html#aed1c5296a2e6d34945507a0fca17a376">_error</a>,  ret);</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;    afb_req_success(request, res, <span class="stringliteral">&quot;afb_event_push event [on_screen_message]&quot;</span>);</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;}</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;</div><div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="../../d0/d1e/homescreen_8c.html#a2f380055d7d69828115d2a8951634933">  151</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="../../d0/d1e/homescreen_8c.html#a2f380055d7d69828115d2a8951634933">on_screen_reply</a> (<span class="keyword">struct</span> afb_req request)</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;{</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;    <a class="code" href="../../df/d76/hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;is called.&quot;</span>);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;    <span class="keywordtype">int</span> ret = 0;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* value = afb_req_value(request, <a class="code" href="../../d0/d1e/homescreen_8c.html#a79b0f0b481161527ccb80e83da143219">_reply_message</a>);</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;    <span class="keywordflow">if</span> (value) {</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;      <a class="code" href="../../df/d76/hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;request params = %s.&quot;</span>, value);</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;      <span class="keyword">struct </span>json_object* push_obj = json_object_new_object();</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;      <a class="code" href="../../dd/d1d/hs-helper_8c.html#a8777c53f1d4d5412f19b134ad85ffedf">hs_add_object_to_json_object_str</a>( push_obj, 2,</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;      <a class="code" href="../../d0/d1e/homescreen_8c.html#a79b0f0b481161527ccb80e83da143219">_reply_message</a>, value);</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;      afb_event_push(<a class="code" href="../../d0/d1e/homescreen_8c.html#a5c225341e0ecbae0585302ef754a55ec">ev_on_screen_reply</a>, push_obj);</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;    } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;      afb_req_fail_f(request, <span class="stringliteral">&quot;failed&quot;</span>, <span class="stringliteral">&quot;called %s, Unknown palameter&quot;</span>, __FUNCTION__);</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;      <span class="keywordflow">return</span>;</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;    }</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;  <span class="comment">// response to HomeScreen</span></div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;    <span class="keyword">struct </span>json_object *res = json_object_new_object();</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;    <a class="code" href="../../dd/d1d/hs-helper_8c.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs_add_object_to_json_object_func</a>(res, __FUNCTION__, 2,</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;      <a class="code" href="../../d0/d1e/homescreen_8c.html#aed1c5296a2e6d34945507a0fca17a376">_error</a>,  ret);</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;    afb_req_success(request, res, <span class="stringliteral">&quot;afb_event_push event [on_screen_reply]&quot;</span>);</div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;}</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno"><a class="line" href="../../d0/d1e/homescreen_8c.html#a4ff0c8b506669e5622a6ee168134d8f1">  189</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="../../d0/d1e/homescreen_8c.html#a4ff0c8b506669e5622a6ee168134d8f1">subscribe</a>(<span class="keyword">struct</span> afb_req request)</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;{</div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> *value = afb_req_value(request, <span class="stringliteral">&quot;event&quot;</span>);</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;    <a class="code" href="../../df/d76/hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;value is %s&quot;</span>, value);</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;    <span class="keywordtype">int</span> ret = 0;</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;    <span class="keywordflow">if</span>(value) {</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;        <span class="keywordtype">int</span> index = <a class="code" href="../../dd/d1d/hs-helper_8c.html#a2ff1b894941c3b461ca8119079c4146a">hs_search_event_name_index</a>(value);</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;        <span class="keywordflow">if</span>(index &lt; 0)</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;        {</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;            <a class="code" href="../../df/d76/hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;dedicated event doesn&#39;t exist&quot;</span>);</div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;            ret = <a class="code" href="../../d0/d1e/homescreen_8c.html#a9a68ed04201d9390bb85b2c6ab1d7250">EVENT_SUBSCRIBE_ERROR_CODE</a>;</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;        }</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;        {</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;            afb_req_subscribe(request, *<a class="code" href="../../d0/d1e/homescreen_8c.html#a1c3c5bfa861dcb58d9e9d216d893864c">event_list</a>[index].<a class="code" href="../../df/d7d/structevent.html">event</a>);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;        }</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;    }</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;    <span class="keywordflow">else</span>{</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;        <a class="code" href="../../df/d76/hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;Please input event name&quot;</span>);</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;        ret = <a class="code" href="../../d0/d1e/homescreen_8c.html#a9a68ed04201d9390bb85b2c6ab1d7250">EVENT_SUBSCRIBE_ERROR_CODE</a>;</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;    }</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;    <span class="comment">/*create response json object*/</span></div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;    <span class="keyword">struct </span>json_object *res = json_object_new_object();</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;    <a class="code" href="../../dd/d1d/hs-helper_8c.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs_add_object_to_json_object_func</a>(res, __FUNCTION__, 2,</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;        <a class="code" href="../../d0/d1e/homescreen_8c.html#aed1c5296a2e6d34945507a0fca17a376">_error</a>, ret);</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;    afb_req_success_f(request, res, <span class="stringliteral">&quot;homescreen binder subscribe event name [%s]&quot;</span>, value);</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;}</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;</div><div class="line"><a name="l00229"></a><span class="lineno"><a class="line" href="../../d0/d1e/homescreen_8c.html#ab92621255d7370c6dd8a0f1a8e376ad3">  229</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="../../d0/d1e/homescreen_8c.html#ab92621255d7370c6dd8a0f1a8e376ad3">unsubscribe</a>(<span class="keyword">struct</span> afb_req request)</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;{</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> *value = afb_req_value(request, <span class="stringliteral">&quot;event&quot;</span>);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;    <a class="code" href="../../df/d76/hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;value is %s&quot;</span>, value);</div><div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;    <span class="keywordtype">int</span> ret = 0;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;    <span class="keywordflow">if</span>(value) {</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;        <span class="keywordtype">int</span> index = <a class="code" href="../../dd/d1d/hs-helper_8c.html#a2ff1b894941c3b461ca8119079c4146a">hs_search_event_name_index</a>(value);</div><div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;        <span class="keywordflow">if</span>(index &lt; 0)</div><div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;        {</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;            <a class="code" href="../../df/d76/hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;dedicated event doesn&#39;t exist&quot;</span>);</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;            ret = <a class="code" href="../../d0/d1e/homescreen_8c.html#a9a68ed04201d9390bb85b2c6ab1d7250">EVENT_SUBSCRIBE_ERROR_CODE</a>;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;        }</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;        {</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;            afb_req_unsubscribe(request, *<a class="code" href="../../d0/d1e/homescreen_8c.html#a1c3c5bfa861dcb58d9e9d216d893864c">event_list</a>[index].<a class="code" href="../../df/d7d/structevent.html">event</a>);</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;        }</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;    }</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;    <span class="keywordflow">else</span>{</div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;        <a class="code" href="../../df/d76/hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;Please input event name&quot;</span>);</div><div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;        ret = <a class="code" href="../../d0/d1e/homescreen_8c.html#a9a68ed04201d9390bb85b2c6ab1d7250">EVENT_SUBSCRIBE_ERROR_CODE</a>;</div><div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;    }</div><div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;    <span class="comment">/*create response json object*/</span></div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;    <span class="keyword">struct </span>json_object *res = json_object_new_object();</div><div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;    <a class="code" href="../../dd/d1d/hs-helper_8c.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs_add_object_to_json_object_func</a>(res, __FUNCTION__, 2,</div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;        <a class="code" href="../../d0/d1e/homescreen_8c.html#aed1c5296a2e6d34945507a0fca17a376">_error</a>, ret);</div><div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;    afb_req_success_f(request, res, <span class="stringliteral">&quot;homescreen binder unsubscribe event name [%s]&quot;</span>, value);</div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;}</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;<span class="comment"> * array of the verbs exported to afb-daemon</span></div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00260"></a><span class="lineno"><a class="line" href="../../d0/d1e/homescreen_8c.html#acad6dadf60fac3d701e488e4fcd11c89">  260</a></span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">struct </span>afb_verb_v2 <a class="code" href="../../d0/d1e/homescreen_8c.html#acad6dadf60fac3d701e488e4fcd11c89">verbs</a>[]= {</div><div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;    <span class="comment">/* VERB&#39;S NAME                    SESSION MANAGEMENT                FUNCTION TO CALL                     */</span></div><div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;    { .verb = <span class="stringliteral">&quot;ping&quot;</span>,              .session = AFB_SESSION_NONE,    .callback = <a class="code" href="../../d0/d1e/homescreen_8c.html#af48cab759d4ae0ddbfcdd60f4051ba05">pingSample</a>,        .auth = NULL },</div><div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;    { .verb = <span class="stringliteral">&quot;tap_shortcut&quot;</span>,      .session = AFB_SESSION_NONE,    .callback = <a class="code" href="../../d0/d1e/homescreen_8c.html#a096eae5c8f297f9df142a406eea56227">tap_shortcut</a>,      .auth = NULL },</div><div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;    { .verb = <span class="stringliteral">&quot;on_screen_message&quot;</span>, .session = AFB_SESSION_NONE,    .callback = <a class="code" href="../../d0/d1e/homescreen_8c.html#a640cf8ed97d804c5ed1c09a349056338">on_screen_message</a>, .auth = NULL },</div><div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;    { .verb = <span class="stringliteral">&quot;on_screen_reply&quot;</span>,   .session = AFB_SESSION_NONE,    .callback = <a class="code" href="../../d0/d1e/homescreen_8c.html#a2f380055d7d69828115d2a8951634933">on_screen_reply</a>,   .auth = NULL },</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;    { .verb = <span class="stringliteral">&quot;subscribe&quot;</span>,         .session = AFB_SESSION_NONE,    .callback = <a class="code" href="../../d0/d1e/homescreen_8c.html#a4ff0c8b506669e5622a6ee168134d8f1">subscribe</a>,         .auth = NULL },</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;    { .verb = <span class="stringliteral">&quot;unsubscribe&quot;</span>,       .session = AFB_SESSION_NONE,    .callback = <a class="code" href="../../d0/d1e/homescreen_8c.html#ab92621255d7370c6dd8a0f1a8e376ad3">unsubscribe</a>,       .auth = NULL },</div><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;    {NULL } <span class="comment">/* marker for end of the array */</span></div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;};</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;</div><div class="line"><a name="l00271"></a><span class="lineno"><a class="line" href="../../d0/d1e/homescreen_8c.html#a83d646edf54a6a082f69121bc89a08de">  271</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="../../d0/d1e/homescreen_8c.html#a83d646edf54a6a082f69121bc89a08de">preinit</a>()</div><div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;{</div><div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;   <a class="code" href="../../df/d76/hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;binding preinit (was register)&quot;</span>);</div><div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;   <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;}</div><div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;</div><div class="line"><a name="l00277"></a><span class="lineno"><a class="line" href="../../d0/d1e/homescreen_8c.html#a00cbbc0f3f4452db078ae511684a6adc">  277</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="../../d0/d1e/homescreen_8c.html#a00cbbc0f3f4452db078ae511684a6adc">init</a>()</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;{</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;   <a class="code" href="../../df/d76/hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;binding init&quot;</span>);</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;</div><div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;   <a class="code" href="../../d0/d1e/homescreen_8c.html#a2af1ff5a4cbf03125e61e903832035f5">ev_tap_shortcut</a> = afb_daemon_make_event(<a class="code" href="../../d3/d3d/hs-helper_8h.html#a0cd84b1a2184c9b84d1b7bf24582f28e">evlist</a>[0]);</div><div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;   <a class="code" href="../../d0/d1e/homescreen_8c.html#af7cfc4f688bb898c09291252c4cb832c">ev_on_screen_message</a> = afb_daemon_make_event(<a class="code" href="../../d3/d3d/hs-helper_8h.html#a0cd84b1a2184c9b84d1b7bf24582f28e">evlist</a>[1]);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;   <a class="code" href="../../d0/d1e/homescreen_8c.html#a5c225341e0ecbae0585302ef754a55ec">ev_on_screen_reply</a> = afb_daemon_make_event(<a class="code" href="../../d3/d3d/hs-helper_8h.html#a0cd84b1a2184c9b84d1b7bf24582f28e">evlist</a>[2]);</div><div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;   <a class="code" href="../../d0/d1e/homescreen_8c.html#a25fbdcc4e5787e3f41d99f4a71e86611">ev_reserved</a> = afb_daemon_make_event(<a class="code" href="../../d3/d3d/hs-helper_8h.html#a0cd84b1a2184c9b84d1b7bf24582f28e">evlist</a>[3]);</div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;</div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;   <a class="code" href="../../d0/d1e/homescreen_8c.html#a1c3c5bfa861dcb58d9e9d216d893864c">event_list</a>[0].<a class="code" href="../../df/d7d/structevent.html#a45c6cfb7961a21a3366db067e4cc59ab">name</a> = <a class="code" href="../../d3/d3d/hs-helper_8h.html#a0cd84b1a2184c9b84d1b7bf24582f28e">evlist</a>[0];</div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;   <a class="code" href="../../d0/d1e/homescreen_8c.html#a1c3c5bfa861dcb58d9e9d216d893864c">event_list</a>[0].<a class="code" href="../../df/d7d/structevent.html#a58726ebc551d36562ac3f9e1fe293214">event</a> = &amp;<a class="code" href="../../d0/d1e/homescreen_8c.html#a2af1ff5a4cbf03125e61e903832035f5">ev_tap_shortcut</a>;</div><div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;</div><div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;   <a class="code" href="../../d0/d1e/homescreen_8c.html#a1c3c5bfa861dcb58d9e9d216d893864c">event_list</a>[1].<a class="code" href="../../df/d7d/structevent.html#a45c6cfb7961a21a3366db067e4cc59ab">name</a> = <a class="code" href="../../d3/d3d/hs-helper_8h.html#a0cd84b1a2184c9b84d1b7bf24582f28e">evlist</a>[1];</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;   <a class="code" href="../../d0/d1e/homescreen_8c.html#a1c3c5bfa861dcb58d9e9d216d893864c">event_list</a>[1].<a class="code" href="../../df/d7d/structevent.html#a58726ebc551d36562ac3f9e1fe293214">event</a> = &amp;<a class="code" href="../../d0/d1e/homescreen_8c.html#af7cfc4f688bb898c09291252c4cb832c">ev_on_screen_message</a>;</div><div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;   <a class="code" href="../../d0/d1e/homescreen_8c.html#a1c3c5bfa861dcb58d9e9d216d893864c">event_list</a>[2].<a class="code" href="../../df/d7d/structevent.html#a45c6cfb7961a21a3366db067e4cc59ab">name</a> = <a class="code" href="../../d3/d3d/hs-helper_8h.html#a0cd84b1a2184c9b84d1b7bf24582f28e">evlist</a>[2];</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;   <a class="code" href="../../d0/d1e/homescreen_8c.html#a1c3c5bfa861dcb58d9e9d216d893864c">event_list</a>[2].<a class="code" href="../../df/d7d/structevent.html#a58726ebc551d36562ac3f9e1fe293214">event</a> = &amp;<a class="code" href="../../d0/d1e/homescreen_8c.html#a5c225341e0ecbae0585302ef754a55ec">ev_on_screen_reply</a>;</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;   <a class="code" href="../../d0/d1e/homescreen_8c.html#a1c3c5bfa861dcb58d9e9d216d893864c">event_list</a>[3].<a class="code" href="../../df/d7d/structevent.html#a45c6cfb7961a21a3366db067e4cc59ab">name</a> = <a class="code" href="../../d3/d3d/hs-helper_8h.html#a0cd84b1a2184c9b84d1b7bf24582f28e">evlist</a>[3];</div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;   <a class="code" href="../../d0/d1e/homescreen_8c.html#a1c3c5bfa861dcb58d9e9d216d893864c">event_list</a>[3].<a class="code" href="../../df/d7d/structevent.html#a58726ebc551d36562ac3f9e1fe293214">event</a> = &amp;<a class="code" href="../../d0/d1e/homescreen_8c.html#a25fbdcc4e5787e3f41d99f4a71e86611">ev_reserved</a>;</div><div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;   <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;}</div><div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;</div><div class="line"><a name="l00301"></a><span class="lineno"><a class="line" href="../../d0/d1e/homescreen_8c.html#a1279893c0fe937311a81e0a98fb4cf1c">  301</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="../../d0/d1e/homescreen_8c.html#a1279893c0fe937311a81e0a98fb4cf1c">onevent</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="../../df/d7d/structevent.html">event</a>, <span class="keyword">struct</span> json_object *<span class="keywordtype">object</span>)</div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;{</div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;   <a class="code" href="../../df/d76/hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;on_event %s&quot;</span>, event);</div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;}</div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;</div><div class="line"><a name="l00306"></a><span class="lineno"><a class="line" href="../../d0/d1e/homescreen_8c.html#ae2a62ab481a2922cbfc788193857a12e">  306</a></span>&#160;<span class="keyword">const</span> <span class="keyword">struct </span>afb_binding_v2 <a class="code" href="../../d0/d1e/homescreen_8c.html#ae2a62ab481a2922cbfc788193857a12e">afbBindingV2</a> = {</div><div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;    .api = <span class="stringliteral">&quot;homescreen&quot;</span>,</div><div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;    .specification = NULL,</div><div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;    .verbs = <a class="code" href="../../d0/d1e/homescreen_8c.html#acad6dadf60fac3d701e488e4fcd11c89">verbs</a>,</div><div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;    .preinit = <a class="code" href="../../d0/d1e/homescreen_8c.html#a83d646edf54a6a082f69121bc89a08de">preinit</a>,</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;    .init = <a class="code" href="../../d0/d1e/homescreen_8c.html#a00cbbc0f3f4452db078ae511684a6adc">init</a>,</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;    .onevent = <a class="code" href="../../d0/d1e/homescreen_8c.html#a1279893c0fe937311a81e0a98fb4cf1c">onevent</a></div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;};</div><div class="ttc" id="hs-helper_8c_html_a8777c53f1d4d5412f19b134ad85ffedf"><div class="ttname"><a href="../../dd/d1d/hs-helper_8c.html#a8777c53f1d4d5412f19b134ad85ffedf">hs_add_object_to_json_object_str</a></div><div class="ttdeci">void hs_add_object_to_json_object_str(struct json_object *j_obj, int count,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d1d/hs-helper_8c_source.html#l00110">hs-helper.c:110</a></div></div>
-<div class="ttc" id="structevent_html_a58726ebc551d36562ac3f9e1fe293214"><div class="ttname"><a href="../../df/d7d/structevent.html#a58726ebc551d36562ac3f9e1fe293214">event::event</a></div><div class="ttdeci">struct afb_event * event</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00037">homescreen.c:37</a></div></div>
-<div class="ttc" id="hmi-debug_8h_html_abc0d6e0760017d8ae48b836925b2ef15"><div class="ttname"><a href="../../df/d76/hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a></div><div class="ttdeci">#define HMI_NOTICE(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d76/hmi-debug_8h_source.html#l00020">hmi-debug.h:20</a></div></div>
-<div class="ttc" id="homescreen_8c_html_a83d646edf54a6a082f69121bc89a08de"><div class="ttname"><a href="../../d0/d1e/homescreen_8c.html#a83d646edf54a6a082f69121bc89a08de">preinit</a></div><div class="ttdeci">static int preinit()</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00271">homescreen.c:271</a></div></div>
-<div class="ttc" id="homescreen_8c_html_a096eae5c8f297f9df142a406eea56227"><div class="ttname"><a href="../../d0/d1e/homescreen_8c.html#a096eae5c8f297f9df142a406eea56227">tap_shortcut</a></div><div class="ttdeci">static void tap_shortcut(struct afb_req request)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00077">homescreen.c:77</a></div></div>
-<div class="ttc" id="homescreen_8c_html_a1f2c79fa6801b63751e270d67994fe81"><div class="ttname"><a href="../../d0/d1e/homescreen_8c.html#a1f2c79fa6801b63751e270d67994fe81">_application_name</a></div><div class="ttdeci">static const char _application_name[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00049">homescreen.c:49</a></div></div>
-<div class="ttc" id="homescreen_8c_html_a25fbdcc4e5787e3f41d99f4a71e86611"><div class="ttname"><a href="../../d0/d1e/homescreen_8c.html#a25fbdcc4e5787e3f41d99f4a71e86611">ev_reserved</a></div><div class="ttdeci">static struct afb_event ev_reserved</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00045">homescreen.c:45</a></div></div>
-<div class="ttc" id="homescreen_8c_html_aed1c5296a2e6d34945507a0fca17a376"><div class="ttname"><a href="../../d0/d1e/homescreen_8c.html#aed1c5296a2e6d34945507a0fca17a376">_error</a></div><div class="ttdeci">static const char _error[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00047">homescreen.c:47</a></div></div>
-<div class="ttc" id="homescreen_8c_html_af48cab759d4ae0ddbfcdd60f4051ba05"><div class="ttname"><a href="../../d0/d1e/homescreen_8c.html#af48cab759d4ae0ddbfcdd60f4051ba05">pingSample</a></div><div class="ttdeci">static void pingSample(struct afb_req request)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00057">homescreen.c:57</a></div></div>
-<div class="ttc" id="homescreen_8c_html_a1279893c0fe937311a81e0a98fb4cf1c"><div class="ttname"><a href="../../d0/d1e/homescreen_8c.html#a1279893c0fe937311a81e0a98fb4cf1c">onevent</a></div><div class="ttdeci">static void onevent(const char *event, struct json_object *object)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00301">homescreen.c:301</a></div></div>
-<div class="ttc" id="hs-helper_8h_html"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html">hs-helper.h</a></div></div>
-<div class="ttc" id="structevent_html"><div class="ttname"><a href="../../df/d7d/structevent.html">event</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00035">homescreen.c:35</a></div></div>
-<div class="ttc" id="homescreen_8c_html_a2f380055d7d69828115d2a8951634933"><div class="ttname"><a href="../../d0/d1e/homescreen_8c.html#a2f380055d7d69828115d2a8951634933">on_screen_reply</a></div><div class="ttdeci">static void on_screen_reply(struct afb_req request)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00151">homescreen.c:151</a></div></div>
-<div class="ttc" id="homescreen_8c_html_a00cbbc0f3f4452db078ae511684a6adc"><div class="ttname"><a href="../../d0/d1e/homescreen_8c.html#a00cbbc0f3f4452db078ae511684a6adc">init</a></div><div class="ttdeci">static int init()</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00277">homescreen.c:277</a></div></div>
-<div class="ttc" id="hs-helper_8h_html_a0cd84b1a2184c9b84d1b7bf24582f28e"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#a0cd84b1a2184c9b84d1b7bf24582f28e">evlist</a></div><div class="ttdeci">static const char * evlist[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00034">hs-helper.h:34</a></div></div>
-<div class="ttc" id="structevent_html_a45c6cfb7961a21a3366db067e4cc59ab"><div class="ttname"><a href="../../df/d7d/structevent.html#a45c6cfb7961a21a3366db067e4cc59ab">event::name</a></div><div class="ttdeci">const char * name</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00036">homescreen.c:36</a></div></div>
-<div class="ttc" id="homescreen_8c_html_ab92621255d7370c6dd8a0f1a8e376ad3"><div class="ttname"><a href="../../d0/d1e/homescreen_8c.html#ab92621255d7370c6dd8a0f1a8e376ad3">unsubscribe</a></div><div class="ttdeci">static void unsubscribe(struct afb_req request)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00229">homescreen.c:229</a></div></div>
-<div class="ttc" id="hs-helper_8c_html_a2ff1b894941c3b461ca8119079c4146a"><div class="ttname"><a href="../../dd/d1d/hs-helper_8c.html#a2ff1b894941c3b461ca8119079c4146a">hs_search_event_name_index</a></div><div class="ttdeci">int hs_search_event_name_index(const char *value)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d1d/hs-helper_8c_source.html#l00142">hs-helper.c:142</a></div></div>
-<div class="ttc" id="homescreen_8c_html_a5c225341e0ecbae0585302ef754a55ec"><div class="ttname"><a href="../../d0/d1e/homescreen_8c.html#a5c225341e0ecbae0585302ef754a55ec">ev_on_screen_reply</a></div><div class="ttdeci">static struct afb_event ev_on_screen_reply</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00044">homescreen.c:44</a></div></div>
-<div class="ttc" id="homescreen_8c_html_af7cfc4f688bb898c09291252c4cb832c"><div class="ttname"><a href="../../d0/d1e/homescreen_8c.html#af7cfc4f688bb898c09291252c4cb832c">ev_on_screen_message</a></div><div class="ttdeci">static struct afb_event ev_on_screen_message</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00043">homescreen.c:43</a></div></div>
-<div class="ttc" id="homescreen_8c_html_a09f43d9e7e1c5d2198c0d66024b4500e"><div class="ttname"><a href="../../d0/d1e/homescreen_8c.html#a09f43d9e7e1c5d2198c0d66024b4500e">COMMAND_EVENT_NUM</a></div><div class="ttdeci">#define COMMAND_EVENT_NUM</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00031">homescreen.c:31</a></div></div>
-<div class="ttc" id="homescreen_8c_html_a640cf8ed97d804c5ed1c09a349056338"><div class="ttname"><a href="../../d0/d1e/homescreen_8c.html#a640cf8ed97d804c5ed1c09a349056338">on_screen_message</a></div><div class="ttdeci">static void on_screen_message(struct afb_req request)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00114">homescreen.c:114</a></div></div>
-<div class="ttc" id="homescreen_8c_html_acad6dadf60fac3d701e488e4fcd11c89"><div class="ttname"><a href="../../d0/d1e/homescreen_8c.html#acad6dadf60fac3d701e488e4fcd11c89">verbs</a></div><div class="ttdeci">static const struct afb_verb_v2 verbs[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00260">homescreen.c:260</a></div></div>
-<div class="ttc" id="homescreen_8c_html_a1c3c5bfa861dcb58d9e9d216d893864c"><div class="ttname"><a href="../../d0/d1e/homescreen_8c.html#a1c3c5bfa861dcb58d9e9d216d893864c">event_list</a></div><div class="ttdeci">static struct event event_list[COMMAND_EVENT_NUM]</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00040">homescreen.c:40</a></div></div>
-<div class="ttc" id="homescreen_8c_html_abfd6c1d6f316fa952b11553f8f275e92"><div class="ttname"><a href="../../d0/d1e/homescreen_8c.html#abfd6c1d6f316fa952b11553f8f275e92">_display_message</a></div><div class="ttdeci">static const char _display_message[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00050">homescreen.c:50</a></div></div>
-<div class="ttc" id="homescreen_8c_html_a4ff0c8b506669e5622a6ee168134d8f1"><div class="ttname"><a href="../../d0/d1e/homescreen_8c.html#a4ff0c8b506669e5622a6ee168134d8f1">subscribe</a></div><div class="ttdeci">static void subscribe(struct afb_req request)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00189">homescreen.c:189</a></div></div>
-<div class="ttc" id="homescreen_8c_html_a9a68ed04201d9390bb85b2c6ab1d7250"><div class="ttname"><a href="../../d0/d1e/homescreen_8c.html#a9a68ed04201d9390bb85b2c6ab1d7250">EVENT_SUBSCRIBE_ERROR_CODE</a></div><div class="ttdeci">#define EVENT_SUBSCRIBE_ERROR_CODE</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00032">homescreen.c:32</a></div></div>
-<div class="ttc" id="homescreen_8c_html_a2af1ff5a4cbf03125e61e903832035f5"><div class="ttname"><a href="../../d0/d1e/homescreen_8c.html#a2af1ff5a4cbf03125e61e903832035f5">ev_tap_shortcut</a></div><div class="ttdeci">static struct afb_event ev_tap_shortcut</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00042">homescreen.c:42</a></div></div>
-<div class="ttc" id="homescreen_8c_html_a79b0f0b481161527ccb80e83da143219"><div class="ttname"><a href="../../d0/d1e/homescreen_8c.html#a79b0f0b481161527ccb80e83da143219">_reply_message</a></div><div class="ttdeci">static const char _reply_message[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00051">homescreen.c:51</a></div></div>
-<div class="ttc" id="homescreen_8c_html_ae2a62ab481a2922cbfc788193857a12e"><div class="ttname"><a href="../../d0/d1e/homescreen_8c.html#ae2a62ab481a2922cbfc788193857a12e">afbBindingV2</a></div><div class="ttdeci">const struct afb_binding_v2 afbBindingV2</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00306">homescreen.c:306</a></div></div>
-<div class="ttc" id="hs-helper_8c_html_ae83604a37134e7bdee3ce4f10bb0b47a"><div class="ttname"><a href="../../dd/d1d/hs-helper_8c.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs_add_object_to_json_object_func</a></div><div class="ttdeci">void hs_add_object_to_json_object_func(struct json_object *j_obj, const char *verb_name, int count,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d1d/hs-helper_8c_source.html#l00125">hs-helper.c:125</a></div></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="../../doxygen.png" alt="doxygen"/>
-</a> 1.8.13
-</small></address>
-</body>
-</html>
diff --git a/doc/api-ref/html/d0/d53/struct_h_s___client_ctxt.html b/doc/api-ref/html/d0/d53/struct_h_s___client_ctxt.html
new file mode 100644 (file)
index 0000000..b02f624
--- /dev/null
@@ -0,0 +1,161 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<title>HomeScreenBinding: HS_ClientCtxt Struct Reference</title>
+<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="../../jquery.js"></script>
+<script type="text/javascript" src="../../dynsections.js"></script>
+<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="../../search/searchdata.js"></script>
+<script type="text/javascript" src="../../search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">HomeScreenBinding
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="../../index.html"><span>Main&#160;Page</span></a></li>
+      <li class="current"><a href="../../annotated.html"><span>Classes</span></a></li>
+      <li><a href="../../files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="../../search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="../../annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="../../functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-attribs">Public Attributes</a> &#124;
+<a href="../../d5/d56/struct_h_s___client_ctxt-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">HS_ClientCtxt Struct Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><code>#include &lt;<a class="el" href="../../de/dca/hs-clientmanager_8h_source.html">hs-clientmanager.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a9ff4dcc7b8c6061940a0ee79b5d15459"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d53/struct_h_s___client_ctxt.html#a9ff4dcc7b8c6061940a0ee79b5d15459">HS_ClientCtxt</a> (const char *appid)</td></tr>
+<tr class="separator:a9ff4dcc7b8c6061940a0ee79b5d15459"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:a04929d7d5f583a821d3d594815f77d1c"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d53/struct_h_s___client_ctxt.html#a04929d7d5f583a821d3d594815f77d1c">id</a></td></tr>
+<tr class="separator:a04929d7d5f583a821d3d594815f77d1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock">
+<p>Definition at line <a class="el" href="../../de/dca/hs-clientmanager_8h_source.html#l00027">27</a> of file <a class="el" href="../../de/dca/hs-clientmanager_8h_source.html">hs-clientmanager.h</a>.</p>
+</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a9ff4dcc7b8c6061940a0ee79b5d15459"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">HS_ClientCtxt::HS_ClientCtxt </td>
+          <td>(</td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>appid</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../de/dca/hs-clientmanager_8h_source.html#l00030">30</a> of file <a class="el" href="../../de/dca/hs-clientmanager_8h_source.html">hs-clientmanager.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;    {</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;        <span class="keywordtype">id</span> = appid;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;    }</div></div><!-- fragment -->
+</div>
+</div>
+<h2 class="groupheader">Member Data Documentation</h2>
+<a class="anchor" id="a04929d7d5f583a821d3d594815f77d1c"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">std::string HS_ClientCtxt::id</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../de/dca/hs-clientmanager_8h_source.html#l00029">29</a> of file <a class="el" href="../../de/dca/hs-clientmanager_8h_source.html">hs-clientmanager.h</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li>src/<a class="el" href="../../de/dca/hs-clientmanager_8h_source.html">hs-clientmanager.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="../../doxygen.png" alt="doxygen"/>
+</a> 1.8.11
+</small></address>
+</body>
+</html>
index 1aec416..bed43cb 100644 (file)
@@ -3,8 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <title>HomeScreenBinding: libhomescreen/libhomescreen.cpp File Reference</title>
 <link href="../../tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="../../jquery.js"></script>
 <title>HomeScreenBinding: libhomescreen/libhomescreen.cpp File Reference</title>
 <link href="../../tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="../../jquery.js"></script>
@@ -12,6 +11,9 @@
 <link href="../../search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="../../search/searchdata.js"></script>
 <script type="text/javascript" src="../../search/search.js"></script>
 <link href="../../search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="../../search/searchdata.js"></script>
 <script type="text/javascript" src="../../search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
 <link href="../../doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
 <link href="../../doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
 </table>
 </div>
 <!-- end header part -->
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.11 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
 </script>
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
 </script>
-<script type="text/javascript" src="../../menudata.js"></script>
-<script type="text/javascript" src="../../menu.js"></script>
-<script type="text/javascript">
-$(function() {
-  initMenu('../../',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-</script>
-<div id="main-nav"></div>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="../../index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="../../annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="../../files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="../../search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="../../files.html"><span>File&#160;List</span></a></li>
+      <li><a href="../../globals.html"><span>File&#160;Members</span></a></li>
+    </ul>
+  </div>
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
      onmouseover="return searchBox.OnSearchSelectShow()"
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
      onmouseover="return searchBox.OnSearchSelectShow()"
@@ -73,7 +95,6 @@ $(function() {
 <code>#include &lt;sys/socket.h&gt;</code><br />
 <code>#include &lt;iostream&gt;</code><br />
 <code>#include &lt;algorithm&gt;</code><br />
 <code>#include &lt;sys/socket.h&gt;</code><br />
 <code>#include &lt;iostream&gt;</code><br />
 <code>#include &lt;algorithm&gt;</code><br />
-<code>#include &lt;thread&gt;</code><br />
 <code>#include &lt;errno.h&gt;</code><br />
 <code>#include &lt;cassert&gt;</code><br />
 <code>#include &lt;cctype&gt;</code><br />
 <code>#include &lt;errno.h&gt;</code><br />
 <code>#include &lt;cassert&gt;</code><br />
 <code>#include &lt;cctype&gt;</code><br />
@@ -82,7 +103,7 @@ $(function() {
 <code>#include &lt;cstdlib&gt;</code><br />
 <code>#include &lt;cstring&gt;</code><br />
 <code>#include &lt;<a class="el" href="../../df/d43/libhomescreen_8hpp_source.html">libhomescreen.hpp</a>&gt;</code><br />
 <code>#include &lt;cstdlib&gt;</code><br />
 <code>#include &lt;cstring&gt;</code><br />
 <code>#include &lt;<a class="el" href="../../df/d43/libhomescreen_8hpp_source.html">libhomescreen.hpp</a>&gt;</code><br />
-<code>#include &quot;<a class="el" href="../../df/d76/hmi-debug_8h_source.html">hmi-debug.h</a>&quot;</code><br />
+<code>#include &quot;hmi-debug.h&quot;</code><br />
 </div>
 <p><a href="../../d0/d8a/libhomescreen_8cpp_source.html">Go to the source code of this file.</a></p>
 <table class="memberdecls">
 </div>
 <p><a href="../../d0/d8a/libhomescreen_8cpp_source.html">Go to the source code of this file.</a></p>
 <table class="memberdecls">
@@ -94,22 +115,20 @@ Functions</h2></td></tr>
 <tr class="separator:a73c05b96c151e5e46c28585ccb143c1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a782a05fde0f1c17e0c4c8f972a3f53c8"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d8a/libhomescreen_8cpp.html#a782a05fde0f1c17e0c4c8f972a3f53c8">_on_call_static</a> (void *closure, const char *api, const char *verb, struct afb_wsj1_msg *msg)</td></tr>
 <tr class="separator:a782a05fde0f1c17e0c4c8f972a3f53c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="separator:a73c05b96c151e5e46c28585ccb143c1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a782a05fde0f1c17e0c4c8f972a3f53c8"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d8a/libhomescreen_8cpp.html#a782a05fde0f1c17e0c4c8f972a3f53c8">_on_call_static</a> (void *closure, const char *api, const char *verb, struct afb_wsj1_msg *msg)</td></tr>
 <tr class="separator:a782a05fde0f1c17e0c4c8f972a3f53c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3df86185aa9453726556da201d95a6f9"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d8a/libhomescreen_8cpp.html#a3df86185aa9453726556da201d95a6f9">_on_event_static</a> (void *closure, const char *<a class="el" href="../../df/d7d/structevent.html">event</a>, struct afb_wsj1_msg *msg)</td></tr>
+<tr class="memitem:a3df86185aa9453726556da201d95a6f9"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d8a/libhomescreen_8cpp.html#a3df86185aa9453726556da201d95a6f9">_on_event_static</a> (void *closure, const char *event, struct afb_wsj1_msg *msg)</td></tr>
 <tr class="separator:a3df86185aa9453726556da201d95a6f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a7778933bffa862c63fa0a1b8219faa8b"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d8a/libhomescreen_8cpp.html#a7778933bffa862c63fa0a1b8219faa8b">_on_reply_static</a> (void *closure, struct afb_wsj1_msg *msg)</td></tr>
 <tr class="separator:a7778933bffa862c63fa0a1b8219faa8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="separator:a3df86185aa9453726556da201d95a6f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a7778933bffa862c63fa0a1b8219faa8b"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d8a/libhomescreen_8cpp.html#a7778933bffa862c63fa0a1b8219faa8b">_on_reply_static</a> (void *closure, struct afb_wsj1_msg *msg)</td></tr>
 <tr class="separator:a7778933bffa862c63fa0a1b8219faa8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa73353e1bf62c68b6b0aba7a1e4e275e"><td class="memItemLeft" align="right" valign="top">static void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d8a/libhomescreen_8cpp.html#aa73353e1bf62c68b6b0aba7a1e4e275e">event_loop_run</a> (void *args)</td></tr>
-<tr class="separator:aa73353e1bf62c68b6b0aba7a1e4e275e"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
 Variables</h2></td></tr>
 <tr class="memitem:a1e2d6e77dd8f0162f830058579eab42f"><td class="memItemLeft" align="right" valign="top">static const char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d8a/libhomescreen_8cpp.html#a1e2d6e77dd8f0162f830058579eab42f">API</a> [] = &quot;homescreen&quot;</td></tr>
 <tr class="separator:a1e2d6e77dd8f0162f830058579eab42f"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
 Variables</h2></td></tr>
 <tr class="memitem:a1e2d6e77dd8f0162f830058579eab42f"><td class="memItemLeft" align="right" valign="top">static const char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d8a/libhomescreen_8cpp.html#a1e2d6e77dd8f0162f830058579eab42f">API</a> [] = &quot;homescreen&quot;</td></tr>
 <tr class="separator:a1e2d6e77dd8f0162f830058579eab42f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5a89bcb5a83f6b2e5c664a041bd8fd00"><td class="memItemLeft" align="right" valign="top">static const char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d8a/libhomescreen_8cpp.html#a5a89bcb5a83f6b2e5c664a041bd8fd00">ApplicationId</a> [] = &quot;application_id&quot;</td></tr>
+<tr class="separator:a5a89bcb5a83f6b2e5c664a041bd8fd00"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 <h2 class="groupheader">Function Documentation</h2>
 </table>
 <h2 class="groupheader">Function Documentation</h2>
-<a id="a782a05fde0f1c17e0c4c8f972a3f53c8"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a782a05fde0f1c17e0c4c8f972a3f53c8">&#9670;&nbsp;</a></span>_on_call_static()</h2>
-
+<a class="anchor" id="a782a05fde0f1c17e0c4c8f972a3f53c8"></a>
 <div class="memitem">
 <div class="memproto">
 <table class="mlabels">
 <div class="memitem">
 <div class="memproto">
 <table class="mlabels">
@@ -153,13 +172,11 @@ Variables</h2></td></tr>
 </table>
 </div><div class="memdoc">
 
 </table>
 </div><div class="memdoc">
 
-<p class="definition">Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00064">64</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
-<div class="fragment"><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;{</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    <span class="comment">/* LibHomeScreen is not called from other process */</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;}</div></div><!-- fragment -->
+<p>Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00074">74</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;{</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;    <span class="comment">/* LibHomeScreen is not called from other process */</span></div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;}</div></div><!-- fragment -->
 </div>
 </div>
 </div>
 </div>
-<a id="a3df86185aa9453726556da201d95a6f9"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3df86185aa9453726556da201d95a6f9">&#9670;&nbsp;</a></span>_on_event_static()</h2>
-
+<a class="anchor" id="a3df86185aa9453726556da201d95a6f9"></a>
 <div class="memitem">
 <div class="memproto">
 <table class="mlabels">
 <div class="memitem">
 <div class="memproto">
 <table class="mlabels">
@@ -197,15 +214,12 @@ Variables</h2></td></tr>
 </table>
 </div><div class="memdoc">
 
 </table>
 </div><div class="memdoc">
 
-<p class="definition">Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00069">69</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
-<div class="fragment"><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;{</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;    <span class="keyword">static_cast&lt;</span><a class="code" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a>*<span class="keyword">&gt;</span>(closure)-&gt;on_event(NULL,<a class="code" href="../../df/d7d/structevent.html">event</a>,msg);</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;}</div><div class="ttc" id="structevent_html"><div class="ttname"><a href="../../df/d7d/structevent.html">event</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00035">homescreen.c:35</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00032">libhomescreen.hpp:32</a></div></div>
+<p>Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00079">79</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;{</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;    <span class="keyword">static_cast&lt;</span><a class="code" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a>*<span class="keyword">&gt;</span>(closure)-&gt;on_event(NULL,event,msg);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;}</div><div class="ttc" id="class_lib_home_screen_html"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00031">libhomescreen.hpp:31</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
 </div><!-- fragment -->
 </div>
 </div>
-<a id="a73c05b96c151e5e46c28585ccb143c1c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a73c05b96c151e5e46c28585ccb143c1c">&#9670;&nbsp;</a></span>_on_hangup_static()</h2>
-
+<a class="anchor" id="a73c05b96c151e5e46c28585ccb143c1c"></a>
 <div class="memitem">
 <div class="memproto">
 <table class="mlabels">
 <div class="memitem">
 <div class="memproto">
 <table class="mlabels">
@@ -238,14 +252,12 @@ Variables</h2></td></tr>
 </div><div class="memdoc">
 <p>websocket </p>
 
 </div><div class="memdoc">
 <p>websocket </p>
 
-<p class="definition">Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00059">59</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
-<div class="fragment"><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;{</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;    <span class="keyword">static_cast&lt;</span><a class="code" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a>*<span class="keyword">&gt;</span>(closure)-&gt;on_hangup(NULL,wsj);</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;}</div><div class="ttc" id="class_lib_home_screen_html"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00032">libhomescreen.hpp:32</a></div></div>
+<p>Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00069">69</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;{</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;    <span class="keyword">static_cast&lt;</span><a class="code" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a>*<span class="keyword">&gt;</span>(closure)-&gt;on_hangup(NULL,wsj);</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;}</div><div class="ttc" id="class_lib_home_screen_html"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00031">libhomescreen.hpp:31</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
 </div><!-- fragment -->
 </div>
 </div>
-<a id="a7778933bffa862c63fa0a1b8219faa8b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7778933bffa862c63fa0a1b8219faa8b">&#9670;&nbsp;</a></span>_on_reply_static()</h2>
-
+<a class="anchor" id="a7778933bffa862c63fa0a1b8219faa8b"></a>
 <div class="memitem">
 <div class="memproto">
 <table class="mlabels">
 <div class="memitem">
 <div class="memproto">
 <table class="mlabels">
@@ -277,14 +289,12 @@ Variables</h2></td></tr>
 </table>
 </div><div class="memdoc">
 
 </table>
 </div><div class="memdoc">
 
-<p class="definition">Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00074">74</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
-<div class="fragment"><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;{</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;    <span class="keyword">static_cast&lt;</span><a class="code" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a>*<span class="keyword">&gt;</span>(closure)-&gt;on_reply(NULL,msg);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;}</div><div class="ttc" id="class_lib_home_screen_html"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00032">libhomescreen.hpp:32</a></div></div>
+<p>Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00084">84</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;{</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;    <span class="keyword">static_cast&lt;</span><a class="code" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a>*<span class="keyword">&gt;</span>(closure)-&gt;on_reply(NULL,msg);</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;}</div><div class="ttc" id="class_lib_home_screen_html"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00031">libhomescreen.hpp:31</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
 </div><!-- fragment -->
 </div>
 </div>
-<a id="aa73353e1bf62c68b6b0aba7a1e4e275e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa73353e1bf62c68b6b0aba7a1e4e275e">&#9670;&nbsp;</a></span>event_loop_run()</h2>
-
+<a class="anchor" id="a7a2176c3d71fec0f09dcb2aa0866b17e"></a>
 <div class="memitem">
 <div class="memproto">
 <table class="mlabels">
 <div class="memitem">
 <div class="memproto">
 <table class="mlabels">
@@ -292,10 +302,10 @@ Variables</h2></td></tr>
   <td class="mlabels-left">
       <table class="memname">
         <tr>
   <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">static void* event_loop_run </td>
+          <td class="memname">static bool has_verb </td>
           <td>(</td>
           <td>(</td>
-          <td class="paramtype">void *&#160;</td>
-          <td class="paramname"><em>args</em></td><td>)</td>
+          <td class="paramtype">const string &amp;&#160;</td>
+          <td class="paramname"><em>verb</em></td><td>)</td>
           <td></td>
         </tr>
       </table>
           <td></td>
         </tr>
       </table>
@@ -306,14 +316,14 @@ Variables</h2></td></tr>
 </table>
 </div><div class="memdoc">
 
 </table>
 </div><div class="memdoc">
 
-<p class="definition">Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00201">201</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
-<div class="fragment"><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;{</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;    <span class="keyword">struct </span>sd_event* loop = (<span class="keyword">struct </span>sd_event*)(args);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;    <a class="code" href="../../df/d76/hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>,<span class="stringliteral">&quot;start eventloop&quot;</span>);</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;    <span class="keywordflow">for</span>(;;)</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;        sd_event_run(loop, 30000000);</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;}</div><div class="ttc" id="hmi-debug_8h_html_a0d26d8b8201011dade787236519711c0"><div class="ttname"><a href="../../df/d76/hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a></div><div class="ttdeci">#define HMI_DEBUG(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d76/hmi-debug_8h_source.html#l00022">hmi-debug.h:22</a></div></div>
+<p>Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00705">705</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00706"></a><span class="lineno">  706</span>&#160;{</div><div class="line"><a name="l00707"></a><span class="lineno">  707</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>,<span class="stringliteral">&quot;verb is %s&quot;</span>, verb.c_str());</div><div class="line"><a name="l00708"></a><span class="lineno">  708</span>&#160;    <span class="keywordflow">if</span>(find(<a class="code" href="../../de/dd0/class_lib_home_screen.html#a5593ff5ac78f6495ccb649904cf0ab08">LibHomeScreen::api_list</a>.begin(), <a class="code" href="../../de/dd0/class_lib_home_screen.html#a5593ff5ac78f6495ccb649904cf0ab08">LibHomeScreen::api_list</a>.end(), verb) != <a class="code" href="../../de/dd0/class_lib_home_screen.html#a5593ff5ac78f6495ccb649904cf0ab08">LibHomeScreen::api_list</a>.end())</div><div class="line"><a name="l00709"></a><span class="lineno">  709</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00710"></a><span class="lineno">  710</span>&#160;    <span class="keywordflow">else</span></div><div class="line"><a name="l00711"></a><span class="lineno">  711</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00712"></a><span class="lineno">  712</span>&#160;}</div><div class="ttc" id="include_2hmi-debug_8h_html_a0d26d8b8201011dade787236519711c0"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a></div><div class="ttdeci">#define HMI_DEBUG(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00042">hmi-debug.h:42</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a5593ff5ac78f6495ccb649904cf0ab08"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a5593ff5ac78f6495ccb649904cf0ab08">LibHomeScreen::api_list</a></div><div class="ttdeci">static const std::vector&lt; std::string &gt; api_list</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00063">libhomescreen.hpp:63</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
 </div><!-- fragment -->
 </div>
 </div>
-<a id="a7a2176c3d71fec0f09dcb2aa0866b17e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7a2176c3d71fec0f09dcb2aa0866b17e">&#9670;&nbsp;</a></span>has_verb()</h2>
-
+<h2 class="groupheader">Variable Documentation</h2>
+<a class="anchor" id="a1e2d6e77dd8f0162f830058579eab42f"></a>
 <div class="memitem">
 <div class="memproto">
 <table class="mlabels">
 <div class="memitem">
 <div class="memproto">
 <table class="mlabels">
@@ -321,11 +331,7 @@ Variables</h2></td></tr>
   <td class="mlabels-left">
       <table class="memname">
         <tr>
   <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">static bool has_verb </td>
-          <td>(</td>
-          <td class="paramtype">const string &amp;&#160;</td>
-          <td class="paramname"><em>verb</em></td><td>)</td>
-          <td></td>
+          <td class="memname">const char API[] = &quot;homescreen&quot;</td>
         </tr>
       </table>
   </td>
         </tr>
       </table>
   </td>
@@ -335,16 +341,11 @@ Variables</h2></td></tr>
 </table>
 </div><div class="memdoc">
 
 </table>
 </div><div class="memdoc">
 
-<p class="definition">Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00518">518</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
-<div class="fragment"><div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;{</div><div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;    <a class="code" href="../../df/d76/hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>,<span class="stringliteral">&quot;verb is %s&quot;</span>, verb.c_str());</div><div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;    <span class="keywordflow">if</span>(find(<a class="code" href="../../de/dd0/class_lib_home_screen.html#a5593ff5ac78f6495ccb649904cf0ab08">LibHomeScreen::api_list</a>.begin(), <a class="code" href="../../de/dd0/class_lib_home_screen.html#a5593ff5ac78f6495ccb649904cf0ab08">LibHomeScreen::api_list</a>.end(), verb) != <a class="code" href="../../de/dd0/class_lib_home_screen.html#a5593ff5ac78f6495ccb649904cf0ab08">LibHomeScreen::api_list</a>.end())</div><div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;    <span class="keywordflow">else</span></div><div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;}</div><div class="ttc" id="hmi-debug_8h_html_a0d26d8b8201011dade787236519711c0"><div class="ttname"><a href="../../df/d76/hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a></div><div class="ttdeci">#define HMI_DEBUG(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d76/hmi-debug_8h_source.html#l00022">hmi-debug.h:22</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html_a5593ff5ac78f6495ccb649904cf0ab08"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a5593ff5ac78f6495ccb649904cf0ab08">LibHomeScreen::api_list</a></div><div class="ttdeci">static const std::vector&lt; std::string &gt; api_list</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00050">libhomescreen.hpp:50</a></div></div>
-</div><!-- fragment -->
+<p>Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00035">35</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
+
 </div>
 </div>
 </div>
 </div>
-<h2 class="groupheader">Variable Documentation</h2>
-<a id="a1e2d6e77dd8f0162f830058579eab42f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1e2d6e77dd8f0162f830058579eab42f">&#9670;&nbsp;</a></span>API</h2>
-
+<a class="anchor" id="a5a89bcb5a83f6b2e5c664a041bd8fd00"></a>
 <div class="memitem">
 <div class="memproto">
 <table class="mlabels">
 <div class="memitem">
 <div class="memproto">
 <table class="mlabels">
@@ -352,7 +353,7 @@ Variables</h2></td></tr>
   <td class="mlabels-left">
       <table class="memname">
         <tr>
   <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">const char API[] = &quot;homescreen&quot;</td>
+          <td class="memname">const char ApplicationId[] = &quot;application_id&quot;</td>
         </tr>
       </table>
   </td>
         </tr>
       </table>
   </td>
@@ -362,7 +363,7 @@ Variables</h2></td></tr>
 </table>
 </div><div class="memdoc">
 
 </table>
 </div><div class="memdoc">
 
-<p class="definition">Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00036">36</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
+<p>Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00036">36</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
 
 </div>
 </div>
 
 </div>
 </div>
@@ -371,7 +372,7 @@ Variables</h2></td></tr>
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
-</a> 1.8.13
+</a> 1.8.11
 </small></address>
 </body>
 </html>
 </small></address>
 </body>
 </html>
index 621f8d4..fadfb12 100644 (file)
@@ -3,8 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <title>HomeScreenBinding: libhomescreen/libhomescreen.cpp Source File</title>
 <link href="../../tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="../../jquery.js"></script>
 <title>HomeScreenBinding: libhomescreen/libhomescreen.cpp Source File</title>
 <link href="../../tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="../../jquery.js"></script>
@@ -12,6 +11,9 @@
 <link href="../../search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="../../search/searchdata.js"></script>
 <script type="text/javascript" src="../../search/search.js"></script>
 <link href="../../search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="../../search/searchdata.js"></script>
 <script type="text/javascript" src="../../search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
 <link href="../../doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
 <link href="../../doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
 </table>
 </div>
 <!-- end header part -->
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.11 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
 </script>
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
 </script>
-<script type="text/javascript" src="../../menudata.js"></script>
-<script type="text/javascript" src="../../menu.js"></script>
-<script type="text/javascript">
-$(function() {
-  initMenu('../../',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-</script>
-<div id="main-nav"></div>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="../../index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="../../annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="../../files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="../../search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="../../files.html"><span>File&#160;List</span></a></li>
+      <li><a href="../../globals.html"><span>File&#160;Members</span></a></li>
+    </ul>
+  </div>
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
      onmouseover="return searchBox.OnSearchSelectShow()"
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
      onmouseover="return searchBox.OnSearchSelectShow()"
@@ -66,46 +88,53 @@ $(function() {
 <div class="title">libhomescreen.cpp</div>  </div>
 </div><!--header-->
 <div class="contents">
 <div class="title">libhomescreen.cpp</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="../../d0/d8a/libhomescreen_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * Copyright (c) 2017 TOYOTA MOTOR CORPORATION</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> * Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * you may not use this file except in compliance with the License.</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * You may obtain a copy of the License at</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *      http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * limitations under the License.</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#include &lt;stdarg.h&gt;</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#include &lt;sys/socket.h&gt;</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#include &lt;iostream&gt;</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;algorithm&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;thread&gt;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;errno.h&gt;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;cassert&gt;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;cctype&gt;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &lt;cerrno&gt;</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;cstdio&gt;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;cstdlib&gt;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &lt;cstring&gt;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="../../df/d43/libhomescreen_8hpp.html">libhomescreen.hpp</a>&gt;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../df/d76/hmi-debug_8h.html">hmi-debug.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="keyword">using namespace </span><a class="code" href="../../d8/dcc/namespacestd.html">std</a>;</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a7a2176c3d71fec0f09dcb2aa0866b17e">has_verb</a>(<span class="keyword">const</span> <span class="keywordtype">string</span>&amp; verb);</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="../../d0/d8a/libhomescreen_8cpp.html#a1e2d6e77dd8f0162f830058579eab42f">   36</a></span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a1e2d6e77dd8f0162f830058579eab42f">API</a>[] = <span class="stringliteral">&quot;homescreen&quot;</span>;</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">const</span> std::vector&lt;std::string&gt; <a class="code" href="../../de/dd0/class_lib_home_screen.html#a5593ff5ac78f6495ccb649904cf0ab08">LibHomeScreen::api_list</a> {</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;    std::string(<span class="stringliteral">&quot;ping&quot;</span>), <span class="comment">// debug do not use</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;    std::string(<span class="stringliteral">&quot;tap_shortcut&quot;</span>), <span class="comment">// HomeScreen Application only</span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;    std::string(<span class="stringliteral">&quot;on_screen_message&quot;</span>),</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;    std::string(<span class="stringliteral">&quot;on_screen_reply&quot;</span>),</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;    std::string(<span class="stringliteral">&quot;subscribe&quot;</span>),</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;    std::string(<span class="stringliteral">&quot;unsubscribe&quot;</span>)</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;};</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">const</span> std::vector&lt;std::string&gt; <a class="code" href="../../de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9">LibHomeScreen::event_list</a> {</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    std::string(<span class="stringliteral">&quot;tap_shortcut&quot;</span>),</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;    std::string(<span class="stringliteral">&quot;on_screen_message&quot;</span>),</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;    std::string(<span class="stringliteral">&quot;on_screen_reply&quot;</span>),</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;    std::string(<span class="stringliteral">&quot;none&quot;</span>)</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;};</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="../../d0/d8a/libhomescreen_8cpp.html#a73c05b96c151e5e46c28585ccb143c1c">   59</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a73c05b96c151e5e46c28585ccb143c1c">_on_hangup_static</a>(<span class="keywordtype">void</span> *closure, <span class="keyword">struct</span> afb_wsj1 *wsj)</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;{</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;    <span class="keyword">static_cast&lt;</span><a class="code" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a>*<span class="keyword">&gt;</span>(closure)-&gt;on_hangup(NULL,wsj);</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;}</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="../../d0/d8a/libhomescreen_8cpp.html#a782a05fde0f1c17e0c4c8f972a3f53c8">   64</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a782a05fde0f1c17e0c4c8f972a3f53c8">_on_call_static</a>(<span class="keywordtype">void</span> *closure, <span class="keyword">const</span> <span class="keywordtype">char</span> *api, <span class="keyword">const</span> <span class="keywordtype">char</span> *verb, <span class="keyword">struct</span> afb_wsj1_msg *msg)</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;{</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    <span class="comment">/* LibHomeScreen is not called from other process */</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;}</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="../../d0/d8a/libhomescreen_8cpp.html#a3df86185aa9453726556da201d95a6f9">   69</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a3df86185aa9453726556da201d95a6f9">_on_event_static</a>(<span class="keywordtype">void</span>* closure, <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="../../df/d7d/structevent.html">event</a>, <span class="keyword">struct</span> afb_wsj1_msg *msg)</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;{</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;    <span class="keyword">static_cast&lt;</span><a class="code" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a>*<span class="keyword">&gt;</span>(closure)-&gt;on_event(NULL,event,msg);</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;}</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="../../d0/d8a/libhomescreen_8cpp.html#a7778933bffa862c63fa0a1b8219faa8b">   74</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a7778933bffa862c63fa0a1b8219faa8b">_on_reply_static</a>(<span class="keywordtype">void</span> *closure, <span class="keyword">struct</span> afb_wsj1_msg *msg)</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;{</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;    <span class="keyword">static_cast&lt;</span><a class="code" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a>*<span class="keyword">&gt;</span>(closure)-&gt;on_reply(NULL,msg);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;}</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;</div><div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html#a724bd949c4154fad041f96a15ef0f5dc">   83</a></span>&#160;<a class="code" href="../../de/dd0/class_lib_home_screen.html#a724bd949c4154fad041f96a15ef0f5dc">LibHomeScreen::LibHomeScreen</a>()</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;{</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;}</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html#a249902aebf71a5383ca8ec6ae558d095">   90</a></span>&#160;<a class="code" href="../../de/dd0/class_lib_home_screen.html#a249902aebf71a5383ca8ec6ae558d095">LibHomeScreen::~LibHomeScreen</a>()</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;{</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;    <span class="keywordflow">if</span>(mploop)</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;    {</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;        sd_event_unref(mploop);</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;    }</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;    <span class="keywordflow">if</span>(sp_websock != NULL)</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;    {</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;        afb_wsj1_unref(sp_websock);</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;    }</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;}</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;</div><div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html#a6a57b573cc767725762ba9beab032220">  116</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a6a57b573cc767725762ba9beab032220">LibHomeScreen::init</a>(<span class="keyword">const</span> <span class="keywordtype">int</span> port, <span class="keyword">const</span> <span class="keywordtype">string</span>&amp; token)</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;{</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;    <span class="keywordtype">int</span> ret = 0;</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;    <span class="keywordflow">if</span>(port &gt; 0 &amp;&amp; token.size() &gt; 0)</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;    {</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;        mport = port;</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;        mtoken = token;</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;    }</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;    <span class="keywordflow">else</span></div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;    {</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;        <a class="code" href="../../df/d76/hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>,<span class="stringliteral">&quot;port and token should be &gt; 0, Initial port and token uses.&quot;</span>);</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;    }</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;    ret = initialize_websocket();</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;    <span class="keywordflow">if</span>(ret != 0 )</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;    {</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;        <a class="code" href="../../df/d76/hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>,<span class="stringliteral">&quot;Failed to initialize websocket&quot;</span>);</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;    }</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;    <span class="keywordflow">else</span>{</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;        <a class="code" href="../../df/d76/hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>,<span class="stringliteral">&quot;Initialized&quot;</span>);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;    }</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;}</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00155"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html#a2789e8a5372202cc36f48e71dbb9b7cf">  155</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a2789e8a5372202cc36f48e71dbb9b7cf">LibHomeScreen::registerCallback</a>(</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;    <span class="keywordtype">void</span> (*event_cb)(<span class="keyword">const</span> std::string&amp; <a class="code" href="../../df/d7d/structevent.html">event</a>, <span class="keyword">struct</span> json_object* event_contents),</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;    <span class="keywordtype">void</span> (*reply_cb)(<span class="keyword">struct</span> json_object* reply_contents),</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;    <span class="keywordtype">void</span> (*hangup_cb)(<span class="keywordtype">void</span>))</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;{</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;    onEvent = event_cb;</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;    onReply = reply_cb;</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;    onHangup = hangup_cb;</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;}</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;<span class="keywordtype">int</span> LibHomeScreen::initialize_websocket()</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;{</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;    mploop = NULL;</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;    onEvent = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;    onReply = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;    <span class="keywordtype">int</span> ret = sd_event_default(&amp;mploop);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;    <span class="keywordflow">if</span>(ret &lt; 0)</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;    {</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;        <a class="code" href="../../df/d76/hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>,<span class="stringliteral">&quot;Failed to create event loop&quot;</span>);</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;        <span class="keywordflow">goto</span> END;</div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;    }</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;    <span class="comment">/* Initialize interface from websocket */</span></div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;    minterface.on_hangup = <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a73c05b96c151e5e46c28585ccb143c1c">_on_hangup_static</a>;</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;    minterface.on_call = <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a782a05fde0f1c17e0c4c8f972a3f53c8">_on_call_static</a>; <span class="comment">/* Is this necessary? */</span></div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;    minterface.on_event = <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a3df86185aa9453726556da201d95a6f9">_on_event_static</a>;</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;    muri += <span class="stringliteral">&quot;ws://localhost:&quot;</span> + to_string(mport) + <span class="stringliteral">&quot;/api?token=&quot;</span> + mtoken; <span class="comment">/*To be modified*/</span></div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;    sp_websock = afb_ws_client_connect_wsj1(mploop, muri.c_str(), &amp;minterface, <span class="keyword">this</span>);</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;    <span class="keywordflow">if</span>(sp_websock == NULL)</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;    {</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;        <a class="code" href="../../df/d76/hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>,<span class="stringliteral">&quot;Failed to create websocket connection&quot;</span>);</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;        <span class="keywordflow">goto</span> END;</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;    }</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;    <span class="comment">/* creates the evsrc */</span></div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;    <span class="comment">//ret = sd_event_add_io(mploop,&amp;mevent_src, sp_websock-&gt;fd, EPOLLIN, event_callback, NULL);</span></div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;END:</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;    <span class="keywordflow">if</span>(mploop)</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;    {</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;        sd_event_unref(mploop);</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;    }</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;    <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;}</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;</div><div class="line"><a name="l00201"></a><span class="lineno"><a class="line" href="../../d0/d8a/libhomescreen_8cpp.html#aa73353e1bf62c68b6b0aba7a1e4e275e">  201</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> *<a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#aa73353e1bf62c68b6b0aba7a1e4e275e">event_loop_run</a>(<span class="keywordtype">void</span> *args)</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;{</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;    <span class="keyword">struct </span>sd_event* loop = (<span class="keyword">struct </span>sd_event*)(args);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;    <a class="code" href="../../df/d76/hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>,<span class="stringliteral">&quot;start eventloop&quot;</span>);</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;    <span class="keywordflow">for</span>(;;)</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;        sd_event_run(loop, 30000000);</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;}</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;</div><div class="line"><a name="l00220"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html#afb571c9577087b47065eb23e7fdbc903">  220</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#afb571c9577087b47065eb23e7fdbc903">LibHomeScreen::tapShortcut</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* application_name)</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;{</div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;    <span class="keywordflow">if</span>(!sp_websock)</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;    {</div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;        <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;    }</div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;    <span class="keyword">struct </span>json_object* j_obj = json_object_new_object();</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;    <span class="keyword">struct </span>json_object* val = json_object_new_string(application_name);</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;    json_object_object_add(j_obj, <span class="stringliteral">&quot;application_name&quot;</span>, val);</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;    <span class="keywordflow">return</span> this-&gt;call(<span class="stringliteral">&quot;tap_shortcut&quot;</span>, j_obj);</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;}</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html#ac336482036a72b51a822725f1929523c">  244</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#ac336482036a72b51a822725f1929523c">LibHomeScreen::onScreenMessage</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* display_message)</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;{</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;    <span class="keywordflow">if</span>(!sp_websock)</div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;    {</div><div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;        <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;    }</div><div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;    <span class="keyword">struct </span>json_object* j_obj = json_object_new_object();</div><div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;    <span class="keyword">struct </span>json_object* val = json_object_new_string(display_message);</div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;    json_object_object_add(j_obj, <span class="stringliteral">&quot;display_message&quot;</span>, val);</div><div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;    <span class="keywordflow">return</span> this-&gt;call(<span class="stringliteral">&quot;on_screen_message&quot;</span>, j_obj);</div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;}</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;</div><div class="line"><a name="l00268"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html#a6c065f41f2c5d1f58d2763bfb4da9c37">  268</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a6c065f41f2c5d1f58d2763bfb4da9c37">LibHomeScreen::onScreenReply</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* reply_message)</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;{</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;    <span class="keywordflow">if</span>(!sp_websock)</div><div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;    {</div><div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;        <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;    }</div><div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;    <span class="keyword">struct </span>json_object* j_obj = json_object_new_object();</div><div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;    <span class="keyword">struct </span>json_object* val = json_object_new_string(reply_message);</div><div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;    json_object_object_add(j_obj, <span class="stringliteral">&quot;reply_message&quot;</span>, val);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;    <span class="keywordflow">return</span> this-&gt;call(<span class="stringliteral">&quot;on_screen_reply&quot;</span>, j_obj);</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;}</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;</div><div class="line"><a name="l00293"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html#ab1b0e08bf35415de9064afed899e9f85">  293</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#ab1b0e08bf35415de9064afed899e9f85">LibHomeScreen::set_event_handler</a>(<span class="keyword">enum</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154">EventType</a> et, <a class="code" href="../../de/dd0/class_lib_home_screen.html#a334f11f81c84c98d18284215dcaada3a">handler_func</a> f)</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;{</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;    <span class="keywordflow">if</span> (et &gt;= 1 &amp;&amp; et &lt;= 3) {</div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;        <span class="keywordflow">switch</span> (et) {</div><div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;            <span class="keywordflow">case</span> Event_TapShortcut:</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;                this-&gt;<a class="code" href="../../d0/d1e/homescreen_8c.html#a4ff0c8b506669e5622a6ee168134d8f1">subscribe</a>(<a class="code" href="../../de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9">LibHomeScreen::event_list</a>[0]);</div><div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;            <span class="keywordflow">case</span> Event_OnScreenMessage:</div><div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;                this-&gt;<a class="code" href="../../d0/d1e/homescreen_8c.html#a4ff0c8b506669e5622a6ee168134d8f1">subscribe</a>(<a class="code" href="../../de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9">LibHomeScreen::event_list</a>[1]);</div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;            <span class="keywordflow">case</span> Event_OnScreenReply:</div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;                this-&gt;<a class="code" href="../../d0/d1e/homescreen_8c.html#a4ff0c8b506669e5622a6ee168134d8f1">subscribe</a>(<a class="code" href="../../de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9">LibHomeScreen::event_list</a>[2]);</div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;        }</div><div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;</div><div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;        this-&gt;handlers[et] = std::move(f);</div><div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;    }</div><div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;}</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;</div><div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a527b49dcfe581be6275d0eb2236ba37f">LibHomeScreen::call</a>(<span class="keyword">const</span> <span class="keywordtype">string</span>&amp; verb, <span class="keyword">struct</span> json_object* arg)</div><div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;{</div><div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;    <span class="keywordtype">int</span> ret;</div><div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;    <span class="keywordflow">if</span>(!sp_websock)</div><div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;    {</div><div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;        <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;    }</div><div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;    <span class="keywordflow">if</span> (!<a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a7a2176c3d71fec0f09dcb2aa0866b17e">has_verb</a>(verb))</div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;    {</div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;        <a class="code" href="../../df/d76/hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>,<span class="stringliteral">&quot;verb doesn&#39;t exit&quot;</span>);</div><div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;        <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;    }</div><div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;    ret = afb_wsj1_call_j(sp_websock, <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a1e2d6e77dd8f0162f830058579eab42f">API</a>, verb.c_str(), arg, <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a7778933bffa862c63fa0a1b8219faa8b">_on_reply_static</a>, <span class="keyword">this</span>);</div><div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;    <span class="keywordflow">if</span> (ret &lt; 0) {</div><div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;        <a class="code" href="../../df/d76/hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>,<span class="stringliteral">&quot;Failed to call verb:%s&quot;</span>,verb.c_str());</div><div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;    }</div><div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;}</div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;</div><div class="line"><a name="l00360"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html#ab5e8e8ab7d53e0f114e9e907fcbb7643">  360</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a527b49dcfe581be6275d0eb2236ba37f">LibHomeScreen::call</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* verb, <span class="keyword">struct</span> json_object* arg)</div><div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;{</div><div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;    <span class="keywordtype">int</span> ret;</div><div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;    <span class="keywordflow">if</span>(!sp_websock)</div><div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;    {</div><div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;        <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;    }</div><div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;    <span class="keywordflow">if</span> (!<a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a7a2176c3d71fec0f09dcb2aa0866b17e">has_verb</a>(<span class="keywordtype">string</span>(verb)))</div><div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;    {</div><div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;        <a class="code" href="../../df/d76/hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>,<span class="stringliteral">&quot;verb doesn&#39;t exit&quot;</span>);</div><div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;        <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;    }</div><div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;    ret = afb_wsj1_call_j(sp_websock, <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a1e2d6e77dd8f0162f830058579eab42f">API</a>, verb, arg, <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a7778933bffa862c63fa0a1b8219faa8b">_on_reply_static</a>, <span class="keyword">this</span>);</div><div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;    <span class="keywordflow">if</span> (ret &lt; 0) {</div><div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;        <a class="code" href="../../df/d76/hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>,<span class="stringliteral">&quot;Failed to call verb:%s&quot;</span>,verb);</div><div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;    }</div><div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;}</div><div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;</div><div class="line"><a name="l00392"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html#aa4c189807b75d070f567967f0d690738">  392</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#aa4c189807b75d070f567967f0d690738">LibHomeScreen::subscribe</a>(<span class="keyword">const</span> <span class="keywordtype">string</span>&amp; event_name)</div><div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;{</div><div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;    <span class="keywordflow">if</span>(!sp_websock)</div><div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;    {</div><div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;        <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;    }</div><div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;    <span class="keyword">struct </span>json_object* j_obj = json_object_new_object();</div><div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;    json_object_object_add(j_obj, <span class="stringliteral">&quot;event&quot;</span>, json_object_new_string(event_name.c_str()));</div><div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;</div><div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;    <span class="keywordtype">int</span> ret = afb_wsj1_call_j(sp_websock, <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a1e2d6e77dd8f0162f830058579eab42f">API</a>, <span class="stringliteral">&quot;subscribe&quot;</span>, j_obj, <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a7778933bffa862c63fa0a1b8219faa8b">_on_reply_static</a>, <span class="keyword">this</span>);</div><div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;    <span class="keywordflow">if</span> (ret &lt; 0) {</div><div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;        <a class="code" href="../../df/d76/hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>,<span class="stringliteral">&quot;Failed to call verb:%s&quot;</span>,__FUNCTION__);</div><div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;    }</div><div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;}</div><div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;</div><div class="line"><a name="l00421"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html#aac03a45cbd453ba69ddb00c1016930a6">  421</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#aac03a45cbd453ba69ddb00c1016930a6">LibHomeScreen::unsubscribe</a>(<span class="keyword">const</span> <span class="keywordtype">string</span>&amp; event_name)</div><div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;{</div><div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;    <span class="keywordflow">if</span>(!sp_websock)</div><div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;    {</div><div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;        <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;    }</div><div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;    <span class="keyword">struct </span>json_object* j_obj = json_object_new_object();</div><div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;    json_object_object_add(j_obj, <span class="stringliteral">&quot;event&quot;</span>, json_object_new_string(event_name.c_str()));</div><div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;</div><div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;    <span class="keywordtype">int</span> ret = afb_wsj1_call_j(sp_websock, <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a1e2d6e77dd8f0162f830058579eab42f">API</a>, <span class="stringliteral">&quot;unsubscribe&quot;</span>, j_obj, <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a7778933bffa862c63fa0a1b8219faa8b">_on_reply_static</a>, <span class="keyword">this</span>);</div><div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;    <span class="keywordflow">if</span> (ret &lt; 0) {</div><div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;        <a class="code" href="../../df/d76/hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>,<span class="stringliteral">&quot;Failed to call verb:%s&quot;</span>,__FUNCTION__);</div><div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;    }</div><div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;}</div><div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;</div><div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;<span class="comment">/************* Callback Function *************/</span></div><div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;</div><div class="line"><a name="l00439"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html#ab1c1fa69f24b981e824dd9fb810c4b74">  439</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#ab1c1fa69f24b981e824dd9fb810c4b74">LibHomeScreen::on_hangup</a>(<span class="keywordtype">void</span> *closure, <span class="keyword">struct</span> afb_wsj1 *wsj)</div><div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;{</div><div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;    <a class="code" href="../../df/d76/hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>,<span class="stringliteral">&quot;%s called&quot;</span>, __FUNCTION__);</div><div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;    <span class="keywordflow">if</span>(onHangup != <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;    {</div><div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;        onHangup();</div><div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;    }</div><div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;}</div><div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;</div><div class="line"><a name="l00448"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html#a608638eb87b2772a3dcc92d8ca8f3596">  448</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a608638eb87b2772a3dcc92d8ca8f3596">LibHomeScreen::on_call</a>(<span class="keywordtype">void</span> *closure, <span class="keyword">const</span> <span class="keywordtype">char</span> *api, <span class="keyword">const</span> <span class="keywordtype">char</span> *verb, <span class="keyword">struct</span> afb_wsj1_msg *msg)</div><div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;{</div><div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;}</div><div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;</div><div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;<span class="comment">* event is like &quot;homescreen/tap_shortcut&quot;</span></div><div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;<span class="comment">* msg is like {&quot;event&quot;:&quot;homescreen\/tap_shortcut&quot;,&quot;data&quot;:{&quot;application_name&quot;:&quot;hoge&quot;},&quot;jtype&quot;:&quot;afb-event&quot;}</span></div><div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;<span class="comment">* so you can get</span></div><div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;<span class="comment">    event name : struct json_object obj = json_object_object_get(msg,&quot;event&quot;)</span></div><div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;<span class="comment">*/</span></div><div class="line"><a name="l00458"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html#a9c4885b51b43ab24a548d49fb3ab2de3">  458</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a9c4885b51b43ab24a548d49fb3ab2de3">LibHomeScreen::on_event</a>(<span class="keywordtype">void</span> *closure, <span class="keyword">const</span> <span class="keywordtype">char</span> *event, <span class="keyword">struct</span> afb_wsj1_msg *msg)</div><div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;{</div><div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;    <a class="code" href="../../df/d76/hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>,<span class="stringliteral">&quot;event: (%s) msg: (%s).&quot;</span>, event, afb_wsj1_msg_object_s(msg));</div><div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;</div><div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;    <span class="keywordflow">if</span> (strstr(event, <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a1e2d6e77dd8f0162f830058579eab42f">API</a>) == NULL) {</div><div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;        <span class="keywordflow">return</span>;</div><div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;    }</div><div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;</div><div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;    <span class="keyword">struct </span>json_object* ev_contents = afb_wsj1_msg_object_j(msg);</div><div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;    <span class="keyword">struct </span>json_object *json_data = json_object_object_get(ev_contents, <span class="stringliteral">&quot;data&quot;</span>);</div><div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;</div><div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;    <span class="keywordflow">if</span>(onEvent != <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;    {</div><div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;        <span class="keyword">const</span> <span class="keywordtype">string</span> ev(event);</div><div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;        onEvent(ev, ev_contents);</div><div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;    }</div><div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;</div><div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* event_only = strchr(event, <span class="charliteral">&#39;/&#39;</span>);</div><div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;    <span class="keywordflow">if</span> (event_only != <span class="keyword">nullptr</span>) {</div><div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;        event_only = event_only + 1;</div><div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;    }</div><div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;</div><div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;    <span class="keywordflow">if</span> (strcasecmp(event_only, <a class="code" href="../../de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9">LibHomeScreen::event_list</a>[0].c_str()) == 0) {</div><div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;        <span class="keyword">auto</span> i = this-&gt;handlers.find(Event_TapShortcut);</div><div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;        <span class="keywordflow">if</span> ( i != this-&gt;handlers.end() ) {</div><div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;            i-&gt;second(json_data);</div><div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;        }</div><div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;    }</div><div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;    <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcasecmp(event_only, <a class="code" href="../../de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9">LibHomeScreen::event_list</a>[1].c_str()) == 0) {</div><div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;        <span class="keyword">auto</span> i = this-&gt;handlers.find(Event_OnScreenMessage);</div><div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;        <span class="keywordflow">if</span> ( i != this-&gt;handlers.end() ) {</div><div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;            i-&gt;second(json_data);</div><div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;        }</div><div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;    }</div><div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;    <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcasecmp(event_only, <a class="code" href="../../de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9">LibHomeScreen::event_list</a>[2].c_str()) == 0) {</div><div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;        <span class="keyword">auto</span> i = this-&gt;handlers.find(Event_OnScreenReply);</div><div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;        <span class="keywordflow">if</span> ( i != this-&gt;handlers.end() ) {</div><div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;            i-&gt;second(json_data);</div><div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;        }</div><div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;    }</div><div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;</div><div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;    json_object_put(ev_contents);</div><div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;}</div><div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160;</div><div class="line"><a name="l00506"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html#a248d9648c6186287a7632ec1c75fc9c5">  506</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a248d9648c6186287a7632ec1c75fc9c5">LibHomeScreen::on_reply</a>(<span class="keywordtype">void</span> *closure, <span class="keyword">struct</span> afb_wsj1_msg *msg)</div><div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;{</div><div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;    <a class="code" href="../../df/d76/hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>,<span class="stringliteral">&quot;msg: (%s)&quot;</span>, afb_wsj1_msg_object_s(msg));</div><div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;    <span class="keywordflow">if</span>(onReply != <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;    {</div><div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;        <span class="keyword">struct </span>json_object* reply = afb_wsj1_msg_object_j(msg);</div><div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;        onReply(reply);</div><div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;</div><div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;        json_object_put(reply);</div><div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160;    }</div><div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;}</div><div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;</div><div class="line"><a name="l00518"></a><span class="lineno"><a class="line" href="../../d0/d8a/libhomescreen_8cpp.html#a7a2176c3d71fec0f09dcb2aa0866b17e">  518</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a7a2176c3d71fec0f09dcb2aa0866b17e">has_verb</a>(<span class="keyword">const</span> <span class="keywordtype">string</span>&amp; verb)</div><div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;{</div><div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;    <a class="code" href="../../df/d76/hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>,<span class="stringliteral">&quot;verb is %s&quot;</span>, verb.c_str());</div><div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;    <span class="keywordflow">if</span>(find(<a class="code" href="../../de/dd0/class_lib_home_screen.html#a5593ff5ac78f6495ccb649904cf0ab08">LibHomeScreen::api_list</a>.begin(), <a class="code" href="../../de/dd0/class_lib_home_screen.html#a5593ff5ac78f6495ccb649904cf0ab08">LibHomeScreen::api_list</a>.end(), verb) != <a class="code" href="../../de/dd0/class_lib_home_screen.html#a5593ff5ac78f6495ccb649904cf0ab08">LibHomeScreen::api_list</a>.end())</div><div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;    <span class="keywordflow">else</span></div><div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;}</div><div class="ttc" id="class_lib_home_screen_html_a9c4885b51b43ab24a548d49fb3ab2de3"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a9c4885b51b43ab24a548d49fb3ab2de3">LibHomeScreen::on_event</a></div><div class="ttdeci">void on_event(void *closure, const char *event, struct afb_wsj1_msg *msg)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00458">libhomescreen.cpp:458</a></div></div>
-<div class="ttc" id="hmi-debug_8h_html_a65bb6c7cfe38f8a724beab5059d36fb2"><div class="ttname"><a href="../../df/d76/hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a></div><div class="ttdeci">#define HMI_ERROR(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d76/hmi-debug_8h_source.html#l00018">hmi-debug.h:18</a></div></div>
-<div class="ttc" id="libhomescreen_8cpp_html_a73c05b96c151e5e46c28585ccb143c1c"><div class="ttname"><a href="../../d0/d8a/libhomescreen_8cpp.html#a73c05b96c151e5e46c28585ccb143c1c">_on_hangup_static</a></div><div class="ttdeci">static void _on_hangup_static(void *closure, struct afb_wsj1 *wsj)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00059">libhomescreen.cpp:59</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html_a248d9648c6186287a7632ec1c75fc9c5"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a248d9648c6186287a7632ec1c75fc9c5">LibHomeScreen::on_reply</a></div><div class="ttdeci">void on_reply(void *closure, struct afb_wsj1_msg *msg)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00506">libhomescreen.cpp:506</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html_a6c065f41f2c5d1f58d2763bfb4da9c37"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a6c065f41f2c5d1f58d2763bfb4da9c37">LibHomeScreen::onScreenReply</a></div><div class="ttdeci">int onScreenReply(const char *reply_message)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00268">libhomescreen.cpp:268</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html_a334f11f81c84c98d18284215dcaada3a"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a334f11f81c84c98d18284215dcaada3a">LibHomeScreen::handler_func</a></div><div class="ttdeci">std::function&lt; void(json_object *)&gt; handler_func</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00042">libhomescreen.hpp:42</a></div></div>
-<div class="ttc" id="hmi-debug_8h_html_a0d26d8b8201011dade787236519711c0"><div class="ttname"><a href="../../df/d76/hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a></div><div class="ttdeci">#define HMI_DEBUG(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d76/hmi-debug_8h_source.html#l00022">hmi-debug.h:22</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html_a608638eb87b2772a3dcc92d8ca8f3596"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a608638eb87b2772a3dcc92d8ca8f3596">LibHomeScreen::on_call</a></div><div class="ttdeci">void on_call(void *closure, const char *api, const char *verb, struct afb_wsj1_msg *msg)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00448">libhomescreen.cpp:448</a></div></div>
-<div class="ttc" id="structevent_html"><div class="ttname"><a href="../../df/d7d/structevent.html">event</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00035">homescreen.c:35</a></div></div>
+<a href="../../d0/d8a/libhomescreen_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * Copyright (c) 2017 TOYOTA MOTOR CORPORATION</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> * Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * you may not use this file except in compliance with the License.</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * You may obtain a copy of the License at</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *      http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * limitations under the License.</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#include &lt;stdarg.h&gt;</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#include &lt;sys/socket.h&gt;</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#include &lt;iostream&gt;</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;algorithm&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;errno.h&gt;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;cassert&gt;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;cctype&gt;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;cerrno&gt;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &lt;cstdio&gt;</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;cstdlib&gt;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;cstring&gt;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="../../df/d43/libhomescreen_8hpp.html">libhomescreen.hpp</a>&gt;</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &quot;hmi-debug.h&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="keyword">using namespace </span><a class="code" href="../../d8/dcc/namespacestd.html">std</a>;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a7a2176c3d71fec0f09dcb2aa0866b17e">has_verb</a>(<span class="keyword">const</span> <span class="keywordtype">string</span>&amp; verb);</div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="../../d0/d8a/libhomescreen_8cpp.html#a1e2d6e77dd8f0162f830058579eab42f">   35</a></span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a1e2d6e77dd8f0162f830058579eab42f">API</a>[] = <span class="stringliteral">&quot;homescreen&quot;</span>;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="../../d0/d8a/libhomescreen_8cpp.html#a5a89bcb5a83f6b2e5c664a041bd8fd00">   36</a></span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a5a89bcb5a83f6b2e5c664a041bd8fd00">ApplicationId</a>[] = <span class="stringliteral">&quot;application_id&quot;</span>;</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">const</span> std::vector&lt;std::string&gt; <a class="code" href="../../de/dd0/class_lib_home_screen.html#a5593ff5ac78f6495ccb649904cf0ab08">LibHomeScreen::api_list</a> {</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;    std::string(<span class="stringliteral">&quot;ping&quot;</span>), <span class="comment">// debug do not use</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;    std::string(<span class="stringliteral">&quot;tap_shortcut&quot;</span>), <span class="comment">// HomeScreen Application only</span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;    std::string(<span class="stringliteral">&quot;on_screen_message&quot;</span>),</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;    std::string(<span class="stringliteral">&quot;on_screen_reply&quot;</span>),</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;    std::string(<span class="stringliteral">&quot;subscribe&quot;</span>),</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;    std::string(<span class="stringliteral">&quot;unsubscribe&quot;</span>),</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;    std::string(<span class="stringliteral">&quot;showWindow&quot;</span>),</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;    std::string(<span class="stringliteral">&quot;hideWindow&quot;</span>),</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;    std::string(<span class="stringliteral">&quot;replyShowWindow&quot;</span>),</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    std::string(<span class="stringliteral">&quot;showNotification&quot;</span>),</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;    std::string(<span class="stringliteral">&quot;showInformation&quot;</span>)</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;};</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">const</span> std::vector&lt;std::string&gt; <a class="code" href="../../de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9">LibHomeScreen::event_list</a> {</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">//  std::string(&quot;tap_shortcut&quot;),</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    std::string(<span class="stringliteral">&quot;showWindow&quot;</span>),</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;    std::string(<span class="stringliteral">&quot;on_screen_message&quot;</span>),</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    std::string(<span class="stringliteral">&quot;on_screen_reply&quot;</span>),</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    std::string(<span class="stringliteral">&quot;hideWindow&quot;</span>),</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;    std::string(<span class="stringliteral">&quot;replyShowWindow&quot;</span>),</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;    std::string(<span class="stringliteral">&quot;showNotification&quot;</span>),</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;    std::string(<span class="stringliteral">&quot;showInformation&quot;</span>),</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;    std::string(<span class="stringliteral">&quot;none&quot;</span>)</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;};</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="../../d0/d8a/libhomescreen_8cpp.html#a73c05b96c151e5e46c28585ccb143c1c">   69</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a73c05b96c151e5e46c28585ccb143c1c">_on_hangup_static</a>(<span class="keywordtype">void</span> *closure, <span class="keyword">struct</span> afb_wsj1 *wsj)</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;{</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;    <span class="keyword">static_cast&lt;</span><a class="code" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a>*<span class="keyword">&gt;</span>(closure)-&gt;on_hangup(NULL,wsj);</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;}</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="../../d0/d8a/libhomescreen_8cpp.html#a782a05fde0f1c17e0c4c8f972a3f53c8">   74</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a782a05fde0f1c17e0c4c8f972a3f53c8">_on_call_static</a>(<span class="keywordtype">void</span> *closure, <span class="keyword">const</span> <span class="keywordtype">char</span> *api, <span class="keyword">const</span> <span class="keywordtype">char</span> *verb, <span class="keyword">struct</span> afb_wsj1_msg *msg)</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;{</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;    <span class="comment">/* LibHomeScreen is not called from other process */</span></div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;}</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;</div><div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="../../d0/d8a/libhomescreen_8cpp.html#a3df86185aa9453726556da201d95a6f9">   79</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a3df86185aa9453726556da201d95a6f9">_on_event_static</a>(<span class="keywordtype">void</span>* closure, <span class="keyword">const</span> <span class="keywordtype">char</span>* event, <span class="keyword">struct</span> afb_wsj1_msg *msg)</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;{</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;    <span class="keyword">static_cast&lt;</span><a class="code" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a>*<span class="keyword">&gt;</span>(closure)-&gt;on_event(NULL,event,msg);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;}</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;</div><div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="../../d0/d8a/libhomescreen_8cpp.html#a7778933bffa862c63fa0a1b8219faa8b">   84</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a7778933bffa862c63fa0a1b8219faa8b">_on_reply_static</a>(<span class="keywordtype">void</span> *closure, <span class="keyword">struct</span> afb_wsj1_msg *msg)</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;{</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;    <span class="keyword">static_cast&lt;</span><a class="code" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a>*<span class="keyword">&gt;</span>(closure)-&gt;on_reply(NULL,msg);</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;}</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html#a724bd949c4154fad041f96a15ef0f5dc">   93</a></span>&#160;<a class="code" href="../../de/dd0/class_lib_home_screen.html#a724bd949c4154fad041f96a15ef0f5dc">LibHomeScreen::LibHomeScreen</a>()</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;{</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;}</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;</div><div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html#a249902aebf71a5383ca8ec6ae558d095">  100</a></span>&#160;<a class="code" href="../../de/dd0/class_lib_home_screen.html#a249902aebf71a5383ca8ec6ae558d095">LibHomeScreen::~LibHomeScreen</a>()</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;{</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;    <span class="keywordflow">if</span>(mploop)</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;    {</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;        sd_event_unref(mploop);</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;    }</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;    <span class="keywordflow">if</span>(sp_websock != NULL)</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;    {</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;        afb_wsj1_unref(sp_websock);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;    }</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;}</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;</div><div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html#a6a57b573cc767725762ba9beab032220">  126</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a6a57b573cc767725762ba9beab032220">LibHomeScreen::init</a>(<span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="../../de/da4/simple-egl_8cpp.html#a300b6806fe6818927fe4df08f2398124">port</a>, <span class="keyword">const</span> <span class="keywordtype">string</span>&amp; <a class="code" href="../../de/da4/simple-egl_8cpp.html#a623ef6987ef3bd185c07b28b13e46d34">token</a>)</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;{</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;    <span class="keywordtype">int</span> ret = 0;</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;    <span class="keywordflow">if</span>(port &gt; 0 &amp;&amp; token.size() &gt; 0)</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;    {</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;        mport = <a class="code" href="../../de/da4/simple-egl_8cpp.html#a300b6806fe6818927fe4df08f2398124">port</a>;</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;        mtoken = <a class="code" href="../../de/da4/simple-egl_8cpp.html#a623ef6987ef3bd185c07b28b13e46d34">token</a>;</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;    }</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;    <span class="keywordflow">else</span></div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;    {</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>,<span class="stringliteral">&quot;port and token should be &gt; 0, Initial port and token uses.&quot;</span>);</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;    }</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;    ret = initialize_websocket();</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;    <span class="keywordflow">if</span>(ret != 0 )</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;    {</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>,<span class="stringliteral">&quot;Failed to initialize websocket&quot;</span>);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;    }</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;    <span class="keywordflow">else</span>{</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>,<span class="stringliteral">&quot;Initialized&quot;</span>);</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;    }</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;}</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;</div><div class="line"><a name="l00165"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html#a2789e8a5372202cc36f48e71dbb9b7cf">  165</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a2789e8a5372202cc36f48e71dbb9b7cf">LibHomeScreen::registerCallback</a>(</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;    <span class="keywordtype">void</span> (*event_cb)(<span class="keyword">const</span> std::string&amp; event, <span class="keyword">struct</span> json_object* event_contents),</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;    <span class="keywordtype">void</span> (*reply_cb)(<span class="keyword">struct</span> json_object* reply_contents),</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;    <span class="keywordtype">void</span> (*hangup_cb)(<span class="keywordtype">void</span>))</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;{</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;    onEvent = event_cb;</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;    onReply = reply_cb;</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;    onHangup = hangup_cb;</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;}</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;</div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;<span class="keywordtype">int</span> LibHomeScreen::initialize_websocket()</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;{</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;    mploop = NULL;</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;    onEvent = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;    onReply = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;    <span class="keywordtype">int</span> ret = sd_event_default(&amp;mploop);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;    <span class="keywordflow">if</span>(ret &lt; 0)</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;    {</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>,<span class="stringliteral">&quot;Failed to create event loop&quot;</span>);</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;        <span class="keywordflow">goto</span> END;</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;    }</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;    <span class="comment">/* Initialize interface from websocket */</span></div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;    minterface.on_hangup = <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a73c05b96c151e5e46c28585ccb143c1c">_on_hangup_static</a>;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;    minterface.on_call = <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a782a05fde0f1c17e0c4c8f972a3f53c8">_on_call_static</a>;</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;    minterface.on_event = <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a3df86185aa9453726556da201d95a6f9">_on_event_static</a>;</div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;    muri += <span class="stringliteral">&quot;ws://localhost:&quot;</span> + to_string(mport) + <span class="stringliteral">&quot;/api?token=&quot;</span> + mtoken; <span class="comment">/*To be modified*/</span></div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;    sp_websock = afb_ws_client_connect_wsj1(mploop, muri.c_str(), &amp;minterface, <span class="keyword">this</span>);</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;    <span class="keywordflow">if</span>(sp_websock == NULL)</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;    {</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>,<span class="stringliteral">&quot;Failed to create websocket connection&quot;</span>);</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;        <span class="keywordflow">goto</span> END;</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;    }</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;</div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;    <span class="comment">/* creates the evsrc */</span></div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;    <span class="comment">//ret = sd_event_add_io(mploop,&amp;mevent_src, sp_websock-&gt;fd, EPOLLIN, event_callback, NULL);</span></div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;END:</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;    <span class="keywordflow">if</span>(mploop)</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;    {</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;        sd_event_unref(mploop);</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;    }</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;    <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;}</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;</div><div class="line"><a name="l00222"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html#a6ca8ff4a2aa019a735afaff713e0ef44">  222</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a6ca8ff4a2aa019a735afaff713e0ef44">LibHomeScreen::tapShortcut</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* application_id)</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;{</div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;    <span class="keyword">struct </span>json_object* obj = json_object_new_object();</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;    <span class="keyword">struct </span>json_object* val = json_object_new_string(<span class="stringliteral">&quot;normal&quot;</span>);</div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;    json_object_object_add(obj, <span class="stringliteral">&quot;area&quot;</span>, val);</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="../../d6/dda/homescreen_8cpp.html#ae475c69e7ca2a539ae0fb40a82963ac1">showWindow</a>(application_id, obj);</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;}</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html#ac336482036a72b51a822725f1929523c">  242</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#ac336482036a72b51a822725f1929523c">LibHomeScreen::onScreenMessage</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* display_message)</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;{</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;    <span class="keywordflow">if</span>(!sp_websock)</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;    {</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;        <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;    }</div><div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;</div><div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;    <span class="keyword">struct </span>json_object* j_obj = json_object_new_object();</div><div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;    <span class="keyword">struct </span>json_object* val = json_object_new_string(display_message);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;    json_object_object_add(j_obj, <span class="stringliteral">&quot;display_message&quot;</span>, val);</div><div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;    <span class="keywordflow">return</span> this-&gt;call(<span class="stringliteral">&quot;on_screen_message&quot;</span>, j_obj);</div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;}</div><div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;</div><div class="line"><a name="l00266"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html#a6c065f41f2c5d1f58d2763bfb4da9c37">  266</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a6c065f41f2c5d1f58d2763bfb4da9c37">LibHomeScreen::onScreenReply</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* reply_message)</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;{</div><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;    <span class="keywordflow">if</span>(!sp_websock)</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;    {</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;        <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;    }</div><div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;</div><div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;    <span class="keyword">struct </span>json_object* j_obj = json_object_new_object();</div><div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;    <span class="keyword">struct </span>json_object* val = json_object_new_string(reply_message);</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;    json_object_object_add(j_obj, <span class="stringliteral">&quot;reply_message&quot;</span>, val);</div><div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;    <span class="keywordflow">return</span> this-&gt;call(<span class="stringliteral">&quot;on_screen_reply&quot;</span>, j_obj);</div><div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;}</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;</div><div class="line"><a name="l00295"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html#ab1b0e08bf35415de9064afed899e9f85">  295</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#ab1b0e08bf35415de9064afed899e9f85">LibHomeScreen::set_event_handler</a>(<span class="keyword">enum</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154">EventType</a> et, <a class="code" href="../../de/dd0/class_lib_home_screen.html#a334f11f81c84c98d18284215dcaada3a">handler_func</a> f)</div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;{</div><div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;    <span class="keywordflow">if</span> (et &gt;= 1 &amp;&amp; et &lt;= 7) {</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;        <span class="keywordflow">switch</span> (et) {</div><div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;<span class="comment">/*          case Event_TapShortcut:</span></div><div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;<span class="comment">                this-&gt;subscribe(LibHomeScreen::event_list[0]);</span></div><div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;<span class="comment">                break;*/</span></div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;            <span class="keywordflow">case</span> Event_ShowWindow:</div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;                this-&gt;<a class="code" href="../../d6/dda/homescreen_8cpp.html#a6e942ab2b7207d2aef9adce71a4574e8">subscribe</a>(<a class="code" href="../../de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9">LibHomeScreen::event_list</a>[0]);</div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;            <span class="keywordflow">case</span> Event_OnScreenMessage:</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;                this-&gt;<a class="code" href="../../d6/dda/homescreen_8cpp.html#a6e942ab2b7207d2aef9adce71a4574e8">subscribe</a>(<a class="code" href="../../de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9">LibHomeScreen::event_list</a>[1]);</div><div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;            <span class="keywordflow">case</span> Event_OnScreenReply:</div><div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;                this-&gt;<a class="code" href="../../d6/dda/homescreen_8cpp.html#a6e942ab2b7207d2aef9adce71a4574e8">subscribe</a>(<a class="code" href="../../de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9">LibHomeScreen::event_list</a>[2]);</div><div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;            <span class="keywordflow">case</span> Event_HideWindow:</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;                this-&gt;<a class="code" href="../../d6/dda/homescreen_8cpp.html#a6e942ab2b7207d2aef9adce71a4574e8">subscribe</a>(<a class="code" href="../../de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9">LibHomeScreen::event_list</a>[3]);</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;            <span class="keywordflow">case</span> Event_ReplyShowWindow:</div><div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;                this-&gt;<a class="code" href="../../d6/dda/homescreen_8cpp.html#a6e942ab2b7207d2aef9adce71a4574e8">subscribe</a>(<a class="code" href="../../de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9">LibHomeScreen::event_list</a>[4]);</div><div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;            <span class="keywordflow">case</span> Event_ShowNotification:</div><div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;                this-&gt;<a class="code" href="../../d6/dda/homescreen_8cpp.html#a6e942ab2b7207d2aef9adce71a4574e8">subscribe</a>(<a class="code" href="../../de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9">LibHomeScreen::event_list</a>[5]);</div><div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;            <span class="keywordflow">case</span> Event_ShowInformation:</div><div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;                this-&gt;<a class="code" href="../../d6/dda/homescreen_8cpp.html#a6e942ab2b7207d2aef9adce71a4574e8">subscribe</a>(<a class="code" href="../../de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9">LibHomeScreen::event_list</a>[6]);</div><div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;        }</div><div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;</div><div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;        this-&gt;handlers[et] = std::move(f);</div><div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;    }</div><div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;}</div><div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;</div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a527b49dcfe581be6275d0eb2236ba37f">LibHomeScreen::call</a>(<span class="keyword">const</span> <span class="keywordtype">string</span>&amp; verb, <span class="keyword">struct</span> json_object* arg)</div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;{</div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;    <span class="keywordtype">int</span> ret;</div><div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;    <span class="keywordflow">if</span>(!sp_websock)</div><div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;    {</div><div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;        <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;    }</div><div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;    <span class="keywordflow">if</span> (!<a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a7a2176c3d71fec0f09dcb2aa0866b17e">has_verb</a>(verb))</div><div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;    {</div><div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>,<span class="stringliteral">&quot;verb doesn&#39;t exit&quot;</span>);</div><div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;        <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;    }</div><div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;    ret = afb_wsj1_call_j(sp_websock, <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a1e2d6e77dd8f0162f830058579eab42f">API</a>, verb.c_str(), arg, <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a7778933bffa862c63fa0a1b8219faa8b">_on_reply_static</a>, <span class="keyword">this</span>);</div><div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;    <span class="keywordflow">if</span> (ret &lt; 0) {</div><div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>,<span class="stringliteral">&quot;Failed to call verb:%s&quot;</span>,verb.c_str());</div><div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;    }</div><div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;}</div><div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;</div><div class="line"><a name="l00377"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html#ab5e8e8ab7d53e0f114e9e907fcbb7643">  377</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a527b49dcfe581be6275d0eb2236ba37f">LibHomeScreen::call</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* verb, <span class="keyword">struct</span> json_object* arg)</div><div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;{</div><div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;    <span class="keywordtype">int</span> ret;</div><div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;    <span class="keywordflow">if</span>(!sp_websock)</div><div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;    {</div><div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;        <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;    }</div><div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;    <span class="keywordflow">if</span> (!<a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a7a2176c3d71fec0f09dcb2aa0866b17e">has_verb</a>(<span class="keywordtype">string</span>(verb)))</div><div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;    {</div><div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>,<span class="stringliteral">&quot;verb doesn&#39;t exit&quot;</span>);</div><div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;        <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;    }</div><div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;    ret = afb_wsj1_call_j(sp_websock, <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a1e2d6e77dd8f0162f830058579eab42f">API</a>, verb, arg, <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a7778933bffa862c63fa0a1b8219faa8b">_on_reply_static</a>, <span class="keyword">this</span>);</div><div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;    <span class="keywordflow">if</span> (ret &lt; 0) {</div><div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>,<span class="stringliteral">&quot;Failed to call verb:%s&quot;</span>,verb);</div><div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;    }</div><div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;}</div><div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;</div><div class="line"><a name="l00409"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html#aa4c189807b75d070f567967f0d690738">  409</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#aa4c189807b75d070f567967f0d690738">LibHomeScreen::subscribe</a>(<span class="keyword">const</span> <span class="keywordtype">string</span>&amp; event_name)</div><div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;{</div><div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;    <span class="keywordflow">if</span>(!sp_websock)</div><div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;    {</div><div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;        <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;    }</div><div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;    <span class="keyword">struct </span>json_object* j_obj = json_object_new_object();</div><div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;    json_object_object_add(j_obj, <span class="stringliteral">&quot;event&quot;</span>, json_object_new_string(event_name.c_str()));</div><div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;</div><div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;    <span class="keywordtype">int</span> ret = afb_wsj1_call_j(sp_websock, <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a1e2d6e77dd8f0162f830058579eab42f">API</a>, <span class="stringliteral">&quot;subscribe&quot;</span>, j_obj, <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a7778933bffa862c63fa0a1b8219faa8b">_on_reply_static</a>, <span class="keyword">this</span>);</div><div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;    <span class="keywordflow">if</span> (ret &lt; 0) {</div><div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>,<span class="stringliteral">&quot;Failed to call verb&quot;</span>);</div><div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;    }</div><div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;}</div><div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;</div><div class="line"><a name="l00438"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html#aac03a45cbd453ba69ddb00c1016930a6">  438</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#aac03a45cbd453ba69ddb00c1016930a6">LibHomeScreen::unsubscribe</a>(<span class="keyword">const</span> <span class="keywordtype">string</span>&amp; event_name)</div><div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;{</div><div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;    <span class="keywordflow">if</span>(!sp_websock)</div><div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;    {</div><div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;        <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;    }</div><div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;    <span class="keyword">struct </span>json_object* j_obj = json_object_new_object();</div><div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;    json_object_object_add(j_obj, <span class="stringliteral">&quot;event&quot;</span>, json_object_new_string(event_name.c_str()));</div><div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;</div><div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;    <span class="keywordtype">int</span> ret = afb_wsj1_call_j(sp_websock, <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a1e2d6e77dd8f0162f830058579eab42f">API</a>, <span class="stringliteral">&quot;unsubscribe&quot;</span>, j_obj, <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a7778933bffa862c63fa0a1b8219faa8b">_on_reply_static</a>, <span class="keyword">this</span>);</div><div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;    <span class="keywordflow">if</span> (ret &lt; 0) {</div><div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>,<span class="stringliteral">&quot;Failed to call verb&quot;</span>);</div><div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;    }</div><div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;}</div><div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;</div><div class="line"><a name="l00467"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html#a69fc770cb3f94d30a10c2c8c81eb892f">  467</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a69fc770cb3f94d30a10c2c8c81eb892f">LibHomeScreen::showWindow</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* application_id, json_object* json)</div><div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;{</div><div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;    <span class="keywordflow">if</span>(!sp_websock)</div><div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;    {</div><div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;        <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;    }</div><div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;</div><div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;    <span class="keyword">struct </span>json_object* j_obj = json_object_new_object();</div><div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;    <span class="keyword">struct </span>json_object* val = json_object_new_string(application_id);</div><div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;    json_object_object_add(j_obj, <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a5a89bcb5a83f6b2e5c664a041bd8fd00">ApplicationId</a>, val);</div><div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;</div><div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;    <span class="keywordflow">if</span> (json == <span class="keyword">nullptr</span>) {</div><div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;        <span class="keyword">struct </span>json_object* j_json = json_object_new_object();</div><div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;        <span class="keyword">struct </span>json_object* value = json_object_new_string(<span class="stringliteral">&quot;normal&quot;</span>);</div><div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;        json_object_object_add(j_json, <span class="stringliteral">&quot;area&quot;</span>, value);</div><div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;        json_object_object_add(j_obj, <span class="stringliteral">&quot;parameter&quot;</span>, j_json);</div><div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;    }</div><div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;    <span class="keywordflow">else</span> {</div><div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;        json_object_object_add(j_obj, <span class="stringliteral">&quot;parameter&quot;</span>, json);</div><div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;    }</div><div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;</div><div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;    <span class="keywordflow">return</span> this-&gt;call(<span class="stringliteral">&quot;showWindow&quot;</span>, j_obj);</div><div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;}</div><div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;</div><div class="line"><a name="l00503"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html#a4dbaea6c7b310e8ce7207155ff11b32a">  503</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a4dbaea6c7b310e8ce7207155ff11b32a">LibHomeScreen::hideWindow</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* application_id)</div><div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160;{</div><div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;    <span class="keywordflow">if</span>(!sp_websock)</div><div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;    {</div><div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;        <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;    }</div><div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;</div><div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;    <span class="keyword">struct </span>json_object* j_obj = json_object_new_object();</div><div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;    <span class="keyword">struct </span>json_object* val = json_object_new_string(application_id);</div><div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;    json_object_object_add(j_obj, <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a5a89bcb5a83f6b2e5c664a041bd8fd00">ApplicationId</a>, val);</div><div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;</div><div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;    <span class="keywordflow">return</span> this-&gt;call(<span class="stringliteral">&quot;hideWindow&quot;</span>, j_obj);</div><div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160;}</div><div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;</div><div class="line"><a name="l00530"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html#a6310b129fc85ef0623e2e2063950cc4b">  530</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a6310b129fc85ef0623e2e2063950cc4b">LibHomeScreen::replyShowWindow</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* application_id, json_object* json)</div><div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160;{</div><div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;    <span class="keywordflow">if</span>(!sp_websock)</div><div class="line"><a name="l00533"></a><span class="lineno">  533</span>&#160;    {</div><div class="line"><a name="l00534"></a><span class="lineno">  534</span>&#160;        <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00535"></a><span class="lineno">  535</span>&#160;    }</div><div class="line"><a name="l00536"></a><span class="lineno">  536</span>&#160;</div><div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160;    <span class="keywordflow">if</span> (json == <span class="keyword">nullptr</span>) {</div><div class="line"><a name="l00538"></a><span class="lineno">  538</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a25361812432cd2480bc8f1a8e56ecbf7">HMI_WARNING</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>, <span class="stringliteral">&quot;replyShowWindow`s parameter is null&quot;</span>);</div><div class="line"><a name="l00539"></a><span class="lineno">  539</span>&#160;        <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00540"></a><span class="lineno">  540</span>&#160;    }</div><div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160;</div><div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;    <span class="keyword">struct </span>json_object* j_obj = json_object_new_object();</div><div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;    <span class="keyword">struct </span>json_object* val = json_object_new_string(application_id);</div><div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160;    json_object_object_add(j_obj, <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a5a89bcb5a83f6b2e5c664a041bd8fd00">ApplicationId</a>, val);</div><div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160;    json_object_object_add(j_obj, <span class="stringliteral">&quot;parameter&quot;</span>, json);</div><div class="line"><a name="l00546"></a><span class="lineno">  546</span>&#160;</div><div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160;    <span class="keywordflow">return</span> this-&gt;call(<span class="stringliteral">&quot;replyShowWindow&quot;</span>, j_obj);</div><div class="line"><a name="l00548"></a><span class="lineno">  548</span>&#160;}</div><div class="line"><a name="l00549"></a><span class="lineno">  549</span>&#160;</div><div class="line"><a name="l00562"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html#a93ad567ed597a80a344ba82457c2bd7f">  562</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a93ad567ed597a80a344ba82457c2bd7f">LibHomeScreen::showNotification</a>(json_object* json)</div><div class="line"><a name="l00563"></a><span class="lineno">  563</span>&#160;{</div><div class="line"><a name="l00564"></a><span class="lineno">  564</span>&#160;    <span class="keywordflow">if</span>(!sp_websock)</div><div class="line"><a name="l00565"></a><span class="lineno">  565</span>&#160;    {</div><div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160;        <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00567"></a><span class="lineno">  567</span>&#160;    }</div><div class="line"><a name="l00568"></a><span class="lineno">  568</span>&#160;</div><div class="line"><a name="l00569"></a><span class="lineno">  569</span>&#160;    <span class="keywordflow">return</span> this-&gt;call(<span class="stringliteral">&quot;showNotification&quot;</span>, json);</div><div class="line"><a name="l00570"></a><span class="lineno">  570</span>&#160;}</div><div class="line"><a name="l00571"></a><span class="lineno">  571</span>&#160;</div><div class="line"><a name="l00584"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html#ada999aeb0444c964428bdf1ee236727f">  584</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#ada999aeb0444c964428bdf1ee236727f">LibHomeScreen::showInformation</a>(json_object* json)</div><div class="line"><a name="l00585"></a><span class="lineno">  585</span>&#160;{</div><div class="line"><a name="l00586"></a><span class="lineno">  586</span>&#160;    <span class="keywordflow">if</span>(!sp_websock)</div><div class="line"><a name="l00587"></a><span class="lineno">  587</span>&#160;    {</div><div class="line"><a name="l00588"></a><span class="lineno">  588</span>&#160;        <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00589"></a><span class="lineno">  589</span>&#160;    }</div><div class="line"><a name="l00590"></a><span class="lineno">  590</span>&#160;</div><div class="line"><a name="l00591"></a><span class="lineno">  591</span>&#160;    <span class="keywordflow">return</span> this-&gt;call(<span class="stringliteral">&quot;showInformation&quot;</span>, json);</div><div class="line"><a name="l00592"></a><span class="lineno">  592</span>&#160;}</div><div class="line"><a name="l00593"></a><span class="lineno">  593</span>&#160;</div><div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;</div><div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;<span class="comment">/************* Callback Function *************/</span></div><div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;</div><div class="line"><a name="l00597"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html#ab1c1fa69f24b981e824dd9fb810c4b74">  597</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#ab1c1fa69f24b981e824dd9fb810c4b74">LibHomeScreen::on_hangup</a>(<span class="keywordtype">void</span> *closure, <span class="keyword">struct</span> afb_wsj1 *wsj)</div><div class="line"><a name="l00598"></a><span class="lineno">  598</span>&#160;{</div><div class="line"><a name="l00599"></a><span class="lineno">  599</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>,<span class="stringliteral">&quot;called&quot;</span>);</div><div class="line"><a name="l00600"></a><span class="lineno">  600</span>&#160;    <span class="keywordflow">if</span>(onHangup != <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;    {</div><div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;        onHangup();</div><div class="line"><a name="l00603"></a><span class="lineno">  603</span>&#160;    }</div><div class="line"><a name="l00604"></a><span class="lineno">  604</span>&#160;}</div><div class="line"><a name="l00605"></a><span class="lineno">  605</span>&#160;</div><div class="line"><a name="l00606"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html#a608638eb87b2772a3dcc92d8ca8f3596">  606</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a608638eb87b2772a3dcc92d8ca8f3596">LibHomeScreen::on_call</a>(<span class="keywordtype">void</span> *closure, <span class="keyword">const</span> <span class="keywordtype">char</span> *api, <span class="keyword">const</span> <span class="keywordtype">char</span> *verb, <span class="keyword">struct</span> afb_wsj1_msg *msg)</div><div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160;{</div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;}</div><div class="line"><a name="l00609"></a><span class="lineno">  609</span>&#160;</div><div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160;<span class="comment">* event is like &quot;homescreen/hvac&quot;</span></div><div class="line"><a name="l00612"></a><span class="lineno">  612</span>&#160;<span class="comment">* msg is like {&quot;event&quot;:&quot;homescreen\/hvac&quot;,&quot;data&quot;:{&quot;type&quot;:&quot;tap_shortcut&quot;},&quot;jtype&quot;:&quot;afb-event&quot;}</span></div><div class="line"><a name="l00613"></a><span class="lineno">  613</span>&#160;<span class="comment">* so you can get</span></div><div class="line"><a name="l00614"></a><span class="lineno">  614</span>&#160;<span class="comment">    event name : struct json_object obj = json_object_object_get(msg,&quot;event&quot;)</span></div><div class="line"><a name="l00615"></a><span class="lineno">  615</span>&#160;<span class="comment">*/</span></div><div class="line"><a name="l00616"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html#a9c4885b51b43ab24a548d49fb3ab2de3">  616</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a9c4885b51b43ab24a548d49fb3ab2de3">LibHomeScreen::on_event</a>(<span class="keywordtype">void</span> *closure, <span class="keyword">const</span> <span class="keywordtype">char</span> *event, <span class="keyword">struct</span> afb_wsj1_msg *msg)</div><div class="line"><a name="l00617"></a><span class="lineno">  617</span>&#160;{</div><div class="line"><a name="l00618"></a><span class="lineno">  618</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>,<span class="stringliteral">&quot;event: (%s) msg: (%s).&quot;</span>, event, afb_wsj1_msg_object_s(msg));</div><div class="line"><a name="l00619"></a><span class="lineno">  619</span>&#160;</div><div class="line"><a name="l00620"></a><span class="lineno">  620</span>&#160;    <span class="keywordflow">if</span> (strstr(event, <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a1e2d6e77dd8f0162f830058579eab42f">API</a>) == NULL) {</div><div class="line"><a name="l00621"></a><span class="lineno">  621</span>&#160;        <span class="keywordflow">return</span>;</div><div class="line"><a name="l00622"></a><span class="lineno">  622</span>&#160;    }</div><div class="line"><a name="l00623"></a><span class="lineno">  623</span>&#160;</div><div class="line"><a name="l00624"></a><span class="lineno">  624</span>&#160;    <span class="keyword">struct </span>json_object* ev_contents = afb_wsj1_msg_object_j(msg);</div><div class="line"><a name="l00625"></a><span class="lineno">  625</span>&#160;    <span class="keyword">struct </span>json_object *json_data;</div><div class="line"><a name="l00626"></a><span class="lineno">  626</span>&#160;    <span class="keywordflow">if</span>(!json_object_object_get_ex(ev_contents, <span class="stringliteral">&quot;data&quot;</span>, &amp;json_data)) {</div><div class="line"><a name="l00627"></a><span class="lineno">  627</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>, <span class="stringliteral">&quot;got ev_contents error.&quot;</span>);</div><div class="line"><a name="l00628"></a><span class="lineno">  628</span>&#160;        <span class="keywordflow">return</span>;</div><div class="line"><a name="l00629"></a><span class="lineno">  629</span>&#160;    }</div><div class="line"><a name="l00630"></a><span class="lineno">  630</span>&#160;</div><div class="line"><a name="l00631"></a><span class="lineno">  631</span>&#160;    <span class="keywordflow">if</span>(onEvent != <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00632"></a><span class="lineno">  632</span>&#160;    {</div><div class="line"><a name="l00633"></a><span class="lineno">  633</span>&#160;        <span class="keyword">const</span> <span class="keywordtype">string</span> ev(event);</div><div class="line"><a name="l00634"></a><span class="lineno">  634</span>&#160;        onEvent(ev, ev_contents);</div><div class="line"><a name="l00635"></a><span class="lineno">  635</span>&#160;    }</div><div class="line"><a name="l00636"></a><span class="lineno">  636</span>&#160;</div><div class="line"><a name="l00637"></a><span class="lineno">  637</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* event_type = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00638"></a><span class="lineno">  638</span>&#160;    <span class="keyword">struct </span>json_object *json_event_type;</div><div class="line"><a name="l00639"></a><span class="lineno">  639</span>&#160;    <span class="keywordflow">if</span>(json_object_object_get_ex(json_data, <span class="stringliteral">&quot;type&quot;</span>, &amp;json_event_type)) {</div><div class="line"><a name="l00640"></a><span class="lineno">  640</span>&#160;        event_type = json_object_get_string(json_event_type);</div><div class="line"><a name="l00641"></a><span class="lineno">  641</span>&#160;    }</div><div class="line"><a name="l00642"></a><span class="lineno">  642</span>&#160;    <span class="keywordflow">else</span> {</div><div class="line"><a name="l00643"></a><span class="lineno">  643</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a25361812432cd2480bc8f1a8e56ecbf7">HMI_WARNING</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>,<span class="stringliteral">&quot;event_type is null.&quot;</span>);</div><div class="line"><a name="l00644"></a><span class="lineno">  644</span>&#160;        <span class="keywordflow">return</span>;</div><div class="line"><a name="l00645"></a><span class="lineno">  645</span>&#160;    }</div><div class="line"><a name="l00646"></a><span class="lineno">  646</span>&#160;</div><div class="line"><a name="l00647"></a><span class="lineno">  647</span>&#160;    <span class="keywordflow">if</span> (strcasecmp(event_type, <a class="code" href="../../de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9">LibHomeScreen::event_list</a>[0].c_str()) == 0) {</div><div class="line"><a name="l00648"></a><span class="lineno">  648</span>&#160;        <span class="keyword">auto</span> i = this-&gt;handlers.find(Event_ShowWindow);</div><div class="line"><a name="l00649"></a><span class="lineno">  649</span>&#160;        <span class="keywordflow">if</span> ( i != this-&gt;handlers.end() ) {</div><div class="line"><a name="l00650"></a><span class="lineno">  650</span>&#160;            i-&gt;second(json_data);</div><div class="line"><a name="l00651"></a><span class="lineno">  651</span>&#160;        }</div><div class="line"><a name="l00652"></a><span class="lineno">  652</span>&#160;    }</div><div class="line"><a name="l00653"></a><span class="lineno">  653</span>&#160;    <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcasecmp(event_type, <a class="code" href="../../de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9">LibHomeScreen::event_list</a>[1].c_str()) == 0) {</div><div class="line"><a name="l00654"></a><span class="lineno">  654</span>&#160;        <span class="keyword">auto</span> i = this-&gt;handlers.find(Event_OnScreenMessage);</div><div class="line"><a name="l00655"></a><span class="lineno">  655</span>&#160;        <span class="keywordflow">if</span> ( i != this-&gt;handlers.end() ) {</div><div class="line"><a name="l00656"></a><span class="lineno">  656</span>&#160;            i-&gt;second(json_data);</div><div class="line"><a name="l00657"></a><span class="lineno">  657</span>&#160;        }</div><div class="line"><a name="l00658"></a><span class="lineno">  658</span>&#160;    }</div><div class="line"><a name="l00659"></a><span class="lineno">  659</span>&#160;    <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcasecmp(event_type, <a class="code" href="../../de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9">LibHomeScreen::event_list</a>[2].c_str()) == 0) {</div><div class="line"><a name="l00660"></a><span class="lineno">  660</span>&#160;        <span class="keyword">auto</span> i = this-&gt;handlers.find(Event_OnScreenReply);</div><div class="line"><a name="l00661"></a><span class="lineno">  661</span>&#160;        <span class="keywordflow">if</span> ( i != this-&gt;handlers.end() ) {</div><div class="line"><a name="l00662"></a><span class="lineno">  662</span>&#160;            i-&gt;second(json_data);</div><div class="line"><a name="l00663"></a><span class="lineno">  663</span>&#160;        }</div><div class="line"><a name="l00664"></a><span class="lineno">  664</span>&#160;    }</div><div class="line"><a name="l00665"></a><span class="lineno">  665</span>&#160;    <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcasecmp(event_type, <a class="code" href="../../de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9">LibHomeScreen::event_list</a>[3].c_str()) == 0) {</div><div class="line"><a name="l00666"></a><span class="lineno">  666</span>&#160;        <span class="keyword">auto</span> i = this-&gt;handlers.find(Event_HideWindow);</div><div class="line"><a name="l00667"></a><span class="lineno">  667</span>&#160;        <span class="keywordflow">if</span> ( i != this-&gt;handlers.end() ) {</div><div class="line"><a name="l00668"></a><span class="lineno">  668</span>&#160;            i-&gt;second(json_data);</div><div class="line"><a name="l00669"></a><span class="lineno">  669</span>&#160;        }</div><div class="line"><a name="l00670"></a><span class="lineno">  670</span>&#160;    }</div><div class="line"><a name="l00671"></a><span class="lineno">  671</span>&#160;    <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcasecmp(event_type, <a class="code" href="../../de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9">LibHomeScreen::event_list</a>[4].c_str()) == 0) {</div><div class="line"><a name="l00672"></a><span class="lineno">  672</span>&#160;        <span class="keyword">auto</span> i = this-&gt;handlers.find(Event_ReplyShowWindow);</div><div class="line"><a name="l00673"></a><span class="lineno">  673</span>&#160;        <span class="keywordflow">if</span> ( i != this-&gt;handlers.end() ) {</div><div class="line"><a name="l00674"></a><span class="lineno">  674</span>&#160;            i-&gt;second(json_data);</div><div class="line"><a name="l00675"></a><span class="lineno">  675</span>&#160;        }</div><div class="line"><a name="l00676"></a><span class="lineno">  676</span>&#160;    }</div><div class="line"><a name="l00677"></a><span class="lineno">  677</span>&#160;    <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcasecmp(event_type, <a class="code" href="../../de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9">LibHomeScreen::event_list</a>[5].c_str()) == 0) {</div><div class="line"><a name="l00678"></a><span class="lineno">  678</span>&#160;        <span class="keyword">auto</span> i = this-&gt;handlers.find(Event_ShowNotification);</div><div class="line"><a name="l00679"></a><span class="lineno">  679</span>&#160;        <span class="keywordflow">if</span> ( i != this-&gt;handlers.end() ) {</div><div class="line"><a name="l00680"></a><span class="lineno">  680</span>&#160;            i-&gt;second(json_data);</div><div class="line"><a name="l00681"></a><span class="lineno">  681</span>&#160;        }</div><div class="line"><a name="l00682"></a><span class="lineno">  682</span>&#160;    }</div><div class="line"><a name="l00683"></a><span class="lineno">  683</span>&#160;    <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcasecmp(event_type, <a class="code" href="../../de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9">LibHomeScreen::event_list</a>[6].c_str()) == 0) {</div><div class="line"><a name="l00684"></a><span class="lineno">  684</span>&#160;        <span class="keyword">auto</span> i = this-&gt;handlers.find(Event_ShowInformation);</div><div class="line"><a name="l00685"></a><span class="lineno">  685</span>&#160;        <span class="keywordflow">if</span> ( i != this-&gt;handlers.end() ) {</div><div class="line"><a name="l00686"></a><span class="lineno">  686</span>&#160;            i-&gt;second(json_data);</div><div class="line"><a name="l00687"></a><span class="lineno">  687</span>&#160;        }</div><div class="line"><a name="l00688"></a><span class="lineno">  688</span>&#160;    }</div><div class="line"><a name="l00689"></a><span class="lineno">  689</span>&#160;}</div><div class="line"><a name="l00690"></a><span class="lineno">  690</span>&#160;</div><div class="line"><a name="l00695"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html#a248d9648c6186287a7632ec1c75fc9c5">  695</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a248d9648c6186287a7632ec1c75fc9c5">LibHomeScreen::on_reply</a>(<span class="keywordtype">void</span> *closure, <span class="keyword">struct</span> afb_wsj1_msg *msg)</div><div class="line"><a name="l00696"></a><span class="lineno">  696</span>&#160;{</div><div class="line"><a name="l00697"></a><span class="lineno">  697</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>,<span class="stringliteral">&quot;msg: (%s)&quot;</span>, afb_wsj1_msg_object_s(msg));</div><div class="line"><a name="l00698"></a><span class="lineno">  698</span>&#160;    <span class="keywordflow">if</span>(onReply != <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00699"></a><span class="lineno">  699</span>&#160;    {</div><div class="line"><a name="l00700"></a><span class="lineno">  700</span>&#160;        <span class="keyword">struct </span>json_object* reply = afb_wsj1_msg_object_j(msg);</div><div class="line"><a name="l00701"></a><span class="lineno">  701</span>&#160;        onReply(reply);</div><div class="line"><a name="l00702"></a><span class="lineno">  702</span>&#160;    }</div><div class="line"><a name="l00703"></a><span class="lineno">  703</span>&#160;}</div><div class="line"><a name="l00704"></a><span class="lineno">  704</span>&#160;</div><div class="line"><a name="l00705"></a><span class="lineno"><a class="line" href="../../d0/d8a/libhomescreen_8cpp.html#a7a2176c3d71fec0f09dcb2aa0866b17e">  705</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a7a2176c3d71fec0f09dcb2aa0866b17e">has_verb</a>(<span class="keyword">const</span> <span class="keywordtype">string</span>&amp; verb)</div><div class="line"><a name="l00706"></a><span class="lineno">  706</span>&#160;{</div><div class="line"><a name="l00707"></a><span class="lineno">  707</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>,<span class="stringliteral">&quot;verb is %s&quot;</span>, verb.c_str());</div><div class="line"><a name="l00708"></a><span class="lineno">  708</span>&#160;    <span class="keywordflow">if</span>(find(<a class="code" href="../../de/dd0/class_lib_home_screen.html#a5593ff5ac78f6495ccb649904cf0ab08">LibHomeScreen::api_list</a>.begin(), <a class="code" href="../../de/dd0/class_lib_home_screen.html#a5593ff5ac78f6495ccb649904cf0ab08">LibHomeScreen::api_list</a>.end(), verb) != <a class="code" href="../../de/dd0/class_lib_home_screen.html#a5593ff5ac78f6495ccb649904cf0ab08">LibHomeScreen::api_list</a>.end())</div><div class="line"><a name="l00709"></a><span class="lineno">  709</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00710"></a><span class="lineno">  710</span>&#160;    <span class="keywordflow">else</span></div><div class="line"><a name="l00711"></a><span class="lineno">  711</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00712"></a><span class="lineno">  712</span>&#160;}</div><div class="ttc" id="class_lib_home_screen_html_a9c4885b51b43ab24a548d49fb3ab2de3"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a9c4885b51b43ab24a548d49fb3ab2de3">LibHomeScreen::on_event</a></div><div class="ttdeci">void on_event(void *closure, const char *event, struct afb_wsj1_msg *msg)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00616">libhomescreen.cpp:616</a></div></div>
+<div class="ttc" id="libhomescreen_8cpp_html_a73c05b96c151e5e46c28585ccb143c1c"><div class="ttname"><a href="../../d0/d8a/libhomescreen_8cpp.html#a73c05b96c151e5e46c28585ccb143c1c">_on_hangup_static</a></div><div class="ttdeci">static void _on_hangup_static(void *closure, struct afb_wsj1 *wsj)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00069">libhomescreen.cpp:69</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a248d9648c6186287a7632ec1c75fc9c5"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a248d9648c6186287a7632ec1c75fc9c5">LibHomeScreen::on_reply</a></div><div class="ttdeci">void on_reply(void *closure, struct afb_wsj1_msg *msg)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00695">libhomescreen.cpp:695</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_ae475c69e7ca2a539ae0fb40a82963ac1"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#ae475c69e7ca2a539ae0fb40a82963ac1">showWindow</a></div><div class="ttdeci">static void showWindow(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00194">homescreen.cpp:194</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a6c065f41f2c5d1f58d2763bfb4da9c37"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a6c065f41f2c5d1f58d2763bfb4da9c37">LibHomeScreen::onScreenReply</a></div><div class="ttdeci">int onScreenReply(const char *reply_message)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00266">libhomescreen.cpp:266</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a334f11f81c84c98d18284215dcaada3a"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a334f11f81c84c98d18284215dcaada3a">LibHomeScreen::handler_func</a></div><div class="ttdeci">std::function&lt; void(json_object *)&gt; handler_func</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00040">libhomescreen.hpp:40</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a608638eb87b2772a3dcc92d8ca8f3596"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a608638eb87b2772a3dcc92d8ca8f3596">LibHomeScreen::on_call</a></div><div class="ttdeci">void on_call(void *closure, const char *api, const char *verb, struct afb_wsj1_msg *msg)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00606">libhomescreen.cpp:606</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_a6e942ab2b7207d2aef9adce71a4574e8"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#a6e942ab2b7207d2aef9adce71a4574e8">subscribe</a></div><div class="ttdeci">static void subscribe(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00140">homescreen.cpp:140</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a6ca8ff4a2aa019a735afaff713e0ef44"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a6ca8ff4a2aa019a735afaff713e0ef44">LibHomeScreen::tapShortcut</a></div><div class="ttdeci">int tapShortcut(const char *application_id)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00222">libhomescreen.cpp:222</a></div></div>
 <div class="ttc" id="namespacestd_html"><div class="ttname"><a href="../../d8/dcc/namespacestd.html">std</a></div></div>
 <div class="ttc" id="namespacestd_html"><div class="ttname"><a href="../../d8/dcc/namespacestd.html">std</a></div></div>
-<div class="ttc" id="libhomescreen_8cpp_html_a782a05fde0f1c17e0c4c8f972a3f53c8"><div class="ttname"><a href="../../d0/d8a/libhomescreen_8cpp.html#a782a05fde0f1c17e0c4c8f972a3f53c8">_on_call_static</a></div><div class="ttdeci">static void _on_call_static(void *closure, const char *api, const char *verb, struct afb_wsj1_msg *msg)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00064">libhomescreen.cpp:64</a></div></div>
-<div class="ttc" id="libhomescreen_8cpp_html_a1e2d6e77dd8f0162f830058579eab42f"><div class="ttname"><a href="../../d0/d8a/libhomescreen_8cpp.html#a1e2d6e77dd8f0162f830058579eab42f">API</a></div><div class="ttdeci">static const char API[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00036">libhomescreen.cpp:36</a></div></div>
+<div class="ttc" id="libhomescreen_8cpp_html_a782a05fde0f1c17e0c4c8f972a3f53c8"><div class="ttname"><a href="../../d0/d8a/libhomescreen_8cpp.html#a782a05fde0f1c17e0c4c8f972a3f53c8">_on_call_static</a></div><div class="ttdeci">static void _on_call_static(void *closure, const char *api, const char *verb, struct afb_wsj1_msg *msg)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00074">libhomescreen.cpp:74</a></div></div>
+<div class="ttc" id="libhomescreen_8cpp_html_a1e2d6e77dd8f0162f830058579eab42f"><div class="ttname"><a href="../../d0/d8a/libhomescreen_8cpp.html#a1e2d6e77dd8f0162f830058579eab42f">API</a></div><div class="ttdeci">static const char API[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00035">libhomescreen.cpp:35</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a4dbaea6c7b310e8ce7207155ff11b32a"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a4dbaea6c7b310e8ce7207155ff11b32a">LibHomeScreen::hideWindow</a></div><div class="ttdeci">int hideWindow(const char *application_id)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00503">libhomescreen.cpp:503</a></div></div>
 <div class="ttc" id="libhomescreen_8hpp_html"><div class="ttname"><a href="../../df/d43/libhomescreen_8hpp.html">libhomescreen.hpp</a></div></div>
 <div class="ttc" id="libhomescreen_8hpp_html"><div class="ttname"><a href="../../df/d43/libhomescreen_8hpp.html">libhomescreen.hpp</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a69fc770cb3f94d30a10c2c8c81eb892f"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a69fc770cb3f94d30a10c2c8c81eb892f">LibHomeScreen::showWindow</a></div><div class="ttdeci">int showWindow(const char *application_id, json_object *json)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00467">libhomescreen.cpp:467</a></div></div>
+<div class="ttc" id="libhomescreen_8cpp_html_a5a89bcb5a83f6b2e5c664a041bd8fd00"><div class="ttname"><a href="../../d0/d8a/libhomescreen_8cpp.html#a5a89bcb5a83f6b2e5c664a041bd8fd00">ApplicationId</a></div><div class="ttdeci">static const char ApplicationId[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00036">libhomescreen.cpp:36</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a6310b129fc85ef0623e2e2063950cc4b"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a6310b129fc85ef0623e2e2063950cc4b">LibHomeScreen::replyShowWindow</a></div><div class="ttdeci">int replyShowWindow(const char *application_id, json_object *json)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00530">libhomescreen.cpp:530</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a623ef6987ef3bd185c07b28b13e46d34"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a623ef6987ef3bd185c07b28b13e46d34">token</a></div><div class="ttdeci">string token</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00061">simple-egl.cpp:61</a></div></div>
 <div class="ttc" id="class_lib_home_screen_html_a527b49dcfe581be6275d0eb2236ba37f"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a527b49dcfe581be6275d0eb2236ba37f">LibHomeScreen::call</a></div><div class="ttdeci">int call(const std::string &amp;verb, struct json_object *arg)</div></div>
 <div class="ttc" id="class_lib_home_screen_html_a527b49dcfe581be6275d0eb2236ba37f"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a527b49dcfe581be6275d0eb2236ba37f">LibHomeScreen::call</a></div><div class="ttdeci">int call(const std::string &amp;verb, struct json_object *arg)</div></div>
-<div class="ttc" id="libhomescreen_8cpp_html_aa73353e1bf62c68b6b0aba7a1e4e275e"><div class="ttname"><a href="../../d0/d8a/libhomescreen_8cpp.html#aa73353e1bf62c68b6b0aba7a1e4e275e">event_loop_run</a></div><div class="ttdeci">static void * event_loop_run(void *args)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00201">libhomescreen.cpp:201</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html_ab1c1fa69f24b981e824dd9fb810c4b74"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#ab1c1fa69f24b981e824dd9fb810c4b74">LibHomeScreen::on_hangup</a></div><div class="ttdeci">void on_hangup(void *closure, struct afb_wsj1 *wsj)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00439">libhomescreen.cpp:439</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html_afb571c9577087b47065eb23e7fdbc903"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#afb571c9577087b47065eb23e7fdbc903">LibHomeScreen::tapShortcut</a></div><div class="ttdeci">int tapShortcut(const char *application_name)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00220">libhomescreen.cpp:220</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html_aa4c189807b75d070f567967f0d690738"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#aa4c189807b75d070f567967f0d690738">LibHomeScreen::subscribe</a></div><div class="ttdeci">int subscribe(const std::string &amp;event_name)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00392">libhomescreen.cpp:392</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html_a82616c91ac211d2ad08e709b524bf154"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154">LibHomeScreen::EventType</a></div><div class="ttdeci">EventType</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00044">libhomescreen.hpp:44</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html_a724bd949c4154fad041f96a15ef0f5dc"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a724bd949c4154fad041f96a15ef0f5dc">LibHomeScreen::LibHomeScreen</a></div><div class="ttdeci">LibHomeScreen()</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00083">libhomescreen.cpp:83</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html_a6a6d8a4d33a006a08652e7377a4c29e9"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9">LibHomeScreen::event_list</a></div><div class="ttdeci">static const std::vector&lt; std::string &gt; event_list</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00051">libhomescreen.hpp:51</a></div></div>
-<div class="ttc" id="homescreen_8c_html_a4ff0c8b506669e5622a6ee168134d8f1"><div class="ttname"><a href="../../d0/d1e/homescreen_8c.html#a4ff0c8b506669e5622a6ee168134d8f1">subscribe</a></div><div class="ttdeci">static void subscribe(struct afb_req request)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00189">homescreen.c:189</a></div></div>
-<div class="ttc" id="hmi-debug_8h_html"><div class="ttname"><a href="../../df/d76/hmi-debug_8h.html">hmi-debug.h</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html_a6a57b573cc767725762ba9beab032220"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a6a57b573cc767725762ba9beab032220">LibHomeScreen::init</a></div><div class="ttdeci">int init(const int port, const std::string &amp;token)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00116">libhomescreen.cpp:116</a></div></div>
-<div class="ttc" id="libhomescreen_8cpp_html_a7a2176c3d71fec0f09dcb2aa0866b17e"><div class="ttname"><a href="../../d0/d8a/libhomescreen_8cpp.html#a7a2176c3d71fec0f09dcb2aa0866b17e">has_verb</a></div><div class="ttdeci">static bool has_verb(const string &amp;verb)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00518">libhomescreen.cpp:518</a></div></div>
-<div class="ttc" id="libhomescreen_8cpp_html_a3df86185aa9453726556da201d95a6f9"><div class="ttname"><a href="../../d0/d8a/libhomescreen_8cpp.html#a3df86185aa9453726556da201d95a6f9">_on_event_static</a></div><div class="ttdeci">static void _on_event_static(void *closure, const char *event, struct afb_wsj1_msg *msg)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00069">libhomescreen.cpp:69</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html_ac336482036a72b51a822725f1929523c"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#ac336482036a72b51a822725f1929523c">LibHomeScreen::onScreenMessage</a></div><div class="ttdeci">int onScreenMessage(const char *display_message)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00244">libhomescreen.cpp:244</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00032">libhomescreen.hpp:32</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html_a249902aebf71a5383ca8ec6ae558d095"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a249902aebf71a5383ca8ec6ae558d095">LibHomeScreen::~LibHomeScreen</a></div><div class="ttdeci">~LibHomeScreen()</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00090">libhomescreen.cpp:90</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html_a5593ff5ac78f6495ccb649904cf0ab08"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a5593ff5ac78f6495ccb649904cf0ab08">LibHomeScreen::api_list</a></div><div class="ttdeci">static const std::vector&lt; std::string &gt; api_list</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00050">libhomescreen.hpp:50</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html_aac03a45cbd453ba69ddb00c1016930a6"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#aac03a45cbd453ba69ddb00c1016930a6">LibHomeScreen::unsubscribe</a></div><div class="ttdeci">int unsubscribe(const std::string &amp;event_name)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00421">libhomescreen.cpp:421</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html_ab1b0e08bf35415de9064afed899e9f85"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#ab1b0e08bf35415de9064afed899e9f85">LibHomeScreen::set_event_handler</a></div><div class="ttdeci">void set_event_handler(enum EventType et, handler_func f)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00293">libhomescreen.cpp:293</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html_a2789e8a5372202cc36f48e71dbb9b7cf"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a2789e8a5372202cc36f48e71dbb9b7cf">LibHomeScreen::registerCallback</a></div><div class="ttdeci">void registerCallback(void(*event_cb)(const std::string &amp;event, struct json_object *event_contents), void(*reply_cb)(struct json_object *reply_contents), void(*hangup_cb)(void)=nullptr)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00155">libhomescreen.cpp:155</a></div></div>
-<div class="ttc" id="libhomescreen_8cpp_html_a7778933bffa862c63fa0a1b8219faa8b"><div class="ttname"><a href="../../d0/d8a/libhomescreen_8cpp.html#a7778933bffa862c63fa0a1b8219faa8b">_on_reply_static</a></div><div class="ttdeci">static void _on_reply_static(void *closure, struct afb_wsj1_msg *msg)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00074">libhomescreen.cpp:74</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_ada999aeb0444c964428bdf1ee236727f"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#ada999aeb0444c964428bdf1ee236727f">LibHomeScreen::showInformation</a></div><div class="ttdeci">int showInformation(json_object *json)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00584">libhomescreen.cpp:584</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_ab1c1fa69f24b981e824dd9fb810c4b74"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#ab1c1fa69f24b981e824dd9fb810c4b74">LibHomeScreen::on_hangup</a></div><div class="ttdeci">void on_hangup(void *closure, struct afb_wsj1 *wsj)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00597">libhomescreen.cpp:597</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_aa4c189807b75d070f567967f0d690738"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#aa4c189807b75d070f567967f0d690738">LibHomeScreen::subscribe</a></div><div class="ttdeci">int subscribe(const std::string &amp;event_name)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00409">libhomescreen.cpp:409</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_a25361812432cd2480bc8f1a8e56ecbf7"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#a25361812432cd2480bc8f1a8e56ecbf7">HMI_WARNING</a></div><div class="ttdeci">#define HMI_WARNING(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00039">hmi-debug.h:39</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a82616c91ac211d2ad08e709b524bf154"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154">LibHomeScreen::EventType</a></div><div class="ttdeci">EventType</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00042">libhomescreen.hpp:42</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a724bd949c4154fad041f96a15ef0f5dc"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a724bd949c4154fad041f96a15ef0f5dc">LibHomeScreen::LibHomeScreen</a></div><div class="ttdeci">LibHomeScreen()</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00093">libhomescreen.cpp:93</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a300b6806fe6818927fe4df08f2398124"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a300b6806fe6818927fe4df08f2398124">port</a></div><div class="ttdeci">long port</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00060">simple-egl.cpp:60</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a6a6d8a4d33a006a08652e7377a4c29e9"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9">LibHomeScreen::event_list</a></div><div class="ttdeci">static const std::vector&lt; std::string &gt; event_list</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00064">libhomescreen.hpp:64</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a6a57b573cc767725762ba9beab032220"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a6a57b573cc767725762ba9beab032220">LibHomeScreen::init</a></div><div class="ttdeci">int init(const int port, const std::string &amp;token)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00126">libhomescreen.cpp:126</a></div></div>
+<div class="ttc" id="libhomescreen_8cpp_html_a7a2176c3d71fec0f09dcb2aa0866b17e"><div class="ttname"><a href="../../d0/d8a/libhomescreen_8cpp.html#a7a2176c3d71fec0f09dcb2aa0866b17e">has_verb</a></div><div class="ttdeci">static bool has_verb(const string &amp;verb)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00705">libhomescreen.cpp:705</a></div></div>
+<div class="ttc" id="libhomescreen_8cpp_html_a3df86185aa9453726556da201d95a6f9"><div class="ttname"><a href="../../d0/d8a/libhomescreen_8cpp.html#a3df86185aa9453726556da201d95a6f9">_on_event_static</a></div><div class="ttdeci">static void _on_event_static(void *closure, const char *event, struct afb_wsj1_msg *msg)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00079">libhomescreen.cpp:79</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_a65bb6c7cfe38f8a724beab5059d36fb2"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a></div><div class="ttdeci">#define HMI_ERROR(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00038">hmi-debug.h:38</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_a0d26d8b8201011dade787236519711c0"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a></div><div class="ttdeci">#define HMI_DEBUG(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00042">hmi-debug.h:42</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_ac336482036a72b51a822725f1929523c"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#ac336482036a72b51a822725f1929523c">LibHomeScreen::onScreenMessage</a></div><div class="ttdeci">int onScreenMessage(const char *display_message)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00242">libhomescreen.cpp:242</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00031">libhomescreen.hpp:31</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a249902aebf71a5383ca8ec6ae558d095"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a249902aebf71a5383ca8ec6ae558d095">LibHomeScreen::~LibHomeScreen</a></div><div class="ttdeci">~LibHomeScreen()</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00100">libhomescreen.cpp:100</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a5593ff5ac78f6495ccb649904cf0ab08"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a5593ff5ac78f6495ccb649904cf0ab08">LibHomeScreen::api_list</a></div><div class="ttdeci">static const std::vector&lt; std::string &gt; api_list</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00063">libhomescreen.hpp:63</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_aac03a45cbd453ba69ddb00c1016930a6"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#aac03a45cbd453ba69ddb00c1016930a6">LibHomeScreen::unsubscribe</a></div><div class="ttdeci">int unsubscribe(const std::string &amp;event_name)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00438">libhomescreen.cpp:438</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_ab1b0e08bf35415de9064afed899e9f85"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#ab1b0e08bf35415de9064afed899e9f85">LibHomeScreen::set_event_handler</a></div><div class="ttdeci">void set_event_handler(enum EventType et, handler_func f)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00295">libhomescreen.cpp:295</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a2789e8a5372202cc36f48e71dbb9b7cf"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a2789e8a5372202cc36f48e71dbb9b7cf">LibHomeScreen::registerCallback</a></div><div class="ttdeci">void registerCallback(void(*event_cb)(const std::string &amp;event, struct json_object *event_contents), void(*reply_cb)(struct json_object *reply_contents), void(*hangup_cb)(void)=nullptr)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00165">libhomescreen.cpp:165</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a93ad567ed597a80a344ba82457c2bd7f"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a93ad567ed597a80a344ba82457c2bd7f">LibHomeScreen::showNotification</a></div><div class="ttdeci">int showNotification(json_object *json)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00562">libhomescreen.cpp:562</a></div></div>
+<div class="ttc" id="libhomescreen_8cpp_html_a7778933bffa862c63fa0a1b8219faa8b"><div class="ttname"><a href="../../d0/d8a/libhomescreen_8cpp.html#a7778933bffa862c63fa0a1b8219faa8b">_on_reply_static</a></div><div class="ttdeci">static void _on_reply_static(void *closure, struct afb_wsj1_msg *msg)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00084">libhomescreen.cpp:84</a></div></div>
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
-</a> 1.8.13
+</a> 1.8.11
 </small></address>
 </body>
 </html>
 </small></address>
 </body>
 </html>
diff --git a/doc/api-ref/html/d2/d66/include_2hmi-debug_8h.html b/doc/api-ref/html/d2/d66/include_2hmi-debug_8h.html
new file mode 100644 (file)
index 0000000..10e01be
--- /dev/null
@@ -0,0 +1,490 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<title>HomeScreenBinding: include/hmi-debug.h File Reference</title>
+<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="../../jquery.js"></script>
+<script type="text/javascript" src="../../dynsections.js"></script>
+<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="../../search/searchdata.js"></script>
+<script type="text/javascript" src="../../search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">HomeScreenBinding
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="../../index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="../../annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="../../files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="../../search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="../../files.html"><span>File&#160;List</span></a></li>
+      <li><a href="../../globals.html"><span>File&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="../../dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#define-members">Macros</a> &#124;
+<a href="#enum-members">Enumerations</a> &#124;
+<a href="#func-members">Functions</a> &#124;
+<a href="#var-members">Variables</a>  </div>
+  <div class="headertitle">
+<div class="title">hmi-debug.h File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &lt;time.h&gt;</code><br />
+<code>#include &lt;stdio.h&gt;</code><br />
+<code>#include &lt;stdarg.h&gt;</code><br />
+<code>#include &lt;string.h&gt;</code><br />
+<code>#include &lt;stdlib.h&gt;</code><br />
+</div>
+<p><a href="../../d2/d66/include_2hmi-debug_8h_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
+Macros</h2></td></tr>
+<tr class="memitem:a5fccb4fc71e44089a1b1a77fc76c0b68"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d66/include_2hmi-debug_8h.html#a5fccb4fc71e44089a1b1a77fc76c0b68">__FILENAME__</a>&#160;&#160;&#160;(strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__)</td></tr>
+<tr class="separator:a5fccb4fc71e44089a1b1a77fc76c0b68"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a65bb6c7cfe38f8a724beab5059d36fb2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a>(prefix,  args, ...)&#160;&#160;&#160;<a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a">_HMI_LOG</a>(<a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f">LOG_LEVEL_ERROR</a>, <a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#a5fccb4fc71e44089a1b1a77fc76c0b68">__FILENAME__</a>, __FUNCTION__, __LINE__, prefix, args, ##__VA_ARGS__)</td></tr>
+<tr class="separator:a65bb6c7cfe38f8a724beab5059d36fb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a25361812432cd2480bc8f1a8e56ecbf7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d66/include_2hmi-debug_8h.html#a25361812432cd2480bc8f1a8e56ecbf7">HMI_WARNING</a>(prefix,  args, ...)&#160;&#160;&#160;<a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a">_HMI_LOG</a>(<a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef">LOG_LEVEL_WARNING</a>, <a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#a5fccb4fc71e44089a1b1a77fc76c0b68">__FILENAME__</a>, __FUNCTION__,__LINE__, prefix, args,##__VA_ARGS__)</td></tr>
+<tr class="separator:a25361812432cd2480bc8f1a8e56ecbf7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc0d6e0760017d8ae48b836925b2ef15"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(prefix,  args, ...)&#160;&#160;&#160;<a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a">_HMI_LOG</a>(<a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e">LOG_LEVEL_NOTICE</a>, <a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#a5fccb4fc71e44089a1b1a77fc76c0b68">__FILENAME__</a>, __FUNCTION__,__LINE__, prefix, args,##__VA_ARGS__)</td></tr>
+<tr class="separator:abc0d6e0760017d8ae48b836925b2ef15"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a11b249a67108f0f4c50a0fc8a3eb4f5c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d66/include_2hmi-debug_8h.html#a11b249a67108f0f4c50a0fc8a3eb4f5c">HMI_INFO</a>(prefix,  args, ...)&#160;&#160;&#160;<a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a">_HMI_LOG</a>(<a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4">LOG_LEVEL_INFO</a>, <a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#a5fccb4fc71e44089a1b1a77fc76c0b68">__FILENAME__</a>, __FUNCTION__,__LINE__, prefix, args,##__VA_ARGS__)</td></tr>
+<tr class="separator:a11b249a67108f0f4c50a0fc8a3eb4f5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0d26d8b8201011dade787236519711c0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d66/include_2hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a>(prefix,  args, ...)&#160;&#160;&#160;<a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a">_HMI_LOG</a>(<a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177">LOG_LEVEL_DEBUG</a>, <a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#a5fccb4fc71e44089a1b1a77fc76c0b68">__FILENAME__</a>, __FUNCTION__,__LINE__, prefix, args,##__VA_ARGS__)</td></tr>
+<tr class="separator:a0d26d8b8201011dade787236519711c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
+Enumerations</h2></td></tr>
+<tr class="memitem:aa5a9053636a30269210c54e734e0d583"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583">LOG_LEVEL</a> { <br />
+&#160;&#160;<a class="el" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848">LOG_LEVEL_NONE</a> = 0, 
+<a class="el" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f">LOG_LEVEL_ERROR</a>, 
+<a class="el" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef">LOG_LEVEL_WARNING</a>, 
+<a class="el" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e">LOG_LEVEL_NOTICE</a>, 
+<br />
+&#160;&#160;<a class="el" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4">LOG_LEVEL_INFO</a>, 
+<a class="el" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177">LOG_LEVEL_DEBUG</a>, 
+<a class="el" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444">LOG_LEVEL_MAX</a> = LOG_LEVEL_DEBUG, 
+<a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848">LOG_LEVEL_NONE</a> = 0, 
+<br />
+&#160;&#160;<a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f">LOG_LEVEL_ERROR</a>, 
+<a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef">LOG_LEVEL_WARNING</a>, 
+<a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e">LOG_LEVEL_NOTICE</a>, 
+<a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4">LOG_LEVEL_INFO</a>, 
+<br />
+&#160;&#160;<a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177">LOG_LEVEL_DEBUG</a>, 
+<a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444">LOG_LEVEL_MAX</a> = LOG_LEVEL_DEBUG
+<br />
+ }</td></tr>
+<tr class="separator:aa5a9053636a30269210c54e734e0d583"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a0846b9d51e2e0612c4825a9a581aa40a"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d66/include_2hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a">_HMI_LOG</a> (enum <a class="el" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583">LOG_LEVEL</a> level, const char *file, const char *func, const int line, const char *prefix, const char *log,...)</td></tr>
+<tr class="separator:a0846b9d51e2e0612c4825a9a581aa40a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:a13d4c7647aad2e84766f8b48a6caab09"><td class="memItemLeft" align="right" valign="top">static char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d66/include_2hmi-debug_8h.html#a13d4c7647aad2e84766f8b48a6caab09">ERROR_FLAG</a> [6][20] = {&quot;NONE&quot;, &quot;ERROR&quot;, &quot;WARNING&quot;, &quot;NOTICE&quot;, &quot;INFO&quot;, &quot;DEBUG&quot;}</td></tr>
+<tr class="separator:a13d4c7647aad2e84766f8b48a6caab09"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Macro Definition Documentation</h2>
+<a class="anchor" id="a5fccb4fc71e44089a1b1a77fc76c0b68"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define __FILENAME__&#160;&#160;&#160;(strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../d2/d66/include_2hmi-debug_8h_source.html#l00036">36</a> of file <a class="el" href="../../d2/d66/include_2hmi-debug_8h_source.html">hmi-debug.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a0d26d8b8201011dade787236519711c0"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define HMI_DEBUG</td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">prefix, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">args, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>...</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td>&#160;&#160;&#160;<a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a">_HMI_LOG</a>(<a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177">LOG_LEVEL_DEBUG</a>, <a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#a5fccb4fc71e44089a1b1a77fc76c0b68">__FILENAME__</a>, __FUNCTION__,__LINE__, prefix, args,##__VA_ARGS__)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../d2/d66/include_2hmi-debug_8h_source.html#l00042">42</a> of file <a class="el" href="../../d2/d66/include_2hmi-debug_8h_source.html">hmi-debug.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a65bb6c7cfe38f8a724beab5059d36fb2"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define HMI_ERROR</td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">prefix, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">args, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>...</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td>&#160;&#160;&#160;<a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a">_HMI_LOG</a>(<a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f">LOG_LEVEL_ERROR</a>, <a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#a5fccb4fc71e44089a1b1a77fc76c0b68">__FILENAME__</a>, __FUNCTION__, __LINE__, prefix, args, ##__VA_ARGS__)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../d2/d66/include_2hmi-debug_8h_source.html#l00038">38</a> of file <a class="el" href="../../d2/d66/include_2hmi-debug_8h_source.html">hmi-debug.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a11b249a67108f0f4c50a0fc8a3eb4f5c"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define HMI_INFO</td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">prefix, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">args, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>...</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td>&#160;&#160;&#160;<a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a">_HMI_LOG</a>(<a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4">LOG_LEVEL_INFO</a>, <a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#a5fccb4fc71e44089a1b1a77fc76c0b68">__FILENAME__</a>, __FUNCTION__,__LINE__, prefix, args,##__VA_ARGS__)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../d2/d66/include_2hmi-debug_8h_source.html#l00041">41</a> of file <a class="el" href="../../d2/d66/include_2hmi-debug_8h_source.html">hmi-debug.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="abc0d6e0760017d8ae48b836925b2ef15"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define HMI_NOTICE</td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">prefix, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">args, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>...</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td>&#160;&#160;&#160;<a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a">_HMI_LOG</a>(<a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e">LOG_LEVEL_NOTICE</a>, <a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#a5fccb4fc71e44089a1b1a77fc76c0b68">__FILENAME__</a>, __FUNCTION__,__LINE__, prefix, args,##__VA_ARGS__)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../d2/d66/include_2hmi-debug_8h_source.html#l00040">40</a> of file <a class="el" href="../../d2/d66/include_2hmi-debug_8h_source.html">hmi-debug.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a25361812432cd2480bc8f1a8e56ecbf7"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define HMI_WARNING</td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">prefix, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">args, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>...</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td>&#160;&#160;&#160;<a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a">_HMI_LOG</a>(<a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef">LOG_LEVEL_WARNING</a>, <a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#a5fccb4fc71e44089a1b1a77fc76c0b68">__FILENAME__</a>, __FUNCTION__,__LINE__, prefix, args,##__VA_ARGS__)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../d2/d66/include_2hmi-debug_8h_source.html#l00039">39</a> of file <a class="el" href="../../d2/d66/include_2hmi-debug_8h_source.html">hmi-debug.h</a>.</p>
+
+</div>
+</div>
+<h2 class="groupheader">Enumeration Type Documentation</h2>
+<a class="anchor" id="aa5a9053636a30269210c54e734e0d583"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583">LOG_LEVEL</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848"></a>LOG_LEVEL_NONE&#160;</td><td class="fielddoc">
+</td></tr>
+<tr><td class="fieldname"><a class="anchor" id="aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f"></a>LOG_LEVEL_ERROR&#160;</td><td class="fielddoc">
+</td></tr>
+<tr><td class="fieldname"><a class="anchor" id="aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef"></a>LOG_LEVEL_WARNING&#160;</td><td class="fielddoc">
+</td></tr>
+<tr><td class="fieldname"><a class="anchor" id="aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e"></a>LOG_LEVEL_NOTICE&#160;</td><td class="fielddoc">
+</td></tr>
+<tr><td class="fieldname"><a class="anchor" id="aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4"></a>LOG_LEVEL_INFO&#160;</td><td class="fielddoc">
+</td></tr>
+<tr><td class="fieldname"><a class="anchor" id="aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177"></a>LOG_LEVEL_DEBUG&#160;</td><td class="fielddoc">
+</td></tr>
+<tr><td class="fieldname"><a class="anchor" id="aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444"></a>LOG_LEVEL_MAX&#160;</td><td class="fielddoc">
+</td></tr>
+<tr><td class="fieldname"><a class="anchor" id="aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848"></a>LOG_LEVEL_NONE&#160;</td><td class="fielddoc">
+</td></tr>
+<tr><td class="fieldname"><a class="anchor" id="aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f"></a>LOG_LEVEL_ERROR&#160;</td><td class="fielddoc">
+</td></tr>
+<tr><td class="fieldname"><a class="anchor" id="aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef"></a>LOG_LEVEL_WARNING&#160;</td><td class="fielddoc">
+</td></tr>
+<tr><td class="fieldname"><a class="anchor" id="aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e"></a>LOG_LEVEL_NOTICE&#160;</td><td class="fielddoc">
+</td></tr>
+<tr><td class="fieldname"><a class="anchor" id="aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4"></a>LOG_LEVEL_INFO&#160;</td><td class="fielddoc">
+</td></tr>
+<tr><td class="fieldname"><a class="anchor" id="aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177"></a>LOG_LEVEL_DEBUG&#160;</td><td class="fielddoc">
+</td></tr>
+<tr><td class="fieldname"><a class="anchor" id="aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444"></a>LOG_LEVEL_MAX&#160;</td><td class="fielddoc">
+</td></tr>
+</table>
+
+<p>Definition at line <a class="el" href="../../d2/d66/include_2hmi-debug_8h_source.html#l00026">26</a> of file <a class="el" href="../../d2/d66/include_2hmi-debug_8h_source.html">hmi-debug.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;              {</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848">LOG_LEVEL_NONE</a> = 0,</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f">LOG_LEVEL_ERROR</a>,</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef">LOG_LEVEL_WARNING</a>,</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e">LOG_LEVEL_NOTICE</a>,</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4">LOG_LEVEL_INFO</a>,</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177">LOG_LEVEL_DEBUG</a>,</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444">LOG_LEVEL_MAX</a> = LOG_LEVEL_DEBUG</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;};</div><div class="ttc" id="include_2hmi-debug_8h_html_aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444">LOG_LEVEL_MAX</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00033">hmi-debug.h:33</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e">LOG_LEVEL_NOTICE</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00030">hmi-debug.h:30</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4">LOG_LEVEL_INFO</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00031">hmi-debug.h:31</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f">LOG_LEVEL_ERROR</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00028">hmi-debug.h:28</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef">LOG_LEVEL_WARNING</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00029">hmi-debug.h:29</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177">LOG_LEVEL_DEBUG</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00032">hmi-debug.h:32</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848">LOG_LEVEL_NONE</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00027">hmi-debug.h:27</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a0846b9d51e2e0612c4825a9a581aa40a"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static void _HMI_LOG </td>
+          <td>(</td>
+          <td class="paramtype">enum <a class="el" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583">LOG_LEVEL</a>&#160;</td>
+          <td class="paramname"><em>level</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>file</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const int&#160;</td>
+          <td class="paramname"><em>line</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>prefix</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>log</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>...</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../d2/d66/include_2hmi-debug_8h_source.html#l00046">46</a> of file <a class="el" href="../../d2/d66/include_2hmi-debug_8h_source.html">hmi-debug.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;{</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">int</span> log_level = (getenv(<span class="stringliteral">&quot;USE_HMI_DEBUG&quot;</span>) == NULL)?<a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f">LOG_LEVEL_ERROR</a>:atoi(getenv(<span class="stringliteral">&quot;USE_HMI_DEBUG&quot;</span>));</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;    <span class="keywordflow">if</span>(log_level &lt; level)</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;    {</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;        <span class="keywordflow">return</span>;</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;    }</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    <span class="keywordtype">char</span> *message;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;    <span class="keyword">struct </span>timespec tp;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> time;</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;    clock_gettime(CLOCK_REALTIME, &amp;tp);</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;    time = (tp.tv_sec * 1000000L) + (tp.tv_nsec / 1000);</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;    va_list args;</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;    va_start(args, log);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;    <span class="keywordflow">if</span> (log == NULL || vasprintf(&amp;message, log, args) &lt; 0)</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;        message = NULL;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;    fprintf(stderr,  <span class="stringliteral">&quot;[%10.3f] [%s %s] [%s, %s(), Line:%d] &gt;&gt;&gt; %s \n&quot;</span>, time / 1000.0, prefix, <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a13d4c7647aad2e84766f8b48a6caab09">ERROR_FLAG</a>[level], file, func, line, message);</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    va_end(args);</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;    free(message);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;}</div><div class="ttc" id="include_2hmi-debug_8h_html_aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f">LOG_LEVEL_ERROR</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00028">hmi-debug.h:28</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_a13d4c7647aad2e84766f8b48a6caab09"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#a13d4c7647aad2e84766f8b48a6caab09">ERROR_FLAG</a></div><div class="ttdeci">static char ERROR_FLAG[6][20]</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00044">hmi-debug.h:44</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<h2 class="groupheader">Variable Documentation</h2>
+<a class="anchor" id="a13d4c7647aad2e84766f8b48a6caab09"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">char ERROR_FLAG[6][20] = {&quot;NONE&quot;, &quot;ERROR&quot;, &quot;WARNING&quot;, &quot;NOTICE&quot;, &quot;INFO&quot;, &quot;DEBUG&quot;}</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../d2/d66/include_2hmi-debug_8h_source.html#l00044">44</a> of file <a class="el" href="../../d2/d66/include_2hmi-debug_8h_source.html">hmi-debug.h</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="../../doxygen.png" alt="doxygen"/>
+</a> 1.8.11
+</small></address>
+</body>
+</html>
diff --git a/doc/api-ref/html/d2/d66/include_2hmi-debug_8h_source.html b/doc/api-ref/html/d2/d66/include_2hmi-debug_8h_source.html
new file mode 100644 (file)
index 0000000..54a369f
--- /dev/null
@@ -0,0 +1,109 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<title>HomeScreenBinding: include/hmi-debug.h Source File</title>
+<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="../../jquery.js"></script>
+<script type="text/javascript" src="../../dynsections.js"></script>
+<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="../../search/searchdata.js"></script>
+<script type="text/javascript" src="../../search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">HomeScreenBinding
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="../../index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="../../annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="../../files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="../../search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="../../files.html"><span>File&#160;List</span></a></li>
+      <li><a href="../../globals.html"><span>File&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="../../dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">hmi-debug.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="../../d2/d66/include_2hmi-debug_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * Copyright (c) 2017 TOYOTA MOTOR CORPORATION</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> * Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * you may not use this file except in compliance with the License.</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * You may obtain a copy of the License at</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *      http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * limitations under the License.</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef __HMI_DEBUG_H__</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define __HMI_DEBUG_H__</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;time.h&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;stdio.h&gt;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;stdarg.h&gt;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;string.h&gt;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;stdlib.h&gt;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno"><a class="line" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583">   26</a></span>&#160;<span class="keyword">enum</span> <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583">LOG_LEVEL</a>{</div><div class="line"><a name="l00027"></a><span class="lineno"><a class="line" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848">   27</a></span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848">LOG_LEVEL_NONE</a> = 0,</div><div class="line"><a name="l00028"></a><span class="lineno"><a class="line" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f">   28</a></span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f">LOG_LEVEL_ERROR</a>,</div><div class="line"><a name="l00029"></a><span class="lineno"><a class="line" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef">   29</a></span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef">LOG_LEVEL_WARNING</a>,</div><div class="line"><a name="l00030"></a><span class="lineno"><a class="line" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e">   30</a></span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e">LOG_LEVEL_NOTICE</a>,</div><div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4">   31</a></span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4">LOG_LEVEL_INFO</a>,</div><div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177">   32</a></span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177">LOG_LEVEL_DEBUG</a>,</div><div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444">   33</a></span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444">LOG_LEVEL_MAX</a> = <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177">LOG_LEVEL_DEBUG</a></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;};</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="../../d2/d66/include_2hmi-debug_8h.html#a5fccb4fc71e44089a1b1a77fc76c0b68">   36</a></span>&#160;<span class="preprocessor">#define __FILENAME__ (strrchr(__FILE__, &#39;/&#39;) ? strrchr(__FILE__, &#39;/&#39;) + 1 : __FILE__)</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="../../d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">   38</a></span>&#160;<span class="preprocessor">#define HMI_ERROR(prefix, args,...) _HMI_LOG(LOG_LEVEL_ERROR, __FILENAME__, __FUNCTION__, __LINE__, prefix, args, ##__VA_ARGS__)</span></div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="../../d2/d66/include_2hmi-debug_8h.html#a25361812432cd2480bc8f1a8e56ecbf7">   39</a></span>&#160;<span class="preprocessor">#define HMI_WARNING(prefix, args,...) _HMI_LOG(LOG_LEVEL_WARNING, __FILENAME__, __FUNCTION__,__LINE__, prefix, args,##__VA_ARGS__)</span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">   40</a></span>&#160;<span class="preprocessor">#define HMI_NOTICE(prefix, args,...) _HMI_LOG(LOG_LEVEL_NOTICE, __FILENAME__, __FUNCTION__,__LINE__, prefix, args,##__VA_ARGS__)</span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="../../d2/d66/include_2hmi-debug_8h.html#a11b249a67108f0f4c50a0fc8a3eb4f5c">   41</a></span>&#160;<span class="preprocessor">#define HMI_INFO(prefix, args,...)  _HMI_LOG(LOG_LEVEL_INFO, __FILENAME__, __FUNCTION__,__LINE__, prefix, args,##__VA_ARGS__)</span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="../../d2/d66/include_2hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">   42</a></span>&#160;<span class="preprocessor">#define HMI_DEBUG(prefix, args,...) _HMI_LOG(LOG_LEVEL_DEBUG, __FILENAME__, __FUNCTION__,__LINE__, prefix, args,##__VA_ARGS__)</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="../../d2/d66/include_2hmi-debug_8h.html#a13d4c7647aad2e84766f8b48a6caab09">   44</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">char</span> <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a13d4c7647aad2e84766f8b48a6caab09">ERROR_FLAG</a>[6][20] = {<span class="stringliteral">&quot;NONE&quot;</span>, <span class="stringliteral">&quot;ERROR&quot;</span>, <span class="stringliteral">&quot;WARNING&quot;</span>, <span class="stringliteral">&quot;NOTICE&quot;</span>, <span class="stringliteral">&quot;INFO&quot;</span>, <span class="stringliteral">&quot;DEBUG&quot;</span>};</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="../../d2/d66/include_2hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a">   46</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a">_HMI_LOG</a>(<span class="keyword">enum</span> <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583">LOG_LEVEL</a> level, <span class="keyword">const</span> <span class="keywordtype">char</span>* file, <span class="keyword">const</span> <span class="keywordtype">char</span>* func, <span class="keyword">const</span> <span class="keywordtype">int</span> line, <span class="keyword">const</span> <span class="keywordtype">char</span>* prefix, <span class="keyword">const</span> <span class="keywordtype">char</span>* log, ...)</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;{</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">int</span> log_level = (getenv(<span class="stringliteral">&quot;USE_HMI_DEBUG&quot;</span>) == NULL)?<a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f">LOG_LEVEL_ERROR</a>:atoi(getenv(<span class="stringliteral">&quot;USE_HMI_DEBUG&quot;</span>));</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;    <span class="keywordflow">if</span>(log_level &lt; level)</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;    {</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;        <span class="keywordflow">return</span>;</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;    }</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    <span class="keywordtype">char</span> *message;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;    <span class="keyword">struct </span>timespec tp;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> time;</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;    clock_gettime(CLOCK_REALTIME, &amp;tp);</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;    time = (tp.tv_sec * 1000000L) + (tp.tv_nsec / 1000);</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;    va_list args;</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;    va_start(args, log);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;    <span class="keywordflow">if</span> (log == NULL || vasprintf(&amp;message, log, args) &lt; 0)</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;        message = NULL;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;    fprintf(stderr,  <span class="stringliteral">&quot;[%10.3f] [%s %s] [%s, %s(), Line:%d] &gt;&gt;&gt; %s \n&quot;</span>, time / 1000.0, prefix, <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a13d4c7647aad2e84766f8b48a6caab09">ERROR_FLAG</a>[level], file, func, line, message);</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    va_end(args);</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;    free(message);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;}</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="preprocessor">#endif  //__HMI_DEBUG_H__</span></div><div class="ttc" id="include_2hmi-debug_8h_html_aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444">LOG_LEVEL_MAX</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00033">hmi-debug.h:33</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_aa5a9053636a30269210c54e734e0d583"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583">LOG_LEVEL</a></div><div class="ttdeci">LOG_LEVEL</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00026">hmi-debug.h:26</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_a0846b9d51e2e0612c4825a9a581aa40a"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a">_HMI_LOG</a></div><div class="ttdeci">static void _HMI_LOG(enum LOG_LEVEL level, const char *file, const char *func, const int line, const char *prefix, const char *log,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00046">hmi-debug.h:46</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e">LOG_LEVEL_NOTICE</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00030">hmi-debug.h:30</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4">LOG_LEVEL_INFO</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00031">hmi-debug.h:31</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f">LOG_LEVEL_ERROR</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00028">hmi-debug.h:28</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef">LOG_LEVEL_WARNING</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00029">hmi-debug.h:29</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177">LOG_LEVEL_DEBUG</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00032">hmi-debug.h:32</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_a13d4c7647aad2e84766f8b48a6caab09"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#a13d4c7647aad2e84766f8b48a6caab09">ERROR_FLAG</a></div><div class="ttdeci">static char ERROR_FLAG[6][20]</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00044">hmi-debug.h:44</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848">LOG_LEVEL_NONE</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00027">hmi-debug.h:27</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="../../doxygen.png" alt="doxygen"/>
+</a> 1.8.11
+</small></address>
+</body>
+</html>
diff --git a/doc/api-ref/html/d2/d8e/class_h_s___client_manager.html b/doc/api-ref/html/d2/d8e/class_h_s___client_manager.html
new file mode 100644 (file)
index 0000000..da86b35
--- /dev/null
@@ -0,0 +1,670 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<title>HomeScreenBinding: HS_ClientManager Class Reference</title>
+<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="../../jquery.js"></script>
+<script type="text/javascript" src="../../dynsections.js"></script>
+<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="../../search/searchdata.js"></script>
+<script type="text/javascript" src="../../search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">HomeScreenBinding
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="../../index.html"><span>Main&#160;Page</span></a></li>
+      <li class="current"><a href="../../annotated.html"><span>Classes</span></a></li>
+      <li><a href="../../files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="../../search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="../../annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="../../functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="../../dd/dc9/class_h_s___client_manager-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">HS_ClientManager Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><code>#include &lt;<a class="el" href="../../de/dca/hs-clientmanager_8h_source.html">hs-clientmanager.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:adac35e476e559cc89bc39363525268bf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html#adac35e476e559cc89bc39363525268bf">HS_ClientManager</a> ()</td></tr>
+<tr class="separator:adac35e476e559cc89bc39363525268bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50733274a93293fef892fdd453d74cae"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html#a50733274a93293fef892fdd453d74cae">~HS_ClientManager</a> ()=default</td></tr>
+<tr class="separator:a50733274a93293fef892fdd453d74cae"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0033db6b552f9de818789e76735c1ebc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html#a0033db6b552f9de818789e76735c1ebc">HS_ClientManager</a> (<a class="el" href="../../d2/d8e/class_h_s___client_manager.html">HS_ClientManager</a> const &amp;)=delete</td></tr>
+<tr class="separator:a0033db6b552f9de818789e76735c1ebc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac8e02cffc79d4530b06e1143abb18891"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html">HS_ClientManager</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html#ac8e02cffc79d4530b06e1143abb18891">operator=</a> (<a class="el" href="../../d2/d8e/class_h_s___client_manager.html">HS_ClientManager</a> const &amp;)=delete</td></tr>
+<tr class="separator:ac8e02cffc79d4530b06e1143abb18891"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a715811c549cccd93cb1f903d179c8b41"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html#a715811c549cccd93cb1f903d179c8b41">HS_ClientManager</a> (<a class="el" href="../../d2/d8e/class_h_s___client_manager.html">HS_ClientManager</a> &amp;&amp;)=delete</td></tr>
+<tr class="separator:a715811c549cccd93cb1f903d179c8b41"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a49e225bb8421c812ac016309d54a00fa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html">HS_ClientManager</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html#a49e225bb8421c812ac016309d54a00fa">operator=</a> (<a class="el" href="../../d2/d8e/class_h_s___client_manager.html">HS_ClientManager</a> &amp;&amp;)=delete</td></tr>
+<tr class="separator:a49e225bb8421c812ac016309d54a00fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae0b9b18adeffca7822b060ad4ea8a7a1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html#ae0b9b18adeffca7822b060ad4ea8a7a1">init</a> (void)</td></tr>
+<tr class="separator:ae0b9b18adeffca7822b060ad4ea8a7a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adc23f8b3f5cc06eeab39fb24098af3e2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html#adc23f8b3f5cc06eeab39fb24098af3e2">removeClientCtxt</a> (void *data)</td></tr>
+<tr class="separator:adc23f8b3f5cc06eeab39fb24098af3e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9910fc27c412530b5b9854b00bd16c07"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html#a9910fc27c412530b5b9854b00bd16c07">tap_shortcut</a> (afb_req_t request)</td></tr>
+<tr class="separator:a9910fc27c412530b5b9854b00bd16c07"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afed8158f276d1d22c32b0d89e970d442"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html#afed8158f276d1d22c32b0d89e970d442">showWindow</a> (afb_req_t request)</td></tr>
+<tr class="separator:afed8158f276d1d22c32b0d89e970d442"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6195694d281a3b97b0345b96c0add1fd"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html#a6195694d281a3b97b0345b96c0add1fd">hideWindow</a> (afb_req_t request)</td></tr>
+<tr class="separator:a6195694d281a3b97b0345b96c0add1fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a59b1c1e115b5a257a585c41f854f5fdd"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html#a59b1c1e115b5a257a585c41f854f5fdd">replyShowWindow</a> (afb_req_t request)</td></tr>
+<tr class="separator:a59b1c1e115b5a257a585c41f854f5fdd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a58ce4a013d3694265dd69f481bf88510"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html#a58ce4a013d3694265dd69f481bf88510">on_screen_message</a> (afb_req_t request)</td></tr>
+<tr class="separator:a58ce4a013d3694265dd69f481bf88510"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa78f992287e3b8fe93422b331dc9edc5"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html#aa78f992287e3b8fe93422b331dc9edc5">on_screen_reply</a> (afb_req_t request)</td></tr>
+<tr class="separator:aa78f992287e3b8fe93422b331dc9edc5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1b8a4e42342c4bcdc4e7dc4934e02469"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html#a1b8a4e42342c4bcdc4e7dc4934e02469">subscribe</a> (afb_req_t request)</td></tr>
+<tr class="separator:a1b8a4e42342c4bcdc4e7dc4934e02469"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac86314afbb90116e2f02ce071166226e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html#ac86314afbb90116e2f02ce071166226e">unsubscribe</a> (afb_req_t request)</td></tr>
+<tr class="separator:ac86314afbb90116e2f02ce071166226e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a857934af280081ca6ac61d9f2cac37c5"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html#a857934af280081ca6ac61d9f2cac37c5">showNotification</a> (afb_req_t request)</td></tr>
+<tr class="separator:a857934af280081ca6ac61d9f2cac37c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0645294f89c67fd3c9b0cce62a900f69"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html#a0645294f89c67fd3c9b0cce62a900f69">showInformation</a> (afb_req_t request)</td></tr>
+<tr class="separator:a0645294f89c67fd3c9b0cce62a900f69"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:ad86c1fea7d107d52cbf0466fb7a2658b"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="../../d2/d8e/class_h_s___client_manager.html">HS_ClientManager</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html#ad86c1fea7d107d52cbf0466fb7a2658b">instance</a> (void)</td></tr>
+<tr class="separator:ad86c1fea7d107d52cbf0466fb7a2658b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock">
+<p>Definition at line <a class="el" href="../../de/dca/hs-clientmanager_8h_source.html#l00037">37</a> of file <a class="el" href="../../de/dca/hs-clientmanager_8h_source.html">hs-clientmanager.h</a>.</p>
+</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="adac35e476e559cc89bc39363525268bf"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">HS_ClientManager::HS_ClientManager </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p><a class="el" href="../../d2/d8e/class_h_s___client_manager.html">HS_ClientManager</a> construction function</p>
+<h4>Parameters</h4>
+<ul>
+<li>Nothing</li>
+</ul>
+<h4>Return</h4>
+<p>None </p>
+
+<p>Definition at line <a class="el" href="../../dd/d30/hs-clientmanager_8cpp_source.html#l00039">39</a> of file <a class="el" href="../../dd/d30/hs-clientmanager_8cpp_source.html">hs-clientmanager.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;{</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;}</div></div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a50733274a93293fef892fdd453d74cae"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">HS_ClientManager::~HS_ClientManager </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">default</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a0033db6b552f9de818789e76735c1ebc"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">HS_ClientManager::HS_ClientManager </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html">HS_ClientManager</a> const &amp;&#160;</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">delete</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a715811c549cccd93cb1f903d179c8b41"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">HS_ClientManager::HS_ClientManager </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html">HS_ClientManager</a> &amp;&amp;&#160;</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">delete</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a6195694d281a3b97b0345b96c0add1fd"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int HS_ClientManager::hideWindow </td>
+          <td>(</td>
+          <td class="paramtype">afb_req_t&#160;</td>
+          <td class="paramname"><em>request</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>hideWindow event</p>
+<h4>Parameters</h4>
+<ul>
+<li>request : the request</li>
+</ul>
+<h4>Return</h4>
+<p>0 : success others : fail </p>
+
+<p>Definition at line <a class="el" href="../../dd/d30/hs-clientmanager_8cpp_source.html#l00356">356</a> of file <a class="el" href="../../dd/d30/hs-clientmanager_8cpp_source.html">hs-clientmanager.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;{</div><div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;    <span class="keywordtype">int</span> ret = 0;</div><div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* value = afb_req_value(request, <a class="code" href="../../d6/dda/homescreen_8cpp.html#a6a0e1db2562b442f8131ddf64b61d1ba">_application_id</a>);</div><div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;    <span class="keywordflow">if</span> (value) {</div><div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;request params = %s.&quot;</span>, value);</div><div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;        std::lock_guard&lt;std::mutex&gt; lock(this-&gt;mtx);</div><div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;        <span class="keyword">auto</span> ip = client_list.find(std::string(value));</div><div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;        <span class="keywordflow">if</span>(ip != client_list.end()) {</div><div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;            ret = ip-&gt;second-&gt;hideWindow(request);</div><div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;        }</div><div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;    }</div><div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;    <span class="keywordflow">else</span> {</div><div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;Please input application_id&quot;</span>);</div><div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;        ret = <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa611e2ec24ef295bd87825889fe2ce5e">AFB_EVENT_BAD_REQUEST</a>;</div><div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;    }</div><div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;}</div><div class="ttc" id="include_2hmi-debug_8h_html_abc0d6e0760017d8ae48b836925b2ef15"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a></div><div class="ttdeci">#define HMI_NOTICE(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00040">hmi-debug.h:40</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_a6a0e1db2562b442f8131ddf64b61d1ba"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#a6a0e1db2562b442f8131ddf64b61d1ba">_application_id</a></div><div class="ttdeci">const char _application_id[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00028">homescreen.cpp:28</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_aa611e2ec24ef295bd87825889fe2ce5e"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa611e2ec24ef295bd87825889fe2ce5e">AFB_EVENT_BAD_REQUEST</a></div><div class="ttdeci">#define AFB_EVENT_BAD_REQUEST</div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00023">hs-helper.h:23</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="ae0b9b18adeffca7822b060ad4ea8a7a1"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int HS_ClientManager::init </td>
+          <td>(</td>
+          <td class="paramtype">void&#160;</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p><a class="el" href="../../d2/d8e/class_h_s___client_manager.html">HS_ClientManager</a> init function</p>
+<h4>Parameters</h4>
+<ul>
+<li>Nothing</li>
+</ul>
+<h4>Return</h4>
+<p>init result </p>
+
+<p>Definition at line <a class="el" href="../../dd/d30/hs-clientmanager_8cpp_source.html#l00071">71</a> of file <a class="el" href="../../dd/d30/hs-clientmanager_8cpp_source.html">hs-clientmanager.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;{</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;called.&quot;</span>);</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;}</div><div class="ttc" id="include_2hmi-debug_8h_html_abc0d6e0760017d8ae48b836925b2ef15"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a></div><div class="ttdeci">#define HMI_NOTICE(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00040">hmi-debug.h:40</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="ad86c1fea7d107d52cbf0466fb7a2658b"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html">HS_ClientManager</a> * HS_ClientManager::instance </td>
+          <td>(</td>
+          <td class="paramtype">void&#160;</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>get instance</p>
+<h4>Parameters</h4>
+<ul>
+<li>Nothing</li>
+</ul>
+<h4>Return</h4>
+<p><a class="el" href="../../d2/d8e/class_h_s___client_manager.html">HS_ClientManager</a> instance pointer </p>
+
+<p>Definition at line <a class="el" href="../../dd/d30/hs-clientmanager_8cpp_source.html#l00053">53</a> of file <a class="el" href="../../dd/d30/hs-clientmanager_8cpp_source.html">hs-clientmanager.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;{</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;    <span class="keywordflow">if</span>(me == <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;        me = <span class="keyword">new</span> <a class="code" href="../../d2/d8e/class_h_s___client_manager.html#adac35e476e559cc89bc39363525268bf">HS_ClientManager</a>();</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;    <span class="keywordflow">return</span> me;</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;}</div><div class="ttc" id="class_h_s___client_manager_html_adac35e476e559cc89bc39363525268bf"><div class="ttname"><a href="../../d2/d8e/class_h_s___client_manager.html#adac35e476e559cc89bc39363525268bf">HS_ClientManager::HS_ClientManager</a></div><div class="ttdeci">HS_ClientManager()</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d30/hs-clientmanager_8cpp_source.html#l00039">hs-clientmanager.cpp:39</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a58ce4a013d3694265dd69f481bf88510"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int HS_ClientManager::on_screen_message </td>
+          <td>(</td>
+          <td class="paramtype">afb_req_t&#160;</td>
+          <td class="paramname"><em>request</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>on_screen_message</p>
+<h4>Parameters</h4>
+<ul>
+<li>request: the request to bindings</li>
+</ul>
+<h4>Return</h4>
+<p>result </p>
+
+<p>Definition at line <a class="el" href="../../dd/d30/hs-clientmanager_8cpp_source.html#l00195">195</a> of file <a class="el" href="../../dd/d30/hs-clientmanager_8cpp_source.html">hs-clientmanager.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;{</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;    <span class="keywordtype">int</span> ret = 0;</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* value = afb_req_value(request, <a class="code" href="../../d6/dda/homescreen_8cpp.html#abfd6c1d6f316fa952b11553f8f275e92">_display_message</a>);</div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;    <span class="keywordflow">if</span> (value) {</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;request params = %s.&quot;</span>, value);</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;        std::lock_guard&lt;std::mutex&gt; lock(this-&gt;mtx);</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;        <span class="keywordflow">for</span>(<span class="keyword">auto</span> m : client_list) {</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;            m.second-&gt;on_screen_message(request, value);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;        }</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;    }</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;    <span class="keywordflow">else</span> {</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;Please input display_message&quot;</span>);</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;        ret = <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa611e2ec24ef295bd87825889fe2ce5e">AFB_EVENT_BAD_REQUEST</a>;</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;    }</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;}</div><div class="ttc" id="include_2hmi-debug_8h_html_abc0d6e0760017d8ae48b836925b2ef15"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a></div><div class="ttdeci">#define HMI_NOTICE(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00040">hmi-debug.h:40</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_abfd6c1d6f316fa952b11553f8f275e92"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#abfd6c1d6f316fa952b11553f8f275e92">_display_message</a></div><div class="ttdeci">const char _display_message[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00029">homescreen.cpp:29</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_aa611e2ec24ef295bd87825889fe2ce5e"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa611e2ec24ef295bd87825889fe2ce5e">AFB_EVENT_BAD_REQUEST</a></div><div class="ttdeci">#define AFB_EVENT_BAD_REQUEST</div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00023">hs-helper.h:23</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="aa78f992287e3b8fe93422b331dc9edc5"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int HS_ClientManager::on_screen_reply </td>
+          <td>(</td>
+          <td class="paramtype">afb_req_t&#160;</td>
+          <td class="paramname"><em>request</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>on_screen_reply</p>
+<h4>Parameters</h4>
+<ul>
+<li>request: the request to bindings</li>
+</ul>
+<h4>Return</h4>
+<p>result </p>
+
+<p>Definition at line <a class="el" href="../../dd/d30/hs-clientmanager_8cpp_source.html#l00223">223</a> of file <a class="el" href="../../dd/d30/hs-clientmanager_8cpp_source.html">hs-clientmanager.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;{</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;    <span class="keywordtype">int</span> ret = 0;</div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* value = afb_req_value(request, <a class="code" href="../../d6/dda/homescreen_8cpp.html#a79b0f0b481161527ccb80e83da143219">_reply_message</a>);</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;    <span class="keywordflow">if</span> (value) {</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;      <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;request params = %s.&quot;</span>, value);</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;      std::lock_guard&lt;std::mutex&gt; lock(this-&gt;mtx);</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;      <span class="keywordflow">for</span>(<span class="keyword">auto</span> m : client_list) {</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;        m.second-&gt;on_screen_reply(request, value);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;      }</div><div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;    }</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;    <span class="keywordflow">else</span> {</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;Please input reply_message&quot;</span>);</div><div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;        ret = <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa611e2ec24ef295bd87825889fe2ce5e">AFB_EVENT_BAD_REQUEST</a>;</div><div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;    }</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;}</div><div class="ttc" id="homescreen_8cpp_html_a79b0f0b481161527ccb80e83da143219"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#a79b0f0b481161527ccb80e83da143219">_reply_message</a></div><div class="ttdeci">const char _reply_message[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00030">homescreen.cpp:30</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_abc0d6e0760017d8ae48b836925b2ef15"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a></div><div class="ttdeci">#define HMI_NOTICE(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00040">hmi-debug.h:40</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_aa611e2ec24ef295bd87825889fe2ce5e"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa611e2ec24ef295bd87825889fe2ce5e">AFB_EVENT_BAD_REQUEST</a></div><div class="ttdeci">#define AFB_EVENT_BAD_REQUEST</div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00023">hs-helper.h:23</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="ac8e02cffc79d4530b06e1143abb18891"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html">HS_ClientManager</a>&amp; HS_ClientManager::operator= </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html">HS_ClientManager</a> const &amp;&#160;</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">delete</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a49e225bb8421c812ac016309d54a00fa"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html">HS_ClientManager</a>&amp; HS_ClientManager::operator= </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html">HS_ClientManager</a> &amp;&amp;&#160;</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">delete</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="adc23f8b3f5cc06eeab39fb24098af3e2"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void HS_ClientManager::removeClientCtxt </td>
+          <td>(</td>
+          <td class="paramtype">void *&#160;</td>
+          <td class="paramname"><em>data</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>remove Client from list</p>
+<h4>Parameters</h4>
+<ul>
+<li>data: <a class="el" href="../../d0/d53/struct_h_s___client_ctxt.html">HS_ClientCtxt</a> pointer</li>
+</ul>
+<h4>Return</h4>
+<p>None </p>
+
+<p>Definition at line <a class="el" href="../../dd/d30/hs-clientmanager_8cpp_source.html#l00140">140</a> of file <a class="el" href="../../dd/d30/hs-clientmanager_8cpp_source.html">hs-clientmanager.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;{</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;    <a class="code" href="../../d0/d53/struct_h_s___client_ctxt.html">HS_ClientCtxt</a> *ctxt = (<a class="code" href="../../d0/d53/struct_h_s___client_ctxt.html">HS_ClientCtxt</a> *)data;</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;    <span class="keywordflow">if</span>(ctxt == <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;    {</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>, <span class="stringliteral">&quot;data is nullptr&quot;</span>);</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;        <span class="keywordflow">return</span>;</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;    }</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>, <span class="stringliteral">&quot;remove app %s&quot;</span>, ctxt-&gt;<a class="code" href="../../d0/d53/struct_h_s___client_ctxt.html#a04929d7d5f583a821d3d594815f77d1c">id</a>.c_str());</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;    std::lock_guard&lt;std::mutex&gt; lock(this-&gt;mtx);</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;    removeClient(ctxt-&gt;<a class="code" href="../../d0/d53/struct_h_s___client_ctxt.html#a04929d7d5f583a821d3d594815f77d1c">id</a>);</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;    <span class="keyword">delete</span> appid2ctxt[ctxt-&gt;<a class="code" href="../../d0/d53/struct_h_s___client_ctxt.html#a04929d7d5f583a821d3d594815f77d1c">id</a>];</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;    appid2ctxt.erase(ctxt-&gt;<a class="code" href="../../d0/d53/struct_h_s___client_ctxt.html#a04929d7d5f583a821d3d594815f77d1c">id</a>);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;}</div><div class="ttc" id="struct_h_s___client_ctxt_html"><div class="ttname"><a href="../../d0/d53/struct_h_s___client_ctxt.html">HS_ClientCtxt</a></div><div class="ttdef"><b>Definition:</b> <a href="../../de/dca/hs-clientmanager_8h_source.html#l00027">hs-clientmanager.h:27</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_abc0d6e0760017d8ae48b836925b2ef15"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a></div><div class="ttdeci">#define HMI_NOTICE(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00040">hmi-debug.h:40</a></div></div>
+<div class="ttc" id="struct_h_s___client_ctxt_html_a04929d7d5f583a821d3d594815f77d1c"><div class="ttname"><a href="../../d0/d53/struct_h_s___client_ctxt.html#a04929d7d5f583a821d3d594815f77d1c">HS_ClientCtxt::id</a></div><div class="ttdeci">std::string id</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dca/hs-clientmanager_8h_source.html#l00029">hs-clientmanager.h:29</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_a65bb6c7cfe38f8a724beab5059d36fb2"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a></div><div class="ttdeci">#define HMI_ERROR(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00038">hmi-debug.h:38</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a59b1c1e115b5a257a585c41f854f5fdd"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int HS_ClientManager::replyShowWindow </td>
+          <td>(</td>
+          <td class="paramtype">afb_req_t&#160;</td>
+          <td class="paramname"><em>request</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>replyShowWindow event</p>
+<h4>Parameters</h4>
+<ul>
+<li>request : the request</li>
+</ul>
+<h4>Return</h4>
+<p>0 : success others : fail </p>
+
+<p>Definition at line <a class="el" href="../../dd/d30/hs-clientmanager_8cpp_source.html#l00386">386</a> of file <a class="el" href="../../dd/d30/hs-clientmanager_8cpp_source.html">hs-clientmanager.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;{</div><div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;    <span class="keywordtype">int</span> ret = 0;</div><div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* value = afb_req_value(request, <a class="code" href="../../d6/dda/homescreen_8cpp.html#a6a0e1db2562b442f8131ddf64b61d1ba">_application_id</a>);</div><div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;    <span class="keywordflow">if</span> (value) {</div><div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;request params = %s.&quot;</span>, value);</div><div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;        std::lock_guard&lt;std::mutex&gt; lock(this-&gt;mtx);</div><div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;        <span class="keyword">auto</span> ip = client_list.find(std::string(value));</div><div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;        <span class="keywordflow">if</span>(ip != client_list.end()) {</div><div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;            ret = ip-&gt;second-&gt;replyShowWindow(request, value);</div><div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;        }</div><div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;    }</div><div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;    <span class="keywordflow">else</span> {</div><div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;Please input application_id&quot;</span>);</div><div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;        ret = <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa611e2ec24ef295bd87825889fe2ce5e">AFB_EVENT_BAD_REQUEST</a>;</div><div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;    }</div><div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;}</div><div class="ttc" id="include_2hmi-debug_8h_html_abc0d6e0760017d8ae48b836925b2ef15"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a></div><div class="ttdeci">#define HMI_NOTICE(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00040">hmi-debug.h:40</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_a6a0e1db2562b442f8131ddf64b61d1ba"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#a6a0e1db2562b442f8131ddf64b61d1ba">_application_id</a></div><div class="ttdeci">const char _application_id[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00028">homescreen.cpp:28</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_aa611e2ec24ef295bd87825889fe2ce5e"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa611e2ec24ef295bd87825889fe2ce5e">AFB_EVENT_BAD_REQUEST</a></div><div class="ttdeci">#define AFB_EVENT_BAD_REQUEST</div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00023">hs-helper.h:23</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a0645294f89c67fd3c9b0cce62a900f69"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int HS_ClientManager::showInformation </td>
+          <td>(</td>
+          <td class="paramtype">afb_req_t&#160;</td>
+          <td class="paramname"><em>request</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>showInformation event</p>
+<h4>Parameters</h4>
+<ul>
+<li>request : the request</li>
+</ul>
+<h4>Return</h4>
+<p>0 : success others : fail </p>
+
+<p>Definition at line <a class="el" href="../../dd/d30/hs-clientmanager_8cpp_source.html#l00443">443</a> of file <a class="el" href="../../dd/d30/hs-clientmanager_8cpp_source.html">hs-clientmanager.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;{</div><div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;    <span class="keywordtype">int</span> ret = 0;</div><div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;    std::lock_guard&lt;std::mutex&gt; lock(this-&gt;mtx);</div><div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;    <span class="keyword">auto</span> ip = client_list.find(<a class="code" href="../../dd/d30/hs-clientmanager_8cpp.html#a8bbab9002543614eacdc7a319d13a476">_homescreen</a>);</div><div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;    <span class="keywordflow">if</span>(ip != client_list.end()) {</div><div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;        ret = ip-&gt;second-&gt;showInformation(request);</div><div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;    }</div><div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;    <span class="keywordflow">else</span> {</div><div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;not exist sessiion with homescreen&quot;</span>);</div><div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;        ret = <a class="code" href="../../d3/d3d/hs-helper_8h.html#aefe0d7ff8202f954693c235c1fb8e310">AFB_REQ_SHOWINFORMATION_ERROR</a>;</div><div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;    }</div><div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;</div><div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;}</div><div class="ttc" id="include_2hmi-debug_8h_html_abc0d6e0760017d8ae48b836925b2ef15"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a></div><div class="ttdeci">#define HMI_NOTICE(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00040">hmi-debug.h:40</a></div></div>
+<div class="ttc" id="hs-clientmanager_8cpp_html_a8bbab9002543614eacdc7a319d13a476"><div class="ttname"><a href="../../dd/d30/hs-clientmanager_8cpp.html#a8bbab9002543614eacdc7a319d13a476">_homescreen</a></div><div class="ttdeci">static const char _homescreen[]</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d30/hs-clientmanager_8cpp_source.html#l00020">hs-clientmanager.cpp:20</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_aefe0d7ff8202f954693c235c1fb8e310"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aefe0d7ff8202f954693c235c1fb8e310">AFB_REQ_SHOWINFORMATION_ERROR</a></div><div class="ttdeci">#define AFB_REQ_SHOWINFORMATION_ERROR</div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00027">hs-helper.h:27</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a857934af280081ca6ac61d9f2cac37c5"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int HS_ClientManager::showNotification </td>
+          <td>(</td>
+          <td class="paramtype">afb_req_t&#160;</td>
+          <td class="paramname"><em>request</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>showNotification event</p>
+<h4>Parameters</h4>
+<ul>
+<li>request : the request</li>
+</ul>
+<h4>Return</h4>
+<p>0 : success others : fail </p>
+
+<p>Definition at line <a class="el" href="../../dd/d30/hs-clientmanager_8cpp_source.html#l00416">416</a> of file <a class="el" href="../../dd/d30/hs-clientmanager_8cpp_source.html">hs-clientmanager.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;{</div><div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;    <span class="keywordtype">int</span> ret = 0;</div><div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;    std::lock_guard&lt;std::mutex&gt; lock(this-&gt;mtx);</div><div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;    <span class="keyword">auto</span> ip = client_list.find(<a class="code" href="../../dd/d30/hs-clientmanager_8cpp.html#a8bbab9002543614eacdc7a319d13a476">_homescreen</a>);</div><div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;    <span class="keywordflow">if</span>(ip != client_list.end()) {</div><div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;        ret = ip-&gt;second-&gt;showNotification(request);</div><div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;    }</div><div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;    <span class="keywordflow">else</span> {</div><div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;not exist sessiion with homescreen&quot;</span>);</div><div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;        ret = <a class="code" href="../../d3/d3d/hs-helper_8h.html#a057fc88b8445828c261305cf9107d99d">AFB_REQ_SHOWNOTIFICATION_ERROR</a>;</div><div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;    }</div><div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;</div><div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;}</div><div class="ttc" id="hs-helper_8h_html_a057fc88b8445828c261305cf9107d99d"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#a057fc88b8445828c261305cf9107d99d">AFB_REQ_SHOWNOTIFICATION_ERROR</a></div><div class="ttdeci">#define AFB_REQ_SHOWNOTIFICATION_ERROR</div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00026">hs-helper.h:26</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_abc0d6e0760017d8ae48b836925b2ef15"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a></div><div class="ttdeci">#define HMI_NOTICE(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00040">hmi-debug.h:40</a></div></div>
+<div class="ttc" id="hs-clientmanager_8cpp_html_a8bbab9002543614eacdc7a319d13a476"><div class="ttname"><a href="../../dd/d30/hs-clientmanager_8cpp.html#a8bbab9002543614eacdc7a319d13a476">_homescreen</a></div><div class="ttdeci">static const char _homescreen[]</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d30/hs-clientmanager_8cpp_source.html#l00020">hs-clientmanager.cpp:20</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="afed8158f276d1d22c32b0d89e970d442"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int HS_ClientManager::showWindow </td>
+          <td>(</td>
+          <td class="paramtype">afb_req_t&#160;</td>
+          <td class="paramname"><em>request</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>showWindow event</p>
+<h4>Parameters</h4>
+<ul>
+<li>request : the request</li>
+</ul>
+<h4>Return</h4>
+<p>0 : success others : fail </p>
+
+<p>Definition at line <a class="el" href="../../dd/d30/hs-clientmanager_8cpp_source.html#l00326">326</a> of file <a class="el" href="../../dd/d30/hs-clientmanager_8cpp_source.html">hs-clientmanager.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;{</div><div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;    <span class="keywordtype">int</span> ret = 0;</div><div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* value = afb_req_value(request, <a class="code" href="../../d6/dda/homescreen_8cpp.html#a6a0e1db2562b442f8131ddf64b61d1ba">_application_id</a>);</div><div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;    <span class="keywordflow">if</span> (value) {</div><div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;request params = %s.&quot;</span>, value);</div><div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;        std::lock_guard&lt;std::mutex&gt; lock(this-&gt;mtx);</div><div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;        <span class="keyword">auto</span> ip = client_list.find(std::string(value));</div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;        <span class="keywordflow">if</span>(ip != client_list.end()) {</div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;            ret = ip-&gt;second-&gt;showWindow(request, value);</div><div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;        }</div><div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;    }</div><div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;    <span class="keywordflow">else</span> {</div><div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;Please input application_id&quot;</span>);</div><div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;        ret = <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa611e2ec24ef295bd87825889fe2ce5e">AFB_EVENT_BAD_REQUEST</a>;</div><div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;    }</div><div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;}</div><div class="ttc" id="include_2hmi-debug_8h_html_abc0d6e0760017d8ae48b836925b2ef15"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a></div><div class="ttdeci">#define HMI_NOTICE(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00040">hmi-debug.h:40</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_a6a0e1db2562b442f8131ddf64b61d1ba"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#a6a0e1db2562b442f8131ddf64b61d1ba">_application_id</a></div><div class="ttdeci">const char _application_id[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00028">homescreen.cpp:28</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_aa611e2ec24ef295bd87825889fe2ce5e"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa611e2ec24ef295bd87825889fe2ce5e">AFB_EVENT_BAD_REQUEST</a></div><div class="ttdeci">#define AFB_EVENT_BAD_REQUEST</div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00023">hs-helper.h:23</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a1b8a4e42342c4bcdc4e7dc4934e02469"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int HS_ClientManager::subscribe </td>
+          <td>(</td>
+          <td class="paramtype">afb_req_t&#160;</td>
+          <td class="paramname"><em>request</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>subscribe</p>
+<h4>Parameters</h4>
+<ul>
+<li>request: the request to bindings</li>
+</ul>
+<h4>Return</h4>
+<p>result </p>
+
+<p>Definition at line <a class="el" href="../../dd/d30/hs-clientmanager_8cpp_source.html#l00251">251</a> of file <a class="el" href="../../dd/d30/hs-clientmanager_8cpp_source.html">hs-clientmanager.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;{</div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;    <span class="keywordtype">int</span> ret = 0;</div><div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> *value = afb_req_value(request, <span class="stringliteral">&quot;event&quot;</span>);</div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;value is %s&quot;</span>, value);</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;    <span class="keywordflow">if</span>(value) {</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;        std::string appid(afb_req_get_application_id(request));</div><div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;        std::lock_guard&lt;std::mutex&gt; lock(this-&gt;mtx);</div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;        <a class="code" href="../../d5/d20/class_h_s___client.html">HS_Client</a>* client = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;        <span class="keyword">auto</span> ip = client_list.find(appid);</div><div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;        <span class="keywordflow">if</span>(ip != client_list.end()) {</div><div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;            client = client_list[appid];</div><div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;        }</div><div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;        <span class="keywordflow">else</span> {</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;            appid2ctxt[appid] = createClientCtxt(request, appid);</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;            client = addClient(request, appid);</div><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;        }</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;        <span class="keywordflow">if</span>(client-&gt;<a class="code" href="../../d5/d20/class_h_s___client.html#a3d000ca70bd4a8af7c4895d95bc7d0d0">subscribe</a>(request, value) != 0) {</div><div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;            <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;subscribe failed&quot;</span>);</div><div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;            ret = <a class="code" href="../../d3/d3d/hs-helper_8h.html#a995612de89db4df1483c16e4b9b70571">AFB_REQ_SUBSCRIBE_ERROR</a>;</div><div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;        }</div><div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;    }</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;    <span class="keywordflow">else</span> {</div><div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;Please input event name&quot;</span>);</div><div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;        ret = <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa611e2ec24ef295bd87825889fe2ce5e">AFB_EVENT_BAD_REQUEST</a>;</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;    }</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;}</div><div class="ttc" id="class_h_s___client_html_a3d000ca70bd4a8af7c4895d95bc7d0d0"><div class="ttname"><a href="../../d5/d20/class_h_s___client.html#a3d000ca70bd4a8af7c4895d95bc7d0d0">HS_Client::subscribe</a></div><div class="ttdeci">int subscribe(afb_req_t request, const char *event)</div><div class="ttdef"><b>Definition:</b> <a href="../../d8/d55/hs-client_8cpp_source.html#l00139">hs-client.cpp:139</a></div></div>
+<div class="ttc" id="class_h_s___client_html"><div class="ttname"><a href="../../d5/d20/class_h_s___client.html">HS_Client</a></div><div class="ttdef"><b>Definition:</b> <a href="../../da/dd3/hs-client_8h_source.html#l00025">hs-client.h:25</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_abc0d6e0760017d8ae48b836925b2ef15"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a></div><div class="ttdeci">#define HMI_NOTICE(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00040">hmi-debug.h:40</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_aa611e2ec24ef295bd87825889fe2ce5e"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa611e2ec24ef295bd87825889fe2ce5e">AFB_EVENT_BAD_REQUEST</a></div><div class="ttdeci">#define AFB_EVENT_BAD_REQUEST</div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00023">hs-helper.h:23</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_a995612de89db4df1483c16e4b9b70571"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#a995612de89db4df1483c16e4b9b70571">AFB_REQ_SUBSCRIBE_ERROR</a></div><div class="ttdeci">#define AFB_REQ_SUBSCRIBE_ERROR</div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00024">hs-helper.h:24</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a9910fc27c412530b5b9854b00bd16c07"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int HS_ClientManager::tap_shortcut </td>
+          <td>(</td>
+          <td class="paramtype">afb_req_t&#160;</td>
+          <td class="paramname"><em>request</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>tap_shortcut</p>
+<h4>Parameters</h4>
+<ul>
+<li>request: the request to bindings</li>
+</ul>
+<h4>Return</h4>
+<p>result </p>
+
+<p>Definition at line <a class="el" href="../../dd/d30/hs-clientmanager_8cpp_source.html#l00166">166</a> of file <a class="el" href="../../dd/d30/hs-clientmanager_8cpp_source.html">hs-clientmanager.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;{</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;    <span class="keywordtype">int</span> ret = 0;</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* value = afb_req_value(request, <a class="code" href="../../d6/dda/homescreen_8cpp.html#a6a0e1db2562b442f8131ddf64b61d1ba">_application_id</a>);</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;    <span class="keywordflow">if</span> (value) {</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;request params = %s.&quot;</span>, value);</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;        std::lock_guard&lt;std::mutex&gt; lock(this-&gt;mtx);</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;        <span class="keyword">auto</span> ip = client_list.find(std::string(value));</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;        <span class="keywordflow">if</span>(ip != client_list.end()) {</div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;            ip-&gt;second-&gt;tap_shortcut(value);</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;        }</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;    }</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;    <span class="keywordflow">else</span> {</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;Please input application_id&quot;</span>);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;        ret = <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa611e2ec24ef295bd87825889fe2ce5e">AFB_EVENT_BAD_REQUEST</a>;</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;    }</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;}</div><div class="ttc" id="include_2hmi-debug_8h_html_abc0d6e0760017d8ae48b836925b2ef15"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a></div><div class="ttdeci">#define HMI_NOTICE(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00040">hmi-debug.h:40</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_a6a0e1db2562b442f8131ddf64b61d1ba"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#a6a0e1db2562b442f8131ddf64b61d1ba">_application_id</a></div><div class="ttdeci">const char _application_id[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00028">homescreen.cpp:28</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_aa611e2ec24ef295bd87825889fe2ce5e"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa611e2ec24ef295bd87825889fe2ce5e">AFB_EVENT_BAD_REQUEST</a></div><div class="ttdeci">#define AFB_EVENT_BAD_REQUEST</div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00023">hs-helper.h:23</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="ac86314afbb90116e2f02ce071166226e"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int HS_ClientManager::unsubscribe </td>
+          <td>(</td>
+          <td class="paramtype">afb_req_t&#160;</td>
+          <td class="paramname"><em>request</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>unsubscribe</p>
+<h4>Parameters</h4>
+<ul>
+<li>request: the request to bindings</li>
+</ul>
+<h4>Return</h4>
+<p>result </p>
+
+<p>Definition at line <a class="el" href="../../dd/d30/hs-clientmanager_8cpp_source.html#l00292">292</a> of file <a class="el" href="../../dd/d30/hs-clientmanager_8cpp_source.html">hs-clientmanager.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;{</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> *value = afb_req_value(request, <span class="stringliteral">&quot;event&quot;</span>);</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;value is %s&quot;</span>, value);</div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;    <span class="keywordtype">int</span> ret = 0;</div><div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;    <span class="keywordflow">if</span>(value) {</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;        std::string appid(afb_req_get_application_id(request));</div><div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;        std::lock_guard&lt;std::mutex&gt; lock(this-&gt;mtx);</div><div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;</div><div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;        <span class="keyword">auto</span> ip = client_list.find(appid);</div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;        <span class="keywordflow">if</span>(ip != client_list.end()</div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;        &amp;&amp; ip-&gt;second-&gt;unsubscribe(request, value) != 0) {</div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;            <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;unsubscribe failed&quot;</span>);</div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;            ret = <a class="code" href="../../d3/d3d/hs-helper_8h.html#a78e930a97920b821706a80ca8f430034">AFB_REQ_UNSUBSCRIBE_ERROR</a>;</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;        }</div><div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;    }</div><div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;    <span class="keywordflow">else</span> {</div><div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;Please input event name&quot;</span>);</div><div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;        ret = <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa611e2ec24ef295bd87825889fe2ce5e">AFB_EVENT_BAD_REQUEST</a>;</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;    }</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;}</div><div class="ttc" id="include_2hmi-debug_8h_html_abc0d6e0760017d8ae48b836925b2ef15"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a></div><div class="ttdeci">#define HMI_NOTICE(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00040">hmi-debug.h:40</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_a78e930a97920b821706a80ca8f430034"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#a78e930a97920b821706a80ca8f430034">AFB_REQ_UNSUBSCRIBE_ERROR</a></div><div class="ttdeci">#define AFB_REQ_UNSUBSCRIBE_ERROR</div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00025">hs-helper.h:25</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_aa611e2ec24ef295bd87825889fe2ce5e"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa611e2ec24ef295bd87825889fe2ce5e">AFB_EVENT_BAD_REQUEST</a></div><div class="ttdeci">#define AFB_EVENT_BAD_REQUEST</div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00023">hs-helper.h:23</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li>src/<a class="el" href="../../de/dca/hs-clientmanager_8h_source.html">hs-clientmanager.h</a></li>
+<li>src/<a class="el" href="../../dd/d30/hs-clientmanager_8cpp_source.html">hs-clientmanager.cpp</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="../../doxygen.png" alt="doxygen"/>
+</a> 1.8.11
+</small></address>
+</body>
+</html>
index 5ee78fe..edf1de4 100644 (file)
@@ -3,8 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <title>HomeScreenBinding: src/hs-helper.h File Reference</title>
 <link href="../../tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="../../jquery.js"></script>
 <title>HomeScreenBinding: src/hs-helper.h File Reference</title>
 <link href="../../tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="../../jquery.js"></script>
@@ -12,6 +11,9 @@
 <link href="../../search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="../../search/searchdata.js"></script>
 <script type="text/javascript" src="../../search/search.js"></script>
 <link href="../../search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="../../search/searchdata.js"></script>
 <script type="text/javascript" src="../../search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
 <link href="../../doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
 <link href="../../doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
 </table>
 </div>
 <!-- end header part -->
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.11 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
 </script>
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
 </script>
-<script type="text/javascript" src="../../menudata.js"></script>
-<script type="text/javascript" src="../../menu.js"></script>
-<script type="text/javascript">
-$(function() {
-  initMenu('../../',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-</script>
-<div id="main-nav"></div>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="../../index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="../../annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="../../files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="../../search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="../../files.html"><span>File&#160;List</span></a></li>
+      <li><a href="../../globals.html"><span>File&#160;Members</span></a></li>
+    </ul>
+  </div>
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
      onmouseover="return searchBox.OnSearchSelectShow()"
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
      onmouseover="return searchBox.OnSearchSelectShow()"
@@ -73,17 +95,24 @@ $(function() {
 </div><!--header-->
 <div class="contents">
 <div class="textblock"><code>#include &lt;afb/afb-binding.h&gt;</code><br />
 </div><!--header-->
 <div class="contents">
 <div class="textblock"><code>#include &lt;afb/afb-binding.h&gt;</code><br />
-<code>#include &lt;stdint.h&gt;</code><br />
-<code>#include &lt;glib.h&gt;</code><br />
-<code>#include &lt;errno.h&gt;</code><br />
-<code>#include &quot;<a class="el" href="../../df/d76/hmi-debug_8h_source.html">hmi-debug.h</a>&quot;</code><br />
+<code>#include &lt;json-c/json.h&gt;</code><br />
 </div>
 <p><a href="../../d3/d3d/hs-helper_8h_source.html">Go to the source code of this file.</a></p>
 <table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
 Macros</h2></td></tr>
 </div>
 <p><a href="../../d3/d3d/hs-helper_8h_source.html">Go to the source code of this file.</a></p>
 <table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
 Macros</h2></td></tr>
-<tr class="memitem:ad2c1fbc92ba364fcf83f15e6d0af66f0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d3d/hs-helper_8h.html#ad2c1fbc92ba364fcf83f15e6d0af66f0">AFB_BINDING_VERSION</a>&#160;&#160;&#160;2</td></tr>
+<tr class="memitem:ad2c1fbc92ba364fcf83f15e6d0af66f0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d3d/hs-helper_8h.html#ad2c1fbc92ba364fcf83f15e6d0af66f0">AFB_BINDING_VERSION</a>&#160;&#160;&#160;3</td></tr>
 <tr class="separator:ad2c1fbc92ba364fcf83f15e6d0af66f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="separator:ad2c1fbc92ba364fcf83f15e6d0af66f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa611e2ec24ef295bd87825889fe2ce5e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d3d/hs-helper_8h.html#aa611e2ec24ef295bd87825889fe2ce5e">AFB_EVENT_BAD_REQUEST</a>&#160;&#160;&#160;100</td></tr>
+<tr class="separator:aa611e2ec24ef295bd87825889fe2ce5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a995612de89db4df1483c16e4b9b70571"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d3d/hs-helper_8h.html#a995612de89db4df1483c16e4b9b70571">AFB_REQ_SUBSCRIBE_ERROR</a>&#160;&#160;&#160;101</td></tr>
+<tr class="separator:a995612de89db4df1483c16e4b9b70571"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a78e930a97920b821706a80ca8f430034"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d3d/hs-helper_8h.html#a78e930a97920b821706a80ca8f430034">AFB_REQ_UNSUBSCRIBE_ERROR</a>&#160;&#160;&#160;102</td></tr>
+<tr class="separator:a78e930a97920b821706a80ca8f430034"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a057fc88b8445828c261305cf9107d99d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d3d/hs-helper_8h.html#a057fc88b8445828c261305cf9107d99d">AFB_REQ_SHOWNOTIFICATION_ERROR</a>&#160;&#160;&#160;103</td></tr>
+<tr class="separator:a057fc88b8445828c261305cf9107d99d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aefe0d7ff8202f954693c235c1fb8e310"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d3d/hs-helper_8h.html#aefe0d7ff8202f954693c235c1fb8e310">AFB_REQ_SHOWINFORMATION_ERROR</a>&#160;&#160;&#160;104</td></tr>
+<tr class="separator:aefe0d7ff8202f954693c235c1fb8e310"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
 Typedefs</h2></td></tr>
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
 Typedefs</h2></td></tr>
@@ -101,12 +130,12 @@ Enumerations</h2></td></tr>
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
 Functions</h2></td></tr>
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
 Functions</h2></td></tr>
-<tr class="memitem:a649900645417f2df3a70b9ad67529f53"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899">REQ_ERROR</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d3d/hs-helper_8h.html#a649900645417f2df3a70b9ad67529f53">get_value_uint16</a> (const struct afb_req request, const char *source, uint16_t *out_id)</td></tr>
-<tr class="separator:a649900645417f2df3a70b9ad67529f53"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2e62366684e39ea94436bf017e416827"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899">REQ_ERROR</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d3d/hs-helper_8h.html#a2e62366684e39ea94436bf017e416827">get_value_int16</a> (const struct afb_req request, const char *source, int16_t *out_id)</td></tr>
-<tr class="separator:a2e62366684e39ea94436bf017e416827"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac5b0370643c520377afd3fd4891918d2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899">REQ_ERROR</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d3d/hs-helper_8h.html#ac5b0370643c520377afd3fd4891918d2">get_value_int32</a> (const struct afb_req request, const char *source, int32_t *out_id)</td></tr>
-<tr class="separator:ac5b0370643c520377afd3fd4891918d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aba9ca63f68b1991f8650871f4eae8e0b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899">REQ_ERROR</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d3d/hs-helper_8h.html#aba9ca63f68b1991f8650871f4eae8e0b">get_value_uint16</a> (const afb_req_t request, const char *source, uint16_t *out_id)</td></tr>
+<tr class="separator:aba9ca63f68b1991f8650871f4eae8e0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af3043612cf74bb92cb073e10cacd594a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899">REQ_ERROR</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d3d/hs-helper_8h.html#af3043612cf74bb92cb073e10cacd594a">get_value_int16</a> (const afb_req_t request, const char *source, int16_t *out_id)</td></tr>
+<tr class="separator:af3043612cf74bb92cb073e10cacd594a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8121d965b6fd795c16b8576ab03dcaf1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899">REQ_ERROR</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d3d/hs-helper_8h.html#a8121d965b6fd795c16b8576ab03dcaf1">get_value_int32</a> (const afb_req_t request, const char *source, int32_t *out_id)</td></tr>
+<tr class="separator:a8121d965b6fd795c16b8576ab03dcaf1"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a1ba31a6a94515ff1730ba0043a67d59e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d3d/hs-helper_8h.html#a1ba31a6a94515ff1730ba0043a67d59e">hs_add_object_to_json_object</a> (struct json_object *j_obj, int count,...)</td></tr>
 <tr class="separator:a1ba31a6a94515ff1730ba0043a67d59e"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a8777c53f1d4d5412f19b134ad85ffedf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d3d/hs-helper_8h.html#a8777c53f1d4d5412f19b134ad85ffedf">hs_add_object_to_json_object_str</a> (struct json_object *j_obj, int count,...)</td></tr>
 <tr class="memitem:a1ba31a6a94515ff1730ba0043a67d59e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d3d/hs-helper_8h.html#a1ba31a6a94515ff1730ba0043a67d59e">hs_add_object_to_json_object</a> (struct json_object *j_obj, int count,...)</td></tr>
 <tr class="separator:a1ba31a6a94515ff1730ba0043a67d59e"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a8777c53f1d4d5412f19b134ad85ffedf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d3d/hs-helper_8h.html#a8777c53f1d4d5412f19b134ad85ffedf">hs_add_object_to_json_object_str</a> (struct json_object *j_obj, int count,...)</td></tr>
@@ -118,30 +147,104 @@ Functions</h2></td></tr>
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
 Variables</h2></td></tr>
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
 Variables</h2></td></tr>
-<tr class="memitem:a0cd84b1a2184c9b84d1b7bf24582f28e"><td class="memItemLeft" align="right" valign="top">static const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d3d/hs-helper_8h.html#a0cd84b1a2184c9b84d1b7bf24582f28e">evlist</a> []</td></tr>
+<tr class="memitem:a0cd84b1a2184c9b84d1b7bf24582f28e"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d3d/hs-helper_8h.html#a0cd84b1a2184c9b84d1b7bf24582f28e">evlist</a> []</td></tr>
 <tr class="separator:a0cd84b1a2184c9b84d1b7bf24582f28e"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="separator:a0cd84b1a2184c9b84d1b7bf24582f28e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aed1c5296a2e6d34945507a0fca17a376"><td class="memItemLeft" align="right" valign="top">const char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d3d/hs-helper_8h.html#aed1c5296a2e6d34945507a0fca17a376">_error</a> []</td></tr>
+<tr class="separator:aed1c5296a2e6d34945507a0fca17a376"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6a0e1db2562b442f8131ddf64b61d1ba"><td class="memItemLeft" align="right" valign="top">const char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d3d/hs-helper_8h.html#a6a0e1db2562b442f8131ddf64b61d1ba">_application_id</a> []</td></tr>
+<tr class="separator:a6a0e1db2562b442f8131ddf64b61d1ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abfd6c1d6f316fa952b11553f8f275e92"><td class="memItemLeft" align="right" valign="top">const char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d3d/hs-helper_8h.html#abfd6c1d6f316fa952b11553f8f275e92">_display_message</a> []</td></tr>
+<tr class="separator:abfd6c1d6f316fa952b11553f8f275e92"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a79b0f0b481161527ccb80e83da143219"><td class="memItemLeft" align="right" valign="top">const char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d3d/hs-helper_8h.html#a79b0f0b481161527ccb80e83da143219">_reply_message</a> []</td></tr>
+<tr class="separator:a79b0f0b481161527ccb80e83da143219"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 <h2 class="groupheader">Macro Definition Documentation</h2>
 </table>
 <h2 class="groupheader">Macro Definition Documentation</h2>
-<a id="ad2c1fbc92ba364fcf83f15e6d0af66f0"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad2c1fbc92ba364fcf83f15e6d0af66f0">&#9670;&nbsp;</a></span>AFB_BINDING_VERSION</h2>
+<a class="anchor" id="ad2c1fbc92ba364fcf83f15e6d0af66f0"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define AFB_BINDING_VERSION&#160;&#160;&#160;3</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../d3/d3d/hs-helper_8h_source.html#l00019">19</a> of file <a class="el" href="../../d3/d3d/hs-helper_8h_source.html">hs-helper.h</a>.</p>
 
 
+</div>
+</div>
+<a class="anchor" id="aa611e2ec24ef295bd87825889fe2ce5e"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">#define AFB_BINDING_VERSION&#160;&#160;&#160;2</td>
+          <td class="memname">#define AFB_EVENT_BAD_REQUEST&#160;&#160;&#160;100</td>
         </tr>
       </table>
 </div><div class="memdoc">
 
         </tr>
       </table>
 </div><div class="memdoc">
 
-<p class="definition">Definition at line <a class="el" href="../../d3/d3d/hs-helper_8h_source.html#l00019">19</a> of file <a class="el" href="../../d3/d3d/hs-helper_8h_source.html">hs-helper.h</a>.</p>
+<p>Definition at line <a class="el" href="../../d3/d3d/hs-helper_8h_source.html#l00023">23</a> of file <a class="el" href="../../d3/d3d/hs-helper_8h_source.html">hs-helper.h</a>.</p>
 
 </div>
 </div>
 
 </div>
 </div>
-<h2 class="groupheader">Typedef Documentation</h2>
-<a id="ab0d62ccfa9c3ab87f090f67c3d50adce"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab0d62ccfa9c3ab87f090f67c3d50adce">&#9670;&nbsp;</a></span>REQ_ERROR</h2>
+<a class="anchor" id="aefe0d7ff8202f954693c235c1fb8e310"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define AFB_REQ_SHOWINFORMATION_ERROR&#160;&#160;&#160;104</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../d3/d3d/hs-helper_8h_source.html#l00027">27</a> of file <a class="el" href="../../d3/d3d/hs-helper_8h_source.html">hs-helper.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a057fc88b8445828c261305cf9107d99d"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define AFB_REQ_SHOWNOTIFICATION_ERROR&#160;&#160;&#160;103</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
 
+<p>Definition at line <a class="el" href="../../d3/d3d/hs-helper_8h_source.html#l00026">26</a> of file <a class="el" href="../../d3/d3d/hs-helper_8h_source.html">hs-helper.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a995612de89db4df1483c16e4b9b70571"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define AFB_REQ_SUBSCRIBE_ERROR&#160;&#160;&#160;101</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../d3/d3d/hs-helper_8h_source.html#l00024">24</a> of file <a class="el" href="../../d3/d3d/hs-helper_8h_source.html">hs-helper.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a78e930a97920b821706a80ca8f430034"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define AFB_REQ_UNSUBSCRIBE_ERROR&#160;&#160;&#160;102</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../d3/d3d/hs-helper_8h_source.html#l00025">25</a> of file <a class="el" href="../../d3/d3d/hs-helper_8h_source.html">hs-helper.h</a>.</p>
+
+</div>
+</div>
+<h2 class="groupheader">Typedef Documentation</h2>
+<a class="anchor" id="ab0d62ccfa9c3ab87f090f67c3d50adce"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
@@ -154,9 +257,7 @@ Variables</h2></td></tr>
 </div>
 </div>
 <h2 class="groupheader">Enumeration Type Documentation</h2>
 </div>
 </div>
 <h2 class="groupheader">Enumeration Type Documentation</h2>
-<a id="aa49f1dbbf26f01627a5737cf43aad899"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa49f1dbbf26f01627a5737cf43aad899">&#9670;&nbsp;</a></span>REQ_ERROR</h2>
-
+<a class="anchor" id="aa49f1dbbf26f01627a5737cf43aad899"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
@@ -166,32 +267,34 @@ Variables</h2></td></tr>
       </table>
 </div><div class="memdoc">
 <table class="fieldtable">
       </table>
 </div><div class="memdoc">
 <table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1"></a>REQ_FAIL&#160;</td><td class="fielddoc"></td></tr>
-<tr><td class="fieldname"><a id="aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee"></a>REQ_OK&#160;</td><td class="fielddoc"></td></tr>
-<tr><td class="fieldname"><a id="aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a"></a>NOT_NUMBER&#160;</td><td class="fielddoc"></td></tr>
-<tr><td class="fieldname"><a id="aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b"></a>OUT_RANGE&#160;</td><td class="fielddoc"></td></tr>
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1"></a>REQ_FAIL&#160;</td><td class="fielddoc">
+</td></tr>
+<tr><td class="fieldname"><a class="anchor" id="aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee"></a>REQ_OK&#160;</td><td class="fielddoc">
+</td></tr>
+<tr><td class="fieldname"><a class="anchor" id="aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a"></a>NOT_NUMBER&#160;</td><td class="fielddoc">
+</td></tr>
+<tr><td class="fieldname"><a class="anchor" id="aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b"></a>OUT_RANGE&#160;</td><td class="fielddoc">
+</td></tr>
 </table>
 
 </table>
 
-<p class="definition">Definition at line <a class="el" href="../../d3/d3d/hs-helper_8h_source.html#l00026">26</a> of file <a class="el" href="../../d3/d3d/hs-helper_8h_source.html">hs-helper.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;{</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;  <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1">REQ_FAIL</a> = -1,</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;  <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee">REQ_OK</a>=0,</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;  <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a">NOT_NUMBER</a>,</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;  <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b">OUT_RANGE</a></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;}<a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899">REQ_ERROR</a>;</div><div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1">REQ_FAIL</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00028">hs-helper.h:28</a></div></div>
-<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b">OUT_RANGE</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00031">hs-helper.h:31</a></div></div>
-<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a">NOT_NUMBER</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00030">hs-helper.h:30</a></div></div>
-<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee">REQ_OK</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00029">hs-helper.h:29</a></div></div>
-<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899">REQ_ERROR</a></div><div class="ttdeci">REQ_ERROR</div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00026">hs-helper.h:26</a></div></div>
+<p>Definition at line <a class="el" href="../../d3/d3d/hs-helper_8h_source.html#l00029">29</a> of file <a class="el" href="../../d3/d3d/hs-helper_8h_source.html">hs-helper.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;{</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;  <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1">REQ_FAIL</a> = -1,</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;  <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee">REQ_OK</a>=0,</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;  <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a">NOT_NUMBER</a>,</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;  <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b">OUT_RANGE</a></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;}<a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899">REQ_ERROR</a>;</div><div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1">REQ_FAIL</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00031">hs-helper.h:31</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b">OUT_RANGE</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00034">hs-helper.h:34</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a">NOT_NUMBER</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00033">hs-helper.h:33</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee">REQ_OK</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00032">hs-helper.h:32</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899">REQ_ERROR</a></div><div class="ttdeci">REQ_ERROR</div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00029">hs-helper.h:29</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
 <h2 class="groupheader">Function Documentation</h2>
 </div><!-- fragment -->
 </div>
 </div>
 <h2 class="groupheader">Function Documentation</h2>
-<a id="a2e62366684e39ea94436bf017e416827"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a2e62366684e39ea94436bf017e416827">&#9670;&nbsp;</a></span>get_value_int16()</h2>
-
+<a class="anchor" id="af3043612cf74bb92cb073e10cacd594a"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
           <td class="memname"><a class="el" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899">REQ_ERROR</a> get_value_int16 </td>
           <td>(</td>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
           <td class="memname"><a class="el" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899">REQ_ERROR</a> get_value_int16 </td>
           <td>(</td>
-          <td class="paramtype">const struct afb_req&#160;</td>
+          <td class="paramtype">const afb_req_t&#160;</td>
           <td class="paramname"><em>request</em>, </td>
         </tr>
         <tr>
           <td class="paramname"><em>request</em>, </td>
         </tr>
         <tr>
@@ -213,25 +316,32 @@ Variables</h2></td></tr>
         </tr>
       </table>
 </div><div class="memdoc">
         </tr>
       </table>
 </div><div class="memdoc">
+<p>get int16 value from source</p>
+<h4>Parameters</h4>
+<ul>
+<li>request : Describes the request by bindings from afb-daemon</li>
+<li>source : input source</li>
+<li>out_id : output int16 value</li>
+</ul>
+<h4>Return</h4>
+<p>error code </p>
 
 
-<p class="definition">Definition at line <a class="el" href="../../dd/d1d/hs-helper_8c_source.html#l00048">48</a> of file <a class="el" href="../../dd/d1d/hs-helper_8c_source.html">hs-helper.c</a>.</p>
-<div class="fragment"><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;{</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;    <span class="keywordtype">char</span>* endptr;</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* tmp = afb_req_value (request, source);</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;    <span class="keywordflow">if</span>(!tmp)</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;    {</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1">REQ_FAIL</a>;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;    }</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    <span class="keywordtype">long</span> tmp_id = strtol(tmp,&amp;endptr,10);</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;    <span class="comment">/* error check of range */</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;    <span class="keywordflow">if</span>( (tmp_id &gt; INT16_MAX) || (tmp_id &lt; INT16_MIN) )</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;    {</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b">OUT_RANGE</a>;</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;    }</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;    <span class="keywordflow">if</span>(*endptr != <span class="charliteral">&#39;\0&#39;</span>)</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;    {</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a">NOT_NUMBER</a>;</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    }</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;    *out_id = (int16_t)tmp_id;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee">REQ_OK</a>;</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;}</div><div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1">REQ_FAIL</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00028">hs-helper.h:28</a></div></div>
-<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b">OUT_RANGE</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00031">hs-helper.h:31</a></div></div>
-<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a">NOT_NUMBER</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00030">hs-helper.h:30</a></div></div>
-<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee">REQ_OK</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00029">hs-helper.h:29</a></div></div>
+<p>Definition at line <a class="el" href="../../df/d66/hs-helper_8cpp_source.html#l00082">82</a> of file <a class="el" href="../../df/d66/hs-helper_8cpp_source.html">hs-helper.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;{</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;    <span class="keywordtype">char</span>* endptr;</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* tmp = afb_req_value (request, source);</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;    <span class="keywordflow">if</span>(!tmp)</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;    {</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1">REQ_FAIL</a>;</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;    }</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;    <span class="keywordtype">long</span> tmp_id = strtol(tmp,&amp;endptr,10);</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;    <span class="comment">/* error check of range */</span></div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;    <span class="keywordflow">if</span>( (tmp_id &gt; INT16_MAX) || (tmp_id &lt; INT16_MIN) )</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;    {</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b">OUT_RANGE</a>;</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;    }</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;    <span class="keywordflow">if</span>(*endptr != <span class="charliteral">&#39;\0&#39;</span>)</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;    {</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a">NOT_NUMBER</a>;</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;    }</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;    *out_id = (int16_t)tmp_id;</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee">REQ_OK</a>;</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;}</div><div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1">REQ_FAIL</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00031">hs-helper.h:31</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b">OUT_RANGE</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00034">hs-helper.h:34</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a">NOT_NUMBER</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00033">hs-helper.h:33</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee">REQ_OK</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00032">hs-helper.h:32</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
 </div><!-- fragment -->
 </div>
 </div>
-<a id="ac5b0370643c520377afd3fd4891918d2"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ac5b0370643c520377afd3fd4891918d2">&#9670;&nbsp;</a></span>get_value_int32()</h2>
-
+<a class="anchor" id="a8121d965b6fd795c16b8576ab03dcaf1"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
           <td class="memname"><a class="el" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899">REQ_ERROR</a> get_value_int32 </td>
           <td>(</td>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
           <td class="memname"><a class="el" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899">REQ_ERROR</a> get_value_int32 </td>
           <td>(</td>
-          <td class="paramtype">const struct afb_req&#160;</td>
+          <td class="paramtype">const afb_req_t&#160;</td>
           <td class="paramname"><em>request</em>, </td>
         </tr>
         <tr>
           <td class="paramname"><em>request</em>, </td>
         </tr>
         <tr>
@@ -253,25 +363,32 @@ Variables</h2></td></tr>
         </tr>
       </table>
 </div><div class="memdoc">
         </tr>
       </table>
 </div><div class="memdoc">
+<p>get int32 value from source</p>
+<h4>Parameters</h4>
+<ul>
+<li>request : Describes the request by bindings from afb-daemon</li>
+<li>source : input source</li>
+<li>out_id : output int32 value</li>
+</ul>
+<h4>Return</h4>
+<p>error code </p>
 
 
-<p class="definition">Definition at line <a class="el" href="../../dd/d1d/hs-helper_8c_source.html#l00072">72</a> of file <a class="el" href="../../dd/d1d/hs-helper_8c_source.html">hs-helper.c</a>.</p>
-<div class="fragment"><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;{</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;    <span class="keywordtype">char</span>* endptr;</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* tmp = afb_req_value (request, source);</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;    <span class="keywordflow">if</span>(!tmp)</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;    {</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1">REQ_FAIL</a>;</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;    }</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;    <span class="keywordtype">long</span> tmp_id = strtol(tmp,&amp;endptr,10);</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;    <span class="comment">/* error check of range */</span></div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;    <span class="keywordflow">if</span>( (tmp_id &gt; INT32_MAX) || (tmp_id &lt; INT32_MIN) )</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;    {</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b">OUT_RANGE</a>;</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;    }</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;    <span class="keywordflow">if</span>(*endptr != <span class="charliteral">&#39;\0&#39;</span>)</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;    {</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a">NOT_NUMBER</a>;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;    }</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;    *out_id = (int32_t)tmp_id;</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee">REQ_OK</a>;</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;}</div><div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1">REQ_FAIL</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00028">hs-helper.h:28</a></div></div>
-<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b">OUT_RANGE</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00031">hs-helper.h:31</a></div></div>
-<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a">NOT_NUMBER</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00030">hs-helper.h:30</a></div></div>
-<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee">REQ_OK</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00029">hs-helper.h:29</a></div></div>
+<p>Definition at line <a class="el" href="../../df/d66/hs-helper_8cpp_source.html#l00118">118</a> of file <a class="el" href="../../df/d66/hs-helper_8cpp_source.html">hs-helper.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;{</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;    <span class="keywordtype">char</span>* endptr;</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* tmp = afb_req_value (request, source);</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;    <span class="keywordflow">if</span>(!tmp)</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;    {</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1">REQ_FAIL</a>;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;    }</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;    <span class="keywordtype">long</span> tmp_id = strtol(tmp,&amp;endptr,10);</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;    <span class="comment">/* error check of range */</span></div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;    <span class="keywordflow">if</span>( (tmp_id &gt; INT32_MAX) || (tmp_id &lt; INT32_MIN) )</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;    {</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b">OUT_RANGE</a>;</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;    }</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;    <span class="keywordflow">if</span>(*endptr != <span class="charliteral">&#39;\0&#39;</span>)</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;    {</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a">NOT_NUMBER</a>;</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;    }</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;    *out_id = (int32_t)tmp_id;</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee">REQ_OK</a>;</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;}</div><div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1">REQ_FAIL</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00031">hs-helper.h:31</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b">OUT_RANGE</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00034">hs-helper.h:34</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a">NOT_NUMBER</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00033">hs-helper.h:33</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee">REQ_OK</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00032">hs-helper.h:32</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
 </div><!-- fragment -->
 </div>
 </div>
-<a id="a649900645417f2df3a70b9ad67529f53"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a649900645417f2df3a70b9ad67529f53">&#9670;&nbsp;</a></span>get_value_uint16()</h2>
-
+<a class="anchor" id="aba9ca63f68b1991f8650871f4eae8e0b"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
           <td class="memname"><a class="el" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899">REQ_ERROR</a> get_value_uint16 </td>
           <td>(</td>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
           <td class="memname"><a class="el" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899">REQ_ERROR</a> get_value_uint16 </td>
           <td>(</td>
-          <td class="paramtype">const struct afb_req&#160;</td>
+          <td class="paramtype">const afb_req_t&#160;</td>
           <td class="paramname"><em>request</em>, </td>
         </tr>
         <tr>
           <td class="paramname"><em>request</em>, </td>
         </tr>
         <tr>
@@ -293,18 +410,25 @@ Variables</h2></td></tr>
         </tr>
       </table>
 </div><div class="memdoc">
         </tr>
       </table>
 </div><div class="memdoc">
+<p>get uint16 value from source</p>
+<h4>Parameters</h4>
+<ul>
+<li>request : Describes the request by bindings from afb-daemon</li>
+<li>source : input source</li>
+<li>out_id : output uint16 value</li>
+</ul>
+<h4>Return</h4>
+<p>error code </p>
 
 
-<p class="definition">Definition at line <a class="el" href="../../dd/d1d/hs-helper_8c_source.html#l00024">24</a> of file <a class="el" href="../../dd/d1d/hs-helper_8c_source.html">hs-helper.c</a>.</p>
-<div class="fragment"><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;{</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    <span class="keywordtype">char</span>* endptr;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* tmp = afb_req_value (request, source);</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;    <span class="keywordflow">if</span>(!tmp)</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    {</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1">REQ_FAIL</a>;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;    }</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;    <span class="keywordtype">long</span> tmp_id = strtol(tmp,&amp;endptr,10);</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;    <span class="comment">/* error check of range */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;    <span class="keywordflow">if</span>( (tmp_id &gt; UINT16_MAX) || (tmp_id &lt; 0) )</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;    {</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b">OUT_RANGE</a>;</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;    }</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;    <span class="keywordflow">if</span>(*endptr != <span class="charliteral">&#39;\0&#39;</span>)</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;    {</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a">NOT_NUMBER</a>;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;    }</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;    *out_id = (uint16_t)tmp_id;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee">REQ_OK</a>;</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;}</div><div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1">REQ_FAIL</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00028">hs-helper.h:28</a></div></div>
-<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b">OUT_RANGE</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00031">hs-helper.h:31</a></div></div>
-<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a">NOT_NUMBER</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00030">hs-helper.h:30</a></div></div>
-<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee">REQ_OK</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00029">hs-helper.h:29</a></div></div>
+<p>Definition at line <a class="el" href="../../df/d66/hs-helper_8cpp_source.html#l00046">46</a> of file <a class="el" href="../../df/d66/hs-helper_8cpp_source.html">hs-helper.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;{</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    <span class="keywordtype">char</span>* endptr;</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* tmp = afb_req_value (request, source);</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;    <span class="keywordflow">if</span>(!tmp)</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;    {</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1">REQ_FAIL</a>;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;    }</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    <span class="keywordtype">long</span> tmp_id = strtol(tmp,&amp;endptr,10);</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    <span class="comment">/* error check of range */</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    <span class="keywordflow">if</span>( (tmp_id &gt; UINT16_MAX) || (tmp_id &lt; 0) )</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;    {</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b">OUT_RANGE</a>;</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;    }</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;    <span class="keywordflow">if</span>(*endptr != <span class="charliteral">&#39;\0&#39;</span>)</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;    {</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a">NOT_NUMBER</a>;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;    }</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    *out_id = (uint16_t)tmp_id;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee">REQ_OK</a>;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;}</div><div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1">REQ_FAIL</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00031">hs-helper.h:31</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b">OUT_RANGE</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00034">hs-helper.h:34</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a">NOT_NUMBER</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00033">hs-helper.h:33</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee">REQ_OK</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00032">hs-helper.h:32</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
 </div><!-- fragment -->
 </div>
 </div>
-<a id="a1ba31a6a94515ff1730ba0043a67d59e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1ba31a6a94515ff1730ba0043a67d59e">&#9670;&nbsp;</a></span>hs_add_object_to_json_object()</h2>
-
+<a class="anchor" id="a1ba31a6a94515ff1730ba0043a67d59e"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
@@ -333,14 +457,21 @@ Variables</h2></td></tr>
         </tr>
       </table>
 </div><div class="memdoc">
         </tr>
       </table>
 </div><div class="memdoc">
+<p>add int object to json object</p>
+<h4>Parameters</h4>
+<ul>
+<li>j_obj : the json object will join in int json object</li>
+<li>count : input parameter number</li>
+<li>... : parameter list</li>
+</ul>
+<h4>Return</h4>
+<p>None </p>
 
 
-<p class="definition">Definition at line <a class="el" href="../../dd/d1d/hs-helper_8c_source.html#l00096">96</a> of file <a class="el" href="../../dd/d1d/hs-helper_8c_source.html">hs-helper.c</a>.</p>
-<div class="fragment"><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;{</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;    va_list args;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;    va_start(args, count);</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;    <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = 0; i &lt; count; ++i )</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;    {</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;        <span class="keywordtype">char</span> *key = va_arg(args, <span class="keywordtype">char</span>*);</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;        <span class="keywordtype">int</span> value = va_arg(args, <span class="keywordtype">int</span>);</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;        json_object_object_add(j_obj, key, json_object_new_int((int32_t)value));</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;        ++i;</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;    }</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;    va_end(args);</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;}</div></div><!-- fragment -->
+<p>Definition at line <a class="el" href="../../df/d66/hs-helper_8cpp_source.html#l00154">154</a> of file <a class="el" href="../../df/d66/hs-helper_8cpp_source.html">hs-helper.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;{</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;    va_list args;</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;    va_start(args, count);</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;    <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = 0; i &lt; count; ++i )</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;    {</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;        <span class="keywordtype">char</span> *key = va_arg(args, <span class="keywordtype">char</span>*);</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;        <span class="keywordtype">int</span> value = va_arg(args, <span class="keywordtype">int</span>);</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;        json_object_object_add(j_obj, key, json_object_new_int((int32_t)value));</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;        ++i;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;    }</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;    va_end(args);</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;}</div></div><!-- fragment -->
 </div>
 </div>
 </div>
 </div>
-<a id="ae83604a37134e7bdee3ce4f10bb0b47a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae83604a37134e7bdee3ce4f10bb0b47a">&#9670;&nbsp;</a></span>hs_add_object_to_json_object_func()</h2>
-
+<a class="anchor" id="ae83604a37134e7bdee3ce4f10bb0b47a"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
@@ -375,14 +506,22 @@ Variables</h2></td></tr>
         </tr>
       </table>
 </div><div class="memdoc">
         </tr>
       </table>
 </div><div class="memdoc">
+<p>add new json object to json object</p>
+<h4>Parameters</h4>
+<ul>
+<li>j_obj : the json object will join in new json object</li>
+<li>verb_name : new json object's verb value</li>
+<li>count : input parameter number</li>
+<li>... : parameter list</li>
+</ul>
+<h4>Return</h4>
+<p>None </p>
 
 
-<p class="definition">Definition at line <a class="el" href="../../dd/d1d/hs-helper_8c_source.html#l00125">125</a> of file <a class="el" href="../../dd/d1d/hs-helper_8c_source.html">hs-helper.c</a>.</p>
-<div class="fragment"><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;{</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;    va_list args;</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;    va_start(args, count);</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;    json_object_object_add(j_obj,<span class="stringliteral">&quot;verb&quot;</span>, json_object_new_string(verb_name));</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;    <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = 0; i &lt; count; ++i )</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;    {</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;        <span class="keywordtype">char</span> *key = va_arg(args, <span class="keywordtype">char</span>*);</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;        <span class="keywordtype">int</span> value = va_arg(args, <span class="keywordtype">int</span>);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;        json_object_object_add(j_obj, key, json_object_new_int((int32_t)value));</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;        ++i;</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;    }</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;    va_end(args);</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;}</div></div><!-- fragment -->
+<p>Definition at line <a class="el" href="../../df/d66/hs-helper_8cpp_source.html#l00207">207</a> of file <a class="el" href="../../df/d66/hs-helper_8cpp_source.html">hs-helper.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;{</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;    va_list args;</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;    va_start(args, count);</div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;    json_object_object_add(j_obj,<span class="stringliteral">&quot;verb&quot;</span>, json_object_new_string(verb_name));</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;    <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = 0; i &lt; count; ++i )</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;    {</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;        <span class="keywordtype">char</span> *key = va_arg(args, <span class="keywordtype">char</span>*);</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;        <span class="keywordtype">int</span> value = va_arg(args, <span class="keywordtype">int</span>);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;        json_object_object_add(j_obj, key, json_object_new_int((int32_t)value));</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;        ++i;</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;    }</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;    va_end(args);</div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;}</div></div><!-- fragment -->
 </div>
 </div>
 </div>
 </div>
-<a id="a8777c53f1d4d5412f19b134ad85ffedf"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a8777c53f1d4d5412f19b134ad85ffedf">&#9670;&nbsp;</a></span>hs_add_object_to_json_object_str()</h2>
-
+<a class="anchor" id="a8777c53f1d4d5412f19b134ad85ffedf"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
@@ -411,14 +550,21 @@ Variables</h2></td></tr>
         </tr>
       </table>
 </div><div class="memdoc">
         </tr>
       </table>
 </div><div class="memdoc">
+<p>add string object to json object</p>
+<h4>Parameters</h4>
+<ul>
+<li>j_obj : the json object will join in string json object</li>
+<li>count : input parameter number</li>
+<li>... : parameter list</li>
+</ul>
+<h4>Return</h4>
+<p>None </p>
 
 
-<p class="definition">Definition at line <a class="el" href="../../dd/d1d/hs-helper_8c_source.html#l00110">110</a> of file <a class="el" href="../../dd/d1d/hs-helper_8c_source.html">hs-helper.c</a>.</p>
-<div class="fragment"><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;{</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;    va_list args;</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;    va_start(args, count);</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;    <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = 0; i &lt; count; ++i )</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;    {</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;        <span class="keywordtype">char</span> *key = va_arg(args, <span class="keywordtype">char</span>*);</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;        <span class="keywordtype">char</span> *value = va_arg(args, <span class="keywordtype">char</span>*);</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;        json_object_object_add(j_obj, key, json_object_new_string(value));</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;        ++i;</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;    }</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;    va_end(args);</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;}</div></div><!-- fragment -->
+<p>Definition at line <a class="el" href="../../df/d66/hs-helper_8cpp_source.html#l00180">180</a> of file <a class="el" href="../../df/d66/hs-helper_8cpp_source.html">hs-helper.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;{</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;    va_list args;</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;    va_start(args, count);</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;    <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = 0; i &lt; count; ++i )</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;    {</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;        <span class="keywordtype">char</span> *key = va_arg(args, <span class="keywordtype">char</span>*);</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;        <span class="keywordtype">char</span> *value = va_arg(args, <span class="keywordtype">char</span>*);</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;        json_object_object_add(j_obj, key, json_object_new_string(value));</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;        ++i;</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;    }</div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;    va_end(args);</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;}</div></div><!-- fragment -->
 </div>
 </div>
 </div>
 </div>
-<a id="a2ff1b894941c3b461ca8119079c4146a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a2ff1b894941c3b461ca8119079c4146a">&#9670;&nbsp;</a></span>hs_search_event_name_index()</h2>
-
+<a class="anchor" id="a2ff1b894941c3b461ca8119079c4146a"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
@@ -431,34 +577,87 @@ Variables</h2></td></tr>
         </tr>
       </table>
 </div><div class="memdoc">
         </tr>
       </table>
 </div><div class="memdoc">
+<p>search event position in event list</p>
+<h4>Parameters</h4>
+<ul>
+<li>value : searched event name</li>
+</ul>
+<h4>Return</h4>
+<p>event's index in event list </p>
 
 
-<p class="definition">Definition at line <a class="el" href="../../dd/d1d/hs-helper_8c_source.html#l00142">142</a> of file <a class="el" href="../../dd/d1d/hs-helper_8c_source.html">hs-helper.c</a>.</p>
-<div class="fragment"><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;{</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;    <span class="keywordtype">size_t</span> buf_size = 50;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;    <span class="keywordtype">size_t</span> size = <span class="keyword">sizeof</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#a0cd84b1a2184c9b84d1b7bf24582f28e">evlist</a> / <span class="keyword">sizeof</span> *<a class="code" href="../../d3/d3d/hs-helper_8h.html#a0cd84b1a2184c9b84d1b7bf24582f28e">evlist</a>;</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;    <span class="keywordtype">int</span> ret = -1;</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;    <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> i = 0 ; i &lt; size ; ++i)</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;    {</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;        <span class="keywordflow">if</span>(!strncmp(value, <a class="code" href="../../d3/d3d/hs-helper_8h.html#a0cd84b1a2184c9b84d1b7bf24582f28e">evlist</a>[i], buf_size))</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;        {</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;            ret = i;</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;        }</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;    }</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;}</div><div class="ttc" id="hs-helper_8h_html_a0cd84b1a2184c9b84d1b7bf24582f28e"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#a0cd84b1a2184c9b84d1b7bf24582f28e">evlist</a></div><div class="ttdeci">static const char * evlist[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00034">hs-helper.h:34</a></div></div>
+<p>Definition at line <a class="el" href="../../df/d66/hs-helper_8cpp_source.html#l00234">234</a> of file <a class="el" href="../../df/d66/hs-helper_8cpp_source.html">hs-helper.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;{</div><div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;    <span class="keywordtype">size_t</span> buf_size = 50;</div><div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;    <span class="keywordtype">size_t</span> size = <span class="keyword">sizeof</span> <a class="code" href="../../df/d66/hs-helper_8cpp.html#a0cd84b1a2184c9b84d1b7bf24582f28e">evlist</a> / <span class="keyword">sizeof</span> *<a class="code" href="../../df/d66/hs-helper_8cpp.html#a0cd84b1a2184c9b84d1b7bf24582f28e">evlist</a>;</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;    <span class="keywordtype">int</span> ret = -1;</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;    <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> i = 0 ; i &lt; size ; ++i)</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;    {</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;        <span class="keywordflow">if</span>(!strncmp(value, <a class="code" href="../../df/d66/hs-helper_8cpp.html#a0cd84b1a2184c9b84d1b7bf24582f28e">evlist</a>[i], buf_size))</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;        {</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;            ret = i;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;        }</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;    }</div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;}</div><div class="ttc" id="hs-helper_8cpp_html_a0cd84b1a2184c9b84d1b7bf24582f28e"><div class="ttname"><a href="../../df/d66/hs-helper_8cpp.html#a0cd84b1a2184c9b84d1b7bf24582f28e">evlist</a></div><div class="ttdeci">const char * evlist[]</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d66/hs-helper_8cpp_source.html#l00022">hs-helper.cpp:22</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
 <h2 class="groupheader">Variable Documentation</h2>
 </div><!-- fragment -->
 </div>
 </div>
 <h2 class="groupheader">Variable Documentation</h2>
-<a id="a0cd84b1a2184c9b84d1b7bf24582f28e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a0cd84b1a2184c9b84d1b7bf24582f28e">&#9670;&nbsp;</a></span>evlist</h2>
+<a class="anchor" id="a6a0e1db2562b442f8131ddf64b61d1ba"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const char _application_id[]</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../d6/dda/homescreen_8cpp_source.html#l00028">28</a> of file <a class="el" href="../../d6/dda/homescreen_8cpp_source.html">homescreen.cpp</a>.</p>
 
 
+</div>
+</div>
+<a class="anchor" id="abfd6c1d6f316fa952b11553f8f275e92"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const char _display_message[]</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../d6/dda/homescreen_8cpp_source.html#l00029">29</a> of file <a class="el" href="../../d6/dda/homescreen_8cpp_source.html">homescreen.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aed1c5296a2e6d34945507a0fca17a376"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const char _error[]</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../d6/dda/homescreen_8cpp_source.html#l00027">27</a> of file <a class="el" href="../../d6/dda/homescreen_8cpp_source.html">homescreen.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a79b0f0b481161527ccb80e83da143219"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const char _reply_message[]</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../d6/dda/homescreen_8cpp_source.html#l00030">30</a> of file <a class="el" href="../../d6/dda/homescreen_8cpp_source.html">homescreen.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a0cd84b1a2184c9b84d1b7bf24582f28e"></a>
 <div class="memitem">
 <div class="memproto">
 <div class="memitem">
 <div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
       <table class="memname">
         <tr>
           <td class="memname">const char* evlist[]</td>
         </tr>
       </table>
       <table class="memname">
         <tr>
           <td class="memname">const char* evlist[]</td>
         </tr>
       </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
 </div><div class="memdoc">
 </div><div class="memdoc">
-<b>Initial value:</b><div class="fragment"><div class="line">= {</div><div class="line">    <span class="stringliteral">&quot;tap_shortcut&quot;</span>,</div><div class="line">    <span class="stringliteral">&quot;on_screen_message&quot;</span>,</div><div class="line">    <span class="stringliteral">&quot;on_screen_reply&quot;</span>,</div><div class="line">    <span class="stringliteral">&quot;reserved&quot;</span></div><div class="line">  }</div></div><!-- fragment -->
-<p class="definition">Definition at line <a class="el" href="../../d3/d3d/hs-helper_8h_source.html#l00034">34</a> of file <a class="el" href="../../d3/d3d/hs-helper_8h_source.html">hs-helper.h</a>.</p>
+
+<p>Definition at line <a class="el" href="../../df/d66/hs-helper_8cpp_source.html#l00022">22</a> of file <a class="el" href="../../df/d66/hs-helper_8cpp_source.html">hs-helper.cpp</a>.</p>
 
 </div>
 </div>
 
 </div>
 </div>
@@ -467,7 +666,7 @@ Variables</h2></td></tr>
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
-</a> 1.8.13
+</a> 1.8.11
 </small></address>
 </body>
 </html>
 </small></address>
 </body>
 </html>
index f0a581a..3406ab2 100644 (file)
@@ -3,8 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <title>HomeScreenBinding: src/hs-helper.h Source File</title>
 <link href="../../tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="../../jquery.js"></script>
 <title>HomeScreenBinding: src/hs-helper.h Source File</title>
 <link href="../../tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="../../jquery.js"></script>
@@ -12,6 +11,9 @@
 <link href="../../search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="../../search/searchdata.js"></script>
 <script type="text/javascript" src="../../search/search.js"></script>
 <link href="../../search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="../../search/searchdata.js"></script>
 <script type="text/javascript" src="../../search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
 <link href="../../doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
 <link href="../../doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
 </table>
 </div>
 <!-- end header part -->
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.11 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
 </script>
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
 </script>
-<script type="text/javascript" src="../../menudata.js"></script>
-<script type="text/javascript" src="../../menu.js"></script>
-<script type="text/javascript">
-$(function() {
-  initMenu('../../',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-</script>
-<div id="main-nav"></div>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="../../index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="../../annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="../../files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="../../search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="../../files.html"><span>File&#160;List</span></a></li>
+      <li><a href="../../globals.html"><span>File&#160;Members</span></a></li>
+    </ul>
+  </div>
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
      onmouseover="return searchBox.OnSearchSelectShow()"
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
      onmouseover="return searchBox.OnSearchSelectShow()"
@@ -66,26 +88,29 @@ $(function() {
 <div class="title">hs-helper.h</div>  </div>
 </div><!--header-->
 <div class="contents">
 <div class="title">hs-helper.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="../../d3/d3d/hs-helper_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * Copyright (c) 2017 TOYOTA MOTOR CORPORATION</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> * Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * you may not use this file except in compliance with the License.</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * You may obtain a copy of the License at</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *      http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * limitations under the License.</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef HOMESCREEN_HELPER_H</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define HOMESCREEN_HELPER_H</span></div><div class="line"><a name="l00019"></a><span class="lineno"><a class="line" href="../../d3/d3d/hs-helper_8h.html#ad2c1fbc92ba364fcf83f15e6d0af66f0">   19</a></span>&#160;<span class="preprocessor">#define AFB_BINDING_VERSION 2</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;afb/afb-binding.h&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;stdint.h&gt;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;glib.h&gt;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;errno.h&gt;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../df/d76/hmi-debug_8h.html">hmi-debug.h</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno"><a class="line" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899">   26</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899">REQ_ERROR</a></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;{</div><div class="line"><a name="l00028"></a><span class="lineno"><a class="line" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1">   28</a></span>&#160;  <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1">REQ_FAIL</a> = -1,</div><div class="line"><a name="l00029"></a><span class="lineno"><a class="line" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee">   29</a></span>&#160;  <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee">REQ_OK</a>=0,</div><div class="line"><a name="l00030"></a><span class="lineno"><a class="line" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a">   30</a></span>&#160;  <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a">NOT_NUMBER</a>,</div><div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b">   31</a></span>&#160;  <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b">OUT_RANGE</a></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;}<a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899">REQ_ERROR</a>;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="../../d3/d3d/hs-helper_8h.html#a0cd84b1a2184c9b84d1b7bf24582f28e">   34</a></span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="../../d3/d3d/hs-helper_8h.html#a0cd84b1a2184c9b84d1b7bf24582f28e">evlist</a>[] = {</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;    <span class="stringliteral">&quot;tap_shortcut&quot;</span>,</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;    <span class="stringliteral">&quot;on_screen_message&quot;</span>,</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;    <span class="stringliteral">&quot;on_screen_reply&quot;</span>,</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;    <span class="stringliteral">&quot;reserved&quot;</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;  };</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899">REQ_ERROR</a> <a class="code" href="../../d3/d3d/hs-helper_8h.html#a649900645417f2df3a70b9ad67529f53">get_value_uint16</a>(<span class="keyword">const</span> <span class="keyword">struct</span> afb_req request, <span class="keyword">const</span> <span class="keywordtype">char</span> *source, uint16_t *out_id);</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899">REQ_ERROR</a> <a class="code" href="../../d3/d3d/hs-helper_8h.html#a2e62366684e39ea94436bf017e416827">get_value_int16</a>(<span class="keyword">const</span> <span class="keyword">struct</span> afb_req request, <span class="keyword">const</span> <span class="keywordtype">char</span> *source, int16_t *out_id);</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899">REQ_ERROR</a> <a class="code" href="../../d3/d3d/hs-helper_8h.html#ac5b0370643c520377afd3fd4891918d2">get_value_int32</a>(<span class="keyword">const</span> <span class="keyword">struct</span> afb_req request, <span class="keyword">const</span> <span class="keywordtype">char</span> *source, int32_t *out_id);</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#a1ba31a6a94515ff1730ba0043a67d59e">hs_add_object_to_json_object</a>(<span class="keyword">struct</span> json_object* j_obj, <span class="keywordtype">int</span> count, ...);</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#a8777c53f1d4d5412f19b134ad85ffedf">hs_add_object_to_json_object_str</a>(<span class="keyword">struct</span> json_object* j_obj, <span class="keywordtype">int</span> count, ...);</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs_add_object_to_json_object_func</a>(<span class="keyword">struct</span> json_object* j_obj, <span class="keyword">const</span> <span class="keywordtype">char</span>* verb_name, <span class="keywordtype">int</span> count, ...);</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#a2ff1b894941c3b461ca8119079c4146a">hs_search_event_name_index</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* value);</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/*HOMESCREEN_HELPER_H*/</span><span class="preprocessor"></span></div><div class="ttc" id="hs-helper_8h_html_ae83604a37134e7bdee3ce4f10bb0b47a"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs_add_object_to_json_object_func</a></div><div class="ttdeci">void hs_add_object_to_json_object_func(struct json_object *j_obj, const char *verb_name, int count,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d1d/hs-helper_8c_source.html#l00125">hs-helper.c:125</a></div></div>
-<div class="ttc" id="hs-helper_8h_html_a649900645417f2df3a70b9ad67529f53"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#a649900645417f2df3a70b9ad67529f53">get_value_uint16</a></div><div class="ttdeci">REQ_ERROR get_value_uint16(const struct afb_req request, const char *source, uint16_t *out_id)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d1d/hs-helper_8c_source.html#l00024">hs-helper.c:24</a></div></div>
-<div class="ttc" id="hs-helper_8h_html_a1ba31a6a94515ff1730ba0043a67d59e"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#a1ba31a6a94515ff1730ba0043a67d59e">hs_add_object_to_json_object</a></div><div class="ttdeci">void hs_add_object_to_json_object(struct json_object *j_obj, int count,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d1d/hs-helper_8c_source.html#l00096">hs-helper.c:96</a></div></div>
-<div class="ttc" id="hs-helper_8h_html_ac5b0370643c520377afd3fd4891918d2"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#ac5b0370643c520377afd3fd4891918d2">get_value_int32</a></div><div class="ttdeci">REQ_ERROR get_value_int32(const struct afb_req request, const char *source, int32_t *out_id)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d1d/hs-helper_8c_source.html#l00072">hs-helper.c:72</a></div></div>
-<div class="ttc" id="hs-helper_8h_html_a2e62366684e39ea94436bf017e416827"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#a2e62366684e39ea94436bf017e416827">get_value_int16</a></div><div class="ttdeci">REQ_ERROR get_value_int16(const struct afb_req request, const char *source, int16_t *out_id)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d1d/hs-helper_8c_source.html#l00048">hs-helper.c:48</a></div></div>
-<div class="ttc" id="hs-helper_8h_html_a2ff1b894941c3b461ca8119079c4146a"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#a2ff1b894941c3b461ca8119079c4146a">hs_search_event_name_index</a></div><div class="ttdeci">int hs_search_event_name_index(const char *value)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d1d/hs-helper_8c_source.html#l00142">hs-helper.c:142</a></div></div>
-<div class="ttc" id="hs-helper_8h_html_a0cd84b1a2184c9b84d1b7bf24582f28e"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#a0cd84b1a2184c9b84d1b7bf24582f28e">evlist</a></div><div class="ttdeci">static const char * evlist[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00034">hs-helper.h:34</a></div></div>
-<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1">REQ_FAIL</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00028">hs-helper.h:28</a></div></div>
-<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b">OUT_RANGE</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00031">hs-helper.h:31</a></div></div>
-<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a">NOT_NUMBER</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00030">hs-helper.h:30</a></div></div>
-<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee">REQ_OK</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00029">hs-helper.h:29</a></div></div>
-<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899">REQ_ERROR</a></div><div class="ttdeci">REQ_ERROR</div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00026">hs-helper.h:26</a></div></div>
-<div class="ttc" id="hmi-debug_8h_html"><div class="ttname"><a href="../../df/d76/hmi-debug_8h.html">hmi-debug.h</a></div></div>
-<div class="ttc" id="hs-helper_8h_html_a8777c53f1d4d5412f19b134ad85ffedf"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#a8777c53f1d4d5412f19b134ad85ffedf">hs_add_object_to_json_object_str</a></div><div class="ttdeci">void hs_add_object_to_json_object_str(struct json_object *j_obj, int count,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d1d/hs-helper_8c_source.html#l00110">hs-helper.c:110</a></div></div>
+<a href="../../d3/d3d/hs-helper_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * Copyright (c) 2017 TOYOTA MOTOR CORPORATION</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> * Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * you may not use this file except in compliance with the License.</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * You may obtain a copy of the License at</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *      http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * limitations under the License.</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef HOMESCREEN_HELPER_H</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define HOMESCREEN_HELPER_H</span></div><div class="line"><a name="l00019"></a><span class="lineno"><a class="line" href="../../d3/d3d/hs-helper_8h.html#ad2c1fbc92ba364fcf83f15e6d0af66f0">   19</a></span>&#160;<span class="preprocessor">#define AFB_BINDING_VERSION 3</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;afb/afb-binding.h&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;json-c/json.h&gt;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno"><a class="line" href="../../d3/d3d/hs-helper_8h.html#aa611e2ec24ef295bd87825889fe2ce5e">   23</a></span>&#160;<span class="preprocessor">#define AFB_EVENT_BAD_REQUEST       100</span></div><div class="line"><a name="l00024"></a><span class="lineno"><a class="line" href="../../d3/d3d/hs-helper_8h.html#a995612de89db4df1483c16e4b9b70571">   24</a></span>&#160;<span class="preprocessor">#define AFB_REQ_SUBSCRIBE_ERROR     101</span></div><div class="line"><a name="l00025"></a><span class="lineno"><a class="line" href="../../d3/d3d/hs-helper_8h.html#a78e930a97920b821706a80ca8f430034">   25</a></span>&#160;<span class="preprocessor">#define AFB_REQ_UNSUBSCRIBE_ERROR   102</span></div><div class="line"><a name="l00026"></a><span class="lineno"><a class="line" href="../../d3/d3d/hs-helper_8h.html#a057fc88b8445828c261305cf9107d99d">   26</a></span>&#160;<span class="preprocessor">#define AFB_REQ_SHOWNOTIFICATION_ERROR   103</span></div><div class="line"><a name="l00027"></a><span class="lineno"><a class="line" href="../../d3/d3d/hs-helper_8h.html#aefe0d7ff8202f954693c235c1fb8e310">   27</a></span>&#160;<span class="preprocessor">#define AFB_REQ_SHOWINFORMATION_ERROR    104</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno"><a class="line" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899">   29</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899">REQ_ERROR</a></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;{</div><div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1">   31</a></span>&#160;  <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1">REQ_FAIL</a> = -1,</div><div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee">   32</a></span>&#160;  <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee">REQ_OK</a>=0,</div><div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a">   33</a></span>&#160;  <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a">NOT_NUMBER</a>,</div><div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b">   34</a></span>&#160;  <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b">OUT_RANGE</a></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;}<a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899">REQ_ERROR</a>;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="../../d3/d3d/hs-helper_8h.html#a0cd84b1a2184c9b84d1b7bf24582f28e">evlist</a>[];</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aed1c5296a2e6d34945507a0fca17a376">_error</a>[];</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#a6a0e1db2562b442f8131ddf64b61d1ba">_application_id</a>[];</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#abfd6c1d6f316fa952b11553f8f275e92">_display_message</a>[];</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#a79b0f0b481161527ccb80e83da143219">_reply_message</a>[];</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899">REQ_ERROR</a> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aba9ca63f68b1991f8650871f4eae8e0b">get_value_uint16</a>(<span class="keyword">const</span> afb_req_t request, <span class="keyword">const</span> <span class="keywordtype">char</span> *source, uint16_t *out_id);</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899">REQ_ERROR</a> <a class="code" href="../../d3/d3d/hs-helper_8h.html#af3043612cf74bb92cb073e10cacd594a">get_value_int16</a>(<span class="keyword">const</span> afb_req_t request, <span class="keyword">const</span> <span class="keywordtype">char</span> *source, int16_t *out_id);</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899">REQ_ERROR</a> <a class="code" href="../../d3/d3d/hs-helper_8h.html#a8121d965b6fd795c16b8576ab03dcaf1">get_value_int32</a>(<span class="keyword">const</span> afb_req_t request, <span class="keyword">const</span> <span class="keywordtype">char</span> *source, int32_t *out_id);</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#a1ba31a6a94515ff1730ba0043a67d59e">hs_add_object_to_json_object</a>(<span class="keyword">struct</span> json_object* j_obj, <span class="keywordtype">int</span> count, ...);</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#a8777c53f1d4d5412f19b134ad85ffedf">hs_add_object_to_json_object_str</a>(<span class="keyword">struct</span> json_object* j_obj, <span class="keywordtype">int</span> count, ...);</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs_add_object_to_json_object_func</a>(<span class="keyword">struct</span> json_object* j_obj, <span class="keyword">const</span> <span class="keywordtype">char</span>* verb_name, <span class="keywordtype">int</span> count, ...);</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#a2ff1b894941c3b461ca8119079c4146a">hs_search_event_name_index</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* value);</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/*HOMESCREEN_HELPER_H*/</span><span class="preprocessor"></span></div><div class="ttc" id="hs-helper_8h_html_a6a0e1db2562b442f8131ddf64b61d1ba"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#a6a0e1db2562b442f8131ddf64b61d1ba">_application_id</a></div><div class="ttdeci">const char _application_id[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00028">homescreen.cpp:28</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_ae83604a37134e7bdee3ce4f10bb0b47a"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs_add_object_to_json_object_func</a></div><div class="ttdeci">void hs_add_object_to_json_object_func(struct json_object *j_obj, const char *verb_name, int count,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d66/hs-helper_8cpp_source.html#l00207">hs-helper.cpp:207</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_a79b0f0b481161527ccb80e83da143219"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#a79b0f0b481161527ccb80e83da143219">_reply_message</a></div><div class="ttdeci">const char _reply_message[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00030">homescreen.cpp:30</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_abfd6c1d6f316fa952b11553f8f275e92"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#abfd6c1d6f316fa952b11553f8f275e92">_display_message</a></div><div class="ttdeci">const char _display_message[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00029">homescreen.cpp:29</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_a8121d965b6fd795c16b8576ab03dcaf1"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#a8121d965b6fd795c16b8576ab03dcaf1">get_value_int32</a></div><div class="ttdeci">REQ_ERROR get_value_int32(const afb_req_t request, const char *source, int32_t *out_id)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d66/hs-helper_8cpp_source.html#l00118">hs-helper.cpp:118</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_a1ba31a6a94515ff1730ba0043a67d59e"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#a1ba31a6a94515ff1730ba0043a67d59e">hs_add_object_to_json_object</a></div><div class="ttdeci">void hs_add_object_to_json_object(struct json_object *j_obj, int count,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d66/hs-helper_8cpp_source.html#l00154">hs-helper.cpp:154</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_aed1c5296a2e6d34945507a0fca17a376"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aed1c5296a2e6d34945507a0fca17a376">_error</a></div><div class="ttdeci">const char _error[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00027">homescreen.cpp:27</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_a2ff1b894941c3b461ca8119079c4146a"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#a2ff1b894941c3b461ca8119079c4146a">hs_search_event_name_index</a></div><div class="ttdeci">int hs_search_event_name_index(const char *value)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d66/hs-helper_8cpp_source.html#l00234">hs-helper.cpp:234</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_a0cd84b1a2184c9b84d1b7bf24582f28e"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#a0cd84b1a2184c9b84d1b7bf24582f28e">evlist</a></div><div class="ttdeci">const char * evlist[]</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d66/hs-helper_8cpp_source.html#l00022">hs-helper.cpp:22</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1">REQ_FAIL</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00031">hs-helper.h:31</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b">OUT_RANGE</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00034">hs-helper.h:34</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_aba9ca63f68b1991f8650871f4eae8e0b"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aba9ca63f68b1991f8650871f4eae8e0b">get_value_uint16</a></div><div class="ttdeci">REQ_ERROR get_value_uint16(const afb_req_t request, const char *source, uint16_t *out_id)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d66/hs-helper_8cpp_source.html#l00046">hs-helper.cpp:46</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a">NOT_NUMBER</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00033">hs-helper.h:33</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee">REQ_OK</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00032">hs-helper.h:32</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899">REQ_ERROR</a></div><div class="ttdeci">REQ_ERROR</div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00029">hs-helper.h:29</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_a8777c53f1d4d5412f19b134ad85ffedf"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#a8777c53f1d4d5412f19b134ad85ffedf">hs_add_object_to_json_object_str</a></div><div class="ttdeci">void hs_add_object_to_json_object_str(struct json_object *j_obj, int count,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d66/hs-helper_8cpp_source.html#l00180">hs-helper.cpp:180</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_af3043612cf74bb92cb073e10cacd594a"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#af3043612cf74bb92cb073e10cacd594a">get_value_int16</a></div><div class="ttdeci">REQ_ERROR get_value_int16(const afb_req_t request, const char *source, int16_t *out_id)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d66/hs-helper_8cpp_source.html#l00082">hs-helper.cpp:82</a></div></div>
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
-</a> 1.8.13
+</a> 1.8.11
 </small></address>
 </body>
 </html>
 </small></address>
 </body>
 </html>
diff --git a/doc/api-ref/html/d4/d10/structdisplay-members.html b/doc/api-ref/html/d4/d10/structdisplay-members.html
new file mode 100644 (file)
index 0000000..a98b168
--- /dev/null
@@ -0,0 +1,110 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<title>HomeScreenBinding: Member List</title>
+<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="../../jquery.js"></script>
+<script type="text/javascript" src="../../dynsections.js"></script>
+<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="../../search/searchdata.js"></script>
+<script type="text/javascript" src="../../search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">HomeScreenBinding
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="../../index.html"><span>Main&#160;Page</span></a></li>
+      <li class="current"><a href="../../annotated.html"><span>Classes</span></a></li>
+      <li><a href="../../files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="../../search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="../../annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="../../functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">display Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="../../d6/df5/structdisplay.html">display</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="../../d6/df5/structdisplay.html#a41ba32dfde812165dda5b62885000c78">compositor</a></td><td class="entry"><a class="el" href="../../d6/df5/structdisplay.html">display</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="../../d6/df5/structdisplay.html#a880aef9408b499f5b749541dc6e396c3">conf</a></td><td class="entry"><a class="el" href="../../d6/df5/structdisplay.html">display</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="../../d6/df5/structdisplay.html#a3420940a29a710e0e5ebd41ba462cc00">ctx</a></td><td class="entry"><a class="el" href="../../d6/df5/structdisplay.html">display</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="../../d6/df5/structdisplay.html#aa8faf09631925e9221fd8a0c086ce75a">display</a></td><td class="entry"><a class="el" href="../../d6/df5/structdisplay.html">display</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="../../d6/df5/structdisplay.html#a8a1cbda15a286e41e89a85f158ce9311">dpy</a></td><td class="entry"><a class="el" href="../../d6/df5/structdisplay.html">display</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="../../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">egl</a></td><td class="entry"><a class="el" href="../../d6/df5/structdisplay.html">display</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="../../d6/df5/structdisplay.html#a24c073faff3bb4799c2d46291f27ab89">ivi_application</a></td><td class="entry"><a class="el" href="../../d6/df5/structdisplay.html">display</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="../../d6/df5/structdisplay.html#a925781323f5c8eb84ef2225ed129de4b">registry</a></td><td class="entry"><a class="el" href="../../d6/df5/structdisplay.html">display</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="../../d6/df5/structdisplay.html#a9dd8fd9967beb6b3767bd93011373bb8">seat</a></td><td class="entry"><a class="el" href="../../d6/df5/structdisplay.html">display</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="../../d6/df5/structdisplay.html#a48c46c118e4765ef06596f6341c8f23f">swap_buffers_with_damage</a></td><td class="entry"><a class="el" href="../../d6/df5/structdisplay.html">display</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="../../d6/df5/structdisplay.html#a9974d560bec291487ae2440f897ffc58">window</a></td><td class="entry"><a class="el" href="../../d6/df5/structdisplay.html">display</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="../../doxygen.png" alt="doxygen"/>
+</a> 1.8.11
+</small></address>
+</body>
+</html>
diff --git a/doc/api-ref/html/d5/d0d/class_h_s___client-members.html b/doc/api-ref/html/d5/d0d/class_h_s___client-members.html
new file mode 100644 (file)
index 0000000..ea1b866
--- /dev/null
@@ -0,0 +1,114 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<title>HomeScreenBinding: Member List</title>
+<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="../../jquery.js"></script>
+<script type="text/javascript" src="../../dynsections.js"></script>
+<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="../../search/searchdata.js"></script>
+<script type="text/javascript" src="../../search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">HomeScreenBinding
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="../../index.html"><span>Main&#160;Page</span></a></li>
+      <li class="current"><a href="../../annotated.html"><span>Classes</span></a></li>
+      <li><a href="../../files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="../../search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="../../annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="../../functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">HS_Client Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="../../d5/d20/class_h_s___client.html">HS_Client</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="../../d5/d20/class_h_s___client.html#ac29482ffdf1b27733247ba0ffcc28b76">hideWindow</a>(afb_req_t request)</td><td class="entry"><a class="el" href="../../d5/d20/class_h_s___client.html">HS_Client</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="../../d5/d20/class_h_s___client.html#a0afac6b86b9a72e74846e47e435f5f90">HS_Client</a>(afb_req_t request, const char *id)</td><td class="entry"><a class="el" href="../../d5/d20/class_h_s___client.html">HS_Client</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="../../d5/d20/class_h_s___client.html#a47cb0035116ac7be4fffcfc9736e9233">HS_Client</a>(afb_req_t request, std::string id)</td><td class="entry"><a class="el" href="../../d5/d20/class_h_s___client.html">HS_Client</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="../../d5/d20/class_h_s___client.html#a429a4697767344f3789bb233bc73a2b9">HS_Client</a>(HS_Client &amp;)=delete</td><td class="entry"><a class="el" href="../../d5/d20/class_h_s___client.html">HS_Client</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="../../d5/d20/class_h_s___client.html#a274301617c9ab629d6916c0dde8c40b9">on_screen_message</a>(afb_req_t request, const char *message)</td><td class="entry"><a class="el" href="../../d5/d20/class_h_s___client.html">HS_Client</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="../../d5/d20/class_h_s___client.html#a9f7a30840c95b1348bcce4cd4626b2ae">on_screen_reply</a>(afb_req_t request, const char *message)</td><td class="entry"><a class="el" href="../../d5/d20/class_h_s___client.html">HS_Client</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="../../d5/d20/class_h_s___client.html#a3e3d8fa1c8746d6d1b1650fe1fcc56a8">operator=</a>(HS_Client &amp;)=delete</td><td class="entry"><a class="el" href="../../d5/d20/class_h_s___client.html">HS_Client</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="../../d5/d20/class_h_s___client.html#a294e461500ef02aed17ed5d91479f6b9">replyShowWindow</a>(afb_req_t request, const char *appid)</td><td class="entry"><a class="el" href="../../d5/d20/class_h_s___client.html">HS_Client</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="../../d5/d20/class_h_s___client.html#a7145c14a7a971b45f647a82e3390ce9c">showInformation</a>(afb_req_t request)</td><td class="entry"><a class="el" href="../../d5/d20/class_h_s___client.html">HS_Client</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="../../d5/d20/class_h_s___client.html#a77b41c1bc6f2c939410108d821a0b456">showNotification</a>(afb_req_t request)</td><td class="entry"><a class="el" href="../../d5/d20/class_h_s___client.html">HS_Client</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="../../d5/d20/class_h_s___client.html#af0f2be967a5b6ee81932c73b101184f7">showWindow</a>(afb_req_t request, const char *appid)</td><td class="entry"><a class="el" href="../../d5/d20/class_h_s___client.html">HS_Client</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="../../d5/d20/class_h_s___client.html#a3d000ca70bd4a8af7c4895d95bc7d0d0">subscribe</a>(afb_req_t request, const char *event)</td><td class="entry"><a class="el" href="../../d5/d20/class_h_s___client.html">HS_Client</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="../../d5/d20/class_h_s___client.html#a0d7fb8316248e8946dcb73a6612f21bb">tap_shortcut</a>(const char *appid)</td><td class="entry"><a class="el" href="../../d5/d20/class_h_s___client.html">HS_Client</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="../../d5/d20/class_h_s___client.html#a3da3b5662f918e11773da75f8f971d9c">unsubscribe</a>(afb_req_t request, const char *event)</td><td class="entry"><a class="el" href="../../d5/d20/class_h_s___client.html">HS_Client</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="../../d5/d20/class_h_s___client.html#ab29a9e899aaec3c21983c24ec6e5ee70">~HS_Client</a>()</td><td class="entry"><a class="el" href="../../d5/d20/class_h_s___client.html">HS_Client</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="../../doxygen.png" alt="doxygen"/>
+</a> 1.8.11
+</small></address>
+</body>
+</html>
diff --git a/doc/api-ref/html/d5/d20/class_h_s___client.html b/doc/api-ref/html/d5/d20/class_h_s___client.html
new file mode 100644 (file)
index 0000000..e9d7ff8
--- /dev/null
@@ -0,0 +1,653 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<title>HomeScreenBinding: HS_Client Class Reference</title>
+<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="../../jquery.js"></script>
+<script type="text/javascript" src="../../dynsections.js"></script>
+<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="../../search/searchdata.js"></script>
+<script type="text/javascript" src="../../search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">HomeScreenBinding
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="../../index.html"><span>Main&#160;Page</span></a></li>
+      <li class="current"><a href="../../annotated.html"><span>Classes</span></a></li>
+      <li><a href="../../files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="../../search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="../../annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="../../functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="../../d5/d0d/class_h_s___client-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">HS_Client Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><code>#include &lt;<a class="el" href="../../da/dd3/hs-client_8h_source.html">hs-client.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a0afac6b86b9a72e74846e47e435f5f90"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d20/class_h_s___client.html#a0afac6b86b9a72e74846e47e435f5f90">HS_Client</a> (afb_req_t request, const char *id)</td></tr>
+<tr class="separator:a0afac6b86b9a72e74846e47e435f5f90"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a47cb0035116ac7be4fffcfc9736e9233"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d20/class_h_s___client.html#a47cb0035116ac7be4fffcfc9736e9233">HS_Client</a> (afb_req_t request, std::string id)</td></tr>
+<tr class="separator:a47cb0035116ac7be4fffcfc9736e9233"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a429a4697767344f3789bb233bc73a2b9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d20/class_h_s___client.html#a429a4697767344f3789bb233bc73a2b9">HS_Client</a> (<a class="el" href="../../d5/d20/class_h_s___client.html">HS_Client</a> &amp;)=delete</td></tr>
+<tr class="separator:a429a4697767344f3789bb233bc73a2b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3e3d8fa1c8746d6d1b1650fe1fcc56a8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d5/d20/class_h_s___client.html">HS_Client</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d20/class_h_s___client.html#a3e3d8fa1c8746d6d1b1650fe1fcc56a8">operator=</a> (<a class="el" href="../../d5/d20/class_h_s___client.html">HS_Client</a> &amp;)=delete</td></tr>
+<tr class="separator:a3e3d8fa1c8746d6d1b1650fe1fcc56a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab29a9e899aaec3c21983c24ec6e5ee70"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d20/class_h_s___client.html#ab29a9e899aaec3c21983c24ec6e5ee70">~HS_Client</a> ()</td></tr>
+<tr class="separator:ab29a9e899aaec3c21983c24ec6e5ee70"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0d7fb8316248e8946dcb73a6612f21bb"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d20/class_h_s___client.html#a0d7fb8316248e8946dcb73a6612f21bb">tap_shortcut</a> (const char *appid)</td></tr>
+<tr class="separator:a0d7fb8316248e8946dcb73a6612f21bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af0f2be967a5b6ee81932c73b101184f7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d20/class_h_s___client.html#af0f2be967a5b6ee81932c73b101184f7">showWindow</a> (afb_req_t request, const char *appid)</td></tr>
+<tr class="separator:af0f2be967a5b6ee81932c73b101184f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac29482ffdf1b27733247ba0ffcc28b76"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d20/class_h_s___client.html#ac29482ffdf1b27733247ba0ffcc28b76">hideWindow</a> (afb_req_t request)</td></tr>
+<tr class="separator:ac29482ffdf1b27733247ba0ffcc28b76"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a294e461500ef02aed17ed5d91479f6b9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d20/class_h_s___client.html#a294e461500ef02aed17ed5d91479f6b9">replyShowWindow</a> (afb_req_t request, const char *appid)</td></tr>
+<tr class="separator:a294e461500ef02aed17ed5d91479f6b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a274301617c9ab629d6916c0dde8c40b9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d20/class_h_s___client.html#a274301617c9ab629d6916c0dde8c40b9">on_screen_message</a> (afb_req_t request, const char *message)</td></tr>
+<tr class="separator:a274301617c9ab629d6916c0dde8c40b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9f7a30840c95b1348bcce4cd4626b2ae"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d20/class_h_s___client.html#a9f7a30840c95b1348bcce4cd4626b2ae">on_screen_reply</a> (afb_req_t request, const char *message)</td></tr>
+<tr class="separator:a9f7a30840c95b1348bcce4cd4626b2ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3d000ca70bd4a8af7c4895d95bc7d0d0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d20/class_h_s___client.html#a3d000ca70bd4a8af7c4895d95bc7d0d0">subscribe</a> (afb_req_t request, const char *event)</td></tr>
+<tr class="separator:a3d000ca70bd4a8af7c4895d95bc7d0d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3da3b5662f918e11773da75f8f971d9c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d20/class_h_s___client.html#a3da3b5662f918e11773da75f8f971d9c">unsubscribe</a> (afb_req_t request, const char *event)</td></tr>
+<tr class="separator:a3da3b5662f918e11773da75f8f971d9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a77b41c1bc6f2c939410108d821a0b456"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d20/class_h_s___client.html#a77b41c1bc6f2c939410108d821a0b456">showNotification</a> (afb_req_t request)</td></tr>
+<tr class="separator:a77b41c1bc6f2c939410108d821a0b456"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7145c14a7a971b45f647a82e3390ce9c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d20/class_h_s___client.html#a7145c14a7a971b45f647a82e3390ce9c">showInformation</a> (afb_req_t request)</td></tr>
+<tr class="separator:a7145c14a7a971b45f647a82e3390ce9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock">
+<p>Definition at line <a class="el" href="../../da/dd3/hs-client_8h_source.html#l00025">25</a> of file <a class="el" href="../../da/dd3/hs-client_8h_source.html">hs-client.h</a>.</p>
+</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a0afac6b86b9a72e74846e47e435f5f90"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">HS_Client::HS_Client </td>
+          <td>(</td>
+          <td class="paramtype">afb_req_t&#160;</td>
+          <td class="paramname"><em>request</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>id</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../da/dd3/hs-client_8h_source.html#l00027">27</a> of file <a class="el" href="../../da/dd3/hs-client_8h_source.html">hs-client.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;: <a class="code" href="../../d5/d20/class_h_s___client.html#a0afac6b86b9a72e74846e47e435f5f90">HS_Client</a>(request, std::string(<span class="keywordtype">id</span>)){}</div><div class="ttc" id="class_h_s___client_html_a0afac6b86b9a72e74846e47e435f5f90"><div class="ttname"><a href="../../d5/d20/class_h_s___client.html#a0afac6b86b9a72e74846e47e435f5f90">HS_Client::HS_Client</a></div><div class="ttdeci">HS_Client(afb_req_t request, const char *id)</div><div class="ttdef"><b>Definition:</b> <a href="../../da/dd3/hs-client_8h_source.html#l00027">hs-client.h:27</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a47cb0035116ac7be4fffcfc9736e9233"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">HS_Client::HS_Client </td>
+          <td>(</td>
+          <td class="paramtype">afb_req_t&#160;</td>
+          <td class="paramname"><em>request</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">std::string&#160;</td>
+          <td class="paramname"><em>id</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p><a class="el" href="../../d5/d20/class_h_s___client.html">HS_Client</a> construction function</p>
+<h4>Parameters</h4>
+<ul>
+<li>id: app's id</li>
+</ul>
+<h4>Return</h4>
+<p>None </p>
+
+<p>Definition at line <a class="el" href="../../d8/d55/hs-client_8cpp_source.html#l00038">38</a> of file <a class="el" href="../../d8/d55/hs-client_8cpp_source.html">hs-client.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;                                                    : my_id(<span class="keywordtype">id</span>)</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;{</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;called.&quot;</span>);</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;    my_event = afb_api_make_event(request-&gt;api, <span class="keywordtype">id</span>.c_str());</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;}</div><div class="ttc" id="include_2hmi-debug_8h_html_abc0d6e0760017d8ae48b836925b2ef15"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a></div><div class="ttdeci">#define HMI_NOTICE(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00040">hmi-debug.h:40</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a429a4697767344f3789bb233bc73a2b9"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">HS_Client::HS_Client </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="../../d5/d20/class_h_s___client.html">HS_Client</a> &amp;&#160;</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">delete</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ab29a9e899aaec3c21983c24ec6e5ee70"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">HS_Client::~HS_Client </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p><a class="el" href="../../d5/d20/class_h_s___client.html">HS_Client</a> destruction function</p>
+<h4>Parameters</h4>
+<ul>
+<li>null</li>
+</ul>
+<h4>Return</h4>
+<p>None </p>
+
+<p>Definition at line <a class="el" href="../../d8/d55/hs-client_8cpp_source.html#l00054">54</a> of file <a class="el" href="../../d8/d55/hs-client_8cpp_source.html">hs-client.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;{</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;called.&quot;</span>);</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    afb_event_unref(my_event);</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;}</div><div class="ttc" id="include_2hmi-debug_8h_html_abc0d6e0760017d8ae48b836925b2ef15"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a></div><div class="ttdeci">#define HMI_NOTICE(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00040">hmi-debug.h:40</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="ac29482ffdf1b27733247ba0ffcc28b76"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int HS_Client::hideWindow </td>
+          <td>(</td>
+          <td class="paramtype">afb_req_t&#160;</td>
+          <td class="paramname"><em>request</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>hideWindow event</p>
+<p>input contents : {"application_id":"the appid that want to hide"}</p>
+<h4>Parameters</h4>
+<ul>
+<li>request : the request</li>
+</ul>
+<h4>Return</h4>
+<p>0 : success others : fail </p>
+
+<p>Definition at line <a class="el" href="../../d8/d55/hs-client_8cpp_source.html#l00245">245</a> of file <a class="el" href="../../d8/d55/hs-client_8cpp_source.html">hs-client.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;{</div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;    <span class="keywordflow">if</span>(!checkEvent(__FUNCTION__))</div><div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;        <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;</div><div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;%s application_id = %s.&quot;</span>, __FUNCTION__);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* req_appid = afb_req_get_application_id(request);</div><div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;    <span class="keyword">struct </span>json_object* push_obj = json_object_new_object();</div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;    <a class="code" href="../../df/d66/hs-helper_8cpp.html#a8777c53f1d4d5412f19b134ad85ffedf">hs_add_object_to_json_object_str</a>( push_obj, 4, <a class="code" href="../../d6/dda/homescreen_8cpp.html#a6a0e1db2562b442f8131ddf64b61d1ba">_application_id</a>, req_appid,</div><div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;    <a class="code" href="../../d8/d55/hs-client_8cpp.html#a1c24b43242df87f75631175c75afdcda">_type</a>, __FUNCTION__);</div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;    afb_event_push(my_event, push_obj);</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;}</div><div class="ttc" id="include_2hmi-debug_8h_html_abc0d6e0760017d8ae48b836925b2ef15"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a></div><div class="ttdeci">#define HMI_NOTICE(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00040">hmi-debug.h:40</a></div></div>
+<div class="ttc" id="hs-client_8cpp_html_a1c24b43242df87f75631175c75afdcda"><div class="ttname"><a href="../../d8/d55/hs-client_8cpp.html#a1c24b43242df87f75631175c75afdcda">_type</a></div><div class="ttdeci">static const char _type[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d8/d55/hs-client_8cpp_source.html#l00021">hs-client.cpp:21</a></div></div>
+<div class="ttc" id="hs-helper_8cpp_html_a8777c53f1d4d5412f19b134ad85ffedf"><div class="ttname"><a href="../../df/d66/hs-helper_8cpp.html#a8777c53f1d4d5412f19b134ad85ffedf">hs_add_object_to_json_object_str</a></div><div class="ttdeci">void hs_add_object_to_json_object_str(struct json_object *j_obj, int count,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d66/hs-helper_8cpp_source.html#l00180">hs-helper.cpp:180</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_a6a0e1db2562b442f8131ddf64b61d1ba"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#a6a0e1db2562b442f8131ddf64b61d1ba">_application_id</a></div><div class="ttdeci">const char _application_id[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00028">homescreen.cpp:28</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a274301617c9ab629d6916c0dde8c40b9"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int HS_Client::on_screen_message </td>
+          <td>(</td>
+          <td class="paramtype">afb_req_t&#160;</td>
+          <td class="paramname"><em>request</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>message</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>push on_screen_message event</p>
+<h4>Parameters</h4>
+<ul>
+<li>message: post message.</li>
+</ul>
+<h4>Return</h4>
+<p>result </p>
+
+<p>Definition at line <a class="el" href="../../d8/d55/hs-client_8cpp_source.html#l00093">93</a> of file <a class="el" href="../../d8/d55/hs-client_8cpp_source.html">hs-client.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;{</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;    <span class="keywordflow">if</span>(!checkEvent(__FUNCTION__))</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;        <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;push %s event message [%s].&quot;</span>, __FUNCTION__, message);</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;    <span class="keyword">struct </span>json_object* push_obj = json_object_new_object();</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;    <a class="code" href="../../df/d66/hs-helper_8cpp.html#a8777c53f1d4d5412f19b134ad85ffedf">hs_add_object_to_json_object_str</a>( push_obj, 4, <a class="code" href="../../d6/dda/homescreen_8cpp.html#abfd6c1d6f316fa952b11553f8f275e92">_display_message</a>, message,</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;    <a class="code" href="../../d8/d55/hs-client_8cpp.html#a1c24b43242df87f75631175c75afdcda">_type</a>, __FUNCTION__);</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;    afb_event_push(my_event, push_obj);</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;}</div><div class="ttc" id="include_2hmi-debug_8h_html_abc0d6e0760017d8ae48b836925b2ef15"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a></div><div class="ttdeci">#define HMI_NOTICE(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00040">hmi-debug.h:40</a></div></div>
+<div class="ttc" id="hs-client_8cpp_html_a1c24b43242df87f75631175c75afdcda"><div class="ttname"><a href="../../d8/d55/hs-client_8cpp.html#a1c24b43242df87f75631175c75afdcda">_type</a></div><div class="ttdeci">static const char _type[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d8/d55/hs-client_8cpp_source.html#l00021">hs-client.cpp:21</a></div></div>
+<div class="ttc" id="hs-helper_8cpp_html_a8777c53f1d4d5412f19b134ad85ffedf"><div class="ttname"><a href="../../df/d66/hs-helper_8cpp.html#a8777c53f1d4d5412f19b134ad85ffedf">hs_add_object_to_json_object_str</a></div><div class="ttdeci">void hs_add_object_to_json_object_str(struct json_object *j_obj, int count,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d66/hs-helper_8cpp_source.html#l00180">hs-helper.cpp:180</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_abfd6c1d6f316fa952b11553f8f275e92"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#abfd6c1d6f316fa952b11553f8f275e92">_display_message</a></div><div class="ttdeci">const char _display_message[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00029">homescreen.cpp:29</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a9f7a30840c95b1348bcce4cd4626b2ae"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int HS_Client::on_screen_reply </td>
+          <td>(</td>
+          <td class="paramtype">afb_req_t&#160;</td>
+          <td class="paramname"><em>request</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>message</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>push on_screen_reply event</p>
+<h4>Parameters</h4>
+<ul>
+<li>message: reply message.</li>
+</ul>
+<h4>Return</h4>
+<p>result </p>
+
+<p>Definition at line <a class="el" href="../../d8/d55/hs-client_8cpp_source.html#l00116">116</a> of file <a class="el" href="../../d8/d55/hs-client_8cpp_source.html">hs-client.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;{</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;    <span class="keywordflow">if</span>(!checkEvent(__FUNCTION__))</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;        <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;push %s event message [%s].&quot;</span>, __FUNCTION__, message);</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;    <span class="keyword">struct </span>json_object* push_obj = json_object_new_object();</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;    <a class="code" href="../../df/d66/hs-helper_8cpp.html#a8777c53f1d4d5412f19b134ad85ffedf">hs_add_object_to_json_object_str</a>( push_obj, 4, <a class="code" href="../../d6/dda/homescreen_8cpp.html#a79b0f0b481161527ccb80e83da143219">_reply_message</a>, message,</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;    <a class="code" href="../../d8/d55/hs-client_8cpp.html#a1c24b43242df87f75631175c75afdcda">_type</a>, __FUNCTION__);</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;    afb_event_push(my_event, push_obj);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;}</div><div class="ttc" id="homescreen_8cpp_html_a79b0f0b481161527ccb80e83da143219"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#a79b0f0b481161527ccb80e83da143219">_reply_message</a></div><div class="ttdeci">const char _reply_message[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00030">homescreen.cpp:30</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_abc0d6e0760017d8ae48b836925b2ef15"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a></div><div class="ttdeci">#define HMI_NOTICE(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00040">hmi-debug.h:40</a></div></div>
+<div class="ttc" id="hs-client_8cpp_html_a1c24b43242df87f75631175c75afdcda"><div class="ttname"><a href="../../d8/d55/hs-client_8cpp.html#a1c24b43242df87f75631175c75afdcda">_type</a></div><div class="ttdeci">static const char _type[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d8/d55/hs-client_8cpp_source.html#l00021">hs-client.cpp:21</a></div></div>
+<div class="ttc" id="hs-helper_8cpp_html_a8777c53f1d4d5412f19b134ad85ffedf"><div class="ttname"><a href="../../df/d66/hs-helper_8cpp.html#a8777c53f1d4d5412f19b134ad85ffedf">hs_add_object_to_json_object_str</a></div><div class="ttdeci">void hs_add_object_to_json_object_str(struct json_object *j_obj, int count,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d66/hs-helper_8cpp_source.html#l00180">hs-helper.cpp:180</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a3e3d8fa1c8746d6d1b1650fe1fcc56a8"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="../../d5/d20/class_h_s___client.html">HS_Client</a>&amp; HS_Client::operator= </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="../../d5/d20/class_h_s___client.html">HS_Client</a> &amp;&#160;</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">delete</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a294e461500ef02aed17ed5d91479f6b9"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int HS_Client::replyShowWindow </td>
+          <td>(</td>
+          <td class="paramtype">afb_req_t&#160;</td>
+          <td class="paramname"><em>request</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>appid</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>replyShowWindow event</p>
+<p>input contens : {"application_id": "the appid that want to reply", "parameter": {...}}</p>
+<h4>Parameters</h4>
+<ul>
+<li>request : the request</li>
+<li>appid : the appid that want to reply</li>
+</ul>
+<h4>Return</h4>
+<p>0 : success others : fail </p>
+
+<p>Definition at line <a class="el" href="../../d8/d55/hs-client_8cpp_source.html#l00273">273</a> of file <a class="el" href="../../d8/d55/hs-client_8cpp_source.html">hs-client.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;{</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;    <span class="keywordflow">if</span>(!checkEvent(__FUNCTION__))</div><div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;        <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;%s application_id = %s.&quot;</span>, __FUNCTION__, appid);</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;    <span class="keyword">struct </span>json_object* push_obj = json_object_new_object();</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;    <a class="code" href="../../df/d66/hs-helper_8cpp.html#a8777c53f1d4d5412f19b134ad85ffedf">hs_add_object_to_json_object_str</a>( push_obj, 4, <a class="code" href="../../d6/dda/homescreen_8cpp.html#a6a0e1db2562b442f8131ddf64b61d1ba">_application_id</a>, appid, <a class="code" href="../../d8/d55/hs-client_8cpp.html#a1c24b43242df87f75631175c75afdcda">_type</a>, __FUNCTION__);</div><div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* param = afb_req_value(request, <a class="code" href="../../d8/d55/hs-client_8cpp.html#ae3fc16098a2461f2f1ae0ac8561437c6">_parameter</a>);</div><div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;    <span class="keywordflow">if</span>(param) {</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;        json_object_object_add(push_obj, <a class="code" href="../../d8/d55/hs-client_8cpp.html#ae3fc16098a2461f2f1ae0ac8561437c6">_parameter</a>, json_tokener_parse(param));</div><div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;    }</div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;    <span class="keywordflow">else</span> {</div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;please input correct parameter.&quot;</span>);</div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa611e2ec24ef295bd87825889fe2ce5e">AFB_EVENT_BAD_REQUEST</a>;</div><div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;    }</div><div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;    afb_event_push(my_event, push_obj);</div><div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;}</div><div class="ttc" id="include_2hmi-debug_8h_html_abc0d6e0760017d8ae48b836925b2ef15"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a></div><div class="ttdeci">#define HMI_NOTICE(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00040">hmi-debug.h:40</a></div></div>
+<div class="ttc" id="hs-client_8cpp_html_ae3fc16098a2461f2f1ae0ac8561437c6"><div class="ttname"><a href="../../d8/d55/hs-client_8cpp.html#ae3fc16098a2461f2f1ae0ac8561437c6">_parameter</a></div><div class="ttdeci">static const char _parameter[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d8/d55/hs-client_8cpp_source.html#l00025">hs-client.cpp:25</a></div></div>
+<div class="ttc" id="hs-client_8cpp_html_a1c24b43242df87f75631175c75afdcda"><div class="ttname"><a href="../../d8/d55/hs-client_8cpp.html#a1c24b43242df87f75631175c75afdcda">_type</a></div><div class="ttdeci">static const char _type[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d8/d55/hs-client_8cpp_source.html#l00021">hs-client.cpp:21</a></div></div>
+<div class="ttc" id="hs-helper_8cpp_html_a8777c53f1d4d5412f19b134ad85ffedf"><div class="ttname"><a href="../../df/d66/hs-helper_8cpp.html#a8777c53f1d4d5412f19b134ad85ffedf">hs_add_object_to_json_object_str</a></div><div class="ttdeci">void hs_add_object_to_json_object_str(struct json_object *j_obj, int count,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d66/hs-helper_8cpp_source.html#l00180">hs-helper.cpp:180</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_a65bb6c7cfe38f8a724beab5059d36fb2"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a></div><div class="ttdeci">#define HMI_ERROR(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00038">hmi-debug.h:38</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_a6a0e1db2562b442f8131ddf64b61d1ba"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#a6a0e1db2562b442f8131ddf64b61d1ba">_application_id</a></div><div class="ttdeci">const char _application_id[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00028">homescreen.cpp:28</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_aa611e2ec24ef295bd87825889fe2ce5e"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa611e2ec24ef295bd87825889fe2ce5e">AFB_EVENT_BAD_REQUEST</a></div><div class="ttdeci">#define AFB_EVENT_BAD_REQUEST</div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00023">hs-helper.h:23</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a7145c14a7a971b45f647a82e3390ce9c"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int HS_Client::showInformation </td>
+          <td>(</td>
+          <td class="paramtype">afb_req_t&#160;</td>
+          <td class="paramname"><em>request</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>showInformation event</p>
+<p>input contents : {"info": "information contents"}</p>
+<h4>Parameters</h4>
+<ul>
+<li>request : the request</li>
+</ul>
+<h4>Return</h4>
+<p>0 : success others : fail </p>
+
+<p>Definition at line <a class="el" href="../../d8/d55/hs-client_8cpp_source.html#l00350">350</a> of file <a class="el" href="../../d8/d55/hs-client_8cpp_source.html">hs-client.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;{</div><div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;    <span class="keywordtype">int</span> ret = 0;</div><div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> *value = afb_req_value(request, <a class="code" href="../../d8/d55/hs-client_8cpp.html#ae125cd80cb98582684636e46ecf33cac">_info</a>);</div><div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;    <span class="keywordflow">if</span>(value) {</div><div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;info is %s&quot;</span>, value);</div><div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;        <span class="keyword">const</span> <span class="keywordtype">char</span>* appid = afb_req_get_application_id(request);</div><div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;        <span class="keyword">struct </span>json_object* param_obj = json_object_new_object();</div><div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;        json_object_object_add(param_obj, <a class="code" href="../../d8/d55/hs-client_8cpp.html#ae125cd80cb98582684636e46ecf33cac">_info</a>, json_object_new_string(value));</div><div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;        <span class="keyword">struct </span>json_object* push_obj = json_object_new_object();</div><div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;        <a class="code" href="../../df/d66/hs-helper_8cpp.html#a8777c53f1d4d5412f19b134ad85ffedf">hs_add_object_to_json_object_str</a>( push_obj, 4, <a class="code" href="../../d6/dda/homescreen_8cpp.html#a6a0e1db2562b442f8131ddf64b61d1ba">_application_id</a>, appid, <a class="code" href="../../d8/d55/hs-client_8cpp.html#a1c24b43242df87f75631175c75afdcda">_type</a>, __FUNCTION__);</div><div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;        json_object_object_add(push_obj, <a class="code" href="../../d8/d55/hs-client_8cpp.html#ae3fc16098a2461f2f1ae0ac8561437c6">_parameter</a>, param_obj);</div><div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;        afb_event_push(my_event, push_obj);</div><div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;    }</div><div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;    <span class="keywordflow">else</span> {</div><div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;please input information.&quot;</span>);</div><div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;        ret = <a class="code" href="../../d3/d3d/hs-helper_8h.html#aefe0d7ff8202f954693c235c1fb8e310">AFB_REQ_SHOWINFORMATION_ERROR</a>;</div><div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;    }</div><div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;</div><div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;}</div><div class="ttc" id="include_2hmi-debug_8h_html_abc0d6e0760017d8ae48b836925b2ef15"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a></div><div class="ttdeci">#define HMI_NOTICE(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00040">hmi-debug.h:40</a></div></div>
+<div class="ttc" id="hs-client_8cpp_html_ae3fc16098a2461f2f1ae0ac8561437c6"><div class="ttname"><a href="../../d8/d55/hs-client_8cpp.html#ae3fc16098a2461f2f1ae0ac8561437c6">_parameter</a></div><div class="ttdeci">static const char _parameter[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d8/d55/hs-client_8cpp_source.html#l00025">hs-client.cpp:25</a></div></div>
+<div class="ttc" id="hs-client_8cpp_html_a1c24b43242df87f75631175c75afdcda"><div class="ttname"><a href="../../d8/d55/hs-client_8cpp.html#a1c24b43242df87f75631175c75afdcda">_type</a></div><div class="ttdeci">static const char _type[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d8/d55/hs-client_8cpp_source.html#l00021">hs-client.cpp:21</a></div></div>
+<div class="ttc" id="hs-helper_8cpp_html_a8777c53f1d4d5412f19b134ad85ffedf"><div class="ttname"><a href="../../df/d66/hs-helper_8cpp.html#a8777c53f1d4d5412f19b134ad85ffedf">hs_add_object_to_json_object_str</a></div><div class="ttdeci">void hs_add_object_to_json_object_str(struct json_object *j_obj, int count,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d66/hs-helper_8cpp_source.html#l00180">hs-helper.cpp:180</a></div></div>
+<div class="ttc" id="hs-client_8cpp_html_ae125cd80cb98582684636e46ecf33cac"><div class="ttname"><a href="../../d8/d55/hs-client_8cpp.html#ae125cd80cb98582684636e46ecf33cac">_info</a></div><div class="ttdeci">static const char _info[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d8/d55/hs-client_8cpp_source.html#l00023">hs-client.cpp:23</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_a6a0e1db2562b442f8131ddf64b61d1ba"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#a6a0e1db2562b442f8131ddf64b61d1ba">_application_id</a></div><div class="ttdeci">const char _application_id[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00028">homescreen.cpp:28</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_aefe0d7ff8202f954693c235c1fb8e310"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aefe0d7ff8202f954693c235c1fb8e310">AFB_REQ_SHOWINFORMATION_ERROR</a></div><div class="ttdeci">#define AFB_REQ_SHOWINFORMATION_ERROR</div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00027">hs-helper.h:27</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a77b41c1bc6f2c939410108d821a0b456"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int HS_Client::showNotification </td>
+          <td>(</td>
+          <td class="paramtype">afb_req_t&#160;</td>
+          <td class="paramname"><em>request</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>showNotification event</p>
+<p>input contents : {"icon": "icon path", "text": "message contents"}</p>
+<h4>Parameters</h4>
+<ul>
+<li>request : the request</li>
+</ul>
+<h4>Return</h4>
+<p>0 : success others : fail </p>
+
+<p>Definition at line <a class="el" href="../../d8/d55/hs-client_8cpp_source.html#l00307">307</a> of file <a class="el" href="../../d8/d55/hs-client_8cpp_source.html">hs-client.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;{</div><div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;    <span class="keywordtype">int</span> ret = 0;</div><div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> *value = afb_req_value(request, <a class="code" href="../../d8/d55/hs-client_8cpp.html#ad177811d47939fe9404de88672a980ab">_text</a>);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;    <span class="keywordflow">if</span>(value) {</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;text is %s&quot;</span>, value);</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;        <span class="keyword">const</span> <span class="keywordtype">char</span>* appid = afb_req_get_application_id(request);</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;        <span class="keyword">struct </span>json_object* param_obj = json_object_new_object();</div><div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;        <span class="keyword">const</span> <span class="keywordtype">char</span> *icon = afb_req_value(request, <a class="code" href="../../d8/d55/hs-client_8cpp.html#a5476c8a51997c773220bec9fc02eeaf5">_icon</a>);</div><div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;        <span class="keywordflow">if</span>(icon) {</div><div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;            json_object_object_add(param_obj, <a class="code" href="../../d8/d55/hs-client_8cpp.html#a5476c8a51997c773220bec9fc02eeaf5">_icon</a>, json_object_new_string(icon));</div><div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;            json_object_object_add(param_obj, <a class="code" href="../../d8/d55/hs-client_8cpp.html#ad177811d47939fe9404de88672a980ab">_text</a>, json_object_new_string(value));</div><div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;            <span class="keyword">struct </span>json_object* push_obj = json_object_new_object();</div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;            <a class="code" href="../../df/d66/hs-helper_8cpp.html#a8777c53f1d4d5412f19b134ad85ffedf">hs_add_object_to_json_object_str</a>( push_obj, 4, <a class="code" href="../../d6/dda/homescreen_8cpp.html#a6a0e1db2562b442f8131ddf64b61d1ba">_application_id</a>, appid, <a class="code" href="../../d8/d55/hs-client_8cpp.html#a1c24b43242df87f75631175c75afdcda">_type</a>, __FUNCTION__);</div><div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;            json_object_object_add(push_obj, <a class="code" href="../../d8/d55/hs-client_8cpp.html#ae3fc16098a2461f2f1ae0ac8561437c6">_parameter</a>, param_obj);</div><div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;            afb_event_push(my_event, push_obj);</div><div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;        }</div><div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;        <span class="keywordflow">else</span> {</div><div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;            <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;please input icon.&quot;</span>);</div><div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;            ret = <a class="code" href="../../d3/d3d/hs-helper_8h.html#a057fc88b8445828c261305cf9107d99d">AFB_REQ_SHOWNOTIFICATION_ERROR</a>;</div><div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;        }</div><div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;    }</div><div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;    <span class="keywordflow">else</span> {</div><div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;please input text.&quot;</span>);</div><div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;        ret = <a class="code" href="../../d3/d3d/hs-helper_8h.html#a057fc88b8445828c261305cf9107d99d">AFB_REQ_SHOWNOTIFICATION_ERROR</a>;</div><div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;    }</div><div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;</div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;}</div><div class="ttc" id="hs-client_8cpp_html_ad177811d47939fe9404de88672a980ab"><div class="ttname"><a href="../../d8/d55/hs-client_8cpp.html#ad177811d47939fe9404de88672a980ab">_text</a></div><div class="ttdeci">static const char _text[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d8/d55/hs-client_8cpp_source.html#l00022">hs-client.cpp:22</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_a057fc88b8445828c261305cf9107d99d"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#a057fc88b8445828c261305cf9107d99d">AFB_REQ_SHOWNOTIFICATION_ERROR</a></div><div class="ttdeci">#define AFB_REQ_SHOWNOTIFICATION_ERROR</div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00026">hs-helper.h:26</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_abc0d6e0760017d8ae48b836925b2ef15"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a></div><div class="ttdeci">#define HMI_NOTICE(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00040">hmi-debug.h:40</a></div></div>
+<div class="ttc" id="hs-client_8cpp_html_ae3fc16098a2461f2f1ae0ac8561437c6"><div class="ttname"><a href="../../d8/d55/hs-client_8cpp.html#ae3fc16098a2461f2f1ae0ac8561437c6">_parameter</a></div><div class="ttdeci">static const char _parameter[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d8/d55/hs-client_8cpp_source.html#l00025">hs-client.cpp:25</a></div></div>
+<div class="ttc" id="hs-client_8cpp_html_a1c24b43242df87f75631175c75afdcda"><div class="ttname"><a href="../../d8/d55/hs-client_8cpp.html#a1c24b43242df87f75631175c75afdcda">_type</a></div><div class="ttdeci">static const char _type[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d8/d55/hs-client_8cpp_source.html#l00021">hs-client.cpp:21</a></div></div>
+<div class="ttc" id="hs-helper_8cpp_html_a8777c53f1d4d5412f19b134ad85ffedf"><div class="ttname"><a href="../../df/d66/hs-helper_8cpp.html#a8777c53f1d4d5412f19b134ad85ffedf">hs_add_object_to_json_object_str</a></div><div class="ttdeci">void hs_add_object_to_json_object_str(struct json_object *j_obj, int count,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d66/hs-helper_8cpp_source.html#l00180">hs-helper.cpp:180</a></div></div>
+<div class="ttc" id="hs-client_8cpp_html_a5476c8a51997c773220bec9fc02eeaf5"><div class="ttname"><a href="../../d8/d55/hs-client_8cpp.html#a5476c8a51997c773220bec9fc02eeaf5">_icon</a></div><div class="ttdeci">static const char _icon[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d8/d55/hs-client_8cpp_source.html#l00024">hs-client.cpp:24</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_a6a0e1db2562b442f8131ddf64b61d1ba"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#a6a0e1db2562b442f8131ddf64b61d1ba">_application_id</a></div><div class="ttdeci">const char _application_id[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00028">homescreen.cpp:28</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="af0f2be967a5b6ee81932c73b101184f7"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int HS_Client::showWindow </td>
+          <td>(</td>
+          <td class="paramtype">afb_req_t&#160;</td>
+          <td class="paramname"><em>request</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>appid</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>showWindow event</p>
+<p>input contents : {"application_id":"the appid that want to display", "parameter":{"area": "display area", ...}}</p>
+<h4>Parameters</h4>
+<ul>
+<li>request : the request</li>
+<li>appid : the appid that want to display</li>
+</ul>
+<h4>Return</h4>
+<p>0 : success others : fail </p>
+
+<p>Definition at line <a class="el" href="../../d8/d55/hs-client_8cpp_source.html#l00209">209</a> of file <a class="el" href="../../d8/d55/hs-client_8cpp_source.html">hs-client.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;{</div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;    <span class="keywordflow">if</span>(!checkEvent(__FUNCTION__))</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;        <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;%s application_id = %s.&quot;</span>, __FUNCTION__, appid);</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;    <span class="keyword">struct </span>json_object* push_obj = json_object_new_object();</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;    <a class="code" href="../../df/d66/hs-helper_8cpp.html#a8777c53f1d4d5412f19b134ad85ffedf">hs_add_object_to_json_object_str</a>( push_obj, 4, <a class="code" href="../../d6/dda/homescreen_8cpp.html#a6a0e1db2562b442f8131ddf64b61d1ba">_application_id</a>, appid, <a class="code" href="../../d8/d55/hs-client_8cpp.html#a1c24b43242df87f75631175c75afdcda">_type</a>, __FUNCTION__);</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* param = afb_req_value(request, <a class="code" href="../../d8/d55/hs-client_8cpp.html#ae3fc16098a2461f2f1ae0ac8561437c6">_parameter</a>);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;    <span class="keywordflow">if</span>(param) {</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;        <span class="keyword">const</span> <span class="keywordtype">char</span>* req_appid = afb_req_get_application_id(request);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;        <span class="keyword">struct </span>json_object* param_obj = json_tokener_parse(param);</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;        json_object_object_add(param_obj, <a class="code" href="../../d8/d55/hs-client_8cpp.html#ac5b722c0d87d2b0e3dfc527b44a1f5db">_replyto</a>, json_object_new_string(req_appid));</div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;        json_object_object_add(push_obj, <a class="code" href="../../d8/d55/hs-client_8cpp.html#ae3fc16098a2461f2f1ae0ac8561437c6">_parameter</a>, param_obj);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;    }</div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;    <span class="keywordflow">else</span> {</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;please input correct parameter.&quot;</span>);</div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa611e2ec24ef295bd87825889fe2ce5e">AFB_EVENT_BAD_REQUEST</a>;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;    }</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;    afb_event_push(my_event, push_obj);</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;}</div><div class="ttc" id="include_2hmi-debug_8h_html_abc0d6e0760017d8ae48b836925b2ef15"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a></div><div class="ttdeci">#define HMI_NOTICE(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00040">hmi-debug.h:40</a></div></div>
+<div class="ttc" id="hs-client_8cpp_html_ae3fc16098a2461f2f1ae0ac8561437c6"><div class="ttname"><a href="../../d8/d55/hs-client_8cpp.html#ae3fc16098a2461f2f1ae0ac8561437c6">_parameter</a></div><div class="ttdeci">static const char _parameter[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d8/d55/hs-client_8cpp_source.html#l00025">hs-client.cpp:25</a></div></div>
+<div class="ttc" id="hs-client_8cpp_html_a1c24b43242df87f75631175c75afdcda"><div class="ttname"><a href="../../d8/d55/hs-client_8cpp.html#a1c24b43242df87f75631175c75afdcda">_type</a></div><div class="ttdeci">static const char _type[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d8/d55/hs-client_8cpp_source.html#l00021">hs-client.cpp:21</a></div></div>
+<div class="ttc" id="hs-helper_8cpp_html_a8777c53f1d4d5412f19b134ad85ffedf"><div class="ttname"><a href="../../df/d66/hs-helper_8cpp.html#a8777c53f1d4d5412f19b134ad85ffedf">hs_add_object_to_json_object_str</a></div><div class="ttdeci">void hs_add_object_to_json_object_str(struct json_object *j_obj, int count,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d66/hs-helper_8cpp_source.html#l00180">hs-helper.cpp:180</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_a65bb6c7cfe38f8a724beab5059d36fb2"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a></div><div class="ttdeci">#define HMI_ERROR(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00038">hmi-debug.h:38</a></div></div>
+<div class="ttc" id="hs-client_8cpp_html_ac5b722c0d87d2b0e3dfc527b44a1f5db"><div class="ttname"><a href="../../d8/d55/hs-client_8cpp.html#ac5b722c0d87d2b0e3dfc527b44a1f5db">_replyto</a></div><div class="ttdeci">static const char _replyto[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d8/d55/hs-client_8cpp_source.html#l00026">hs-client.cpp:26</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_a6a0e1db2562b442f8131ddf64b61d1ba"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#a6a0e1db2562b442f8131ddf64b61d1ba">_application_id</a></div><div class="ttdeci">const char _application_id[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00028">homescreen.cpp:28</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_aa611e2ec24ef295bd87825889fe2ce5e"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa611e2ec24ef295bd87825889fe2ce5e">AFB_EVENT_BAD_REQUEST</a></div><div class="ttdeci">#define AFB_EVENT_BAD_REQUEST</div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00023">hs-helper.h:23</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a3d000ca70bd4a8af7c4895d95bc7d0d0"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int HS_Client::subscribe </td>
+          <td>(</td>
+          <td class="paramtype">afb_req_t&#160;</td>
+          <td class="paramname"><em>request</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>event</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>subscribe event</p>
+<h4>Parameters</h4>
+<ul>
+<li>event: homescreen event, tap_shortcut etc.</li>
+</ul>
+<h4>Return</h4>
+<p>result </p>
+
+<p>Definition at line <a class="el" href="../../d8/d55/hs-client_8cpp_source.html#l00139">139</a> of file <a class="el" href="../../d8/d55/hs-client_8cpp_source.html">hs-client.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;{</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;    <span class="keywordtype">int</span> ret = 0;</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;    <span class="keyword">auto</span> ip = event_list.find(std::string(event));</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;    <span class="keywordflow">if</span>(ip == event_list.end()) {</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;        event_list[std::string(event)] = 0;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;    }</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;    <span class="keywordflow">if</span>(!subscription) {</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;        ret = afb_req_subscribe(request, my_event);</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;        <span class="keywordflow">if</span>(ret == 0) {</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;            subscription = <span class="keyword">true</span>;</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;        }</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;    }</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;}</div></div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a0d7fb8316248e8946dcb73a6612f21bb"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int HS_Client::tap_shortcut </td>
+          <td>(</td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>appid</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>push tap_shortcut event</p>
+<h4>Parameters</h4>
+<ul>
+<li>appid: app's id.</li>
+</ul>
+<h4>Return</h4>
+<p>result </p>
+
+<p>Definition at line <a class="el" href="../../d8/d55/hs-client_8cpp_source.html#l00070">70</a> of file <a class="el" href="../../d8/d55/hs-client_8cpp_source.html">hs-client.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;{</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;    <span class="keywordflow">if</span>(!checkEvent(__FUNCTION__))</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;        <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;%s application_id = %s.&quot;</span>, __FUNCTION__, appid);</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;    <span class="keyword">struct </span>json_object* push_obj = json_object_new_object();</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;    <a class="code" href="../../df/d66/hs-helper_8cpp.html#a8777c53f1d4d5412f19b134ad85ffedf">hs_add_object_to_json_object_str</a>( push_obj, 4, <a class="code" href="../../d6/dda/homescreen_8cpp.html#a6a0e1db2562b442f8131ddf64b61d1ba">_application_id</a>, appid,</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;    <a class="code" href="../../d8/d55/hs-client_8cpp.html#a1c24b43242df87f75631175c75afdcda">_type</a>, __FUNCTION__);</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;    afb_event_push(my_event, push_obj);</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;}</div><div class="ttc" id="include_2hmi-debug_8h_html_abc0d6e0760017d8ae48b836925b2ef15"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a></div><div class="ttdeci">#define HMI_NOTICE(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00040">hmi-debug.h:40</a></div></div>
+<div class="ttc" id="hs-client_8cpp_html_a1c24b43242df87f75631175c75afdcda"><div class="ttname"><a href="../../d8/d55/hs-client_8cpp.html#a1c24b43242df87f75631175c75afdcda">_type</a></div><div class="ttdeci">static const char _type[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d8/d55/hs-client_8cpp_source.html#l00021">hs-client.cpp:21</a></div></div>
+<div class="ttc" id="hs-helper_8cpp_html_a8777c53f1d4d5412f19b134ad85ffedf"><div class="ttname"><a href="../../df/d66/hs-helper_8cpp.html#a8777c53f1d4d5412f19b134ad85ffedf">hs_add_object_to_json_object_str</a></div><div class="ttdeci">void hs_add_object_to_json_object_str(struct json_object *j_obj, int count,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d66/hs-helper_8cpp_source.html#l00180">hs-helper.cpp:180</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_a6a0e1db2562b442f8131ddf64b61d1ba"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#a6a0e1db2562b442f8131ddf64b61d1ba">_application_id</a></div><div class="ttdeci">const char _application_id[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00028">homescreen.cpp:28</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a3da3b5662f918e11773da75f8f971d9c"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int HS_Client::unsubscribe </td>
+          <td>(</td>
+          <td class="paramtype">afb_req_t&#160;</td>
+          <td class="paramname"><em>request</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>event</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>unsubscribe event</p>
+<h4>Parameters</h4>
+<ul>
+<li>event: homescreen event, tap_shortcut etc.</li>
+</ul>
+<h4>Return</h4>
+<p>result </p>
+
+<p>Definition at line <a class="el" href="../../d8/d55/hs-client_8cpp_source.html#l00165">165</a> of file <a class="el" href="../../d8/d55/hs-client_8cpp_source.html">hs-client.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;{</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;    <span class="keywordtype">int</span> ret = 0;</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;    event_list.erase(std::string(event));</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;    <span class="keywordflow">if</span>(event_list.empty()) {</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;        ret = afb_req_unsubscribe(request, my_event);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;    }</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;}</div></div><!-- fragment -->
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li>src/<a class="el" href="../../da/dd3/hs-client_8h_source.html">hs-client.h</a></li>
+<li>src/<a class="el" href="../../d8/d55/hs-client_8cpp_source.html">hs-client.cpp</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="../../doxygen.png" alt="doxygen"/>
+</a> 1.8.11
+</small></address>
+</body>
+</html>
diff --git a/doc/api-ref/html/d5/d56/struct_h_s___client_ctxt-members.html b/doc/api-ref/html/d5/d56/struct_h_s___client_ctxt-members.html
new file mode 100644 (file)
index 0000000..1cdc63f
--- /dev/null
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<title>HomeScreenBinding: Member List</title>
+<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="../../jquery.js"></script>
+<script type="text/javascript" src="../../dynsections.js"></script>
+<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="../../search/searchdata.js"></script>
+<script type="text/javascript" src="../../search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">HomeScreenBinding
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="../../index.html"><span>Main&#160;Page</span></a></li>
+      <li class="current"><a href="../../annotated.html"><span>Classes</span></a></li>
+      <li><a href="../../files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="../../search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="../../annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="../../functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">HS_ClientCtxt Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="../../d0/d53/struct_h_s___client_ctxt.html">HS_ClientCtxt</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="../../d0/d53/struct_h_s___client_ctxt.html#a9ff4dcc7b8c6061940a0ee79b5d15459">HS_ClientCtxt</a>(const char *appid)</td><td class="entry"><a class="el" href="../../d0/d53/struct_h_s___client_ctxt.html">HS_ClientCtxt</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="../../d0/d53/struct_h_s___client_ctxt.html#a04929d7d5f583a821d3d594815f77d1c">id</a></td><td class="entry"><a class="el" href="../../d0/d53/struct_h_s___client_ctxt.html">HS_ClientCtxt</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="../../doxygen.png" alt="doxygen"/>
+</a> 1.8.11
+</small></address>
+</body>
+</html>
diff --git a/doc/api-ref/html/d6/dda/homescreen_8cpp.html b/doc/api-ref/html/d6/dda/homescreen_8cpp.html
new file mode 100644 (file)
index 0000000..c9edaec
--- /dev/null
@@ -0,0 +1,841 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<title>HomeScreenBinding: src/homescreen.cpp File Reference</title>
+<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="../../jquery.js"></script>
+<script type="text/javascript" src="../../dynsections.js"></script>
+<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="../../search/searchdata.js"></script>
+<script type="text/javascript" src="../../search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">HomeScreenBinding
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="../../index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="../../annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="../../files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="../../search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="../../files.html"><span>File&#160;List</span></a></li>
+      <li><a href="../../globals.html"><span>File&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="../../dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#define-members">Macros</a> &#124;
+<a href="#func-members">Functions</a> &#124;
+<a href="#var-members">Variables</a>  </div>
+  <div class="headertitle">
+<div class="title">homescreen.cpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &lt;memory&gt;</code><br />
+<code>#include &lt;algorithm&gt;</code><br />
+<code>#include &quot;<a class="el" href="../../d3/d3d/hs-helper_8h_source.html">hs-helper.h</a>&quot;</code><br />
+<code>#include &quot;<a class="el" href="../../d6/dff/src_2hmi-debug_8h_source.html">hmi-debug.h</a>&quot;</code><br />
+<code>#include &quot;<a class="el" href="../../de/dca/hs-clientmanager_8h_source.html">hs-clientmanager.h</a>&quot;</code><br />
+</div>
+<p><a href="../../d6/dda/homescreen_8cpp_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
+Macros</h2></td></tr>
+<tr class="memitem:a369266c24eacffb87046522897a570d5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/dda/homescreen_8cpp.html#a369266c24eacffb87046522897a570d5">_GNU_SOURCE</a></td></tr>
+<tr class="separator:a369266c24eacffb87046522897a570d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ace65cfe6008848a3cd66581f536cc4c9"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/dda/homescreen_8cpp.html#ace65cfe6008848a3cd66581f536cc4c9">pingSample</a> (afb_req_t request)</td></tr>
+<tr class="separator:ace65cfe6008848a3cd66581f536cc4c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab8abb667377924d5c073611738febbd3"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/dda/homescreen_8cpp.html#ab8abb667377924d5c073611738febbd3">tap_shortcut</a> (afb_req_t request)</td></tr>
+<tr class="separator:ab8abb667377924d5c073611738febbd3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0df2b60ff6cd56b53dc87b36bfee2b91"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/dda/homescreen_8cpp.html#a0df2b60ff6cd56b53dc87b36bfee2b91">on_screen_message</a> (afb_req_t request)</td></tr>
+<tr class="separator:a0df2b60ff6cd56b53dc87b36bfee2b91"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7443596f6ddf459824ecd8138c681532"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/dda/homescreen_8cpp.html#a7443596f6ddf459824ecd8138c681532">on_screen_reply</a> (afb_req_t request)</td></tr>
+<tr class="separator:a7443596f6ddf459824ecd8138c681532"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6e942ab2b7207d2aef9adce71a4574e8"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/dda/homescreen_8cpp.html#a6e942ab2b7207d2aef9adce71a4574e8">subscribe</a> (afb_req_t request)</td></tr>
+<tr class="separator:a6e942ab2b7207d2aef9adce71a4574e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3b162ab1856a8fa4284cb2c5c35ea748"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/dda/homescreen_8cpp.html#a3b162ab1856a8fa4284cb2c5c35ea748">unsubscribe</a> (afb_req_t request)</td></tr>
+<tr class="separator:a3b162ab1856a8fa4284cb2c5c35ea748"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae475c69e7ca2a539ae0fb40a82963ac1"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/dda/homescreen_8cpp.html#ae475c69e7ca2a539ae0fb40a82963ac1">showWindow</a> (afb_req_t request)</td></tr>
+<tr class="separator:ae475c69e7ca2a539ae0fb40a82963ac1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a057c380ea38cfba4e2fbccc40fc21798"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/dda/homescreen_8cpp.html#a057c380ea38cfba4e2fbccc40fc21798">hideWindow</a> (afb_req_t request)</td></tr>
+<tr class="separator:a057c380ea38cfba4e2fbccc40fc21798"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a710bcc84a61e11dbd4517def2764ff95"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/dda/homescreen_8cpp.html#a710bcc84a61e11dbd4517def2764ff95">replyShowWindow</a> (afb_req_t request)</td></tr>
+<tr class="separator:a710bcc84a61e11dbd4517def2764ff95"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad96a84455e8676abb4486e48ef67b1ad"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/dda/homescreen_8cpp.html#ad96a84455e8676abb4486e48ef67b1ad">showNotification</a> (afb_req_t request)</td></tr>
+<tr class="separator:ad96a84455e8676abb4486e48ef67b1ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a916c8dd31373222ee2b6ef89aca91978"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/dda/homescreen_8cpp.html#a916c8dd31373222ee2b6ef89aca91978">showInformation</a> (afb_req_t request)</td></tr>
+<tr class="separator:a916c8dd31373222ee2b6ef89aca91978"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab3b1914acb53dcc038c1cf86c2975785"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/dda/homescreen_8cpp.html#ab3b1914acb53dcc038c1cf86c2975785">preinit</a> (afb_api_t api)</td></tr>
+<tr class="separator:ab3b1914acb53dcc038c1cf86c2975785"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5d7de3437d5dcb79fa035959d95878db"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/dda/homescreen_8cpp.html#a5d7de3437d5dcb79fa035959d95878db">init</a> (afb_api_t api)</td></tr>
+<tr class="separator:a5d7de3437d5dcb79fa035959d95878db"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a60665935681c76d38b3833912109cdd3"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/dda/homescreen_8cpp.html#a60665935681c76d38b3833912109cdd3">onevent</a> (afb_api_t api, const char *event, struct json_object *object)</td></tr>
+<tr class="separator:a60665935681c76d38b3833912109cdd3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:aed1c5296a2e6d34945507a0fca17a376"><td class="memItemLeft" align="right" valign="top">const char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/dda/homescreen_8cpp.html#aed1c5296a2e6d34945507a0fca17a376">_error</a> [] = &quot;error&quot;</td></tr>
+<tr class="separator:aed1c5296a2e6d34945507a0fca17a376"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6a0e1db2562b442f8131ddf64b61d1ba"><td class="memItemLeft" align="right" valign="top">const char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/dda/homescreen_8cpp.html#a6a0e1db2562b442f8131ddf64b61d1ba">_application_id</a> [] = &quot;application_id&quot;</td></tr>
+<tr class="separator:a6a0e1db2562b442f8131ddf64b61d1ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abfd6c1d6f316fa952b11553f8f275e92"><td class="memItemLeft" align="right" valign="top">const char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/dda/homescreen_8cpp.html#abfd6c1d6f316fa952b11553f8f275e92">_display_message</a> [] = &quot;display_message&quot;</td></tr>
+<tr class="separator:abfd6c1d6f316fa952b11553f8f275e92"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a79b0f0b481161527ccb80e83da143219"><td class="memItemLeft" align="right" valign="top">const char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/dda/homescreen_8cpp.html#a79b0f0b481161527ccb80e83da143219">_reply_message</a> [] = &quot;reply_message&quot;</td></tr>
+<tr class="separator:a79b0f0b481161527ccb80e83da143219"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a501f5bca8425de3171d46e0723f466ec"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="../../d2/d8e/class_h_s___client_manager.html">HS_ClientManager</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/dda/homescreen_8cpp.html#a501f5bca8425de3171d46e0723f466ec">g_client_manager</a> = <a class="el" href="../../d2/d8e/class_h_s___client_manager.html#ad86c1fea7d107d52cbf0466fb7a2658b">HS_ClientManager::instance</a>()</td></tr>
+<tr class="separator:a501f5bca8425de3171d46e0723f466ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a01e06b6317acebc1d5686386b15f0872"><td class="memItemLeft" align="right" valign="top">static const afb_verb_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/dda/homescreen_8cpp.html#a01e06b6317acebc1d5686386b15f0872">verbs</a> []</td></tr>
+<tr class="separator:a01e06b6317acebc1d5686386b15f0872"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a970e7864dba290a0371534ad4961bcc5"><td class="memItemLeft" align="right" valign="top">const afb_binding_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/dda/homescreen_8cpp.html#a970e7864dba290a0371534ad4961bcc5">afbBindingExport</a></td></tr>
+<tr class="separator:a970e7864dba290a0371534ad4961bcc5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Macro Definition Documentation</h2>
+<a class="anchor" id="a369266c24eacffb87046522897a570d5"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define _GNU_SOURCE</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../d6/dda/homescreen_8cpp_source.html#l00018">18</a> of file <a class="el" href="../../d6/dda/homescreen_8cpp_source.html">homescreen.cpp</a>.</p>
+
+</div>
+</div>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a057c380ea38cfba4e2fbccc40fc21798"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static void hideWindow </td>
+          <td>(</td>
+          <td class="paramtype">afb_req_t&#160;</td>
+          <td class="paramname"><em>request</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>hideWindow event</p>
+<h4>Parameters</h4>
+<ul>
+<li>request : the request</li>
+</ul>
+<h4>Return</h4>
+<p>None </p>
+
+<p>Definition at line <a class="el" href="../../d6/dda/homescreen_8cpp_source.html#l00221">221</a> of file <a class="el" href="../../d6/dda/homescreen_8cpp_source.html">homescreen.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;{</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;called.&quot;</span>);</div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;    <span class="keywordtype">int</span> ret = <a class="code" href="../../d6/dda/homescreen_8cpp.html#a501f5bca8425de3171d46e0723f466ec">g_client_manager</a>-&gt;<a class="code" href="../../d2/d8e/class_h_s___client_manager.html#a6195694d281a3b97b0345b96c0add1fd">hideWindow</a>(request);</div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;    <span class="keywordflow">if</span> (ret != 0) {</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;      afb_req_fail_f(request, <span class="stringliteral">&quot;failed&quot;</span>, <span class="stringliteral">&quot;called %s, Unknown parameter&quot;</span>, __FUNCTION__);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;      <span class="keywordflow">return</span>;</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;    }</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;    <span class="comment">// response to HomeScreen</span></div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;    <span class="keyword">struct </span>json_object *res = json_object_new_object();</div><div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;    <a class="code" href="../../df/d66/hs-helper_8cpp.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs_add_object_to_json_object_func</a>(res, __FUNCTION__, 2,</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;      <a class="code" href="../../d6/dda/homescreen_8cpp.html#aed1c5296a2e6d34945507a0fca17a376">_error</a>,  ret);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;    afb_req_success(request, res, <span class="stringliteral">&quot;afb_event_push event [hideWindow]&quot;</span>);</div><div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;}</div><div class="ttc" id="class_h_s___client_manager_html_a6195694d281a3b97b0345b96c0add1fd"><div class="ttname"><a href="../../d2/d8e/class_h_s___client_manager.html#a6195694d281a3b97b0345b96c0add1fd">HS_ClientManager::hideWindow</a></div><div class="ttdeci">int hideWindow(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d30/hs-clientmanager_8cpp_source.html#l00356">hs-clientmanager.cpp:356</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_abc0d6e0760017d8ae48b836925b2ef15"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a></div><div class="ttdeci">#define HMI_NOTICE(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00040">hmi-debug.h:40</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_aed1c5296a2e6d34945507a0fca17a376"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#aed1c5296a2e6d34945507a0fca17a376">_error</a></div><div class="ttdeci">const char _error[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00027">homescreen.cpp:27</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_a501f5bca8425de3171d46e0723f466ec"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#a501f5bca8425de3171d46e0723f466ec">g_client_manager</a></div><div class="ttdeci">static HS_ClientManager * g_client_manager</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00032">homescreen.cpp:32</a></div></div>
+<div class="ttc" id="hs-helper_8cpp_html_ae83604a37134e7bdee3ce4f10bb0b47a"><div class="ttname"><a href="../../df/d66/hs-helper_8cpp.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs_add_object_to_json_object_func</a></div><div class="ttdeci">void hs_add_object_to_json_object_func(struct json_object *j_obj, const char *verb_name, int count,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d66/hs-helper_8cpp_source.html#l00207">hs-helper.cpp:207</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a5d7de3437d5dcb79fa035959d95878db"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static int init </td>
+          <td>(</td>
+          <td class="paramtype">afb_api_t&#160;</td>
+          <td class="paramname"><em>api</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>homescreen binding init function</p>
+<h4>Parameters</h4>
+<ul>
+<li>api : the api serving the request</li>
+</ul>
+<h4>Return</h4>
+<p>None </p>
+
+<p>Definition at line <a class="el" href="../../d6/dda/homescreen_8cpp_source.html#l00368">368</a> of file <a class="el" href="../../d6/dda/homescreen_8cpp_source.html">homescreen.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;{</div><div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;binding init&quot;</span>);</div><div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;</div><div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;    <a class="code" href="../../d6/dda/homescreen_8cpp.html#a501f5bca8425de3171d46e0723f466ec">g_client_manager</a>-&gt;<a class="code" href="../../d2/d8e/class_h_s___client_manager.html#ae0b9b18adeffca7822b060ad4ea8a7a1">init</a>();</div><div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;</div><div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;}</div><div class="ttc" id="class_h_s___client_manager_html_ae0b9b18adeffca7822b060ad4ea8a7a1"><div class="ttname"><a href="../../d2/d8e/class_h_s___client_manager.html#ae0b9b18adeffca7822b060ad4ea8a7a1">HS_ClientManager::init</a></div><div class="ttdeci">int init(void)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d30/hs-clientmanager_8cpp_source.html#l00071">hs-clientmanager.cpp:71</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_abc0d6e0760017d8ae48b836925b2ef15"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a></div><div class="ttdeci">#define HMI_NOTICE(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00040">hmi-debug.h:40</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_a501f5bca8425de3171d46e0723f466ec"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#a501f5bca8425de3171d46e0723f466ec">g_client_manager</a></div><div class="ttdeci">static HS_ClientManager * g_client_manager</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00032">homescreen.cpp:32</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a0df2b60ff6cd56b53dc87b36bfee2b91"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static void on_screen_message </td>
+          <td>(</td>
+          <td class="paramtype">afb_req_t&#160;</td>
+          <td class="paramname"><em>request</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>HomeScreen OnScreen message</p>
+<h4>Parameters</h4>
+<p>Request key</p><ul>
+<li>display_message : message for display</li>
+</ul>
+<h4>Return</h4>
+<p>None </p>
+
+<p>Definition at line <a class="el" href="../../d6/dda/homescreen_8cpp_source.html#l00085">85</a> of file <a class="el" href="../../d6/dda/homescreen_8cpp_source.html">homescreen.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;{</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;called.&quot;</span>);</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;    <span class="keywordtype">int</span> ret = <a class="code" href="../../d6/dda/homescreen_8cpp.html#a501f5bca8425de3171d46e0723f466ec">g_client_manager</a>-&gt;<a class="code" href="../../d2/d8e/class_h_s___client_manager.html#a58ce4a013d3694265dd69f481bf88510">on_screen_message</a>(request);</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;    <span class="keywordflow">if</span> (ret != 0) {</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;      afb_req_fail_f(request, <span class="stringliteral">&quot;failed&quot;</span>, <span class="stringliteral">&quot;called %s, Unknown parameter&quot;</span>, __FUNCTION__);</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;      <span class="keywordflow">return</span>;</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;    }</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;  <span class="comment">// response to HomeScreen</span></div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;    <span class="keyword">struct </span>json_object *res = json_object_new_object();</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;    <a class="code" href="../../df/d66/hs-helper_8cpp.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs_add_object_to_json_object_func</a>(res, __FUNCTION__, 2,</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;      <a class="code" href="../../d6/dda/homescreen_8cpp.html#aed1c5296a2e6d34945507a0fca17a376">_error</a>,  ret);</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;    afb_req_success(request, res, <span class="stringliteral">&quot;afb_event_push event [on_screen_message]&quot;</span>);</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;}</div><div class="ttc" id="include_2hmi-debug_8h_html_abc0d6e0760017d8ae48b836925b2ef15"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a></div><div class="ttdeci">#define HMI_NOTICE(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00040">hmi-debug.h:40</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_aed1c5296a2e6d34945507a0fca17a376"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#aed1c5296a2e6d34945507a0fca17a376">_error</a></div><div class="ttdeci">const char _error[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00027">homescreen.cpp:27</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_a501f5bca8425de3171d46e0723f466ec"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#a501f5bca8425de3171d46e0723f466ec">g_client_manager</a></div><div class="ttdeci">static HS_ClientManager * g_client_manager</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00032">homescreen.cpp:32</a></div></div>
+<div class="ttc" id="hs-helper_8cpp_html_ae83604a37134e7bdee3ce4f10bb0b47a"><div class="ttname"><a href="../../df/d66/hs-helper_8cpp.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs_add_object_to_json_object_func</a></div><div class="ttdeci">void hs_add_object_to_json_object_func(struct json_object *j_obj, const char *verb_name, int count,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d66/hs-helper_8cpp_source.html#l00207">hs-helper.cpp:207</a></div></div>
+<div class="ttc" id="class_h_s___client_manager_html_a58ce4a013d3694265dd69f481bf88510"><div class="ttname"><a href="../../d2/d8e/class_h_s___client_manager.html#a58ce4a013d3694265dd69f481bf88510">HS_ClientManager::on_screen_message</a></div><div class="ttdeci">int on_screen_message(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d30/hs-clientmanager_8cpp_source.html#l00195">hs-clientmanager.cpp:195</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a7443596f6ddf459824ecd8138c681532"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static void on_screen_reply </td>
+          <td>(</td>
+          <td class="paramtype">afb_req_t&#160;</td>
+          <td class="paramname"><em>request</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>HomeScreen OnScreen Reply</p>
+<h4>Parameters</h4>
+<p>Request key</p><ul>
+<li>reply_message : message for reply</li>
+</ul>
+<h4>Return</h4>
+<p>None </p>
+
+<p>Definition at line <a class="el" href="../../d6/dda/homescreen_8cpp_source.html#l00113">113</a> of file <a class="el" href="../../d6/dda/homescreen_8cpp_source.html">homescreen.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;{</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;called.&quot;</span>);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;    <span class="keywordtype">int</span> ret = <a class="code" href="../../d6/dda/homescreen_8cpp.html#a501f5bca8425de3171d46e0723f466ec">g_client_manager</a>-&gt;<a class="code" href="../../d2/d8e/class_h_s___client_manager.html#aa78f992287e3b8fe93422b331dc9edc5">on_screen_reply</a>(request);</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;    <span class="keywordflow">if</span> (ret != 0) {</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;      afb_req_fail_f(request, <span class="stringliteral">&quot;failed&quot;</span>, <span class="stringliteral">&quot;called %s, Unknown parameter&quot;</span>, __FUNCTION__);</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;      <span class="keywordflow">return</span>;</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;    }</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;  <span class="comment">// response to HomeScreen</span></div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;    <span class="keyword">struct </span>json_object *res = json_object_new_object();</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;    <a class="code" href="../../df/d66/hs-helper_8cpp.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs_add_object_to_json_object_func</a>(res, __FUNCTION__, 2,</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;      <a class="code" href="../../d6/dda/homescreen_8cpp.html#aed1c5296a2e6d34945507a0fca17a376">_error</a>,  ret);</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;    afb_req_success(request, res, <span class="stringliteral">&quot;afb_event_push event [on_screen_reply]&quot;</span>);</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;}</div><div class="ttc" id="class_h_s___client_manager_html_aa78f992287e3b8fe93422b331dc9edc5"><div class="ttname"><a href="../../d2/d8e/class_h_s___client_manager.html#aa78f992287e3b8fe93422b331dc9edc5">HS_ClientManager::on_screen_reply</a></div><div class="ttdeci">int on_screen_reply(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d30/hs-clientmanager_8cpp_source.html#l00223">hs-clientmanager.cpp:223</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_abc0d6e0760017d8ae48b836925b2ef15"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a></div><div class="ttdeci">#define HMI_NOTICE(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00040">hmi-debug.h:40</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_aed1c5296a2e6d34945507a0fca17a376"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#aed1c5296a2e6d34945507a0fca17a376">_error</a></div><div class="ttdeci">const char _error[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00027">homescreen.cpp:27</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_a501f5bca8425de3171d46e0723f466ec"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#a501f5bca8425de3171d46e0723f466ec">g_client_manager</a></div><div class="ttdeci">static HS_ClientManager * g_client_manager</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00032">homescreen.cpp:32</a></div></div>
+<div class="ttc" id="hs-helper_8cpp_html_ae83604a37134e7bdee3ce4f10bb0b47a"><div class="ttname"><a href="../../df/d66/hs-helper_8cpp.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs_add_object_to_json_object_func</a></div><div class="ttdeci">void hs_add_object_to_json_object_func(struct json_object *j_obj, const char *verb_name, int count,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d66/hs-helper_8cpp_source.html#l00207">hs-helper.cpp:207</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a60665935681c76d38b3833912109cdd3"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static void onevent </td>
+          <td>(</td>
+          <td class="paramtype">afb_api_t&#160;</td>
+          <td class="paramname"><em>api</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>event</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">struct json_object *&#160;</td>
+          <td class="paramname"><em>object</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>homescreen binding event function</p>
+<h4>Parameters</h4>
+<ul>
+<li>api : the api serving the request</li>
+<li>event : event name</li>
+<li>object : event json object</li>
+</ul>
+<h4>Return</h4>
+<p>None </p>
+
+<p>Definition at line <a class="el" href="../../d6/dda/homescreen_8cpp_source.html#l00389">389</a> of file <a class="el" href="../../d6/dda/homescreen_8cpp_source.html">homescreen.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;{</div><div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;   <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;on_event %s&quot;</span>, event);</div><div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;}</div><div class="ttc" id="include_2hmi-debug_8h_html_abc0d6e0760017d8ae48b836925b2ef15"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a></div><div class="ttdeci">#define HMI_NOTICE(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00040">hmi-debug.h:40</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="ace65cfe6008848a3cd66581f536cc4c9"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static void pingSample </td>
+          <td>(</td>
+          <td class="paramtype">afb_req_t&#160;</td>
+          <td class="paramname"><em>request</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../d6/dda/homescreen_8cpp_source.html#l00038">38</a> of file <a class="el" href="../../d6/dda/homescreen_8cpp_source.html">homescreen.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;{</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;   <span class="keyword">static</span> <span class="keywordtype">int</span> pingcount = 0;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;   afb_req_success_f(request, json_object_new_int(pingcount), <span class="stringliteral">&quot;Ping count = %d&quot;</span>, pingcount);</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;   <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;Verbosity macro at level notice invoked at ping invocation count = %d&quot;</span>, pingcount);</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;   pingcount++;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;}</div><div class="ttc" id="include_2hmi-debug_8h_html_abc0d6e0760017d8ae48b836925b2ef15"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a></div><div class="ttdeci">#define HMI_NOTICE(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00040">hmi-debug.h:40</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="ab3b1914acb53dcc038c1cf86c2975785"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static int preinit </td>
+          <td>(</td>
+          <td class="paramtype">afb_api_t&#160;</td>
+          <td class="paramname"><em>api</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>homescreen binding preinit function</p>
+<h4>Parameters</h4>
+<ul>
+<li>api : the api serving the request</li>
+</ul>
+<h4>Return</h4>
+<p>None </p>
+
+<p>Definition at line <a class="el" href="../../d6/dda/homescreen_8cpp_source.html#l00352">352</a> of file <a class="el" href="../../d6/dda/homescreen_8cpp_source.html">homescreen.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;{</div><div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;   <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;binding preinit (was register)&quot;</span>);</div><div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;   <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;}</div><div class="ttc" id="include_2hmi-debug_8h_html_abc0d6e0760017d8ae48b836925b2ef15"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a></div><div class="ttdeci">#define HMI_NOTICE(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00040">hmi-debug.h:40</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a710bcc84a61e11dbd4517def2764ff95"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static void replyShowWindow </td>
+          <td>(</td>
+          <td class="paramtype">afb_req_t&#160;</td>
+          <td class="paramname"><em>request</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>replyShowWindow event</p>
+<h4>Parameters</h4>
+<ul>
+<li>request : the request</li>
+</ul>
+<h4>Return</h4>
+<p>None </p>
+
+<p>Definition at line <a class="el" href="../../d6/dda/homescreen_8cpp_source.html#l00248">248</a> of file <a class="el" href="../../d6/dda/homescreen_8cpp_source.html">homescreen.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;{</div><div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;called.&quot;</span>);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;    <span class="keywordtype">int</span> ret = <a class="code" href="../../d6/dda/homescreen_8cpp.html#a501f5bca8425de3171d46e0723f466ec">g_client_manager</a>-&gt;<a class="code" href="../../d2/d8e/class_h_s___client_manager.html#a59b1c1e115b5a257a585c41f854f5fdd">replyShowWindow</a>(request);</div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;    <span class="keywordflow">if</span> (ret != 0) {</div><div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;      afb_req_fail_f(request, <span class="stringliteral">&quot;failed&quot;</span>, <span class="stringliteral">&quot;called %s, Unknown parameter&quot;</span>, __FUNCTION__);</div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;      <span class="keywordflow">return</span>;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;    }</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;    <span class="comment">// response to HomeScreen</span></div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;    <span class="keyword">struct </span>json_object *res = json_object_new_object();</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;    <a class="code" href="../../df/d66/hs-helper_8cpp.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs_add_object_to_json_object_func</a>(res, __FUNCTION__, 2,</div><div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;      <a class="code" href="../../d6/dda/homescreen_8cpp.html#aed1c5296a2e6d34945507a0fca17a376">_error</a>,  ret);</div><div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;    afb_req_success(request, res, <span class="stringliteral">&quot;afb_event_push event [replyShowWindow]&quot;</span>);</div><div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;}</div><div class="ttc" id="include_2hmi-debug_8h_html_abc0d6e0760017d8ae48b836925b2ef15"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a></div><div class="ttdeci">#define HMI_NOTICE(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00040">hmi-debug.h:40</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_aed1c5296a2e6d34945507a0fca17a376"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#aed1c5296a2e6d34945507a0fca17a376">_error</a></div><div class="ttdeci">const char _error[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00027">homescreen.cpp:27</a></div></div>
+<div class="ttc" id="class_h_s___client_manager_html_a59b1c1e115b5a257a585c41f854f5fdd"><div class="ttname"><a href="../../d2/d8e/class_h_s___client_manager.html#a59b1c1e115b5a257a585c41f854f5fdd">HS_ClientManager::replyShowWindow</a></div><div class="ttdeci">int replyShowWindow(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d30/hs-clientmanager_8cpp_source.html#l00386">hs-clientmanager.cpp:386</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_a501f5bca8425de3171d46e0723f466ec"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#a501f5bca8425de3171d46e0723f466ec">g_client_manager</a></div><div class="ttdeci">static HS_ClientManager * g_client_manager</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00032">homescreen.cpp:32</a></div></div>
+<div class="ttc" id="hs-helper_8cpp_html_ae83604a37134e7bdee3ce4f10bb0b47a"><div class="ttname"><a href="../../df/d66/hs-helper_8cpp.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs_add_object_to_json_object_func</a></div><div class="ttdeci">void hs_add_object_to_json_object_func(struct json_object *j_obj, const char *verb_name, int count,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d66/hs-helper_8cpp_source.html#l00207">hs-helper.cpp:207</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a916c8dd31373222ee2b6ef89aca91978"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static void showInformation </td>
+          <td>(</td>
+          <td class="paramtype">afb_req_t&#160;</td>
+          <td class="paramname"><em>request</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>showInformation event</p>
+<p>the contents to homescreen which display at bottom area.</p>
+<h4>Parameters</h4>
+<ul>
+<li>request : the request</li>
+</ul>
+<h4>Return</h4>
+<p>None </p>
+
+<p>Definition at line <a class="el" href="../../d6/dda/homescreen_8cpp_source.html#l00306">306</a> of file <a class="el" href="../../d6/dda/homescreen_8cpp_source.html">homescreen.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;{</div><div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;called.&quot;</span>);</div><div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;</div><div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;    <span class="keywordtype">int</span> ret = <a class="code" href="../../d6/dda/homescreen_8cpp.html#a501f5bca8425de3171d46e0723f466ec">g_client_manager</a>-&gt;<a class="code" href="../../d2/d8e/class_h_s___client_manager.html#a0645294f89c67fd3c9b0cce62a900f69">showInformation</a>(request);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;    <span class="keywordflow">if</span> (ret != 0) {</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;      afb_req_fail_f(request, <span class="stringliteral">&quot;failed&quot;</span>, <span class="stringliteral">&quot;called %s, Unknown parameter&quot;</span>, __FUNCTION__);</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;      <span class="keywordflow">return</span>;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;    }</div><div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;</div><div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;    <span class="comment">// response to Application</span></div><div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;    <span class="keyword">struct </span>json_object *res = json_object_new_object();</div><div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;    <a class="code" href="../../df/d66/hs-helper_8cpp.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs_add_object_to_json_object_func</a>(res, __FUNCTION__, 2,</div><div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;      <a class="code" href="../../d6/dda/homescreen_8cpp.html#aed1c5296a2e6d34945507a0fca17a376">_error</a>,  ret);</div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;    afb_req_success(request, res, <span class="stringliteral">&quot;afb_event_push event [showInformation]&quot;</span>);</div><div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;}</div><div class="ttc" id="include_2hmi-debug_8h_html_abc0d6e0760017d8ae48b836925b2ef15"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a></div><div class="ttdeci">#define HMI_NOTICE(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00040">hmi-debug.h:40</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_aed1c5296a2e6d34945507a0fca17a376"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#aed1c5296a2e6d34945507a0fca17a376">_error</a></div><div class="ttdeci">const char _error[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00027">homescreen.cpp:27</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_a501f5bca8425de3171d46e0723f466ec"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#a501f5bca8425de3171d46e0723f466ec">g_client_manager</a></div><div class="ttdeci">static HS_ClientManager * g_client_manager</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00032">homescreen.cpp:32</a></div></div>
+<div class="ttc" id="class_h_s___client_manager_html_a0645294f89c67fd3c9b0cce62a900f69"><div class="ttname"><a href="../../d2/d8e/class_h_s___client_manager.html#a0645294f89c67fd3c9b0cce62a900f69">HS_ClientManager::showInformation</a></div><div class="ttdeci">int showInformation(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d30/hs-clientmanager_8cpp_source.html#l00443">hs-clientmanager.cpp:443</a></div></div>
+<div class="ttc" id="hs-helper_8cpp_html_ae83604a37134e7bdee3ce4f10bb0b47a"><div class="ttname"><a href="../../df/d66/hs-helper_8cpp.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs_add_object_to_json_object_func</a></div><div class="ttdeci">void hs_add_object_to_json_object_func(struct json_object *j_obj, const char *verb_name, int count,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d66/hs-helper_8cpp_source.html#l00207">hs-helper.cpp:207</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="ad96a84455e8676abb4486e48ef67b1ad"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static void showNotification </td>
+          <td>(</td>
+          <td class="paramtype">afb_req_t&#160;</td>
+          <td class="paramname"><em>request</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>showNotification event</p>
+<p>the contents to homescreen which display at top area.</p>
+<h4>Parameters</h4>
+<ul>
+<li>request : the request</li>
+</ul>
+<h4>Return</h4>
+<p>None </p>
+
+<p>Definition at line <a class="el" href="../../d6/dda/homescreen_8cpp_source.html#l00277">277</a> of file <a class="el" href="../../d6/dda/homescreen_8cpp_source.html">homescreen.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;{</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;called.&quot;</span>);</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;</div><div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;    <span class="keywordtype">int</span> ret = <a class="code" href="../../d6/dda/homescreen_8cpp.html#a501f5bca8425de3171d46e0723f466ec">g_client_manager</a>-&gt;<a class="code" href="../../d2/d8e/class_h_s___client_manager.html#a857934af280081ca6ac61d9f2cac37c5">showNotification</a>(request);</div><div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;    <span class="keywordflow">if</span> (ret != 0) {</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;      afb_req_fail_f(request, <span class="stringliteral">&quot;failed&quot;</span>, <span class="stringliteral">&quot;called %s, Unknown parameter&quot;</span>, __FUNCTION__);</div><div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;      <span class="keywordflow">return</span>;</div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;    }</div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;</div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;    <span class="comment">// response to Application</span></div><div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;    <span class="keyword">struct </span>json_object *res = json_object_new_object();</div><div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;    <a class="code" href="../../df/d66/hs-helper_8cpp.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs_add_object_to_json_object_func</a>(res, __FUNCTION__, 2,</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;      <a class="code" href="../../d6/dda/homescreen_8cpp.html#aed1c5296a2e6d34945507a0fca17a376">_error</a>,  ret);</div><div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;    afb_req_success(request, res, <span class="stringliteral">&quot;afb_event_push event [showNotification]&quot;</span>);</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;}</div><div class="ttc" id="include_2hmi-debug_8h_html_abc0d6e0760017d8ae48b836925b2ef15"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a></div><div class="ttdeci">#define HMI_NOTICE(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00040">hmi-debug.h:40</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_aed1c5296a2e6d34945507a0fca17a376"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#aed1c5296a2e6d34945507a0fca17a376">_error</a></div><div class="ttdeci">const char _error[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00027">homescreen.cpp:27</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_a501f5bca8425de3171d46e0723f466ec"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#a501f5bca8425de3171d46e0723f466ec">g_client_manager</a></div><div class="ttdeci">static HS_ClientManager * g_client_manager</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00032">homescreen.cpp:32</a></div></div>
+<div class="ttc" id="hs-helper_8cpp_html_ae83604a37134e7bdee3ce4f10bb0b47a"><div class="ttname"><a href="../../df/d66/hs-helper_8cpp.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs_add_object_to_json_object_func</a></div><div class="ttdeci">void hs_add_object_to_json_object_func(struct json_object *j_obj, const char *verb_name, int count,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d66/hs-helper_8cpp_source.html#l00207">hs-helper.cpp:207</a></div></div>
+<div class="ttc" id="class_h_s___client_manager_html_a857934af280081ca6ac61d9f2cac37c5"><div class="ttname"><a href="../../d2/d8e/class_h_s___client_manager.html#a857934af280081ca6ac61d9f2cac37c5">HS_ClientManager::showNotification</a></div><div class="ttdeci">int showNotification(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d30/hs-clientmanager_8cpp_source.html#l00416">hs-clientmanager.cpp:416</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="ae475c69e7ca2a539ae0fb40a82963ac1"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static void showWindow </td>
+          <td>(</td>
+          <td class="paramtype">afb_req_t&#160;</td>
+          <td class="paramname"><em>request</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>showWindow event</p>
+<h4>Parameters</h4>
+<ul>
+<li>request : the request</li>
+</ul>
+<h4>Return</h4>
+<p>None </p>
+
+<p>Definition at line <a class="el" href="../../d6/dda/homescreen_8cpp_source.html#l00194">194</a> of file <a class="el" href="../../d6/dda/homescreen_8cpp_source.html">homescreen.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;{</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;called.&quot;</span>);</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;    <span class="keywordtype">int</span> ret = <a class="code" href="../../d6/dda/homescreen_8cpp.html#a501f5bca8425de3171d46e0723f466ec">g_client_manager</a>-&gt;<a class="code" href="../../d2/d8e/class_h_s___client_manager.html#afed8158f276d1d22c32b0d89e970d442">showWindow</a>(request);</div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;    <span class="keywordflow">if</span> (ret != 0) {</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;      afb_req_fail_f(request, <span class="stringliteral">&quot;failed&quot;</span>, <span class="stringliteral">&quot;called %s, Unknown parameter&quot;</span>, __FUNCTION__);</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;      <span class="keywordflow">return</span>;</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;    }</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;    <span class="comment">// response to HomeScreen</span></div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;    <span class="keyword">struct </span>json_object *res = json_object_new_object();</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;    <a class="code" href="../../df/d66/hs-helper_8cpp.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs_add_object_to_json_object_func</a>(res, __FUNCTION__, 2,</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;      <a class="code" href="../../d6/dda/homescreen_8cpp.html#aed1c5296a2e6d34945507a0fca17a376">_error</a>,  ret);</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;    afb_req_success(request, res, <span class="stringliteral">&quot;afb_event_push event [showWindow]&quot;</span>);</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;}</div><div class="ttc" id="include_2hmi-debug_8h_html_abc0d6e0760017d8ae48b836925b2ef15"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a></div><div class="ttdeci">#define HMI_NOTICE(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00040">hmi-debug.h:40</a></div></div>
+<div class="ttc" id="class_h_s___client_manager_html_afed8158f276d1d22c32b0d89e970d442"><div class="ttname"><a href="../../d2/d8e/class_h_s___client_manager.html#afed8158f276d1d22c32b0d89e970d442">HS_ClientManager::showWindow</a></div><div class="ttdeci">int showWindow(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d30/hs-clientmanager_8cpp_source.html#l00326">hs-clientmanager.cpp:326</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_aed1c5296a2e6d34945507a0fca17a376"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#aed1c5296a2e6d34945507a0fca17a376">_error</a></div><div class="ttdeci">const char _error[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00027">homescreen.cpp:27</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_a501f5bca8425de3171d46e0723f466ec"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#a501f5bca8425de3171d46e0723f466ec">g_client_manager</a></div><div class="ttdeci">static HS_ClientManager * g_client_manager</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00032">homescreen.cpp:32</a></div></div>
+<div class="ttc" id="hs-helper_8cpp_html_ae83604a37134e7bdee3ce4f10bb0b47a"><div class="ttname"><a href="../../df/d66/hs-helper_8cpp.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs_add_object_to_json_object_func</a></div><div class="ttdeci">void hs_add_object_to_json_object_func(struct json_object *j_obj, const char *verb_name, int count,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d66/hs-helper_8cpp_source.html#l00207">hs-helper.cpp:207</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a6e942ab2b7207d2aef9adce71a4574e8"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static void subscribe </td>
+          <td>(</td>
+          <td class="paramtype">afb_req_t&#160;</td>
+          <td class="paramname"><em>request</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Subscribe event</p>
+<h4>Parameters</h4>
+<ul>
+<li>event : Event name. Event list is written in <a class="el" href="../../d0/d8a/libhomescreen_8cpp.html">libhomescreen.cpp</a></li>
+</ul>
+<h4>Return</h4>
+<p>None </p>
+
+<p>Definition at line <a class="el" href="../../d6/dda/homescreen_8cpp_source.html#l00140">140</a> of file <a class="el" href="../../d6/dda/homescreen_8cpp_source.html">homescreen.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;{</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;called.&quot;</span>);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;    <span class="keywordtype">int</span> ret = <a class="code" href="../../d6/dda/homescreen_8cpp.html#a501f5bca8425de3171d46e0723f466ec">g_client_manager</a>-&gt;<a class="code" href="../../d2/d8e/class_h_s___client_manager.html#a1b8a4e42342c4bcdc4e7dc4934e02469">subscribe</a>(request);</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;    <span class="keywordflow">if</span>(ret) {</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;      afb_req_fail_f(request, <span class="stringliteral">&quot;afb_req_subscribe failed&quot;</span>, <span class="stringliteral">&quot;called %s.&quot;</span>, __FUNCTION__);</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;      <span class="keywordflow">return</span>;</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;    }</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;    <span class="comment">/*create response json object*/</span></div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;    <span class="keyword">struct </span>json_object *res = json_object_new_object();</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;    <a class="code" href="../../df/d66/hs-helper_8cpp.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs_add_object_to_json_object_func</a>(res, __FUNCTION__, 2,</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;        <a class="code" href="../../d6/dda/homescreen_8cpp.html#aed1c5296a2e6d34945507a0fca17a376">_error</a>, ret);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;    afb_req_success_f(request, res, <span class="stringliteral">&quot;homescreen binder subscribe.&quot;</span>);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;}</div><div class="ttc" id="class_h_s___client_manager_html_a1b8a4e42342c4bcdc4e7dc4934e02469"><div class="ttname"><a href="../../d2/d8e/class_h_s___client_manager.html#a1b8a4e42342c4bcdc4e7dc4934e02469">HS_ClientManager::subscribe</a></div><div class="ttdeci">int subscribe(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d30/hs-clientmanager_8cpp_source.html#l00251">hs-clientmanager.cpp:251</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_abc0d6e0760017d8ae48b836925b2ef15"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a></div><div class="ttdeci">#define HMI_NOTICE(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00040">hmi-debug.h:40</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_aed1c5296a2e6d34945507a0fca17a376"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#aed1c5296a2e6d34945507a0fca17a376">_error</a></div><div class="ttdeci">const char _error[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00027">homescreen.cpp:27</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_a501f5bca8425de3171d46e0723f466ec"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#a501f5bca8425de3171d46e0723f466ec">g_client_manager</a></div><div class="ttdeci">static HS_ClientManager * g_client_manager</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00032">homescreen.cpp:32</a></div></div>
+<div class="ttc" id="hs-helper_8cpp_html_ae83604a37134e7bdee3ce4f10bb0b47a"><div class="ttname"><a href="../../df/d66/hs-helper_8cpp.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs_add_object_to_json_object_func</a></div><div class="ttdeci">void hs_add_object_to_json_object_func(struct json_object *j_obj, const char *verb_name, int count,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d66/hs-helper_8cpp_source.html#l00207">hs-helper.cpp:207</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="ab8abb667377924d5c073611738febbd3"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static void tap_shortcut </td>
+          <td>(</td>
+          <td class="paramtype">afb_req_t&#160;</td>
+          <td class="paramname"><em>request</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>tap_shortcut notify for homescreen When Shortcut area is tapped, notify these applciations</p>
+<h4>Parameters</h4>
+<p>Request key</p><ul>
+<li>application_id : application id</li>
+</ul>
+<h4>Return</h4>
+<p>None </p>
+
+<p>Definition at line <a class="el" href="../../d6/dda/homescreen_8cpp_source.html#l00058">58</a> of file <a class="el" href="../../d6/dda/homescreen_8cpp_source.html">homescreen.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;{</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;called.&quot;</span>);</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;    <span class="keywordtype">int</span> ret = <a class="code" href="../../d6/dda/homescreen_8cpp.html#a501f5bca8425de3171d46e0723f466ec">g_client_manager</a>-&gt;<a class="code" href="../../d2/d8e/class_h_s___client_manager.html#a9910fc27c412530b5b9854b00bd16c07">tap_shortcut</a>(request);</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;    <span class="keywordflow">if</span> (ret != 0) {</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;      afb_req_fail_f(request, <span class="stringliteral">&quot;failed&quot;</span>, <span class="stringliteral">&quot;called %s, Unknown parameter&quot;</span>, __FUNCTION__);</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;      <span class="keywordflow">return</span>;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;    }</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;    <span class="comment">// response to HomeScreen</span></div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;    <span class="keyword">struct </span>json_object *res = json_object_new_object();</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;    <a class="code" href="../../df/d66/hs-helper_8cpp.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs_add_object_to_json_object_func</a>(res, __FUNCTION__, 2,</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;      <a class="code" href="../../d6/dda/homescreen_8cpp.html#aed1c5296a2e6d34945507a0fca17a376">_error</a>,  ret);</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;    afb_req_success(request, res, <span class="stringliteral">&quot;afb_event_push event [tap_shortcut]&quot;</span>);</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;}</div><div class="ttc" id="class_h_s___client_manager_html_a9910fc27c412530b5b9854b00bd16c07"><div class="ttname"><a href="../../d2/d8e/class_h_s___client_manager.html#a9910fc27c412530b5b9854b00bd16c07">HS_ClientManager::tap_shortcut</a></div><div class="ttdeci">int tap_shortcut(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d30/hs-clientmanager_8cpp_source.html#l00166">hs-clientmanager.cpp:166</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_abc0d6e0760017d8ae48b836925b2ef15"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a></div><div class="ttdeci">#define HMI_NOTICE(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00040">hmi-debug.h:40</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_aed1c5296a2e6d34945507a0fca17a376"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#aed1c5296a2e6d34945507a0fca17a376">_error</a></div><div class="ttdeci">const char _error[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00027">homescreen.cpp:27</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_a501f5bca8425de3171d46e0723f466ec"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#a501f5bca8425de3171d46e0723f466ec">g_client_manager</a></div><div class="ttdeci">static HS_ClientManager * g_client_manager</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00032">homescreen.cpp:32</a></div></div>
+<div class="ttc" id="hs-helper_8cpp_html_ae83604a37134e7bdee3ce4f10bb0b47a"><div class="ttname"><a href="../../df/d66/hs-helper_8cpp.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs_add_object_to_json_object_func</a></div><div class="ttdeci">void hs_add_object_to_json_object_func(struct json_object *j_obj, const char *verb_name, int count,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d66/hs-helper_8cpp_source.html#l00207">hs-helper.cpp:207</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a3b162ab1856a8fa4284cb2c5c35ea748"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static void unsubscribe </td>
+          <td>(</td>
+          <td class="paramtype">afb_req_t&#160;</td>
+          <td class="paramname"><em>request</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Unsubscribe event</p>
+<h4>Parameters</h4>
+<ul>
+<li>event : Event name. Event list is written in <a class="el" href="../../d0/d8a/libhomescreen_8cpp.html">libhomescreen.cpp</a></li>
+</ul>
+<h4>Return</h4>
+<p>None </p>
+
+<p>Definition at line <a class="el" href="../../d6/dda/homescreen_8cpp_source.html#l00167">167</a> of file <a class="el" href="../../d6/dda/homescreen_8cpp_source.html">homescreen.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;{</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;called.&quot;</span>);</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;    <span class="keywordtype">int</span> ret = <a class="code" href="../../d6/dda/homescreen_8cpp.html#a501f5bca8425de3171d46e0723f466ec">g_client_manager</a>-&gt;<a class="code" href="../../d2/d8e/class_h_s___client_manager.html#ac86314afbb90116e2f02ce071166226e">unsubscribe</a>(request);</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;    <span class="keywordflow">if</span>(ret) {</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;      afb_req_fail_f(request, <span class="stringliteral">&quot;afb_req_unsubscribe failed&quot;</span>, <span class="stringliteral">&quot;called %s.&quot;</span>, __FUNCTION__);</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;      <span class="keywordflow">return</span>;</div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;    }</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;    <span class="comment">/*create response json object*/</span></div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;    <span class="keyword">struct </span>json_object *res = json_object_new_object();</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;    <a class="code" href="../../df/d66/hs-helper_8cpp.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs_add_object_to_json_object_func</a>(res, __FUNCTION__, 2,</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;        <a class="code" href="../../d6/dda/homescreen_8cpp.html#aed1c5296a2e6d34945507a0fca17a376">_error</a>, ret);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;    afb_req_success_f(request, res, <span class="stringliteral">&quot;homescreen binder unsubscribe success.&quot;</span>);</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;}</div><div class="ttc" id="include_2hmi-debug_8h_html_abc0d6e0760017d8ae48b836925b2ef15"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a></div><div class="ttdeci">#define HMI_NOTICE(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00040">hmi-debug.h:40</a></div></div>
+<div class="ttc" id="class_h_s___client_manager_html_ac86314afbb90116e2f02ce071166226e"><div class="ttname"><a href="../../d2/d8e/class_h_s___client_manager.html#ac86314afbb90116e2f02ce071166226e">HS_ClientManager::unsubscribe</a></div><div class="ttdeci">int unsubscribe(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d30/hs-clientmanager_8cpp_source.html#l00292">hs-clientmanager.cpp:292</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_aed1c5296a2e6d34945507a0fca17a376"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#aed1c5296a2e6d34945507a0fca17a376">_error</a></div><div class="ttdeci">const char _error[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00027">homescreen.cpp:27</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_a501f5bca8425de3171d46e0723f466ec"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#a501f5bca8425de3171d46e0723f466ec">g_client_manager</a></div><div class="ttdeci">static HS_ClientManager * g_client_manager</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00032">homescreen.cpp:32</a></div></div>
+<div class="ttc" id="hs-helper_8cpp_html_ae83604a37134e7bdee3ce4f10bb0b47a"><div class="ttname"><a href="../../df/d66/hs-helper_8cpp.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs_add_object_to_json_object_func</a></div><div class="ttdeci">void hs_add_object_to_json_object_func(struct json_object *j_obj, const char *verb_name, int count,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d66/hs-helper_8cpp_source.html#l00207">hs-helper.cpp:207</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<h2 class="groupheader">Variable Documentation</h2>
+<a class="anchor" id="a6a0e1db2562b442f8131ddf64b61d1ba"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const char _application_id[] = &quot;application_id&quot;</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../d6/dda/homescreen_8cpp_source.html#l00028">28</a> of file <a class="el" href="../../d6/dda/homescreen_8cpp_source.html">homescreen.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="abfd6c1d6f316fa952b11553f8f275e92"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const char _display_message[] = &quot;display_message&quot;</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../d6/dda/homescreen_8cpp_source.html#l00029">29</a> of file <a class="el" href="../../d6/dda/homescreen_8cpp_source.html">homescreen.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aed1c5296a2e6d34945507a0fca17a376"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const char _error[] = &quot;error&quot;</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../d6/dda/homescreen_8cpp_source.html#l00027">27</a> of file <a class="el" href="../../d6/dda/homescreen_8cpp_source.html">homescreen.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a79b0f0b481161527ccb80e83da143219"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const char _reply_message[] = &quot;reply_message&quot;</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../d6/dda/homescreen_8cpp_source.html#l00030">30</a> of file <a class="el" href="../../d6/dda/homescreen_8cpp_source.html">homescreen.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a970e7864dba290a0371534ad4961bcc5"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const afb_binding_t afbBindingExport</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<b>Initial value:</b><div class="fragment"><div class="line">= {</div><div class="line">    .api = <span class="stringliteral">&quot;homescreen&quot;</span>,</div><div class="line">    .specification = NULL,</div><div class="line">    .info = NULL,</div><div class="line">    .verbs = <a class="code" href="../../d6/dda/homescreen_8cpp.html#a01e06b6317acebc1d5686386b15f0872">verbs</a>,</div><div class="line">    .preinit = <a class="code" href="../../d6/dda/homescreen_8cpp.html#ab3b1914acb53dcc038c1cf86c2975785">preinit</a>,</div><div class="line">    .init = <a class="code" href="../../d6/dda/homescreen_8cpp.html#a5d7de3437d5dcb79fa035959d95878db">init</a>,</div><div class="line">    .onevent = <a class="code" href="../../d6/dda/homescreen_8cpp.html#a60665935681c76d38b3833912109cdd3">onevent</a></div><div class="line">}</div><div class="ttc" id="homescreen_8cpp_html_a01e06b6317acebc1d5686386b15f0872"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#a01e06b6317acebc1d5686386b15f0872">verbs</a></div><div class="ttdeci">static const afb_verb_t verbs[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00326">homescreen.cpp:326</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_a60665935681c76d38b3833912109cdd3"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#a60665935681c76d38b3833912109cdd3">onevent</a></div><div class="ttdeci">static void onevent(afb_api_t api, const char *event, struct json_object *object)</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00389">homescreen.cpp:389</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_ab3b1914acb53dcc038c1cf86c2975785"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#ab3b1914acb53dcc038c1cf86c2975785">preinit</a></div><div class="ttdeci">static int preinit(afb_api_t api)</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00352">homescreen.cpp:352</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_a5d7de3437d5dcb79fa035959d95878db"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#a5d7de3437d5dcb79fa035959d95878db">init</a></div><div class="ttdeci">static int init(afb_api_t api)</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00368">homescreen.cpp:368</a></div></div>
+</div><!-- fragment -->
+<p>Definition at line <a class="el" href="../../d6/dda/homescreen_8cpp_source.html#l00394">394</a> of file <a class="el" href="../../d6/dda/homescreen_8cpp_source.html">homescreen.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a501f5bca8425de3171d46e0723f466ec"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html">HS_ClientManager</a>* g_client_manager = <a class="el" href="../../d2/d8e/class_h_s___client_manager.html#ad86c1fea7d107d52cbf0466fb7a2658b">HS_ClientManager::instance</a>()</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../d6/dda/homescreen_8cpp_source.html#l00032">32</a> of file <a class="el" href="../../d6/dda/homescreen_8cpp_source.html">homescreen.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a01e06b6317acebc1d5686386b15f0872"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">const afb_verb_t verbs[]</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<b>Initial value:</b><div class="fragment"><div class="line">= {</div><div class="line">    </div><div class="line">    { .verb=<span class="stringliteral">&quot;ping&quot;</span>,              .callback=<a class="code" href="../../d6/dda/homescreen_8cpp.html#ace65cfe6008848a3cd66581f536cc4c9">pingSample</a>             },</div><div class="line">    { .verb=<span class="stringliteral">&quot;tap_shortcut&quot;</span>,      .callback=<a class="code" href="../../d6/dda/homescreen_8cpp.html#ab8abb667377924d5c073611738febbd3">tap_shortcut</a>           },</div><div class="line">    { .verb=<span class="stringliteral">&quot;showWindow&quot;</span>,        .callback=<a class="code" href="../../d6/dda/homescreen_8cpp.html#ae475c69e7ca2a539ae0fb40a82963ac1">showWindow</a>             },</div><div class="line">    { .verb=<span class="stringliteral">&quot;hideWindow&quot;</span>,        .callback=<a class="code" href="../../d6/dda/homescreen_8cpp.html#a057c380ea38cfba4e2fbccc40fc21798">hideWindow</a>             },</div><div class="line">    { .verb=<span class="stringliteral">&quot;replyShowWindow&quot;</span>,   .callback=<a class="code" href="../../d6/dda/homescreen_8cpp.html#a710bcc84a61e11dbd4517def2764ff95">replyShowWindow</a>        },</div><div class="line">    { .verb=<span class="stringliteral">&quot;on_screen_message&quot;</span>, .callback=<a class="code" href="../../d6/dda/homescreen_8cpp.html#a0df2b60ff6cd56b53dc87b36bfee2b91">on_screen_message</a>      },</div><div class="line">    { .verb=<span class="stringliteral">&quot;on_screen_reply&quot;</span>,   .callback=<a class="code" href="../../d6/dda/homescreen_8cpp.html#a7443596f6ddf459824ecd8138c681532">on_screen_reply</a>        },</div><div class="line">    { .verb=<span class="stringliteral">&quot;subscribe&quot;</span>,         .callback=<a class="code" href="../../d6/dda/homescreen_8cpp.html#a6e942ab2b7207d2aef9adce71a4574e8">subscribe</a>              },</div><div class="line">    { .verb=<span class="stringliteral">&quot;unsubscribe&quot;</span>,       .callback=<a class="code" href="../../d6/dda/homescreen_8cpp.html#a3b162ab1856a8fa4284cb2c5c35ea748">unsubscribe</a>            },</div><div class="line">    { .verb=<span class="stringliteral">&quot;showNotification&quot;</span>,  .callback=<a class="code" href="../../d6/dda/homescreen_8cpp.html#ad96a84455e8676abb4486e48ef67b1ad">showNotification</a>       },</div><div class="line">    { .verb=<span class="stringliteral">&quot;showInformation&quot;</span>,   .callback=<a class="code" href="../../d6/dda/homescreen_8cpp.html#a916c8dd31373222ee2b6ef89aca91978">showInformation</a>        },</div><div class="line">    {NULL } </div><div class="line">}</div><div class="ttc" id="homescreen_8cpp_html_ae475c69e7ca2a539ae0fb40a82963ac1"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#ae475c69e7ca2a539ae0fb40a82963ac1">showWindow</a></div><div class="ttdeci">static void showWindow(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00194">homescreen.cpp:194</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_a7443596f6ddf459824ecd8138c681532"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#a7443596f6ddf459824ecd8138c681532">on_screen_reply</a></div><div class="ttdeci">static void on_screen_reply(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00113">homescreen.cpp:113</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_a0df2b60ff6cd56b53dc87b36bfee2b91"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#a0df2b60ff6cd56b53dc87b36bfee2b91">on_screen_message</a></div><div class="ttdeci">static void on_screen_message(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00085">homescreen.cpp:85</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_a6e942ab2b7207d2aef9adce71a4574e8"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#a6e942ab2b7207d2aef9adce71a4574e8">subscribe</a></div><div class="ttdeci">static void subscribe(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00140">homescreen.cpp:140</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_a3b162ab1856a8fa4284cb2c5c35ea748"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#a3b162ab1856a8fa4284cb2c5c35ea748">unsubscribe</a></div><div class="ttdeci">static void unsubscribe(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00167">homescreen.cpp:167</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_a916c8dd31373222ee2b6ef89aca91978"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#a916c8dd31373222ee2b6ef89aca91978">showInformation</a></div><div class="ttdeci">static void showInformation(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00306">homescreen.cpp:306</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_ace65cfe6008848a3cd66581f536cc4c9"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#ace65cfe6008848a3cd66581f536cc4c9">pingSample</a></div><div class="ttdeci">static void pingSample(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00038">homescreen.cpp:38</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_a057c380ea38cfba4e2fbccc40fc21798"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#a057c380ea38cfba4e2fbccc40fc21798">hideWindow</a></div><div class="ttdeci">static void hideWindow(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00221">homescreen.cpp:221</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_a710bcc84a61e11dbd4517def2764ff95"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#a710bcc84a61e11dbd4517def2764ff95">replyShowWindow</a></div><div class="ttdeci">static void replyShowWindow(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00248">homescreen.cpp:248</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_ad96a84455e8676abb4486e48ef67b1ad"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#ad96a84455e8676abb4486e48ef67b1ad">showNotification</a></div><div class="ttdeci">static void showNotification(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00277">homescreen.cpp:277</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_ab8abb667377924d5c073611738febbd3"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#ab8abb667377924d5c073611738febbd3">tap_shortcut</a></div><div class="ttdeci">static void tap_shortcut(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00058">homescreen.cpp:58</a></div></div>
+</div><!-- fragment -->
+<p>Definition at line <a class="el" href="../../d6/dda/homescreen_8cpp_source.html#l00326">326</a> of file <a class="el" href="../../d6/dda/homescreen_8cpp_source.html">homescreen.cpp</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="../../doxygen.png" alt="doxygen"/>
+</a> 1.8.11
+</small></address>
+</body>
+</html>
diff --git a/doc/api-ref/html/d6/dda/homescreen_8cpp_source.html b/doc/api-ref/html/d6/dda/homescreen_8cpp_source.html
new file mode 100644 (file)
index 0000000..31aadbc
--- /dev/null
@@ -0,0 +1,138 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<title>HomeScreenBinding: src/homescreen.cpp Source File</title>
+<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="../../jquery.js"></script>
+<script type="text/javascript" src="../../dynsections.js"></script>
+<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="../../search/searchdata.js"></script>
+<script type="text/javascript" src="../../search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">HomeScreenBinding
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="../../index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="../../annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="../../files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="../../search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="../../files.html"><span>File&#160;List</span></a></li>
+      <li><a href="../../globals.html"><span>File&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="../../dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">homescreen.cpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="../../d6/dda/homescreen_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * Copyright (c) 2017 TOYOTA MOTOR CORPORATION</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> * Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * you may not use this file except in compliance with the License.</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * You may obtain a copy of the License at</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *      http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * limitations under the License.</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef _GNU_SOURCE</span></div><div class="line"><a name="l00018"></a><span class="lineno"><a class="line" href="../../d6/dda/homescreen_8cpp.html#a369266c24eacffb87046522897a570d5">   18</a></span>&#160;<span class="preprocessor">#define _GNU_SOURCE</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;memory&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;algorithm&gt;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d3/d3d/hs-helper_8h.html">hs-helper.h</a>&quot;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d6/dff/src_2hmi-debug_8h.html">hmi-debug.h</a>&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../de/dca/hs-clientmanager_8h.html">hs-clientmanager.h</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div><div class="line"><a name="l00027"></a><span class="lineno"><a class="line" href="../../d3/d3d/hs-helper_8h.html#aed1c5296a2e6d34945507a0fca17a376">   27</a></span>&#160;<span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="../../d6/dda/homescreen_8cpp.html#aed1c5296a2e6d34945507a0fca17a376">_error</a>[] = <span class="stringliteral">&quot;error&quot;</span>;</div><div class="line"><a name="l00028"></a><span class="lineno"><a class="line" href="../../d3/d3d/hs-helper_8h.html#a6a0e1db2562b442f8131ddf64b61d1ba">   28</a></span>&#160;<span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="../../d6/dda/homescreen_8cpp.html#a6a0e1db2562b442f8131ddf64b61d1ba">_application_id</a>[] = <span class="stringliteral">&quot;application_id&quot;</span>;</div><div class="line"><a name="l00029"></a><span class="lineno"><a class="line" href="../../d3/d3d/hs-helper_8h.html#abfd6c1d6f316fa952b11553f8f275e92">   29</a></span>&#160;<span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="../../d6/dda/homescreen_8cpp.html#abfd6c1d6f316fa952b11553f8f275e92">_display_message</a>[] = <span class="stringliteral">&quot;display_message&quot;</span>;</div><div class="line"><a name="l00030"></a><span class="lineno"><a class="line" href="../../d3/d3d/hs-helper_8h.html#a79b0f0b481161527ccb80e83da143219">   30</a></span>&#160;<span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="../../d6/dda/homescreen_8cpp.html#a79b0f0b481161527ccb80e83da143219">_reply_message</a>[] = <span class="stringliteral">&quot;reply_message&quot;</span>;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="../../d6/dda/homescreen_8cpp.html#a501f5bca8425de3171d46e0723f466ec">   32</a></span>&#160;<span class="keyword">static</span> <a class="code" href="../../d2/d8e/class_h_s___client_manager.html">HS_ClientManager</a>* <a class="code" href="../../d6/dda/homescreen_8cpp.html#a501f5bca8425de3171d46e0723f466ec">g_client_manager</a> = <a class="code" href="../../d2/d8e/class_h_s___client_manager.html#ad86c1fea7d107d52cbf0466fb7a2658b">HS_ClientManager::instance</a>();</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">********** Method of HomeScreen Service (API) **********</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">*/</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="../../d6/dda/homescreen_8cpp.html#ace65cfe6008848a3cd66581f536cc4c9">   38</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="../../d6/dda/homescreen_8cpp.html#ace65cfe6008848a3cd66581f536cc4c9">pingSample</a>(afb_req_t request)</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;{</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;   <span class="keyword">static</span> <span class="keywordtype">int</span> pingcount = 0;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;   afb_req_success_f(request, json_object_new_int(pingcount), <span class="stringliteral">&quot;Ping count = %d&quot;</span>, pingcount);</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;   <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;Verbosity macro at level notice invoked at ping invocation count = %d&quot;</span>, pingcount);</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;   pingcount++;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;}</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="../../d6/dda/homescreen_8cpp.html#ab8abb667377924d5c073611738febbd3">   58</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="../../d6/dda/homescreen_8cpp.html#ab8abb667377924d5c073611738febbd3">tap_shortcut</a> (afb_req_t request)</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;{</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;called.&quot;</span>);</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;    <span class="keywordtype">int</span> ret = g_client_manager-&gt;<a class="code" href="../../d2/d8e/class_h_s___client_manager.html#a9910fc27c412530b5b9854b00bd16c07">tap_shortcut</a>(request);</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;    <span class="keywordflow">if</span> (ret != 0) {</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;      afb_req_fail_f(request, <span class="stringliteral">&quot;failed&quot;</span>, <span class="stringliteral">&quot;called %s, Unknown parameter&quot;</span>, __FUNCTION__);</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;      <span class="keywordflow">return</span>;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;    }</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;    <span class="comment">// response to HomeScreen</span></div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;    <span class="keyword">struct </span>json_object *res = json_object_new_object();</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;    <a class="code" href="../../df/d66/hs-helper_8cpp.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs_add_object_to_json_object_func</a>(res, __FUNCTION__, 2,</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;      <a class="code" href="../../d6/dda/homescreen_8cpp.html#aed1c5296a2e6d34945507a0fca17a376">_error</a>,  ret);</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;    afb_req_success(request, res, <span class="stringliteral">&quot;afb_event_push event [tap_shortcut]&quot;</span>);</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;}</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;</div><div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="../../d6/dda/homescreen_8cpp.html#a0df2b60ff6cd56b53dc87b36bfee2b91">   85</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="../../d6/dda/homescreen_8cpp.html#a0df2b60ff6cd56b53dc87b36bfee2b91">on_screen_message</a> (afb_req_t request)</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;{</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;called.&quot;</span>);</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;    <span class="keywordtype">int</span> ret = g_client_manager-&gt;<a class="code" href="../../d2/d8e/class_h_s___client_manager.html#a58ce4a013d3694265dd69f481bf88510">on_screen_message</a>(request);</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;    <span class="keywordflow">if</span> (ret != 0) {</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;      afb_req_fail_f(request, <span class="stringliteral">&quot;failed&quot;</span>, <span class="stringliteral">&quot;called %s, Unknown parameter&quot;</span>, __FUNCTION__);</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;      <span class="keywordflow">return</span>;</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;    }</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;  <span class="comment">// response to HomeScreen</span></div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;    <span class="keyword">struct </span>json_object *res = json_object_new_object();</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;    <a class="code" href="../../df/d66/hs-helper_8cpp.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs_add_object_to_json_object_func</a>(res, __FUNCTION__, 2,</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;      <a class="code" href="../../d6/dda/homescreen_8cpp.html#aed1c5296a2e6d34945507a0fca17a376">_error</a>,  ret);</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;    afb_req_success(request, res, <span class="stringliteral">&quot;afb_event_push event [on_screen_message]&quot;</span>);</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;}</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;</div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="../../d6/dda/homescreen_8cpp.html#a7443596f6ddf459824ecd8138c681532">  113</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="../../d6/dda/homescreen_8cpp.html#a7443596f6ddf459824ecd8138c681532">on_screen_reply</a> (afb_req_t request)</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;{</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;called.&quot;</span>);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;    <span class="keywordtype">int</span> ret = g_client_manager-&gt;<a class="code" href="../../d2/d8e/class_h_s___client_manager.html#aa78f992287e3b8fe93422b331dc9edc5">on_screen_reply</a>(request);</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;    <span class="keywordflow">if</span> (ret != 0) {</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;      afb_req_fail_f(request, <span class="stringliteral">&quot;failed&quot;</span>, <span class="stringliteral">&quot;called %s, Unknown parameter&quot;</span>, __FUNCTION__);</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;      <span class="keywordflow">return</span>;</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;    }</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;  <span class="comment">// response to HomeScreen</span></div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;    <span class="keyword">struct </span>json_object *res = json_object_new_object();</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;    <a class="code" href="../../df/d66/hs-helper_8cpp.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs_add_object_to_json_object_func</a>(res, __FUNCTION__, 2,</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;      <a class="code" href="../../d6/dda/homescreen_8cpp.html#aed1c5296a2e6d34945507a0fca17a376">_error</a>,  ret);</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;    afb_req_success(request, res, <span class="stringliteral">&quot;afb_event_push event [on_screen_reply]&quot;</span>);</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;}</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;</div><div class="line"><a name="l00140"></a><span class="lineno"><a class="line" href="../../d6/dda/homescreen_8cpp.html#a6e942ab2b7207d2aef9adce71a4574e8">  140</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="../../d6/dda/homescreen_8cpp.html#a6e942ab2b7207d2aef9adce71a4574e8">subscribe</a>(afb_req_t request)</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;{</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;called.&quot;</span>);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;    <span class="keywordtype">int</span> ret = g_client_manager-&gt;<a class="code" href="../../d2/d8e/class_h_s___client_manager.html#a1b8a4e42342c4bcdc4e7dc4934e02469">subscribe</a>(request);</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;    <span class="keywordflow">if</span>(ret) {</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;      afb_req_fail_f(request, <span class="stringliteral">&quot;afb_req_subscribe failed&quot;</span>, <span class="stringliteral">&quot;called %s.&quot;</span>, __FUNCTION__);</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;      <span class="keywordflow">return</span>;</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;    }</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;    <span class="comment">/*create response json object*/</span></div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;    <span class="keyword">struct </span>json_object *res = json_object_new_object();</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;    <a class="code" href="../../df/d66/hs-helper_8cpp.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs_add_object_to_json_object_func</a>(res, __FUNCTION__, 2,</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;        <a class="code" href="../../d6/dda/homescreen_8cpp.html#aed1c5296a2e6d34945507a0fca17a376">_error</a>, ret);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;    afb_req_success_f(request, res, <span class="stringliteral">&quot;homescreen binder subscribe.&quot;</span>);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;}</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;</div><div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="../../d6/dda/homescreen_8cpp.html#a3b162ab1856a8fa4284cb2c5c35ea748">  167</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="../../d6/dda/homescreen_8cpp.html#a3b162ab1856a8fa4284cb2c5c35ea748">unsubscribe</a>(afb_req_t request)</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;{</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;called.&quot;</span>);</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;    <span class="keywordtype">int</span> ret = g_client_manager-&gt;<a class="code" href="../../d2/d8e/class_h_s___client_manager.html#ac86314afbb90116e2f02ce071166226e">unsubscribe</a>(request);</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;    <span class="keywordflow">if</span>(ret) {</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;      afb_req_fail_f(request, <span class="stringliteral">&quot;afb_req_unsubscribe failed&quot;</span>, <span class="stringliteral">&quot;called %s.&quot;</span>, __FUNCTION__);</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;      <span class="keywordflow">return</span>;</div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;    }</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;    <span class="comment">/*create response json object*/</span></div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;    <span class="keyword">struct </span>json_object *res = json_object_new_object();</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;    <a class="code" href="../../df/d66/hs-helper_8cpp.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs_add_object_to_json_object_func</a>(res, __FUNCTION__, 2,</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;        <a class="code" href="../../d6/dda/homescreen_8cpp.html#aed1c5296a2e6d34945507a0fca17a376">_error</a>, ret);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;    afb_req_success_f(request, res, <span class="stringliteral">&quot;homescreen binder unsubscribe success.&quot;</span>);</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;}</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;</div><div class="line"><a name="l00194"></a><span class="lineno"><a class="line" href="../../d6/dda/homescreen_8cpp.html#ae475c69e7ca2a539ae0fb40a82963ac1">  194</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="../../d6/dda/homescreen_8cpp.html#ae475c69e7ca2a539ae0fb40a82963ac1">showWindow</a>(afb_req_t request)</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;{</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;called.&quot;</span>);</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;    <span class="keywordtype">int</span> ret = g_client_manager-&gt;<a class="code" href="../../d2/d8e/class_h_s___client_manager.html#afed8158f276d1d22c32b0d89e970d442">showWindow</a>(request);</div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;    <span class="keywordflow">if</span> (ret != 0) {</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;      afb_req_fail_f(request, <span class="stringliteral">&quot;failed&quot;</span>, <span class="stringliteral">&quot;called %s, Unknown parameter&quot;</span>, __FUNCTION__);</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;      <span class="keywordflow">return</span>;</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;    }</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;    <span class="comment">// response to HomeScreen</span></div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;    <span class="keyword">struct </span>json_object *res = json_object_new_object();</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;    <a class="code" href="../../df/d66/hs-helper_8cpp.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs_add_object_to_json_object_func</a>(res, __FUNCTION__, 2,</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;      <a class="code" href="../../d6/dda/homescreen_8cpp.html#aed1c5296a2e6d34945507a0fca17a376">_error</a>,  ret);</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;    afb_req_success(request, res, <span class="stringliteral">&quot;afb_event_push event [showWindow]&quot;</span>);</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;}</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno"><a class="line" href="../../d6/dda/homescreen_8cpp.html#a057c380ea38cfba4e2fbccc40fc21798">  221</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="../../d6/dda/homescreen_8cpp.html#a057c380ea38cfba4e2fbccc40fc21798">hideWindow</a>(afb_req_t request)</div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;{</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;called.&quot;</span>);</div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;    <span class="keywordtype">int</span> ret = g_client_manager-&gt;<a class="code" href="../../d2/d8e/class_h_s___client_manager.html#a6195694d281a3b97b0345b96c0add1fd">hideWindow</a>(request);</div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;    <span class="keywordflow">if</span> (ret != 0) {</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;      afb_req_fail_f(request, <span class="stringliteral">&quot;failed&quot;</span>, <span class="stringliteral">&quot;called %s, Unknown parameter&quot;</span>, __FUNCTION__);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;      <span class="keywordflow">return</span>;</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;    }</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;    <span class="comment">// response to HomeScreen</span></div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;    <span class="keyword">struct </span>json_object *res = json_object_new_object();</div><div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;    <a class="code" href="../../df/d66/hs-helper_8cpp.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs_add_object_to_json_object_func</a>(res, __FUNCTION__, 2,</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;      <a class="code" href="../../d6/dda/homescreen_8cpp.html#aed1c5296a2e6d34945507a0fca17a376">_error</a>,  ret);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;    afb_req_success(request, res, <span class="stringliteral">&quot;afb_event_push event [hideWindow]&quot;</span>);</div><div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;}</div><div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;</div><div class="line"><a name="l00248"></a><span class="lineno"><a class="line" href="../../d6/dda/homescreen_8cpp.html#a710bcc84a61e11dbd4517def2764ff95">  248</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="../../d6/dda/homescreen_8cpp.html#a710bcc84a61e11dbd4517def2764ff95">replyShowWindow</a>(afb_req_t request)</div><div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;{</div><div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;called.&quot;</span>);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;    <span class="keywordtype">int</span> ret = g_client_manager-&gt;<a class="code" href="../../d2/d8e/class_h_s___client_manager.html#a59b1c1e115b5a257a585c41f854f5fdd">replyShowWindow</a>(request);</div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;    <span class="keywordflow">if</span> (ret != 0) {</div><div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;      afb_req_fail_f(request, <span class="stringliteral">&quot;failed&quot;</span>, <span class="stringliteral">&quot;called %s, Unknown parameter&quot;</span>, __FUNCTION__);</div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;      <span class="keywordflow">return</span>;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;    }</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;    <span class="comment">// response to HomeScreen</span></div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;    <span class="keyword">struct </span>json_object *res = json_object_new_object();</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;    <a class="code" href="../../df/d66/hs-helper_8cpp.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs_add_object_to_json_object_func</a>(res, __FUNCTION__, 2,</div><div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;      <a class="code" href="../../d6/dda/homescreen_8cpp.html#aed1c5296a2e6d34945507a0fca17a376">_error</a>,  ret);</div><div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;    afb_req_success(request, res, <span class="stringliteral">&quot;afb_event_push event [replyShowWindow]&quot;</span>);</div><div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;}</div><div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;</div><div class="line"><a name="l00277"></a><span class="lineno"><a class="line" href="../../d6/dda/homescreen_8cpp.html#ad96a84455e8676abb4486e48ef67b1ad">  277</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="../../d6/dda/homescreen_8cpp.html#ad96a84455e8676abb4486e48ef67b1ad">showNotification</a>(afb_req_t request)</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;{</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;called.&quot;</span>);</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;</div><div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;    <span class="keywordtype">int</span> ret = g_client_manager-&gt;<a class="code" href="../../d2/d8e/class_h_s___client_manager.html#a857934af280081ca6ac61d9f2cac37c5">showNotification</a>(request);</div><div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;    <span class="keywordflow">if</span> (ret != 0) {</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;      afb_req_fail_f(request, <span class="stringliteral">&quot;failed&quot;</span>, <span class="stringliteral">&quot;called %s, Unknown parameter&quot;</span>, __FUNCTION__);</div><div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;      <span class="keywordflow">return</span>;</div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;    }</div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;</div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;    <span class="comment">// response to Application</span></div><div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;    <span class="keyword">struct </span>json_object *res = json_object_new_object();</div><div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;    <a class="code" href="../../df/d66/hs-helper_8cpp.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs_add_object_to_json_object_func</a>(res, __FUNCTION__, 2,</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;      <a class="code" href="../../d6/dda/homescreen_8cpp.html#aed1c5296a2e6d34945507a0fca17a376">_error</a>,  ret);</div><div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;    afb_req_success(request, res, <span class="stringliteral">&quot;afb_event_push event [showNotification]&quot;</span>);</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;}</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;</div><div class="line"><a name="l00306"></a><span class="lineno"><a class="line" href="../../d6/dda/homescreen_8cpp.html#a916c8dd31373222ee2b6ef89aca91978">  306</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="../../d6/dda/homescreen_8cpp.html#a916c8dd31373222ee2b6ef89aca91978">showInformation</a>(afb_req_t request)</div><div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;{</div><div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;called.&quot;</span>);</div><div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;</div><div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;    <span class="keywordtype">int</span> ret = g_client_manager-&gt;<a class="code" href="../../d2/d8e/class_h_s___client_manager.html#a0645294f89c67fd3c9b0cce62a900f69">showInformation</a>(request);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;    <span class="keywordflow">if</span> (ret != 0) {</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;      afb_req_fail_f(request, <span class="stringliteral">&quot;failed&quot;</span>, <span class="stringliteral">&quot;called %s, Unknown parameter&quot;</span>, __FUNCTION__);</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;      <span class="keywordflow">return</span>;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;    }</div><div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;</div><div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;    <span class="comment">// response to Application</span></div><div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;    <span class="keyword">struct </span>json_object *res = json_object_new_object();</div><div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;    <a class="code" href="../../df/d66/hs-helper_8cpp.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs_add_object_to_json_object_func</a>(res, __FUNCTION__, 2,</div><div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;      <a class="code" href="../../d6/dda/homescreen_8cpp.html#aed1c5296a2e6d34945507a0fca17a376">_error</a>,  ret);</div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;    afb_req_success(request, res, <span class="stringliteral">&quot;afb_event_push event [showInformation]&quot;</span>);</div><div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;}</div><div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;</div><div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;<span class="comment"> * array of the verbs exported to afb-daemon</span></div><div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00326"></a><span class="lineno"><a class="line" href="../../d6/dda/homescreen_8cpp.html#a01e06b6317acebc1d5686386b15f0872">  326</a></span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> afb_verb_t <a class="code" href="../../d6/dda/homescreen_8cpp.html#a01e06b6317acebc1d5686386b15f0872">verbs</a>[]= {</div><div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;    <span class="comment">/* VERB&#39;S NAME                 FUNCTION TO CALL                  */</span></div><div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;    { .verb=<span class="stringliteral">&quot;ping&quot;</span>,              .callback=<a class="code" href="../../d6/dda/homescreen_8cpp.html#ace65cfe6008848a3cd66581f536cc4c9">pingSample</a>             },</div><div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;    { .verb=<span class="stringliteral">&quot;tap_shortcut&quot;</span>,      .callback=<a class="code" href="../../d6/dda/homescreen_8cpp.html#ab8abb667377924d5c073611738febbd3">tap_shortcut</a>           },</div><div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;    { .verb=<span class="stringliteral">&quot;showWindow&quot;</span>,        .callback=<a class="code" href="../../d6/dda/homescreen_8cpp.html#ae475c69e7ca2a539ae0fb40a82963ac1">showWindow</a>             },</div><div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;    { .verb=<span class="stringliteral">&quot;hideWindow&quot;</span>,        .callback=<a class="code" href="../../d6/dda/homescreen_8cpp.html#a057c380ea38cfba4e2fbccc40fc21798">hideWindow</a>             },</div><div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;    { .verb=<span class="stringliteral">&quot;replyShowWindow&quot;</span>,   .callback=<a class="code" href="../../d6/dda/homescreen_8cpp.html#a710bcc84a61e11dbd4517def2764ff95">replyShowWindow</a>        },</div><div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;    { .verb=<span class="stringliteral">&quot;on_screen_message&quot;</span>, .callback=<a class="code" href="../../d6/dda/homescreen_8cpp.html#a0df2b60ff6cd56b53dc87b36bfee2b91">on_screen_message</a>      },</div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;    { .verb=<span class="stringliteral">&quot;on_screen_reply&quot;</span>,   .callback=<a class="code" href="../../d6/dda/homescreen_8cpp.html#a7443596f6ddf459824ecd8138c681532">on_screen_reply</a>        },</div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;    { .verb=<span class="stringliteral">&quot;subscribe&quot;</span>,         .callback=<a class="code" href="../../d6/dda/homescreen_8cpp.html#a6e942ab2b7207d2aef9adce71a4574e8">subscribe</a>              },</div><div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;    { .verb=<span class="stringliteral">&quot;unsubscribe&quot;</span>,       .callback=<a class="code" href="../../d6/dda/homescreen_8cpp.html#a3b162ab1856a8fa4284cb2c5c35ea748">unsubscribe</a>            },</div><div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;    { .verb=<span class="stringliteral">&quot;showNotification&quot;</span>,  .callback=<a class="code" href="../../d6/dda/homescreen_8cpp.html#ad96a84455e8676abb4486e48ef67b1ad">showNotification</a>       },</div><div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;    { .verb=<span class="stringliteral">&quot;showInformation&quot;</span>,   .callback=<a class="code" href="../../d6/dda/homescreen_8cpp.html#a916c8dd31373222ee2b6ef89aca91978">showInformation</a>        },</div><div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;    {NULL } <span class="comment">/* marker for end of the array */</span></div><div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;};</div><div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;</div><div class="line"><a name="l00352"></a><span class="lineno"><a class="line" href="../../d6/dda/homescreen_8cpp.html#ab3b1914acb53dcc038c1cf86c2975785">  352</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="../../d6/dda/homescreen_8cpp.html#ab3b1914acb53dcc038c1cf86c2975785">preinit</a>(afb_api_t api)</div><div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;{</div><div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;   <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;binding preinit (was register)&quot;</span>);</div><div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;   <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;}</div><div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;</div><div class="line"><a name="l00368"></a><span class="lineno"><a class="line" href="../../d6/dda/homescreen_8cpp.html#a5d7de3437d5dcb79fa035959d95878db">  368</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="../../d6/dda/homescreen_8cpp.html#a5d7de3437d5dcb79fa035959d95878db">init</a>(afb_api_t api)</div><div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;{</div><div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;binding init&quot;</span>);</div><div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;</div><div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;    g_client_manager-&gt;<a class="code" href="../../d2/d8e/class_h_s___client_manager.html#ae0b9b18adeffca7822b060ad4ea8a7a1">init</a>();</div><div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;</div><div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;}</div><div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;</div><div class="line"><a name="l00389"></a><span class="lineno"><a class="line" href="../../d6/dda/homescreen_8cpp.html#a60665935681c76d38b3833912109cdd3">  389</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="../../d6/dda/homescreen_8cpp.html#a60665935681c76d38b3833912109cdd3">onevent</a>(afb_api_t api, <span class="keyword">const</span> <span class="keywordtype">char</span> *event, <span class="keyword">struct</span> json_object *<span class="keywordtype">object</span>)</div><div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;{</div><div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;   <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;on_event %s&quot;</span>, event);</div><div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;}</div><div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;</div><div class="line"><a name="l00394"></a><span class="lineno"><a class="line" href="../../d6/dda/homescreen_8cpp.html#a970e7864dba290a0371534ad4961bcc5">  394</a></span>&#160;<span class="keyword">const</span> afb_binding_t <a class="code" href="../../d6/dda/homescreen_8cpp.html#a970e7864dba290a0371534ad4961bcc5">afbBindingExport</a> = {</div><div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;    .api = <span class="stringliteral">&quot;homescreen&quot;</span>,</div><div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;    .specification = NULL,</div><div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;    .info = NULL,</div><div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;    .verbs = <a class="code" href="../../d6/dda/homescreen_8cpp.html#a01e06b6317acebc1d5686386b15f0872">verbs</a>,</div><div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;    .preinit = <a class="code" href="../../d6/dda/homescreen_8cpp.html#ab3b1914acb53dcc038c1cf86c2975785">preinit</a>,</div><div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;    .init = <a class="code" href="../../d6/dda/homescreen_8cpp.html#a5d7de3437d5dcb79fa035959d95878db">init</a>,</div><div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;    .onevent = <a class="code" href="../../d6/dda/homescreen_8cpp.html#a60665935681c76d38b3833912109cdd3">onevent</a></div><div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;};</div><div class="ttc" id="class_h_s___client_manager_html_ae0b9b18adeffca7822b060ad4ea8a7a1"><div class="ttname"><a href="../../d2/d8e/class_h_s___client_manager.html#ae0b9b18adeffca7822b060ad4ea8a7a1">HS_ClientManager::init</a></div><div class="ttdeci">int init(void)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d30/hs-clientmanager_8cpp_source.html#l00071">hs-clientmanager.cpp:71</a></div></div>
+<div class="ttc" id="class_h_s___client_manager_html_a6195694d281a3b97b0345b96c0add1fd"><div class="ttname"><a href="../../d2/d8e/class_h_s___client_manager.html#a6195694d281a3b97b0345b96c0add1fd">HS_ClientManager::hideWindow</a></div><div class="ttdeci">int hideWindow(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d30/hs-clientmanager_8cpp_source.html#l00356">hs-clientmanager.cpp:356</a></div></div>
+<div class="ttc" id="hs-clientmanager_8h_html"><div class="ttname"><a href="../../de/dca/hs-clientmanager_8h.html">hs-clientmanager.h</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_ae475c69e7ca2a539ae0fb40a82963ac1"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#ae475c69e7ca2a539ae0fb40a82963ac1">showWindow</a></div><div class="ttdeci">static void showWindow(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00194">homescreen.cpp:194</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_a7443596f6ddf459824ecd8138c681532"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#a7443596f6ddf459824ecd8138c681532">on_screen_reply</a></div><div class="ttdeci">static void on_screen_reply(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00113">homescreen.cpp:113</a></div></div>
+<div class="ttc" id="class_h_s___client_manager_html_a1b8a4e42342c4bcdc4e7dc4934e02469"><div class="ttname"><a href="../../d2/d8e/class_h_s___client_manager.html#a1b8a4e42342c4bcdc4e7dc4934e02469">HS_ClientManager::subscribe</a></div><div class="ttdeci">int subscribe(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d30/hs-clientmanager_8cpp_source.html#l00251">hs-clientmanager.cpp:251</a></div></div>
+<div class="ttc" id="class_h_s___client_manager_html_a9910fc27c412530b5b9854b00bd16c07"><div class="ttname"><a href="../../d2/d8e/class_h_s___client_manager.html#a9910fc27c412530b5b9854b00bd16c07">HS_ClientManager::tap_shortcut</a></div><div class="ttdeci">int tap_shortcut(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d30/hs-clientmanager_8cpp_source.html#l00166">hs-clientmanager.cpp:166</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_a0df2b60ff6cd56b53dc87b36bfee2b91"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#a0df2b60ff6cd56b53dc87b36bfee2b91">on_screen_message</a></div><div class="ttdeci">static void on_screen_message(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00085">homescreen.cpp:85</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_a970e7864dba290a0371534ad4961bcc5"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#a970e7864dba290a0371534ad4961bcc5">afbBindingExport</a></div><div class="ttdeci">const afb_binding_t afbBindingExport</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00394">homescreen.cpp:394</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_a6e942ab2b7207d2aef9adce71a4574e8"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#a6e942ab2b7207d2aef9adce71a4574e8">subscribe</a></div><div class="ttdeci">static void subscribe(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00140">homescreen.cpp:140</a></div></div>
+<div class="ttc" id="hs-helper_8h_html"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html">hs-helper.h</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_a79b0f0b481161527ccb80e83da143219"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#a79b0f0b481161527ccb80e83da143219">_reply_message</a></div><div class="ttdeci">const char _reply_message[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00030">homescreen.cpp:30</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_a3b162ab1856a8fa4284cb2c5c35ea748"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#a3b162ab1856a8fa4284cb2c5c35ea748">unsubscribe</a></div><div class="ttdeci">static void unsubscribe(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00167">homescreen.cpp:167</a></div></div>
+<div class="ttc" id="class_h_s___client_manager_html_aa78f992287e3b8fe93422b331dc9edc5"><div class="ttname"><a href="../../d2/d8e/class_h_s___client_manager.html#aa78f992287e3b8fe93422b331dc9edc5">HS_ClientManager::on_screen_reply</a></div><div class="ttdeci">int on_screen_reply(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d30/hs-clientmanager_8cpp_source.html#l00223">hs-clientmanager.cpp:223</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_abc0d6e0760017d8ae48b836925b2ef15"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a></div><div class="ttdeci">#define HMI_NOTICE(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00040">hmi-debug.h:40</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_a01e06b6317acebc1d5686386b15f0872"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#a01e06b6317acebc1d5686386b15f0872">verbs</a></div><div class="ttdeci">static const afb_verb_t verbs[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00326">homescreen.cpp:326</a></div></div>
+<div class="ttc" id="class_h_s___client_manager_html_afed8158f276d1d22c32b0d89e970d442"><div class="ttname"><a href="../../d2/d8e/class_h_s___client_manager.html#afed8158f276d1d22c32b0d89e970d442">HS_ClientManager::showWindow</a></div><div class="ttdeci">int showWindow(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d30/hs-clientmanager_8cpp_source.html#l00326">hs-clientmanager.cpp:326</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_a916c8dd31373222ee2b6ef89aca91978"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#a916c8dd31373222ee2b6ef89aca91978">showInformation</a></div><div class="ttdeci">static void showInformation(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00306">homescreen.cpp:306</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_ace65cfe6008848a3cd66581f536cc4c9"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#ace65cfe6008848a3cd66581f536cc4c9">pingSample</a></div><div class="ttdeci">static void pingSample(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00038">homescreen.cpp:38</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_a60665935681c76d38b3833912109cdd3"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#a60665935681c76d38b3833912109cdd3">onevent</a></div><div class="ttdeci">static void onevent(afb_api_t api, const char *event, struct json_object *object)</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00389">homescreen.cpp:389</a></div></div>
+<div class="ttc" id="class_h_s___client_manager_html_ac86314afbb90116e2f02ce071166226e"><div class="ttname"><a href="../../d2/d8e/class_h_s___client_manager.html#ac86314afbb90116e2f02ce071166226e">HS_ClientManager::unsubscribe</a></div><div class="ttdeci">int unsubscribe(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d30/hs-clientmanager_8cpp_source.html#l00292">hs-clientmanager.cpp:292</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_aed1c5296a2e6d34945507a0fca17a376"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#aed1c5296a2e6d34945507a0fca17a376">_error</a></div><div class="ttdeci">const char _error[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00027">homescreen.cpp:27</a></div></div>
+<div class="ttc" id="class_h_s___client_manager_html_a59b1c1e115b5a257a585c41f854f5fdd"><div class="ttname"><a href="../../d2/d8e/class_h_s___client_manager.html#a59b1c1e115b5a257a585c41f854f5fdd">HS_ClientManager::replyShowWindow</a></div><div class="ttdeci">int replyShowWindow(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d30/hs-clientmanager_8cpp_source.html#l00386">hs-clientmanager.cpp:386</a></div></div>
+<div class="ttc" id="class_h_s___client_manager_html"><div class="ttname"><a href="../../d2/d8e/class_h_s___client_manager.html">HS_ClientManager</a></div><div class="ttdef"><b>Definition:</b> <a href="../../de/dca/hs-clientmanager_8h_source.html#l00037">hs-clientmanager.h:37</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_a057c380ea38cfba4e2fbccc40fc21798"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#a057c380ea38cfba4e2fbccc40fc21798">hideWindow</a></div><div class="ttdeci">static void hideWindow(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00221">homescreen.cpp:221</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_a501f5bca8425de3171d46e0723f466ec"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#a501f5bca8425de3171d46e0723f466ec">g_client_manager</a></div><div class="ttdeci">static HS_ClientManager * g_client_manager</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00032">homescreen.cpp:32</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_abfd6c1d6f316fa952b11553f8f275e92"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#abfd6c1d6f316fa952b11553f8f275e92">_display_message</a></div><div class="ttdeci">const char _display_message[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00029">homescreen.cpp:29</a></div></div>
+<div class="ttc" id="class_h_s___client_manager_html_ad86c1fea7d107d52cbf0466fb7a2658b"><div class="ttname"><a href="../../d2/d8e/class_h_s___client_manager.html#ad86c1fea7d107d52cbf0466fb7a2658b">HS_ClientManager::instance</a></div><div class="ttdeci">static HS_ClientManager * instance(void)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d30/hs-clientmanager_8cpp_source.html#l00053">hs-clientmanager.cpp:53</a></div></div>
+<div class="ttc" id="src_2hmi-debug_8h_html"><div class="ttname"><a href="../../d6/dff/src_2hmi-debug_8h.html">hmi-debug.h</a></div></div>
+<div class="ttc" id="class_h_s___client_manager_html_a0645294f89c67fd3c9b0cce62a900f69"><div class="ttname"><a href="../../d2/d8e/class_h_s___client_manager.html#a0645294f89c67fd3c9b0cce62a900f69">HS_ClientManager::showInformation</a></div><div class="ttdeci">int showInformation(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d30/hs-clientmanager_8cpp_source.html#l00443">hs-clientmanager.cpp:443</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_a710bcc84a61e11dbd4517def2764ff95"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#a710bcc84a61e11dbd4517def2764ff95">replyShowWindow</a></div><div class="ttdeci">static void replyShowWindow(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00248">homescreen.cpp:248</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_ad96a84455e8676abb4486e48ef67b1ad"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#ad96a84455e8676abb4486e48ef67b1ad">showNotification</a></div><div class="ttdeci">static void showNotification(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00277">homescreen.cpp:277</a></div></div>
+<div class="ttc" id="hs-helper_8cpp_html_ae83604a37134e7bdee3ce4f10bb0b47a"><div class="ttname"><a href="../../df/d66/hs-helper_8cpp.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs_add_object_to_json_object_func</a></div><div class="ttdeci">void hs_add_object_to_json_object_func(struct json_object *j_obj, const char *verb_name, int count,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d66/hs-helper_8cpp_source.html#l00207">hs-helper.cpp:207</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_ab3b1914acb53dcc038c1cf86c2975785"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#ab3b1914acb53dcc038c1cf86c2975785">preinit</a></div><div class="ttdeci">static int preinit(afb_api_t api)</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00352">homescreen.cpp:352</a></div></div>
+<div class="ttc" id="class_h_s___client_manager_html_a58ce4a013d3694265dd69f481bf88510"><div class="ttname"><a href="../../d2/d8e/class_h_s___client_manager.html#a58ce4a013d3694265dd69f481bf88510">HS_ClientManager::on_screen_message</a></div><div class="ttdeci">int on_screen_message(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d30/hs-clientmanager_8cpp_source.html#l00195">hs-clientmanager.cpp:195</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_a6a0e1db2562b442f8131ddf64b61d1ba"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#a6a0e1db2562b442f8131ddf64b61d1ba">_application_id</a></div><div class="ttdeci">const char _application_id[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00028">homescreen.cpp:28</a></div></div>
+<div class="ttc" id="class_h_s___client_manager_html_a857934af280081ca6ac61d9f2cac37c5"><div class="ttname"><a href="../../d2/d8e/class_h_s___client_manager.html#a857934af280081ca6ac61d9f2cac37c5">HS_ClientManager::showNotification</a></div><div class="ttdeci">int showNotification(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d30/hs-clientmanager_8cpp_source.html#l00416">hs-clientmanager.cpp:416</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_ab8abb667377924d5c073611738febbd3"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#ab8abb667377924d5c073611738febbd3">tap_shortcut</a></div><div class="ttdeci">static void tap_shortcut(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00058">homescreen.cpp:58</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_a5d7de3437d5dcb79fa035959d95878db"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#a5d7de3437d5dcb79fa035959d95878db">init</a></div><div class="ttdeci">static int init(afb_api_t api)</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00368">homescreen.cpp:368</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="../../doxygen.png" alt="doxygen"/>
+</a> 1.8.11
+</small></address>
+</body>
+</html>
diff --git a/doc/api-ref/html/d6/de3/structwindow.html b/doc/api-ref/html/d6/de3/structwindow.html
new file mode 100644 (file)
index 0000000..76f755f
--- /dev/null
@@ -0,0 +1,381 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<title>HomeScreenBinding: window Struct Reference</title>
+<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="../../jquery.js"></script>
+<script type="text/javascript" src="../../dynsections.js"></script>
+<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="../../search/searchdata.js"></script>
+<script type="text/javascript" src="../../search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">HomeScreenBinding
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="../../index.html"><span>Main&#160;Page</span></a></li>
+      <li class="current"><a href="../../annotated.html"><span>Classes</span></a></li>
+      <li><a href="../../files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="../../search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="../../annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="../../functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-attribs">Public Attributes</a> &#124;
+<a href="../../df/d37/structwindow-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">window Struct Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:a129486f2bd23791194f389ca1405cfd4"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="../../d6/df5/structdisplay.html">display</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/de3/structwindow.html#a129486f2bd23791194f389ca1405cfd4">display</a></td></tr>
+<tr class="separator:a129486f2bd23791194f389ca1405cfd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad2b6c8ed8044b41fd1189a0ce26d539a"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="../../dd/ddc/structgeometry.html">geometry</a> <a class="el" href="../../dd/ddc/structgeometry.html">geometry</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/de3/structwindow.html#ad2b6c8ed8044b41fd1189a0ce26d539a">window_size</a></td></tr>
+<tr class="separator:ad2b6c8ed8044b41fd1189a0ce26d539a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6975a930e9a3c166f8201fc4ef5e7728"><td class="memItemLeft" >struct {</td></tr>
+<tr class="memitem:aee0282da3d9b55f2bb1bbaabe883718b"><td class="memItemLeft" >&#160;&#160;&#160;GLuint&#160;&#160;&#160;<a class="el" href="../../d6/de3/structwindow.html#a5202f3b60e262a6fa4fcee68dd47cb67">rotation_uniform</a></td></tr>
+<tr class="separator:aee0282da3d9b55f2bb1bbaabe883718b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa9b8688368dc4af015d49339323dfba2"><td class="memItemLeft" >&#160;&#160;&#160;GLuint&#160;&#160;&#160;<a class="el" href="../../d6/de3/structwindow.html#aaf965f90f9fc938db2315ff62028c362">pos</a></td></tr>
+<tr class="separator:aa9b8688368dc4af015d49339323dfba2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a84c5d7b937010866c7f9a0b75961b35f"><td class="memItemLeft" >&#160;&#160;&#160;GLuint&#160;&#160;&#160;<a class="el" href="../../d6/de3/structwindow.html#aef10fe94766ccd4831ee611c5ad0e55c">col</a></td></tr>
+<tr class="separator:a84c5d7b937010866c7f9a0b75961b35f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6975a930e9a3c166f8201fc4ef5e7728"><td class="memItemLeft" valign="top">}&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/de3/structwindow.html#a6975a930e9a3c166f8201fc4ef5e7728">gl</a></td></tr>
+<tr class="separator:a6975a930e9a3c166f8201fc4ef5e7728"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a72629bf021a361ad900504732a74cb68"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/de3/structwindow.html#a72629bf021a361ad900504732a74cb68">benchmark_time</a></td></tr>
+<tr class="separator:a72629bf021a361ad900504732a74cb68"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a633864bb495ec265bee220a5c70cc98f"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/de3/structwindow.html#a633864bb495ec265bee220a5c70cc98f">frames</a></td></tr>
+<tr class="separator:a633864bb495ec265bee220a5c70cc98f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae41be0955d0e73530e1bc13dfeb9d731"><td class="memItemLeft" align="right" valign="top">struct wl_egl_window *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/de3/structwindow.html#ae41be0955d0e73530e1bc13dfeb9d731">native</a></td></tr>
+<tr class="separator:ae41be0955d0e73530e1bc13dfeb9d731"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7d0790cfc7c30621611fa26ab5c1ae97"><td class="memItemLeft" align="right" valign="top">struct wl_surface *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/de3/structwindow.html#a7d0790cfc7c30621611fa26ab5c1ae97">surface</a></td></tr>
+<tr class="separator:a7d0790cfc7c30621611fa26ab5c1ae97"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a40e2c6fb4178953c820fc1b9f41d4b31"><td class="memItemLeft" align="right" valign="top">struct ivi_surface *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/de3/structwindow.html#a40e2c6fb4178953c820fc1b9f41d4b31">ivi_surface</a></td></tr>
+<tr class="separator:a40e2c6fb4178953c820fc1b9f41d4b31"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8de0059f3f1cb0dec33fba1143b7dee1"><td class="memItemLeft" align="right" valign="top">EGLSurface&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/de3/structwindow.html#a8de0059f3f1cb0dec33fba1143b7dee1">egl_surface</a></td></tr>
+<tr class="separator:a8de0059f3f1cb0dec33fba1143b7dee1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a35ba639556fa19d9273dad0953a6807e"><td class="memItemLeft" align="right" valign="top">struct wl_callback *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/de3/structwindow.html#a35ba639556fa19d9273dad0953a6807e">callback</a></td></tr>
+<tr class="separator:a35ba639556fa19d9273dad0953a6807e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8da44798a9e1feb7ed3fbd18ec3a28b6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/de3/structwindow.html#a8da44798a9e1feb7ed3fbd18ec3a28b6">fullscreen</a></td></tr>
+<tr class="separator:a8da44798a9e1feb7ed3fbd18ec3a28b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a026a50808d8323a5a73d585c19916fa8"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/de3/structwindow.html#a026a50808d8323a5a73d585c19916fa8">opaque</a></td></tr>
+<tr class="separator:a026a50808d8323a5a73d585c19916fa8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0e634038f669aff472012f25ea250b40"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/de3/structwindow.html#a0e634038f669aff472012f25ea250b40">buffer_size</a></td></tr>
+<tr class="separator:a0e634038f669aff472012f25ea250b40"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a851bcb65083f5ab5ff768b09522bed70"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/de3/structwindow.html#a851bcb65083f5ab5ff768b09522bed70">frame_sync</a></td></tr>
+<tr class="separator:a851bcb65083f5ab5ff768b09522bed70"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock">
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00136">136</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+</div><h2 class="groupheader">Member Data Documentation</h2>
+<a class="anchor" id="a72629bf021a361ad900504732a74cb68"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">uint32_t window::benchmark_time</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00145">145</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a0e634038f669aff472012f25ea250b40"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int window::buffer_size</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00151">151</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a35ba639556fa19d9273dad0953a6807e"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">struct wl_callback* window::callback</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00150">150</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aef10fe94766ccd4831ee611c5ad0e55c"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">GLuint window::col</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00142">142</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a129486f2bd23791194f389ca1405cfd4"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">struct <a class="el" href="../../d6/df5/structdisplay.html">display</a>* window::display</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00137">137</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a8de0059f3f1cb0dec33fba1143b7dee1"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EGLSurface window::egl_surface</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00149">149</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a851bcb65083f5ab5ff768b09522bed70"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int window::frame_sync</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00151">151</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a633864bb495ec265bee220a5c70cc98f"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">uint32_t window::frames</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00145">145</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a8da44798a9e1feb7ed3fbd18ec3a28b6"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int window::fullscreen</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00151">151</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a6975a930e9a3c166f8201fc4ef5e7728"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">struct { ... }   window::gl</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a40e2c6fb4178953c820fc1b9f41d4b31"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">struct ivi_surface* window::ivi_surface</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00148">148</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ae41be0955d0e73530e1bc13dfeb9d731"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">struct wl_egl_window* window::native</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00146">146</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a026a50808d8323a5a73d585c19916fa8"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int window::opaque</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00151">151</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aaf965f90f9fc938db2315ff62028c362"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">GLuint window::pos</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00141">141</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a5202f3b60e262a6fa4fcee68dd47cb67"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">GLuint window::rotation_uniform</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00140">140</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a7d0790cfc7c30621611fa26ab5c1ae97"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">struct wl_surface* window::surface</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00147">147</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad2b6c8ed8044b41fd1189a0ce26d539a"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">struct <a class="el" href="../../dd/ddc/structgeometry.html">geometry</a> <a class="el" href="../../dd/ddc/structgeometry.html">geometry</a> window::window_size</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00138">138</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li>libhomescreen/<a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="../../doxygen.png" alt="doxygen"/>
+</a> 1.8.11
+</small></address>
+</body>
+</html>
diff --git a/doc/api-ref/html/d6/df5/structdisplay.html b/doc/api-ref/html/d6/df5/structdisplay.html
new file mode 100644 (file)
index 0000000..3fee795
--- /dev/null
@@ -0,0 +1,285 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<title>HomeScreenBinding: display Struct Reference</title>
+<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="../../jquery.js"></script>
+<script type="text/javascript" src="../../dynsections.js"></script>
+<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="../../search/searchdata.js"></script>
+<script type="text/javascript" src="../../search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">HomeScreenBinding
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="../../index.html"><span>Main&#160;Page</span></a></li>
+      <li class="current"><a href="../../annotated.html"><span>Classes</span></a></li>
+      <li><a href="../../files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="../../search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="../../annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="../../functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-attribs">Public Attributes</a> &#124;
+<a href="../../d4/d10/structdisplay-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">display Struct Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:aa8faf09631925e9221fd8a0c086ce75a"><td class="memItemLeft" align="right" valign="top">struct wl_display *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/df5/structdisplay.html#aa8faf09631925e9221fd8a0c086ce75a">display</a></td></tr>
+<tr class="separator:aa8faf09631925e9221fd8a0c086ce75a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a925781323f5c8eb84ef2225ed129de4b"><td class="memItemLeft" align="right" valign="top">struct wl_registry *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/df5/structdisplay.html#a925781323f5c8eb84ef2225ed129de4b">registry</a></td></tr>
+<tr class="separator:a925781323f5c8eb84ef2225ed129de4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a41ba32dfde812165dda5b62885000c78"><td class="memItemLeft" align="right" valign="top">struct wl_compositor *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/df5/structdisplay.html#a41ba32dfde812165dda5b62885000c78">compositor</a></td></tr>
+<tr class="separator:a41ba32dfde812165dda5b62885000c78"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9dd8fd9967beb6b3767bd93011373bb8"><td class="memItemLeft" align="right" valign="top">struct wl_seat *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/df5/structdisplay.html#a9dd8fd9967beb6b3767bd93011373bb8">seat</a></td></tr>
+<tr class="separator:a9dd8fd9967beb6b3767bd93011373bb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8b8bc104c19ff228d476a377e572d9c7"><td class="memItemLeft" >struct {</td></tr>
+<tr class="memitem:a31e0818110271a142ee3f9d8e86068cf"><td class="memItemLeft" >&#160;&#160;&#160;EGLDisplay&#160;&#160;&#160;<a class="el" href="../../d6/df5/structdisplay.html#a8a1cbda15a286e41e89a85f158ce9311">dpy</a></td></tr>
+<tr class="separator:a31e0818110271a142ee3f9d8e86068cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab7c5715297d71a9c8f64af58cc04f9c1"><td class="memItemLeft" >&#160;&#160;&#160;EGLContext&#160;&#160;&#160;<a class="el" href="../../d6/df5/structdisplay.html#a3420940a29a710e0e5ebd41ba462cc00">ctx</a></td></tr>
+<tr class="separator:ab7c5715297d71a9c8f64af58cc04f9c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af564516fb826a8c5e3833897950e286d"><td class="memItemLeft" >&#160;&#160;&#160;EGLConfig&#160;&#160;&#160;<a class="el" href="../../d6/df5/structdisplay.html#a880aef9408b499f5b749541dc6e396c3">conf</a></td></tr>
+<tr class="separator:af564516fb826a8c5e3833897950e286d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8b8bc104c19ff228d476a377e572d9c7"><td class="memItemLeft" valign="top">}&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">egl</a></td></tr>
+<tr class="separator:a8b8bc104c19ff228d476a377e572d9c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9974d560bec291487ae2440f897ffc58"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="../../d6/de3/structwindow.html">window</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/df5/structdisplay.html#a9974d560bec291487ae2440f897ffc58">window</a></td></tr>
+<tr class="separator:a9974d560bec291487ae2440f897ffc58"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a24c073faff3bb4799c2d46291f27ab89"><td class="memItemLeft" align="right" valign="top">struct ivi_application *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/df5/structdisplay.html#a24c073faff3bb4799c2d46291f27ab89">ivi_application</a></td></tr>
+<tr class="separator:a24c073faff3bb4799c2d46291f27ab89"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a48c46c118e4765ef06596f6341c8f23f"><td class="memItemLeft" align="right" valign="top">PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/df5/structdisplay.html#a48c46c118e4765ef06596f6341c8f23f">swap_buffers_with_damage</a></td></tr>
+<tr class="separator:a48c46c118e4765ef06596f6341c8f23f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock">
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00116">116</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+</div><h2 class="groupheader">Member Data Documentation</h2>
+<a class="anchor" id="a41ba32dfde812165dda5b62885000c78"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">struct wl_compositor* display::compositor</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00119">119</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a880aef9408b499f5b749541dc6e396c3"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EGLConfig display::conf</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00124">124</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a3420940a29a710e0e5ebd41ba462cc00"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EGLContext display::ctx</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00123">123</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa8faf09631925e9221fd8a0c086ce75a"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">struct wl_display* display::display</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00117">117</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a8a1cbda15a286e41e89a85f158ce9311"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EGLDisplay display::dpy</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00122">122</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a8b8bc104c19ff228d476a377e572d9c7"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">struct { ... }   display::egl</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a24c073faff3bb4799c2d46291f27ab89"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">struct ivi_application* display::ivi_application</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00127">127</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a925781323f5c8eb84ef2225ed129de4b"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">struct wl_registry* display::registry</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00118">118</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a9dd8fd9967beb6b3767bd93011373bb8"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">struct wl_seat* display::seat</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00120">120</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a48c46c118e4765ef06596f6341c8f23f"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC display::swap_buffers_with_damage</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00129">129</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a9974d560bec291487ae2440f897ffc58"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">struct <a class="el" href="../../d6/de3/structwindow.html">window</a>* display::window</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00126">126</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li>libhomescreen/<a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="../../doxygen.png" alt="doxygen"/>
+</a> 1.8.11
+</small></address>
+</body>
+</html>
diff --git a/doc/api-ref/html/d6/dff/src_2hmi-debug_8h.html b/doc/api-ref/html/d6/dff/src_2hmi-debug_8h.html
new file mode 100644 (file)
index 0000000..a229503
--- /dev/null
@@ -0,0 +1,490 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<title>HomeScreenBinding: src/hmi-debug.h File Reference</title>
+<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="../../jquery.js"></script>
+<script type="text/javascript" src="../../dynsections.js"></script>
+<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="../../search/searchdata.js"></script>
+<script type="text/javascript" src="../../search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">HomeScreenBinding
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="../../index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="../../annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="../../files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="../../search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="../../files.html"><span>File&#160;List</span></a></li>
+      <li><a href="../../globals.html"><span>File&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="../../dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#define-members">Macros</a> &#124;
+<a href="#enum-members">Enumerations</a> &#124;
+<a href="#func-members">Functions</a> &#124;
+<a href="#var-members">Variables</a>  </div>
+  <div class="headertitle">
+<div class="title">hmi-debug.h File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &lt;time.h&gt;</code><br />
+<code>#include &lt;stdio.h&gt;</code><br />
+<code>#include &lt;stdarg.h&gt;</code><br />
+<code>#include &lt;string.h&gt;</code><br />
+<code>#include &lt;stdlib.h&gt;</code><br />
+</div>
+<p><a href="../../d6/dff/src_2hmi-debug_8h_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
+Macros</h2></td></tr>
+<tr class="memitem:a5fccb4fc71e44089a1b1a77fc76c0b68"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#a5fccb4fc71e44089a1b1a77fc76c0b68">__FILENAME__</a>&#160;&#160;&#160;(strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__)</td></tr>
+<tr class="separator:a5fccb4fc71e44089a1b1a77fc76c0b68"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a65bb6c7cfe38f8a724beab5059d36fb2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a>(prefix,  args, ...)&#160;&#160;&#160;<a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a">_HMI_LOG</a>(<a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f">LOG_LEVEL_ERROR</a>, <a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#a5fccb4fc71e44089a1b1a77fc76c0b68">__FILENAME__</a>, __FUNCTION__, __LINE__, prefix, args, ##__VA_ARGS__)</td></tr>
+<tr class="separator:a65bb6c7cfe38f8a724beab5059d36fb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a25361812432cd2480bc8f1a8e56ecbf7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#a25361812432cd2480bc8f1a8e56ecbf7">HMI_WARNING</a>(prefix,  args, ...)&#160;&#160;&#160;<a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a">_HMI_LOG</a>(<a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef">LOG_LEVEL_WARNING</a>, <a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#a5fccb4fc71e44089a1b1a77fc76c0b68">__FILENAME__</a>, __FUNCTION__,__LINE__, prefix, args,##__VA_ARGS__)</td></tr>
+<tr class="separator:a25361812432cd2480bc8f1a8e56ecbf7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc0d6e0760017d8ae48b836925b2ef15"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(prefix,  args, ...)&#160;&#160;&#160;<a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a">_HMI_LOG</a>(<a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e">LOG_LEVEL_NOTICE</a>, <a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#a5fccb4fc71e44089a1b1a77fc76c0b68">__FILENAME__</a>, __FUNCTION__,__LINE__, prefix, args,##__VA_ARGS__)</td></tr>
+<tr class="separator:abc0d6e0760017d8ae48b836925b2ef15"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a11b249a67108f0f4c50a0fc8a3eb4f5c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#a11b249a67108f0f4c50a0fc8a3eb4f5c">HMI_INFO</a>(prefix,  args, ...)&#160;&#160;&#160;<a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a">_HMI_LOG</a>(<a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4">LOG_LEVEL_INFO</a>, <a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#a5fccb4fc71e44089a1b1a77fc76c0b68">__FILENAME__</a>, __FUNCTION__,__LINE__, prefix, args,##__VA_ARGS__)</td></tr>
+<tr class="separator:a11b249a67108f0f4c50a0fc8a3eb4f5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0d26d8b8201011dade787236519711c0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a>(prefix,  args, ...)&#160;&#160;&#160;<a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a">_HMI_LOG</a>(<a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177">LOG_LEVEL_DEBUG</a>, <a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#a5fccb4fc71e44089a1b1a77fc76c0b68">__FILENAME__</a>, __FUNCTION__,__LINE__, prefix, args,##__VA_ARGS__)</td></tr>
+<tr class="separator:a0d26d8b8201011dade787236519711c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
+Enumerations</h2></td></tr>
+<tr class="memitem:aa5a9053636a30269210c54e734e0d583"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583">LOG_LEVEL</a> { <br />
+&#160;&#160;<a class="el" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848">LOG_LEVEL_NONE</a> = 0, 
+<a class="el" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f">LOG_LEVEL_ERROR</a>, 
+<a class="el" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef">LOG_LEVEL_WARNING</a>, 
+<a class="el" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e">LOG_LEVEL_NOTICE</a>, 
+<br />
+&#160;&#160;<a class="el" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4">LOG_LEVEL_INFO</a>, 
+<a class="el" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177">LOG_LEVEL_DEBUG</a>, 
+<a class="el" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444">LOG_LEVEL_MAX</a> = LOG_LEVEL_DEBUG, 
+<a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848">LOG_LEVEL_NONE</a> = 0, 
+<br />
+&#160;&#160;<a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f">LOG_LEVEL_ERROR</a>, 
+<a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef">LOG_LEVEL_WARNING</a>, 
+<a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e">LOG_LEVEL_NOTICE</a>, 
+<a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4">LOG_LEVEL_INFO</a>, 
+<br />
+&#160;&#160;<a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177">LOG_LEVEL_DEBUG</a>, 
+<a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444">LOG_LEVEL_MAX</a> = LOG_LEVEL_DEBUG
+<br />
+ }</td></tr>
+<tr class="separator:aa5a9053636a30269210c54e734e0d583"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a0846b9d51e2e0612c4825a9a581aa40a"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a">_HMI_LOG</a> (enum <a class="el" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583">LOG_LEVEL</a> level, const char *file, const char *func, const int line, const char *prefix, const char *log,...)</td></tr>
+<tr class="separator:a0846b9d51e2e0612c4825a9a581aa40a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:a13d4c7647aad2e84766f8b48a6caab09"><td class="memItemLeft" align="right" valign="top">static char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#a13d4c7647aad2e84766f8b48a6caab09">ERROR_FLAG</a> [6][20] = {&quot;NONE&quot;, &quot;ERROR&quot;, &quot;WARNING&quot;, &quot;NOTICE&quot;, &quot;INFO&quot;, &quot;DEBUG&quot;}</td></tr>
+<tr class="separator:a13d4c7647aad2e84766f8b48a6caab09"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Macro Definition Documentation</h2>
+<a class="anchor" id="a5fccb4fc71e44089a1b1a77fc76c0b68"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define __FILENAME__&#160;&#160;&#160;(strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../d6/dff/src_2hmi-debug_8h_source.html#l00040">40</a> of file <a class="el" href="../../d6/dff/src_2hmi-debug_8h_source.html">hmi-debug.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a0d26d8b8201011dade787236519711c0"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define HMI_DEBUG</td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">prefix, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">args, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>...</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td>&#160;&#160;&#160;<a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a">_HMI_LOG</a>(<a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177">LOG_LEVEL_DEBUG</a>, <a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#a5fccb4fc71e44089a1b1a77fc76c0b68">__FILENAME__</a>, __FUNCTION__,__LINE__, prefix, args,##__VA_ARGS__)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../d6/dff/src_2hmi-debug_8h_source.html#l00046">46</a> of file <a class="el" href="../../d6/dff/src_2hmi-debug_8h_source.html">hmi-debug.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a65bb6c7cfe38f8a724beab5059d36fb2"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define HMI_ERROR</td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">prefix, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">args, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>...</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td>&#160;&#160;&#160;<a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a">_HMI_LOG</a>(<a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f">LOG_LEVEL_ERROR</a>, <a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#a5fccb4fc71e44089a1b1a77fc76c0b68">__FILENAME__</a>, __FUNCTION__, __LINE__, prefix, args, ##__VA_ARGS__)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../d6/dff/src_2hmi-debug_8h_source.html#l00042">42</a> of file <a class="el" href="../../d6/dff/src_2hmi-debug_8h_source.html">hmi-debug.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a11b249a67108f0f4c50a0fc8a3eb4f5c"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define HMI_INFO</td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">prefix, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">args, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>...</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td>&#160;&#160;&#160;<a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a">_HMI_LOG</a>(<a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4">LOG_LEVEL_INFO</a>, <a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#a5fccb4fc71e44089a1b1a77fc76c0b68">__FILENAME__</a>, __FUNCTION__,__LINE__, prefix, args,##__VA_ARGS__)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../d6/dff/src_2hmi-debug_8h_source.html#l00045">45</a> of file <a class="el" href="../../d6/dff/src_2hmi-debug_8h_source.html">hmi-debug.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="abc0d6e0760017d8ae48b836925b2ef15"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define HMI_NOTICE</td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">prefix, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">args, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>...</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td>&#160;&#160;&#160;<a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a">_HMI_LOG</a>(<a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e">LOG_LEVEL_NOTICE</a>, <a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#a5fccb4fc71e44089a1b1a77fc76c0b68">__FILENAME__</a>, __FUNCTION__,__LINE__, prefix, args,##__VA_ARGS__)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../d6/dff/src_2hmi-debug_8h_source.html#l00044">44</a> of file <a class="el" href="../../d6/dff/src_2hmi-debug_8h_source.html">hmi-debug.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a25361812432cd2480bc8f1a8e56ecbf7"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define HMI_WARNING</td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">prefix, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">args, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>...</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td>&#160;&#160;&#160;<a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a">_HMI_LOG</a>(<a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef">LOG_LEVEL_WARNING</a>, <a class="el" href="../../d6/dff/src_2hmi-debug_8h.html#a5fccb4fc71e44089a1b1a77fc76c0b68">__FILENAME__</a>, __FUNCTION__,__LINE__, prefix, args,##__VA_ARGS__)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../d6/dff/src_2hmi-debug_8h_source.html#l00043">43</a> of file <a class="el" href="../../d6/dff/src_2hmi-debug_8h_source.html">hmi-debug.h</a>.</p>
+
+</div>
+</div>
+<h2 class="groupheader">Enumeration Type Documentation</h2>
+<a class="anchor" id="aa5a9053636a30269210c54e734e0d583"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583">LOG_LEVEL</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848"></a>LOG_LEVEL_NONE&#160;</td><td class="fielddoc">
+</td></tr>
+<tr><td class="fieldname"><a class="anchor" id="aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f"></a>LOG_LEVEL_ERROR&#160;</td><td class="fielddoc">
+</td></tr>
+<tr><td class="fieldname"><a class="anchor" id="aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef"></a>LOG_LEVEL_WARNING&#160;</td><td class="fielddoc">
+</td></tr>
+<tr><td class="fieldname"><a class="anchor" id="aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e"></a>LOG_LEVEL_NOTICE&#160;</td><td class="fielddoc">
+</td></tr>
+<tr><td class="fieldname"><a class="anchor" id="aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4"></a>LOG_LEVEL_INFO&#160;</td><td class="fielddoc">
+</td></tr>
+<tr><td class="fieldname"><a class="anchor" id="aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177"></a>LOG_LEVEL_DEBUG&#160;</td><td class="fielddoc">
+</td></tr>
+<tr><td class="fieldname"><a class="anchor" id="aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444"></a>LOG_LEVEL_MAX&#160;</td><td class="fielddoc">
+</td></tr>
+<tr><td class="fieldname"><a class="anchor" id="aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848"></a>LOG_LEVEL_NONE&#160;</td><td class="fielddoc">
+</td></tr>
+<tr><td class="fieldname"><a class="anchor" id="aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f"></a>LOG_LEVEL_ERROR&#160;</td><td class="fielddoc">
+</td></tr>
+<tr><td class="fieldname"><a class="anchor" id="aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef"></a>LOG_LEVEL_WARNING&#160;</td><td class="fielddoc">
+</td></tr>
+<tr><td class="fieldname"><a class="anchor" id="aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e"></a>LOG_LEVEL_NOTICE&#160;</td><td class="fielddoc">
+</td></tr>
+<tr><td class="fieldname"><a class="anchor" id="aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4"></a>LOG_LEVEL_INFO&#160;</td><td class="fielddoc">
+</td></tr>
+<tr><td class="fieldname"><a class="anchor" id="aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177"></a>LOG_LEVEL_DEBUG&#160;</td><td class="fielddoc">
+</td></tr>
+<tr><td class="fieldname"><a class="anchor" id="aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444"></a>LOG_LEVEL_MAX&#160;</td><td class="fielddoc">
+</td></tr>
+</table>
+
+<p>Definition at line <a class="el" href="../../d6/dff/src_2hmi-debug_8h_source.html#l00030">30</a> of file <a class="el" href="../../d6/dff/src_2hmi-debug_8h_source.html">hmi-debug.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;              {</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848">LOG_LEVEL_NONE</a> = 0,</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f">LOG_LEVEL_ERROR</a>,</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef">LOG_LEVEL_WARNING</a>,</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e">LOG_LEVEL_NOTICE</a>,</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4">LOG_LEVEL_INFO</a>,</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177">LOG_LEVEL_DEBUG</a>,</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444">LOG_LEVEL_MAX</a> = LOG_LEVEL_DEBUG</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;};</div><div class="ttc" id="include_2hmi-debug_8h_html_aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444">LOG_LEVEL_MAX</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00033">hmi-debug.h:33</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e">LOG_LEVEL_NOTICE</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00030">hmi-debug.h:30</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4">LOG_LEVEL_INFO</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00031">hmi-debug.h:31</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f">LOG_LEVEL_ERROR</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00028">hmi-debug.h:28</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef">LOG_LEVEL_WARNING</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00029">hmi-debug.h:29</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177">LOG_LEVEL_DEBUG</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00032">hmi-debug.h:32</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848">LOG_LEVEL_NONE</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00027">hmi-debug.h:27</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a0846b9d51e2e0612c4825a9a581aa40a"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static void _HMI_LOG </td>
+          <td>(</td>
+          <td class="paramtype">enum <a class="el" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583">LOG_LEVEL</a>&#160;</td>
+          <td class="paramname"><em>level</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>file</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const int&#160;</td>
+          <td class="paramname"><em>line</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>prefix</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>log</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>...</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../d6/dff/src_2hmi-debug_8h_source.html#l00050">50</a> of file <a class="el" href="../../d6/dff/src_2hmi-debug_8h_source.html">hmi-debug.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;{</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">int</span> log_level = (getenv(<span class="stringliteral">&quot;USE_HMI_DEBUG&quot;</span>) == NULL)?<a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f">LOG_LEVEL_ERROR</a>:atoi(getenv(<span class="stringliteral">&quot;USE_HMI_DEBUG&quot;</span>));</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;    <span class="keywordflow">if</span>(log_level &lt; level)</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    {</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;        <span class="keywordflow">return</span>;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    }</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;    <span class="keywordtype">char</span> *message;</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;    <span class="keyword">struct </span>timespec tp;</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> time;</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;    clock_gettime(CLOCK_REALTIME, &amp;tp);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;    time = (tp.tv_sec * 1000000L) + (tp.tv_nsec / 1000);</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;    va_list args;</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    va_start(args, log);</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;    <span class="keywordflow">if</span> (log == NULL || vasprintf(&amp;message, log, args) &lt; 0)</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;        message = NULL;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;    fprintf(stderr,  <span class="stringliteral">&quot;[%10.3f] [%s %s] [%s, %s(), Line:%d] &gt;&gt;&gt; %s \n&quot;</span>, time / 1000.0, prefix, <a class="code" href="../../d6/dff/src_2hmi-debug_8h.html#a13d4c7647aad2e84766f8b48a6caab09">ERROR_FLAG</a>[level], file, func, line, message);</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;    va_end(args);</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;    free(message);</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;}</div><div class="ttc" id="src_2hmi-debug_8h_html_a13d4c7647aad2e84766f8b48a6caab09"><div class="ttname"><a href="../../d6/dff/src_2hmi-debug_8h.html#a13d4c7647aad2e84766f8b48a6caab09">ERROR_FLAG</a></div><div class="ttdeci">static char ERROR_FLAG[6][20]</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dff/src_2hmi-debug_8h_source.html#l00048">hmi-debug.h:48</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f">LOG_LEVEL_ERROR</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00028">hmi-debug.h:28</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<h2 class="groupheader">Variable Documentation</h2>
+<a class="anchor" id="a13d4c7647aad2e84766f8b48a6caab09"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">char ERROR_FLAG[6][20] = {&quot;NONE&quot;, &quot;ERROR&quot;, &quot;WARNING&quot;, &quot;NOTICE&quot;, &quot;INFO&quot;, &quot;DEBUG&quot;}</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../d6/dff/src_2hmi-debug_8h_source.html#l00048">48</a> of file <a class="el" href="../../d6/dff/src_2hmi-debug_8h_source.html">hmi-debug.h</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="../../doxygen.png" alt="doxygen"/>
+</a> 1.8.11
+</small></address>
+</body>
+</html>
diff --git a/doc/api-ref/html/d6/dff/src_2hmi-debug_8h_source.html b/doc/api-ref/html/d6/dff/src_2hmi-debug_8h_source.html
new file mode 100644 (file)
index 0000000..d4cd670
--- /dev/null
@@ -0,0 +1,109 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<title>HomeScreenBinding: src/hmi-debug.h Source File</title>
+<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="../../jquery.js"></script>
+<script type="text/javascript" src="../../dynsections.js"></script>
+<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="../../search/searchdata.js"></script>
+<script type="text/javascript" src="../../search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">HomeScreenBinding
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="../../index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="../../annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="../../files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="../../search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="../../files.html"><span>File&#160;List</span></a></li>
+      <li><a href="../../globals.html"><span>File&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="../../dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">hmi-debug.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="../../d6/dff/src_2hmi-debug_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * Copyright (c) 2017 TOYOTA MOTOR CORPORATION</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> * Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * you may not use this file except in compliance with the License.</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * You may obtain a copy of the License at</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *      http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * limitations under the License.</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef __HMI_DEBUG_H__</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define __HMI_DEBUG_H__</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;time.h&gt;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &lt;stdio.h&gt;</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;stdarg.h&gt;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;string.h&gt;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &lt;stdlib.h&gt;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno"><a class="line" href="../../d6/dff/src_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583">   30</a></span>&#160;<span class="keyword">enum</span> <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583">LOG_LEVEL</a>{</div><div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="../../d6/dff/src_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848">   31</a></span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848">LOG_LEVEL_NONE</a> = 0,</div><div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="../../d6/dff/src_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f">   32</a></span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f">LOG_LEVEL_ERROR</a>,</div><div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="../../d6/dff/src_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef">   33</a></span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef">LOG_LEVEL_WARNING</a>,</div><div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="../../d6/dff/src_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e">   34</a></span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e">LOG_LEVEL_NOTICE</a>,</div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="../../d6/dff/src_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4">   35</a></span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4">LOG_LEVEL_INFO</a>,</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="../../d6/dff/src_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177">   36</a></span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177">LOG_LEVEL_DEBUG</a>,</div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="../../d6/dff/src_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444">   37</a></span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444">LOG_LEVEL_MAX</a> = <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177">LOG_LEVEL_DEBUG</a></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;};</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="../../d6/dff/src_2hmi-debug_8h.html#a5fccb4fc71e44089a1b1a77fc76c0b68">   40</a></span>&#160;<span class="preprocessor">#define __FILENAME__ (strrchr(__FILE__, &#39;/&#39;) ? strrchr(__FILE__, &#39;/&#39;) + 1 : __FILE__)</span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;</div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="../../d6/dff/src_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">   42</a></span>&#160;<span class="preprocessor">#define HMI_ERROR(prefix, args,...) _HMI_LOG(LOG_LEVEL_ERROR, __FILENAME__, __FUNCTION__, __LINE__, prefix, args, ##__VA_ARGS__)</span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="../../d6/dff/src_2hmi-debug_8h.html#a25361812432cd2480bc8f1a8e56ecbf7">   43</a></span>&#160;<span class="preprocessor">#define HMI_WARNING(prefix, args,...) _HMI_LOG(LOG_LEVEL_WARNING, __FILENAME__, __FUNCTION__,__LINE__, prefix, args,##__VA_ARGS__)</span></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="../../d6/dff/src_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">   44</a></span>&#160;<span class="preprocessor">#define HMI_NOTICE(prefix, args,...) _HMI_LOG(LOG_LEVEL_NOTICE, __FILENAME__, __FUNCTION__,__LINE__, prefix, args,##__VA_ARGS__)</span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="../../d6/dff/src_2hmi-debug_8h.html#a11b249a67108f0f4c50a0fc8a3eb4f5c">   45</a></span>&#160;<span class="preprocessor">#define HMI_INFO(prefix, args,...)  _HMI_LOG(LOG_LEVEL_INFO, __FILENAME__, __FUNCTION__,__LINE__, prefix, args,##__VA_ARGS__)</span></div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="../../d6/dff/src_2hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">   46</a></span>&#160;<span class="preprocessor">#define HMI_DEBUG(prefix, args,...) _HMI_LOG(LOG_LEVEL_DEBUG, __FILENAME__, __FUNCTION__,__LINE__, prefix, args,##__VA_ARGS__)</span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="../../d6/dff/src_2hmi-debug_8h.html#a13d4c7647aad2e84766f8b48a6caab09">   48</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">char</span> <a class="code" href="../../d6/dff/src_2hmi-debug_8h.html#a13d4c7647aad2e84766f8b48a6caab09">ERROR_FLAG</a>[6][20] = {<span class="stringliteral">&quot;NONE&quot;</span>, <span class="stringliteral">&quot;ERROR&quot;</span>, <span class="stringliteral">&quot;WARNING&quot;</span>, <span class="stringliteral">&quot;NOTICE&quot;</span>, <span class="stringliteral">&quot;INFO&quot;</span>, <span class="stringliteral">&quot;DEBUG&quot;</span>};</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;</div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="../../d6/dff/src_2hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a">   50</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="../../d6/dff/src_2hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a">_HMI_LOG</a>(<span class="keyword">enum</span> <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583">LOG_LEVEL</a> level, <span class="keyword">const</span> <span class="keywordtype">char</span>* file, <span class="keyword">const</span> <span class="keywordtype">char</span>* func, <span class="keyword">const</span> <span class="keywordtype">int</span> line, <span class="keyword">const</span> <span class="keywordtype">char</span>* prefix, <span class="keyword">const</span> <span class="keywordtype">char</span>* log, ...)</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;{</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">int</span> log_level = (getenv(<span class="stringliteral">&quot;USE_HMI_DEBUG&quot;</span>) == NULL)?<a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f">LOG_LEVEL_ERROR</a>:atoi(getenv(<span class="stringliteral">&quot;USE_HMI_DEBUG&quot;</span>));</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;    <span class="keywordflow">if</span>(log_level &lt; level)</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    {</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;        <span class="keywordflow">return</span>;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    }</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;    <span class="keywordtype">char</span> *message;</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;    <span class="keyword">struct </span>timespec tp;</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> time;</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;    clock_gettime(CLOCK_REALTIME, &amp;tp);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;    time = (tp.tv_sec * 1000000L) + (tp.tv_nsec / 1000);</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;    va_list args;</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    va_start(args, log);</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;    <span class="keywordflow">if</span> (log == NULL || vasprintf(&amp;message, log, args) &lt; 0)</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;        message = NULL;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;    fprintf(stderr,  <span class="stringliteral">&quot;[%10.3f] [%s %s] [%s, %s(), Line:%d] &gt;&gt;&gt; %s \n&quot;</span>, time / 1000.0, prefix, ERROR_FLAG[level], file, func, line, message);</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;    va_end(args);</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;    free(message);</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;}</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;}</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="preprocessor">#endif  //__HMI_DEBUG_H__</span></div><div class="ttc" id="include_2hmi-debug_8h_html_aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444">LOG_LEVEL_MAX</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00033">hmi-debug.h:33</a></div></div>
+<div class="ttc" id="src_2hmi-debug_8h_html_a0846b9d51e2e0612c4825a9a581aa40a"><div class="ttname"><a href="../../d6/dff/src_2hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a">_HMI_LOG</a></div><div class="ttdeci">static void _HMI_LOG(enum LOG_LEVEL level, const char *file, const char *func, const int line, const char *prefix, const char *log,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dff/src_2hmi-debug_8h_source.html#l00050">hmi-debug.h:50</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_aa5a9053636a30269210c54e734e0d583"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583">LOG_LEVEL</a></div><div class="ttdeci">LOG_LEVEL</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00026">hmi-debug.h:26</a></div></div>
+<div class="ttc" id="src_2hmi-debug_8h_html_a13d4c7647aad2e84766f8b48a6caab09"><div class="ttname"><a href="../../d6/dff/src_2hmi-debug_8h.html#a13d4c7647aad2e84766f8b48a6caab09">ERROR_FLAG</a></div><div class="ttdeci">static char ERROR_FLAG[6][20]</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dff/src_2hmi-debug_8h_source.html#l00048">hmi-debug.h:48</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e">LOG_LEVEL_NOTICE</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00030">hmi-debug.h:30</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4">LOG_LEVEL_INFO</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00031">hmi-debug.h:31</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f">LOG_LEVEL_ERROR</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00028">hmi-debug.h:28</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef">LOG_LEVEL_WARNING</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00029">hmi-debug.h:29</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177">LOG_LEVEL_DEBUG</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00032">hmi-debug.h:32</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848">LOG_LEVEL_NONE</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00027">hmi-debug.h:27</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="../../doxygen.png" alt="doxygen"/>
+</a> 1.8.11
+</small></address>
+</body>
+</html>
index 6171ad9..047f900 100644 (file)
@@ -3,8 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <title>HomeScreenBinding: Member List</title>
 <link href="../../tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="../../jquery.js"></script>
 <title>HomeScreenBinding: Member List</title>
 <link href="../../tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="../../jquery.js"></script>
@@ -12,6 +11,9 @@
 <link href="../../search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="../../search/searchdata.js"></script>
 <script type="text/javascript" src="../../search/search.js"></script>
 <link href="../../search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="../../search/searchdata.js"></script>
 <script type="text/javascript" src="../../search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
 <link href="../../doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
 <link href="../../doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
 </table>
 </div>
 <!-- end header part -->
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.11 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
 </script>
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
 </script>
-<script type="text/javascript" src="../../menudata.js"></script>
-<script type="text/javascript" src="../../menu.js"></script>
-<script type="text/javascript">
-$(function() {
-  initMenu('../../',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-</script>
-<div id="main-nav"></div>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="../../index.html"><span>Main&#160;Page</span></a></li>
+      <li class="current"><a href="../../annotated.html"><span>Classes</span></a></li>
+      <li><a href="../../files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="../../search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="../../annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="../../functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
      onmouseover="return searchBox.OnSearchSelectShow()"
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
      onmouseover="return searchBox.OnSearchSelectShow()"
@@ -65,15 +88,27 @@ $(function() {
 
 <p>This is the complete list of members for <a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a>, including all inherited members.</p>
 <table class="directory">
 
 <p>This is the complete list of members for <a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a>, including all inherited members.</p>
 <table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html#ad0569f5323ead77a43bd8735377a6f25">_areaFullScreen</a></td><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html#aac718b60b83c74e2b061f6f7f7ec3bf5">_areaNormal</a></td><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a7f201fc366146790520bf8d990f7b2eb">_areaSplitMain</a></td><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html#ab4f54373b0681de11243152f01c48888">_areaSplitSub</a></td><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a8becda1b035ae45f5a11c7e7963091bf">_keyArea</a></td><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a927592eff8e34efbbceaf12522f8897f">_keyParameter</a></td><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a5593ff5ac78f6495ccb649904cf0ab08">api_list</a></td><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
   <tr><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a527b49dcfe581be6275d0eb2236ba37f">call</a>(const std::string &amp;verb, struct json_object *arg)</td><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html#ab5e8e8ab7d53e0f114e9e907fcbb7643">call</a>(const char *verb, struct json_object *arg)</td><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a5593ff5ac78f6495ccb649904cf0ab08">api_list</a></td><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
   <tr><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a527b49dcfe581be6275d0eb2236ba37f">call</a>(const std::string &amp;verb, struct json_object *arg)</td><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html#ab5e8e8ab7d53e0f114e9e907fcbb7643">call</a>(const char *verb, struct json_object *arg)</td><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9">event_list</a></td><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d">Event_OnScreenMessage</a> enum value</td><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd">Event_OnScreenReply</a> enum value</td><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f">Event_TapShortcut</a> enum value</td><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154">EventType</a> enum name</td><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a334f11f81c84c98d18284215dcaada3a">handler_func</a> typedef</td><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aef8bb1086ddbc0a125d77af9da3146a0">Event_HideWindow</a> enum value</td><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9">event_list</a></td><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d">Event_OnScreenMessage</a> enum value</td><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd">Event_OnScreenReply</a> enum value</td><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aaacb8babce7fac884ab4bf7605da0d9f">Event_ReplyShowWindow</a> enum value</td><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a1fad2ac5071a1dae7db9c8e1b522669b">Event_ShowInformation</a> enum value</td><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a68119a9c3ff85e807db38d3282e5ca30">Event_ShowNotification</a> enum value</td><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a3fb3563c64786f1a2ae404df6edffd5c">Event_ShowWindow</a> enum value</td><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f">Event_TapShortcut</a> enum value</td><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154">EventType</a> enum name</td><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a334f11f81c84c98d18284215dcaada3a">handler_func</a> typedef</td><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a4dbaea6c7b310e8ce7207155ff11b32a">hideWindow</a>(const char *application_id)</td><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></td><td class="entry"></td></tr>
   <tr><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a6a57b573cc767725762ba9beab032220">init</a>(const int port, const std::string &amp;token)</td><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a724bd949c4154fad041f96a15ef0f5dc">LibHomeScreen</a>()</td><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></td><td class="entry"></td></tr>
   <tr><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a0fff2f703c8ce184eb9edd133e0f4137">LibHomeScreen</a>(const LibHomeScreen &amp;)=delete</td><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></td><td class="entry"></td></tr>
   <tr><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a6a57b573cc767725762ba9beab032220">init</a>(const int port, const std::string &amp;token)</td><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a724bd949c4154fad041f96a15ef0f5dc">LibHomeScreen</a>()</td><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></td><td class="entry"></td></tr>
   <tr><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a0fff2f703c8ce184eb9edd133e0f4137">LibHomeScreen</a>(const LibHomeScreen &amp;)=delete</td><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></td><td class="entry"></td></tr>
@@ -85,9 +120,13 @@ $(function() {
   <tr><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a6c065f41f2c5d1f58d2763bfb4da9c37">onScreenReply</a>(const char *reply_message)</td><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a23bc17798453cfca50904562736f6b25">operator=</a>(const LibHomeScreen &amp;)=delete</td><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></td><td class="entry"></td></tr>
   <tr><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a2789e8a5372202cc36f48e71dbb9b7cf">registerCallback</a>(void(*event_cb)(const std::string &amp;event, struct json_object *event_contents), void(*reply_cb)(struct json_object *reply_contents), void(*hangup_cb)(void)=nullptr)</td><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></td><td class="entry"></td></tr>
   <tr><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a6c065f41f2c5d1f58d2763bfb4da9c37">onScreenReply</a>(const char *reply_message)</td><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a23bc17798453cfca50904562736f6b25">operator=</a>(const LibHomeScreen &amp;)=delete</td><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></td><td class="entry"></td></tr>
   <tr><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a2789e8a5372202cc36f48e71dbb9b7cf">registerCallback</a>(void(*event_cb)(const std::string &amp;event, struct json_object *event_contents), void(*reply_cb)(struct json_object *reply_contents), void(*hangup_cb)(void)=nullptr)</td><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html#ab1b0e08bf35415de9064afed899e9f85">set_event_handler</a>(enum EventType et, handler_func f)</td><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a6310b129fc85ef0623e2e2063950cc4b">replyShowWindow</a>(const char *application_id, json_object *json)</td><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html#ab1b0e08bf35415de9064afed899e9f85">set_event_handler</a>(enum EventType et, handler_func f)</td><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html#ada999aeb0444c964428bdf1ee236727f">showInformation</a>(json_object *json)</td><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a93ad567ed597a80a344ba82457c2bd7f">showNotification</a>(json_object *json)</td><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a69fc770cb3f94d30a10c2c8c81eb892f">showWindow</a>(const char *application_id, json_object *json)</td><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></td><td class="entry"></td></tr>
   <tr><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html#aa4c189807b75d070f567967f0d690738">subscribe</a>(const std::string &amp;event_name)</td><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></td><td class="entry"></td></tr>
   <tr><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html#aa4c189807b75d070f567967f0d690738">subscribe</a>(const std::string &amp;event_name)</td><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html#afb571c9577087b47065eb23e7fdbc903">tapShortcut</a>(const char *application_name)</td><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a6ca8ff4a2aa019a735afaff713e0ef44">tapShortcut</a>(const char *application_id)</td><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></td><td class="entry"></td></tr>
   <tr><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html#aac03a45cbd453ba69ddb00c1016930a6">unsubscribe</a>(const std::string &amp;event_name)</td><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a249902aebf71a5383ca8ec6ae558d095">~LibHomeScreen</a>()</td><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></td><td class="entry"></td></tr>
 </table></div><!-- contents -->
   <tr><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html#aac03a45cbd453ba69ddb00c1016930a6">unsubscribe</a>(const std::string &amp;event_name)</td><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a249902aebf71a5383ca8ec6ae558d095">~LibHomeScreen</a>()</td><td class="entry"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></td><td class="entry"></td></tr>
 </table></div><!-- contents -->
@@ -95,7 +134,7 @@ $(function() {
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
-</a> 1.8.13
+</a> 1.8.11
 </small></address>
 </body>
 </html>
 </small></address>
 </body>
 </html>
diff --git a/doc/api-ref/html/d8/d55/hs-client_8cpp.html b/doc/api-ref/html/d8/d55/hs-client_8cpp.html
new file mode 100644 (file)
index 0000000..1c0887c
--- /dev/null
@@ -0,0 +1,255 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<title>HomeScreenBinding: src/hs-client.cpp File Reference</title>
+<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="../../jquery.js"></script>
+<script type="text/javascript" src="../../dynsections.js"></script>
+<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="../../search/searchdata.js"></script>
+<script type="text/javascript" src="../../search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">HomeScreenBinding
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="../../index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="../../annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="../../files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="../../search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="../../files.html"><span>File&#160;List</span></a></li>
+      <li><a href="../../globals.html"><span>File&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="../../dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#var-members">Variables</a>  </div>
+  <div class="headertitle">
+<div class="title">hs-client.cpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="../../da/dd3/hs-client_8h_source.html">hs-client.h</a>&quot;</code><br />
+<code>#include &quot;<a class="el" href="../../d3/d3d/hs-helper_8h_source.html">hs-helper.h</a>&quot;</code><br />
+<code>#include &quot;<a class="el" href="../../d6/dff/src_2hmi-debug_8h_source.html">hmi-debug.h</a>&quot;</code><br />
+</div>
+<p><a href="../../d8/d55/hs-client_8cpp_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:a1c24b43242df87f75631175c75afdcda"><td class="memItemLeft" align="right" valign="top">static const char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d55/hs-client_8cpp.html#a1c24b43242df87f75631175c75afdcda">_type</a> [] = &quot;type&quot;</td></tr>
+<tr class="separator:a1c24b43242df87f75631175c75afdcda"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad177811d47939fe9404de88672a980ab"><td class="memItemLeft" align="right" valign="top">static const char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d55/hs-client_8cpp.html#ad177811d47939fe9404de88672a980ab">_text</a> [] = &quot;text&quot;</td></tr>
+<tr class="separator:ad177811d47939fe9404de88672a980ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae125cd80cb98582684636e46ecf33cac"><td class="memItemLeft" align="right" valign="top">static const char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d55/hs-client_8cpp.html#ae125cd80cb98582684636e46ecf33cac">_info</a> [] = &quot;info&quot;</td></tr>
+<tr class="separator:ae125cd80cb98582684636e46ecf33cac"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5476c8a51997c773220bec9fc02eeaf5"><td class="memItemLeft" align="right" valign="top">static const char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d55/hs-client_8cpp.html#a5476c8a51997c773220bec9fc02eeaf5">_icon</a> [] = &quot;icon&quot;</td></tr>
+<tr class="separator:a5476c8a51997c773220bec9fc02eeaf5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae3fc16098a2461f2f1ae0ac8561437c6"><td class="memItemLeft" align="right" valign="top">static const char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d55/hs-client_8cpp.html#ae3fc16098a2461f2f1ae0ac8561437c6">_parameter</a> [] = &quot;parameter&quot;</td></tr>
+<tr class="separator:ae3fc16098a2461f2f1ae0ac8561437c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac5b722c0d87d2b0e3dfc527b44a1f5db"><td class="memItemLeft" align="right" valign="top">static const char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d55/hs-client_8cpp.html#ac5b722c0d87d2b0e3dfc527b44a1f5db">_replyto</a> [] = &quot;replyto&quot;</td></tr>
+<tr class="separator:ac5b722c0d87d2b0e3dfc527b44a1f5db"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Variable Documentation</h2>
+<a class="anchor" id="a5476c8a51997c773220bec9fc02eeaf5"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">const char _icon[] = &quot;icon&quot;</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../d8/d55/hs-client_8cpp_source.html#l00024">24</a> of file <a class="el" href="../../d8/d55/hs-client_8cpp_source.html">hs-client.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ae125cd80cb98582684636e46ecf33cac"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">const char _info[] = &quot;info&quot;</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../d8/d55/hs-client_8cpp_source.html#l00023">23</a> of file <a class="el" href="../../d8/d55/hs-client_8cpp_source.html">hs-client.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ae3fc16098a2461f2f1ae0ac8561437c6"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">const char _parameter[] = &quot;parameter&quot;</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../d8/d55/hs-client_8cpp_source.html#l00025">25</a> of file <a class="el" href="../../d8/d55/hs-client_8cpp_source.html">hs-client.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ac5b722c0d87d2b0e3dfc527b44a1f5db"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">const char _replyto[] = &quot;replyto&quot;</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../d8/d55/hs-client_8cpp_source.html#l00026">26</a> of file <a class="el" href="../../d8/d55/hs-client_8cpp_source.html">hs-client.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad177811d47939fe9404de88672a980ab"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">const char _text[] = &quot;text&quot;</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../d8/d55/hs-client_8cpp_source.html#l00022">22</a> of file <a class="el" href="../../d8/d55/hs-client_8cpp_source.html">hs-client.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a1c24b43242df87f75631175c75afdcda"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">const char _type[] = &quot;type&quot;</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../d8/d55/hs-client_8cpp_source.html#l00021">21</a> of file <a class="el" href="../../d8/d55/hs-client_8cpp_source.html">hs-client.cpp</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="../../doxygen.png" alt="doxygen"/>
+</a> 1.8.11
+</small></address>
+</body>
+</html>
diff --git a/doc/api-ref/html/d8/d55/hs-client_8cpp_source.html b/doc/api-ref/html/d8/d55/hs-client_8cpp_source.html
new file mode 100644 (file)
index 0000000..8243a1d
--- /dev/null
@@ -0,0 +1,129 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<title>HomeScreenBinding: src/hs-client.cpp Source File</title>
+<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="../../jquery.js"></script>
+<script type="text/javascript" src="../../dynsections.js"></script>
+<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="../../search/searchdata.js"></script>
+<script type="text/javascript" src="../../search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">HomeScreenBinding
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="../../index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="../../annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="../../files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="../../search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="../../files.html"><span>File&#160;List</span></a></li>
+      <li><a href="../../globals.html"><span>File&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="../../dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">hs-client.cpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="../../d8/d55/hs-client_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * Copyright (c) 2018 TOYOTA MOTOR CORPORATION</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> * Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * you may not use this file except in compliance with the License.</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * You may obtain a copy of the License at</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *      http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * limitations under the License.</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../da/dd3/hs-client_8h.html">hs-client.h</a>&quot;</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d3/d3d/hs-helper_8h.html">hs-helper.h</a>&quot;</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d6/dff/src_2hmi-debug_8h.html">hmi-debug.h</a>&quot;</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;</div><div class="line"><a name="l00021"></a><span class="lineno"><a class="line" href="../../d8/d55/hs-client_8cpp.html#a1c24b43242df87f75631175c75afdcda">   21</a></span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="../../d8/d55/hs-client_8cpp.html#a1c24b43242df87f75631175c75afdcda">_type</a>[] = <span class="stringliteral">&quot;type&quot;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno"><a class="line" href="../../d8/d55/hs-client_8cpp.html#ad177811d47939fe9404de88672a980ab">   22</a></span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="../../d8/d55/hs-client_8cpp.html#ad177811d47939fe9404de88672a980ab">_text</a>[] = <span class="stringliteral">&quot;text&quot;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno"><a class="line" href="../../d8/d55/hs-client_8cpp.html#ae125cd80cb98582684636e46ecf33cac">   23</a></span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="../../d8/d55/hs-client_8cpp.html#ae125cd80cb98582684636e46ecf33cac">_info</a>[] = <span class="stringliteral">&quot;info&quot;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno"><a class="line" href="../../d8/d55/hs-client_8cpp.html#a5476c8a51997c773220bec9fc02eeaf5">   24</a></span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="../../d8/d55/hs-client_8cpp.html#a5476c8a51997c773220bec9fc02eeaf5">_icon</a>[] = <span class="stringliteral">&quot;icon&quot;</span>;</div><div class="line"><a name="l00025"></a><span class="lineno"><a class="line" href="../../d8/d55/hs-client_8cpp.html#ae3fc16098a2461f2f1ae0ac8561437c6">   25</a></span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="../../d8/d55/hs-client_8cpp.html#ae3fc16098a2461f2f1ae0ac8561437c6">_parameter</a>[] = <span class="stringliteral">&quot;parameter&quot;</span>;</div><div class="line"><a name="l00026"></a><span class="lineno"><a class="line" href="../../d8/d55/hs-client_8cpp.html#ac5b722c0d87d2b0e3dfc527b44a1f5db">   26</a></span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="../../d8/d55/hs-client_8cpp.html#ac5b722c0d87d2b0e3dfc527b44a1f5db">_replyto</a>[] = <span class="stringliteral">&quot;replyto&quot;</span>;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="../../d5/d20/class_h_s___client.html#a47cb0035116ac7be4fffcfc9736e9233">   38</a></span>&#160;<a class="code" href="../../d5/d20/class_h_s___client.html#a0afac6b86b9a72e74846e47e435f5f90">HS_Client::HS_Client</a>(afb_req_t request, std::string <span class="keywordtype">id</span>) : my_id(id)</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;{</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;called.&quot;</span>);</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;    my_event = afb_api_make_event(request-&gt;api, <span class="keywordtype">id</span>.c_str());</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;}</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="../../d5/d20/class_h_s___client.html#ab29a9e899aaec3c21983c24ec6e5ee70">   54</a></span>&#160;<a class="code" href="../../d5/d20/class_h_s___client.html#ab29a9e899aaec3c21983c24ec6e5ee70">HS_Client::~HS_Client</a>()</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;{</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;called.&quot;</span>);</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    afb_event_unref(my_event);</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;}</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;</div><div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="../../d5/d20/class_h_s___client.html#a0d7fb8316248e8946dcb73a6612f21bb">   70</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../d5/d20/class_h_s___client.html#a0d7fb8316248e8946dcb73a6612f21bb">HS_Client::tap_shortcut</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* appid)</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;{</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;    <span class="keywordflow">if</span>(!checkEvent(__FUNCTION__))</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;        <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;%s application_id = %s.&quot;</span>, __FUNCTION__, appid);</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;    <span class="keyword">struct </span>json_object* push_obj = json_object_new_object();</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;    <a class="code" href="../../df/d66/hs-helper_8cpp.html#a8777c53f1d4d5412f19b134ad85ffedf">hs_add_object_to_json_object_str</a>( push_obj, 4, <a class="code" href="../../d6/dda/homescreen_8cpp.html#a6a0e1db2562b442f8131ddf64b61d1ba">_application_id</a>, appid,</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;    <a class="code" href="../../d8/d55/hs-client_8cpp.html#a1c24b43242df87f75631175c75afdcda">_type</a>, __FUNCTION__);</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;    afb_event_push(my_event, push_obj);</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;}</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="../../d5/d20/class_h_s___client.html#a274301617c9ab629d6916c0dde8c40b9">   93</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../d5/d20/class_h_s___client.html#a274301617c9ab629d6916c0dde8c40b9">HS_Client::on_screen_message</a>(afb_req_t request, <span class="keyword">const</span> <span class="keywordtype">char</span>* message)</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;{</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;    <span class="keywordflow">if</span>(!checkEvent(__FUNCTION__))</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;        <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;push %s event message [%s].&quot;</span>, __FUNCTION__, message);</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;    <span class="keyword">struct </span>json_object* push_obj = json_object_new_object();</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;    <a class="code" href="../../df/d66/hs-helper_8cpp.html#a8777c53f1d4d5412f19b134ad85ffedf">hs_add_object_to_json_object_str</a>( push_obj, 4, <a class="code" href="../../d6/dda/homescreen_8cpp.html#abfd6c1d6f316fa952b11553f8f275e92">_display_message</a>, message,</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;    <a class="code" href="../../d8/d55/hs-client_8cpp.html#a1c24b43242df87f75631175c75afdcda">_type</a>, __FUNCTION__);</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;    afb_event_push(my_event, push_obj);</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;}</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;</div><div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="../../d5/d20/class_h_s___client.html#a9f7a30840c95b1348bcce4cd4626b2ae">  116</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../d5/d20/class_h_s___client.html#a9f7a30840c95b1348bcce4cd4626b2ae">HS_Client::on_screen_reply</a>(afb_req_t request, <span class="keyword">const</span> <span class="keywordtype">char</span>* message)</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;{</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;    <span class="keywordflow">if</span>(!checkEvent(__FUNCTION__))</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;        <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;push %s event message [%s].&quot;</span>, __FUNCTION__, message);</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;    <span class="keyword">struct </span>json_object* push_obj = json_object_new_object();</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;    <a class="code" href="../../df/d66/hs-helper_8cpp.html#a8777c53f1d4d5412f19b134ad85ffedf">hs_add_object_to_json_object_str</a>( push_obj, 4, <a class="code" href="../../d6/dda/homescreen_8cpp.html#a79b0f0b481161527ccb80e83da143219">_reply_message</a>, message,</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;    <a class="code" href="../../d8/d55/hs-client_8cpp.html#a1c24b43242df87f75631175c75afdcda">_type</a>, __FUNCTION__);</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;    afb_event_push(my_event, push_obj);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;}</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;</div><div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="../../d5/d20/class_h_s___client.html#a3d000ca70bd4a8af7c4895d95bc7d0d0">  139</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../d5/d20/class_h_s___client.html#a3d000ca70bd4a8af7c4895d95bc7d0d0">HS_Client::subscribe</a>(afb_req_t request, <span class="keyword">const</span> <span class="keywordtype">char</span>* event)</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;{</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;    <span class="keywordtype">int</span> ret = 0;</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;    <span class="keyword">auto</span> ip = event_list.find(std::string(event));</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;    <span class="keywordflow">if</span>(ip == event_list.end()) {</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;        event_list[std::string(event)] = 0;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;    }</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;    <span class="keywordflow">if</span>(!subscription) {</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;        ret = afb_req_subscribe(request, my_event);</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;        <span class="keywordflow">if</span>(ret == 0) {</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;            subscription = <span class="keyword">true</span>;</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;        }</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;    }</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;}</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;</div><div class="line"><a name="l00165"></a><span class="lineno"><a class="line" href="../../d5/d20/class_h_s___client.html#a3da3b5662f918e11773da75f8f971d9c">  165</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../d5/d20/class_h_s___client.html#a3da3b5662f918e11773da75f8f971d9c">HS_Client::unsubscribe</a>(afb_req_t request, <span class="keyword">const</span> <span class="keywordtype">char</span>* event)</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;{</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;    <span class="keywordtype">int</span> ret = 0;</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;    event_list.erase(std::string(event));</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;    <span class="keywordflow">if</span>(event_list.empty()) {</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;        ret = afb_req_unsubscribe(request, my_event);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;    }</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;}</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;<span class="keywordtype">bool</span> HS_Client::checkEvent(<span class="keyword">const</span> <span class="keywordtype">char</span>* event)</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;{</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;    <span class="keyword">auto</span> ip = event_list.find(std::string(event));</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;    <span class="keywordflow">if</span>(ip == event_list.end())</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;    <span class="keywordflow">else</span></div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;}</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;</div><div class="line"><a name="l00209"></a><span class="lineno"><a class="line" href="../../d5/d20/class_h_s___client.html#af0f2be967a5b6ee81932c73b101184f7">  209</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../d5/d20/class_h_s___client.html#af0f2be967a5b6ee81932c73b101184f7">HS_Client::showWindow</a>(afb_req_t request, <span class="keyword">const</span> <span class="keywordtype">char</span>* appid)</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;{</div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;    <span class="keywordflow">if</span>(!checkEvent(__FUNCTION__))</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;        <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;%s application_id = %s.&quot;</span>, __FUNCTION__, appid);</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;    <span class="keyword">struct </span>json_object* push_obj = json_object_new_object();</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;    <a class="code" href="../../df/d66/hs-helper_8cpp.html#a8777c53f1d4d5412f19b134ad85ffedf">hs_add_object_to_json_object_str</a>( push_obj, 4, <a class="code" href="../../d6/dda/homescreen_8cpp.html#a6a0e1db2562b442f8131ddf64b61d1ba">_application_id</a>, appid, <a class="code" href="../../d8/d55/hs-client_8cpp.html#a1c24b43242df87f75631175c75afdcda">_type</a>, __FUNCTION__);</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* param = afb_req_value(request, <a class="code" href="../../d8/d55/hs-client_8cpp.html#ae3fc16098a2461f2f1ae0ac8561437c6">_parameter</a>);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;    <span class="keywordflow">if</span>(param) {</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;        <span class="keyword">const</span> <span class="keywordtype">char</span>* req_appid = afb_req_get_application_id(request);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;        <span class="keyword">struct </span>json_object* param_obj = json_tokener_parse(param);</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;        json_object_object_add(param_obj, <a class="code" href="../../d8/d55/hs-client_8cpp.html#ac5b722c0d87d2b0e3dfc527b44a1f5db">_replyto</a>, json_object_new_string(req_appid));</div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;        json_object_object_add(push_obj, <a class="code" href="../../d8/d55/hs-client_8cpp.html#ae3fc16098a2461f2f1ae0ac8561437c6">_parameter</a>, param_obj);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;    }</div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;    <span class="keywordflow">else</span> {</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;please input correct parameter.&quot;</span>);</div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa611e2ec24ef295bd87825889fe2ce5e">AFB_EVENT_BAD_REQUEST</a>;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;    }</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;    afb_event_push(my_event, push_obj);</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;}</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno"><a class="line" href="../../d5/d20/class_h_s___client.html#ac29482ffdf1b27733247ba0ffcc28b76">  245</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../d5/d20/class_h_s___client.html#ac29482ffdf1b27733247ba0ffcc28b76">HS_Client::hideWindow</a>(afb_req_t request)</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;{</div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;    <span class="keywordflow">if</span>(!checkEvent(__FUNCTION__))</div><div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;        <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;</div><div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;%s application_id = %s.&quot;</span>, __FUNCTION__);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* req_appid = afb_req_get_application_id(request);</div><div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;    <span class="keyword">struct </span>json_object* push_obj = json_object_new_object();</div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;    <a class="code" href="../../df/d66/hs-helper_8cpp.html#a8777c53f1d4d5412f19b134ad85ffedf">hs_add_object_to_json_object_str</a>( push_obj, 4, <a class="code" href="../../d6/dda/homescreen_8cpp.html#a6a0e1db2562b442f8131ddf64b61d1ba">_application_id</a>, req_appid,</div><div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;    <a class="code" href="../../d8/d55/hs-client_8cpp.html#a1c24b43242df87f75631175c75afdcda">_type</a>, __FUNCTION__);</div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;    afb_event_push(my_event, push_obj);</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;}</div><div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;</div><div class="line"><a name="l00273"></a><span class="lineno"><a class="line" href="../../d5/d20/class_h_s___client.html#a294e461500ef02aed17ed5d91479f6b9">  273</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../d5/d20/class_h_s___client.html#a294e461500ef02aed17ed5d91479f6b9">HS_Client::replyShowWindow</a>(afb_req_t request, <span class="keyword">const</span> <span class="keywordtype">char</span>* appid)</div><div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;{</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;    <span class="keywordflow">if</span>(!checkEvent(__FUNCTION__))</div><div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;        <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;%s application_id = %s.&quot;</span>, __FUNCTION__, appid);</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;    <span class="keyword">struct </span>json_object* push_obj = json_object_new_object();</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;    <a class="code" href="../../df/d66/hs-helper_8cpp.html#a8777c53f1d4d5412f19b134ad85ffedf">hs_add_object_to_json_object_str</a>( push_obj, 4, <a class="code" href="../../d6/dda/homescreen_8cpp.html#a6a0e1db2562b442f8131ddf64b61d1ba">_application_id</a>, appid, <a class="code" href="../../d8/d55/hs-client_8cpp.html#a1c24b43242df87f75631175c75afdcda">_type</a>, __FUNCTION__);</div><div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* param = afb_req_value(request, <a class="code" href="../../d8/d55/hs-client_8cpp.html#ae3fc16098a2461f2f1ae0ac8561437c6">_parameter</a>);</div><div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;    <span class="keywordflow">if</span>(param) {</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;        json_object_object_add(push_obj, <a class="code" href="../../d8/d55/hs-client_8cpp.html#ae3fc16098a2461f2f1ae0ac8561437c6">_parameter</a>, json_tokener_parse(param));</div><div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;    }</div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;    <span class="keywordflow">else</span> {</div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;please input correct parameter.&quot;</span>);</div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa611e2ec24ef295bd87825889fe2ce5e">AFB_EVENT_BAD_REQUEST</a>;</div><div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;    }</div><div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;    afb_event_push(my_event, push_obj);</div><div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;}</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;</div><div class="line"><a name="l00307"></a><span class="lineno"><a class="line" href="../../d5/d20/class_h_s___client.html#a77b41c1bc6f2c939410108d821a0b456">  307</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../d5/d20/class_h_s___client.html#a77b41c1bc6f2c939410108d821a0b456">HS_Client::showNotification</a>(afb_req_t request)</div><div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;{</div><div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;    <span class="keywordtype">int</span> ret = 0;</div><div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> *value = afb_req_value(request, <a class="code" href="../../d8/d55/hs-client_8cpp.html#ad177811d47939fe9404de88672a980ab">_text</a>);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;    <span class="keywordflow">if</span>(value) {</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;text is %s&quot;</span>, value);</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;        <span class="keyword">const</span> <span class="keywordtype">char</span>* appid = afb_req_get_application_id(request);</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;        <span class="keyword">struct </span>json_object* param_obj = json_object_new_object();</div><div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;        <span class="keyword">const</span> <span class="keywordtype">char</span> *icon = afb_req_value(request, <a class="code" href="../../d8/d55/hs-client_8cpp.html#a5476c8a51997c773220bec9fc02eeaf5">_icon</a>);</div><div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;        <span class="keywordflow">if</span>(icon) {</div><div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;            json_object_object_add(param_obj, <a class="code" href="../../d8/d55/hs-client_8cpp.html#a5476c8a51997c773220bec9fc02eeaf5">_icon</a>, json_object_new_string(icon));</div><div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;            json_object_object_add(param_obj, <a class="code" href="../../d8/d55/hs-client_8cpp.html#ad177811d47939fe9404de88672a980ab">_text</a>, json_object_new_string(value));</div><div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;            <span class="keyword">struct </span>json_object* push_obj = json_object_new_object();</div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;            <a class="code" href="../../df/d66/hs-helper_8cpp.html#a8777c53f1d4d5412f19b134ad85ffedf">hs_add_object_to_json_object_str</a>( push_obj, 4, <a class="code" href="../../d6/dda/homescreen_8cpp.html#a6a0e1db2562b442f8131ddf64b61d1ba">_application_id</a>, appid, <a class="code" href="../../d8/d55/hs-client_8cpp.html#a1c24b43242df87f75631175c75afdcda">_type</a>, __FUNCTION__);</div><div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;            json_object_object_add(push_obj, <a class="code" href="../../d8/d55/hs-client_8cpp.html#ae3fc16098a2461f2f1ae0ac8561437c6">_parameter</a>, param_obj);</div><div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;            afb_event_push(my_event, push_obj);</div><div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;        }</div><div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;        <span class="keywordflow">else</span> {</div><div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;            <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;please input icon.&quot;</span>);</div><div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;            ret = <a class="code" href="../../d3/d3d/hs-helper_8h.html#a057fc88b8445828c261305cf9107d99d">AFB_REQ_SHOWNOTIFICATION_ERROR</a>;</div><div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;        }</div><div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;    }</div><div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;    <span class="keywordflow">else</span> {</div><div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;please input text.&quot;</span>);</div><div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;        ret = <a class="code" href="../../d3/d3d/hs-helper_8h.html#a057fc88b8445828c261305cf9107d99d">AFB_REQ_SHOWNOTIFICATION_ERROR</a>;</div><div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;    }</div><div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;</div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;}</div><div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;</div><div class="line"><a name="l00350"></a><span class="lineno"><a class="line" href="../../d5/d20/class_h_s___client.html#a7145c14a7a971b45f647a82e3390ce9c">  350</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../d5/d20/class_h_s___client.html#a7145c14a7a971b45f647a82e3390ce9c">HS_Client::showInformation</a>(afb_req_t request)</div><div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;{</div><div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;    <span class="keywordtype">int</span> ret = 0;</div><div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> *value = afb_req_value(request, <a class="code" href="../../d8/d55/hs-client_8cpp.html#ae125cd80cb98582684636e46ecf33cac">_info</a>);</div><div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;    <span class="keywordflow">if</span>(value) {</div><div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;info is %s&quot;</span>, value);</div><div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;        <span class="keyword">const</span> <span class="keywordtype">char</span>* appid = afb_req_get_application_id(request);</div><div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;        <span class="keyword">struct </span>json_object* param_obj = json_object_new_object();</div><div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;        json_object_object_add(param_obj, <a class="code" href="../../d8/d55/hs-client_8cpp.html#ae125cd80cb98582684636e46ecf33cac">_info</a>, json_object_new_string(value));</div><div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;        <span class="keyword">struct </span>json_object* push_obj = json_object_new_object();</div><div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;        <a class="code" href="../../df/d66/hs-helper_8cpp.html#a8777c53f1d4d5412f19b134ad85ffedf">hs_add_object_to_json_object_str</a>( push_obj, 4, <a class="code" href="../../d6/dda/homescreen_8cpp.html#a6a0e1db2562b442f8131ddf64b61d1ba">_application_id</a>, appid, <a class="code" href="../../d8/d55/hs-client_8cpp.html#a1c24b43242df87f75631175c75afdcda">_type</a>, __FUNCTION__);</div><div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;        json_object_object_add(push_obj, <a class="code" href="../../d8/d55/hs-client_8cpp.html#ae3fc16098a2461f2f1ae0ac8561437c6">_parameter</a>, param_obj);</div><div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;        afb_event_push(my_event, push_obj);</div><div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;    }</div><div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;    <span class="keywordflow">else</span> {</div><div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;please input information.&quot;</span>);</div><div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;        ret = <a class="code" href="../../d3/d3d/hs-helper_8h.html#aefe0d7ff8202f954693c235c1fb8e310">AFB_REQ_SHOWINFORMATION_ERROR</a>;</div><div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;    }</div><div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;</div><div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;}</div><div class="ttc" id="class_h_s___client_html_a3d000ca70bd4a8af7c4895d95bc7d0d0"><div class="ttname"><a href="../../d5/d20/class_h_s___client.html#a3d000ca70bd4a8af7c4895d95bc7d0d0">HS_Client::subscribe</a></div><div class="ttdeci">int subscribe(afb_req_t request, const char *event)</div><div class="ttdef"><b>Definition:</b> <a href="../../d8/d55/hs-client_8cpp_source.html#l00139">hs-client.cpp:139</a></div></div>
+<div class="ttc" id="hs-client_8cpp_html_ad177811d47939fe9404de88672a980ab"><div class="ttname"><a href="../../d8/d55/hs-client_8cpp.html#ad177811d47939fe9404de88672a980ab">_text</a></div><div class="ttdeci">static const char _text[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d8/d55/hs-client_8cpp_source.html#l00022">hs-client.cpp:22</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_a057fc88b8445828c261305cf9107d99d"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#a057fc88b8445828c261305cf9107d99d">AFB_REQ_SHOWNOTIFICATION_ERROR</a></div><div class="ttdeci">#define AFB_REQ_SHOWNOTIFICATION_ERROR</div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00026">hs-helper.h:26</a></div></div>
+<div class="ttc" id="class_h_s___client_html_a0afac6b86b9a72e74846e47e435f5f90"><div class="ttname"><a href="../../d5/d20/class_h_s___client.html#a0afac6b86b9a72e74846e47e435f5f90">HS_Client::HS_Client</a></div><div class="ttdeci">HS_Client(afb_req_t request, const char *id)</div><div class="ttdef"><b>Definition:</b> <a href="../../da/dd3/hs-client_8h_source.html#l00027">hs-client.h:27</a></div></div>
+<div class="ttc" id="hs-helper_8h_html"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html">hs-helper.h</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_a79b0f0b481161527ccb80e83da143219"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#a79b0f0b481161527ccb80e83da143219">_reply_message</a></div><div class="ttdeci">const char _reply_message[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00030">homescreen.cpp:30</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_abc0d6e0760017d8ae48b836925b2ef15"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a></div><div class="ttdeci">#define HMI_NOTICE(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00040">hmi-debug.h:40</a></div></div>
+<div class="ttc" id="class_h_s___client_html_a294e461500ef02aed17ed5d91479f6b9"><div class="ttname"><a href="../../d5/d20/class_h_s___client.html#a294e461500ef02aed17ed5d91479f6b9">HS_Client::replyShowWindow</a></div><div class="ttdeci">int replyShowWindow(afb_req_t request, const char *appid)</div><div class="ttdef"><b>Definition:</b> <a href="../../d8/d55/hs-client_8cpp_source.html#l00273">hs-client.cpp:273</a></div></div>
+<div class="ttc" id="class_h_s___client_html_a274301617c9ab629d6916c0dde8c40b9"><div class="ttname"><a href="../../d5/d20/class_h_s___client.html#a274301617c9ab629d6916c0dde8c40b9">HS_Client::on_screen_message</a></div><div class="ttdeci">int on_screen_message(afb_req_t request, const char *message)</div><div class="ttdef"><b>Definition:</b> <a href="../../d8/d55/hs-client_8cpp_source.html#l00093">hs-client.cpp:93</a></div></div>
+<div class="ttc" id="class_h_s___client_html_a7145c14a7a971b45f647a82e3390ce9c"><div class="ttname"><a href="../../d5/d20/class_h_s___client.html#a7145c14a7a971b45f647a82e3390ce9c">HS_Client::showInformation</a></div><div class="ttdeci">int showInformation(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../d8/d55/hs-client_8cpp_source.html#l00350">hs-client.cpp:350</a></div></div>
+<div class="ttc" id="hs-client_8cpp_html_ae3fc16098a2461f2f1ae0ac8561437c6"><div class="ttname"><a href="../../d8/d55/hs-client_8cpp.html#ae3fc16098a2461f2f1ae0ac8561437c6">_parameter</a></div><div class="ttdeci">static const char _parameter[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d8/d55/hs-client_8cpp_source.html#l00025">hs-client.cpp:25</a></div></div>
+<div class="ttc" id="class_h_s___client_html_a9f7a30840c95b1348bcce4cd4626b2ae"><div class="ttname"><a href="../../d5/d20/class_h_s___client.html#a9f7a30840c95b1348bcce4cd4626b2ae">HS_Client::on_screen_reply</a></div><div class="ttdeci">int on_screen_reply(afb_req_t request, const char *message)</div><div class="ttdef"><b>Definition:</b> <a href="../../d8/d55/hs-client_8cpp_source.html#l00116">hs-client.cpp:116</a></div></div>
+<div class="ttc" id="hs-client_8h_html"><div class="ttname"><a href="../../da/dd3/hs-client_8h.html">hs-client.h</a></div></div>
+<div class="ttc" id="class_h_s___client_html_a3da3b5662f918e11773da75f8f971d9c"><div class="ttname"><a href="../../d5/d20/class_h_s___client.html#a3da3b5662f918e11773da75f8f971d9c">HS_Client::unsubscribe</a></div><div class="ttdeci">int unsubscribe(afb_req_t request, const char *event)</div><div class="ttdef"><b>Definition:</b> <a href="../../d8/d55/hs-client_8cpp_source.html#l00165">hs-client.cpp:165</a></div></div>
+<div class="ttc" id="hs-client_8cpp_html_a1c24b43242df87f75631175c75afdcda"><div class="ttname"><a href="../../d8/d55/hs-client_8cpp.html#a1c24b43242df87f75631175c75afdcda">_type</a></div><div class="ttdeci">static const char _type[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d8/d55/hs-client_8cpp_source.html#l00021">hs-client.cpp:21</a></div></div>
+<div class="ttc" id="class_h_s___client_html_a77b41c1bc6f2c939410108d821a0b456"><div class="ttname"><a href="../../d5/d20/class_h_s___client.html#a77b41c1bc6f2c939410108d821a0b456">HS_Client::showNotification</a></div><div class="ttdeci">int showNotification(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../d8/d55/hs-client_8cpp_source.html#l00307">hs-client.cpp:307</a></div></div>
+<div class="ttc" id="class_h_s___client_html_ab29a9e899aaec3c21983c24ec6e5ee70"><div class="ttname"><a href="../../d5/d20/class_h_s___client.html#ab29a9e899aaec3c21983c24ec6e5ee70">HS_Client::~HS_Client</a></div><div class="ttdeci">~HS_Client()</div><div class="ttdef"><b>Definition:</b> <a href="../../d8/d55/hs-client_8cpp_source.html#l00054">hs-client.cpp:54</a></div></div>
+<div class="ttc" id="hs-helper_8cpp_html_a8777c53f1d4d5412f19b134ad85ffedf"><div class="ttname"><a href="../../df/d66/hs-helper_8cpp.html#a8777c53f1d4d5412f19b134ad85ffedf">hs_add_object_to_json_object_str</a></div><div class="ttdeci">void hs_add_object_to_json_object_str(struct json_object *j_obj, int count,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d66/hs-helper_8cpp_source.html#l00180">hs-helper.cpp:180</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_abfd6c1d6f316fa952b11553f8f275e92"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#abfd6c1d6f316fa952b11553f8f275e92">_display_message</a></div><div class="ttdeci">const char _display_message[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00029">homescreen.cpp:29</a></div></div>
+<div class="ttc" id="hs-client_8cpp_html_a5476c8a51997c773220bec9fc02eeaf5"><div class="ttname"><a href="../../d8/d55/hs-client_8cpp.html#a5476c8a51997c773220bec9fc02eeaf5">_icon</a></div><div class="ttdeci">static const char _icon[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d8/d55/hs-client_8cpp_source.html#l00024">hs-client.cpp:24</a></div></div>
+<div class="ttc" id="class_h_s___client_html_af0f2be967a5b6ee81932c73b101184f7"><div class="ttname"><a href="../../d5/d20/class_h_s___client.html#af0f2be967a5b6ee81932c73b101184f7">HS_Client::showWindow</a></div><div class="ttdeci">int showWindow(afb_req_t request, const char *appid)</div><div class="ttdef"><b>Definition:</b> <a href="../../d8/d55/hs-client_8cpp_source.html#l00209">hs-client.cpp:209</a></div></div>
+<div class="ttc" id="class_h_s___client_html_ac29482ffdf1b27733247ba0ffcc28b76"><div class="ttname"><a href="../../d5/d20/class_h_s___client.html#ac29482ffdf1b27733247ba0ffcc28b76">HS_Client::hideWindow</a></div><div class="ttdeci">int hideWindow(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../d8/d55/hs-client_8cpp_source.html#l00245">hs-client.cpp:245</a></div></div>
+<div class="ttc" id="src_2hmi-debug_8h_html"><div class="ttname"><a href="../../d6/dff/src_2hmi-debug_8h.html">hmi-debug.h</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_a65bb6c7cfe38f8a724beab5059d36fb2"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a></div><div class="ttdeci">#define HMI_ERROR(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00038">hmi-debug.h:38</a></div></div>
+<div class="ttc" id="hs-client_8cpp_html_ac5b722c0d87d2b0e3dfc527b44a1f5db"><div class="ttname"><a href="../../d8/d55/hs-client_8cpp.html#ac5b722c0d87d2b0e3dfc527b44a1f5db">_replyto</a></div><div class="ttdeci">static const char _replyto[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d8/d55/hs-client_8cpp_source.html#l00026">hs-client.cpp:26</a></div></div>
+<div class="ttc" id="hs-client_8cpp_html_ae125cd80cb98582684636e46ecf33cac"><div class="ttname"><a href="../../d8/d55/hs-client_8cpp.html#ae125cd80cb98582684636e46ecf33cac">_info</a></div><div class="ttdeci">static const char _info[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d8/d55/hs-client_8cpp_source.html#l00023">hs-client.cpp:23</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_a6a0e1db2562b442f8131ddf64b61d1ba"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#a6a0e1db2562b442f8131ddf64b61d1ba">_application_id</a></div><div class="ttdeci">const char _application_id[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00028">homescreen.cpp:28</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_aa611e2ec24ef295bd87825889fe2ce5e"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa611e2ec24ef295bd87825889fe2ce5e">AFB_EVENT_BAD_REQUEST</a></div><div class="ttdeci">#define AFB_EVENT_BAD_REQUEST</div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00023">hs-helper.h:23</a></div></div>
+<div class="ttc" id="class_h_s___client_html_a0d7fb8316248e8946dcb73a6612f21bb"><div class="ttname"><a href="../../d5/d20/class_h_s___client.html#a0d7fb8316248e8946dcb73a6612f21bb">HS_Client::tap_shortcut</a></div><div class="ttdeci">int tap_shortcut(const char *appid)</div><div class="ttdef"><b>Definition:</b> <a href="../../d8/d55/hs-client_8cpp_source.html#l00070">hs-client.cpp:70</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_aefe0d7ff8202f954693c235c1fb8e310"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aefe0d7ff8202f954693c235c1fb8e310">AFB_REQ_SHOWINFORMATION_ERROR</a></div><div class="ttdeci">#define AFB_REQ_SHOWINFORMATION_ERROR</div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00027">hs-helper.h:27</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="../../doxygen.png" alt="doxygen"/>
+</a> 1.8.11
+</small></address>
+</body>
+</html>
diff --git a/doc/api-ref/html/da/dd3/hs-client_8h.html b/doc/api-ref/html/da/dd3/hs-client_8h.html
new file mode 100644 (file)
index 0000000..3759dbb
--- /dev/null
@@ -0,0 +1,112 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<title>HomeScreenBinding: src/hs-client.h File Reference</title>
+<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="../../jquery.js"></script>
+<script type="text/javascript" src="../../dynsections.js"></script>
+<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="../../search/searchdata.js"></script>
+<script type="text/javascript" src="../../search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">HomeScreenBinding
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="../../index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="../../annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="../../files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="../../search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="../../files.html"><span>File&#160;List</span></a></li>
+      <li><a href="../../globals.html"><span>File&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="../../dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a>  </div>
+  <div class="headertitle">
+<div class="title">hs-client.h File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &lt;string&gt;</code><br />
+<code>#include &lt;unordered_map&gt;</code><br />
+<code>#include &quot;<a class="el" href="../../d3/d3d/hs-helper_8h_source.html">hs-helper.h</a>&quot;</code><br />
+</div>
+<p><a href="../../da/dd3/hs-client_8h_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d20/class_h_s___client.html">HS_Client</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="../../doxygen.png" alt="doxygen"/>
+</a> 1.8.11
+</small></address>
+</body>
+</html>
diff --git a/doc/api-ref/html/da/dd3/hs-client_8h_source.html b/doc/api-ref/html/da/dd3/hs-client_8h_source.html
new file mode 100644 (file)
index 0000000..84f0d3e
--- /dev/null
@@ -0,0 +1,115 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<title>HomeScreenBinding: src/hs-client.h Source File</title>
+<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="../../jquery.js"></script>
+<script type="text/javascript" src="../../dynsections.js"></script>
+<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="../../search/searchdata.js"></script>
+<script type="text/javascript" src="../../search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">HomeScreenBinding
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="../../index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="../../annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="../../files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="../../search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="../../files.html"><span>File&#160;List</span></a></li>
+      <li><a href="../../globals.html"><span>File&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="../../dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">hs-client.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="../../da/dd3/hs-client_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * Copyright (c) 2018 TOYOTA MOTOR CORPORATION</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> * Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * you may not use this file except in compliance with the License.</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * You may obtain a copy of the License at</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *      http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * limitations under the License.</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef HOMESCREEN_CLIENT_H</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define HOMESCREEN_CLIENT_H</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;unordered_map&gt;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d3/d3d/hs-helper_8h.html">hs-helper.h</a>&quot;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div><div class="line"><a name="l00025"></a><span class="lineno"><a class="line" href="../../d5/d20/class_h_s___client.html">   25</a></span>&#160;<span class="keyword">class </span><a class="code" href="../../d5/d20/class_h_s___client.html">HS_Client</a> {</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00027"></a><span class="lineno"><a class="line" href="../../d5/d20/class_h_s___client.html#a0afac6b86b9a72e74846e47e435f5f90">   27</a></span>&#160;    <a class="code" href="../../d5/d20/class_h_s___client.html#a0afac6b86b9a72e74846e47e435f5f90">HS_Client</a>(afb_req_t request, <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keywordtype">id</span>) : <a class="code" href="../../d5/d20/class_h_s___client.html">HS_Client</a>(request, <a class="code" href="../../d8/dcc/namespacestd.html">std</a>::string(id)){}</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;    <a class="code" href="../../d5/d20/class_h_s___client.html#a0afac6b86b9a72e74846e47e435f5f90">HS_Client</a>(afb_req_t request, std::string <span class="keywordtype">id</span>);</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    <a class="code" href="../../d5/d20/class_h_s___client.html#a0afac6b86b9a72e74846e47e435f5f90">HS_Client</a>(<a class="code" href="../../d5/d20/class_h_s___client.html">HS_Client</a>&amp;) = <span class="keyword">delete</span>;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;    <a class="code" href="../../d5/d20/class_h_s___client.html">HS_Client</a> &amp;<a class="code" href="../../d5/d20/class_h_s___client.html#a3e3d8fa1c8746d6d1b1650fe1fcc56a8">operator=</a>(<a class="code" href="../../d5/d20/class_h_s___client.html">HS_Client</a>&amp;) = <span class="keyword">delete</span>;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;    <a class="code" href="../../d5/d20/class_h_s___client.html#ab29a9e899aaec3c21983c24ec6e5ee70">~HS_Client</a>();</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;    <span class="keywordtype">int</span> <a class="code" href="../../d5/d20/class_h_s___client.html#a0d7fb8316248e8946dcb73a6612f21bb">tap_shortcut</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* appid);</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;    <span class="keywordtype">int</span> <a class="code" href="../../d5/d20/class_h_s___client.html#af0f2be967a5b6ee81932c73b101184f7">showWindow</a>(afb_req_t request, <span class="keyword">const</span> <span class="keywordtype">char</span>* appid);</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;    <span class="keywordtype">int</span> <a class="code" href="../../d5/d20/class_h_s___client.html#ac29482ffdf1b27733247ba0ffcc28b76">hideWindow</a>(afb_req_t request);</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;    <span class="keywordtype">int</span> <a class="code" href="../../d5/d20/class_h_s___client.html#a294e461500ef02aed17ed5d91479f6b9">replyShowWindow</a>(afb_req_t request, <span class="keyword">const</span> <span class="keywordtype">char</span>* appid);</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;    <span class="keywordtype">int</span> <a class="code" href="../../d5/d20/class_h_s___client.html#a274301617c9ab629d6916c0dde8c40b9">on_screen_message</a> (afb_req_t request, <span class="keyword">const</span> <span class="keywordtype">char</span>* message);</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;    <span class="keywordtype">int</span> <a class="code" href="../../d5/d20/class_h_s___client.html#a9f7a30840c95b1348bcce4cd4626b2ae">on_screen_reply</a> (afb_req_t request, <span class="keyword">const</span> <span class="keywordtype">char</span>* message);</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;    <span class="keywordtype">int</span> <a class="code" href="../../d5/d20/class_h_s___client.html#a3d000ca70bd4a8af7c4895d95bc7d0d0">subscribe</a>(afb_req_t request, <span class="keyword">const</span> <span class="keywordtype">char</span>* event);</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;    <span class="keywordtype">int</span> <a class="code" href="../../d5/d20/class_h_s___client.html#a3da3b5662f918e11773da75f8f971d9c">unsubscribe</a>(afb_req_t request, <span class="keyword">const</span> <span class="keywordtype">char</span>* event);</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;    <span class="keywordtype">int</span> <a class="code" href="../../d5/d20/class_h_s___client.html#a77b41c1bc6f2c939410108d821a0b456">showNotification</a>(afb_req_t request);</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;    <span class="keywordtype">int</span> <a class="code" href="../../d5/d20/class_h_s___client.html#a7145c14a7a971b45f647a82e3390ce9c">showInformation</a>(afb_req_t request);</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;    <span class="keywordtype">bool</span> checkEvent(<span class="keyword">const</span> <span class="keywordtype">char</span>* event);</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    std::string my_id;</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;    afb_event_t my_event;</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;    <span class="keywordtype">bool</span> subscription = <span class="keyword">false</span>;</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;    std::unordered_map&lt;std::string, int&gt; event_list;</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;};</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#endif // HOMESCREEN_CLIENT_H</span></div><div class="ttc" id="class_h_s___client_html_a3d000ca70bd4a8af7c4895d95bc7d0d0"><div class="ttname"><a href="../../d5/d20/class_h_s___client.html#a3d000ca70bd4a8af7c4895d95bc7d0d0">HS_Client::subscribe</a></div><div class="ttdeci">int subscribe(afb_req_t request, const char *event)</div><div class="ttdef"><b>Definition:</b> <a href="../../d8/d55/hs-client_8cpp_source.html#l00139">hs-client.cpp:139</a></div></div>
+<div class="ttc" id="class_h_s___client_html_a3e3d8fa1c8746d6d1b1650fe1fcc56a8"><div class="ttname"><a href="../../d5/d20/class_h_s___client.html#a3e3d8fa1c8746d6d1b1650fe1fcc56a8">HS_Client::operator=</a></div><div class="ttdeci">HS_Client &amp; operator=(HS_Client &amp;)=delete</div></div>
+<div class="ttc" id="class_h_s___client_html_a0afac6b86b9a72e74846e47e435f5f90"><div class="ttname"><a href="../../d5/d20/class_h_s___client.html#a0afac6b86b9a72e74846e47e435f5f90">HS_Client::HS_Client</a></div><div class="ttdeci">HS_Client(afb_req_t request, const char *id)</div><div class="ttdef"><b>Definition:</b> <a href="../../da/dd3/hs-client_8h_source.html#l00027">hs-client.h:27</a></div></div>
+<div class="ttc" id="hs-helper_8h_html"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html">hs-helper.h</a></div></div>
+<div class="ttc" id="class_h_s___client_html"><div class="ttname"><a href="../../d5/d20/class_h_s___client.html">HS_Client</a></div><div class="ttdef"><b>Definition:</b> <a href="../../da/dd3/hs-client_8h_source.html#l00025">hs-client.h:25</a></div></div>
+<div class="ttc" id="namespacestd_html"><div class="ttname"><a href="../../d8/dcc/namespacestd.html">std</a></div></div>
+<div class="ttc" id="class_h_s___client_html_a294e461500ef02aed17ed5d91479f6b9"><div class="ttname"><a href="../../d5/d20/class_h_s___client.html#a294e461500ef02aed17ed5d91479f6b9">HS_Client::replyShowWindow</a></div><div class="ttdeci">int replyShowWindow(afb_req_t request, const char *appid)</div><div class="ttdef"><b>Definition:</b> <a href="../../d8/d55/hs-client_8cpp_source.html#l00273">hs-client.cpp:273</a></div></div>
+<div class="ttc" id="class_h_s___client_html_a274301617c9ab629d6916c0dde8c40b9"><div class="ttname"><a href="../../d5/d20/class_h_s___client.html#a274301617c9ab629d6916c0dde8c40b9">HS_Client::on_screen_message</a></div><div class="ttdeci">int on_screen_message(afb_req_t request, const char *message)</div><div class="ttdef"><b>Definition:</b> <a href="../../d8/d55/hs-client_8cpp_source.html#l00093">hs-client.cpp:93</a></div></div>
+<div class="ttc" id="class_h_s___client_html_a7145c14a7a971b45f647a82e3390ce9c"><div class="ttname"><a href="../../d5/d20/class_h_s___client.html#a7145c14a7a971b45f647a82e3390ce9c">HS_Client::showInformation</a></div><div class="ttdeci">int showInformation(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../d8/d55/hs-client_8cpp_source.html#l00350">hs-client.cpp:350</a></div></div>
+<div class="ttc" id="class_h_s___client_html_a9f7a30840c95b1348bcce4cd4626b2ae"><div class="ttname"><a href="../../d5/d20/class_h_s___client.html#a9f7a30840c95b1348bcce4cd4626b2ae">HS_Client::on_screen_reply</a></div><div class="ttdeci">int on_screen_reply(afb_req_t request, const char *message)</div><div class="ttdef"><b>Definition:</b> <a href="../../d8/d55/hs-client_8cpp_source.html#l00116">hs-client.cpp:116</a></div></div>
+<div class="ttc" id="class_h_s___client_html_a3da3b5662f918e11773da75f8f971d9c"><div class="ttname"><a href="../../d5/d20/class_h_s___client.html#a3da3b5662f918e11773da75f8f971d9c">HS_Client::unsubscribe</a></div><div class="ttdeci">int unsubscribe(afb_req_t request, const char *event)</div><div class="ttdef"><b>Definition:</b> <a href="../../d8/d55/hs-client_8cpp_source.html#l00165">hs-client.cpp:165</a></div></div>
+<div class="ttc" id="class_h_s___client_html_a77b41c1bc6f2c939410108d821a0b456"><div class="ttname"><a href="../../d5/d20/class_h_s___client.html#a77b41c1bc6f2c939410108d821a0b456">HS_Client::showNotification</a></div><div class="ttdeci">int showNotification(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../d8/d55/hs-client_8cpp_source.html#l00307">hs-client.cpp:307</a></div></div>
+<div class="ttc" id="class_h_s___client_html_ab29a9e899aaec3c21983c24ec6e5ee70"><div class="ttname"><a href="../../d5/d20/class_h_s___client.html#ab29a9e899aaec3c21983c24ec6e5ee70">HS_Client::~HS_Client</a></div><div class="ttdeci">~HS_Client()</div><div class="ttdef"><b>Definition:</b> <a href="../../d8/d55/hs-client_8cpp_source.html#l00054">hs-client.cpp:54</a></div></div>
+<div class="ttc" id="class_h_s___client_html_af0f2be967a5b6ee81932c73b101184f7"><div class="ttname"><a href="../../d5/d20/class_h_s___client.html#af0f2be967a5b6ee81932c73b101184f7">HS_Client::showWindow</a></div><div class="ttdeci">int showWindow(afb_req_t request, const char *appid)</div><div class="ttdef"><b>Definition:</b> <a href="../../d8/d55/hs-client_8cpp_source.html#l00209">hs-client.cpp:209</a></div></div>
+<div class="ttc" id="class_h_s___client_html_ac29482ffdf1b27733247ba0ffcc28b76"><div class="ttname"><a href="../../d5/d20/class_h_s___client.html#ac29482ffdf1b27733247ba0ffcc28b76">HS_Client::hideWindow</a></div><div class="ttdeci">int hideWindow(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../d8/d55/hs-client_8cpp_source.html#l00245">hs-client.cpp:245</a></div></div>
+<div class="ttc" id="class_h_s___client_html_a0d7fb8316248e8946dcb73a6612f21bb"><div class="ttname"><a href="../../d5/d20/class_h_s___client.html#a0d7fb8316248e8946dcb73a6612f21bb">HS_Client::tap_shortcut</a></div><div class="ttdeci">int tap_shortcut(const char *appid)</div><div class="ttdef"><b>Definition:</b> <a href="../../d8/d55/hs-client_8cpp_source.html#l00070">hs-client.cpp:70</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="../../doxygen.png" alt="doxygen"/>
+</a> 1.8.11
+</small></address>
+</body>
+</html>
@@ -3,8 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <title>HomeScreenBinding: Member List</title>
 <link href="../../tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="../../jquery.js"></script>
 <title>HomeScreenBinding: Member List</title>
 <link href="../../tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="../../jquery.js"></script>
@@ -12,6 +11,9 @@
 <link href="../../search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="../../search/searchdata.js"></script>
 <script type="text/javascript" src="../../search/search.js"></script>
 <link href="../../search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="../../search/searchdata.js"></script>
 <script type="text/javascript" src="../../search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
 <link href="../../doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
 <link href="../../doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
 </table>
 </div>
 <!-- end header part -->
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.11 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
 </script>
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
 </script>
-<script type="text/javascript" src="../../menudata.js"></script>
-<script type="text/javascript" src="../../menu.js"></script>
-<script type="text/javascript">
-$(function() {
-  initMenu('../../',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-</script>
-<div id="main-nav"></div>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="../../index.html"><span>Main&#160;Page</span></a></li>
+      <li class="current"><a href="../../annotated.html"><span>Classes</span></a></li>
+      <li><a href="../../files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="../../search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="../../annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="../../functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
      onmouseover="return searchBox.OnSearchSelectShow()"
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
      onmouseover="return searchBox.OnSearchSelectShow()"
@@ -59,20 +82,20 @@ $(function() {
 </div><!-- top -->
 <div class="header">
   <div class="headertitle">
 </div><!-- top -->
 <div class="header">
   <div class="headertitle">
-<div class="title">event Member List</div>  </div>
+<div class="title">geometry Member List</div>  </div>
 </div><!--header-->
 <div class="contents">
 
 </div><!--header-->
 <div class="contents">
 
-<p>This is the complete list of members for <a class="el" href="../../df/d7d/structevent.html">event</a>, including all inherited members.</p>
+<p>This is the complete list of members for <a class="el" href="../../dd/ddc/structgeometry.html">geometry</a>, including all inherited members.</p>
 <table class="directory">
 <table class="directory">
-  <tr class="even"><td class="entry"><a class="el" href="../../df/d7d/structevent.html#a58726ebc551d36562ac3f9e1fe293214">event</a></td><td class="entry"><a class="el" href="../../df/d7d/structevent.html">event</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="../../df/d7d/structevent.html#a45c6cfb7961a21a3366db067e4cc59ab">name</a></td><td class="entry"><a class="el" href="../../df/d7d/structevent.html">event</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="../../dd/ddc/structgeometry.html#a6968ae18c72699d1c164399bf0e5cf14">height</a></td><td class="entry"><a class="el" href="../../dd/ddc/structgeometry.html">geometry</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="../../dd/ddc/structgeometry.html#a854a87ce277335591f06958a2363c3e1">width</a></td><td class="entry"><a class="el" href="../../dd/ddc/structgeometry.html">geometry</a></td><td class="entry"></td></tr>
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
-</a> 1.8.13
+</a> 1.8.11
 </small></address>
 </body>
 </html>
 </small></address>
 </body>
 </html>
diff --git a/doc/api-ref/html/dd/d1d/hs-helper_8c.html b/doc/api-ref/html/dd/d1d/hs-helper_8c.html
deleted file mode 100644 (file)
index ce8d1bd..0000000
+++ /dev/null
@@ -1,361 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>HomeScreenBinding: src/hs-helper.c File Reference</title>
-<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="../../jquery.js"></script>
-<script type="text/javascript" src="../../dynsections.js"></script>
-<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="../../search/searchdata.js"></script>
-<script type="text/javascript" src="../../search/search.js"></script>
-<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td id="projectalign" style="padding-left: 0.5em;">
-   <div id="projectname">HomeScreenBinding
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
-</script>
-<script type="text/javascript" src="../../menudata.js"></script>
-<script type="text/javascript" src="../../menu.js"></script>
-<script type="text/javascript">
-$(function() {
-  initMenu('../../',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-</script>
-<div id="main-nav"></div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-</div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="../../dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">hs-helper.c File Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><code>#include &quot;<a class="el" href="../../d3/d3d/hs-helper_8h_source.html">hs-helper.h</a>&quot;</code><br />
-<code>#include &lt;stdlib.h&gt;</code><br />
-<code>#include &lt;string.h&gt;</code><br />
-<code>#include &lt;limits.h&gt;</code><br />
-<code>#include &lt;json-c/json.h&gt;</code><br />
-<code>#include &lt;stdarg.h&gt;</code><br />
-</div>
-<p><a href="../../dd/d1d/hs-helper_8c_source.html">Go to the source code of this file.</a></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:a649900645417f2df3a70b9ad67529f53"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899">REQ_ERROR</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d1d/hs-helper_8c.html#a649900645417f2df3a70b9ad67529f53">get_value_uint16</a> (const struct afb_req request, const char *source, uint16_t *out_id)</td></tr>
-<tr class="separator:a649900645417f2df3a70b9ad67529f53"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2e62366684e39ea94436bf017e416827"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899">REQ_ERROR</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d1d/hs-helper_8c.html#a2e62366684e39ea94436bf017e416827">get_value_int16</a> (const struct afb_req request, const char *source, int16_t *out_id)</td></tr>
-<tr class="separator:a2e62366684e39ea94436bf017e416827"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac5b0370643c520377afd3fd4891918d2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899">REQ_ERROR</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d1d/hs-helper_8c.html#ac5b0370643c520377afd3fd4891918d2">get_value_int32</a> (const struct afb_req request, const char *source, int32_t *out_id)</td></tr>
-<tr class="separator:ac5b0370643c520377afd3fd4891918d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1ba31a6a94515ff1730ba0043a67d59e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d1d/hs-helper_8c.html#a1ba31a6a94515ff1730ba0043a67d59e">hs_add_object_to_json_object</a> (struct json_object *j_obj, int count,...)</td></tr>
-<tr class="separator:a1ba31a6a94515ff1730ba0043a67d59e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8777c53f1d4d5412f19b134ad85ffedf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d1d/hs-helper_8c.html#a8777c53f1d4d5412f19b134ad85ffedf">hs_add_object_to_json_object_str</a> (struct json_object *j_obj, int count,...)</td></tr>
-<tr class="separator:a8777c53f1d4d5412f19b134ad85ffedf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae83604a37134e7bdee3ce4f10bb0b47a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d1d/hs-helper_8c.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs_add_object_to_json_object_func</a> (struct json_object *j_obj, const char *verb_name, int count,...)</td></tr>
-<tr class="separator:ae83604a37134e7bdee3ce4f10bb0b47a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2ff1b894941c3b461ca8119079c4146a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d1d/hs-helper_8c.html#a2ff1b894941c3b461ca8119079c4146a">hs_search_event_name_index</a> (const char *value)</td></tr>
-<tr class="separator:a2ff1b894941c3b461ca8119079c4146a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<h2 class="groupheader">Function Documentation</h2>
-<a id="a2e62366684e39ea94436bf017e416827"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a2e62366684e39ea94436bf017e416827">&#9670;&nbsp;</a></span>get_value_int16()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899">REQ_ERROR</a> get_value_int16 </td>
-          <td>(</td>
-          <td class="paramtype">const struct afb_req&#160;</td>
-          <td class="paramname"><em>request</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&#160;</td>
-          <td class="paramname"><em>source</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int16_t *&#160;</td>
-          <td class="paramname"><em>out_id</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p class="definition">Definition at line <a class="el" href="../../dd/d1d/hs-helper_8c_source.html#l00048">48</a> of file <a class="el" href="../../dd/d1d/hs-helper_8c_source.html">hs-helper.c</a>.</p>
-<div class="fragment"><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;{</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;    <span class="keywordtype">char</span>* endptr;</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* tmp = afb_req_value (request, source);</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;    <span class="keywordflow">if</span>(!tmp)</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;    {</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1">REQ_FAIL</a>;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;    }</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    <span class="keywordtype">long</span> tmp_id = strtol(tmp,&amp;endptr,10);</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;    <span class="comment">/* error check of range */</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;    <span class="keywordflow">if</span>( (tmp_id &gt; INT16_MAX) || (tmp_id &lt; INT16_MIN) )</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;    {</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b">OUT_RANGE</a>;</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;    }</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;    <span class="keywordflow">if</span>(*endptr != <span class="charliteral">&#39;\0&#39;</span>)</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;    {</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a">NOT_NUMBER</a>;</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    }</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;    *out_id = (int16_t)tmp_id;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee">REQ_OK</a>;</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;}</div><div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1">REQ_FAIL</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00028">hs-helper.h:28</a></div></div>
-<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b">OUT_RANGE</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00031">hs-helper.h:31</a></div></div>
-<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a">NOT_NUMBER</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00030">hs-helper.h:30</a></div></div>
-<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee">REQ_OK</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00029">hs-helper.h:29</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a id="ac5b0370643c520377afd3fd4891918d2"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ac5b0370643c520377afd3fd4891918d2">&#9670;&nbsp;</a></span>get_value_int32()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899">REQ_ERROR</a> get_value_int32 </td>
-          <td>(</td>
-          <td class="paramtype">const struct afb_req&#160;</td>
-          <td class="paramname"><em>request</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&#160;</td>
-          <td class="paramname"><em>source</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int32_t *&#160;</td>
-          <td class="paramname"><em>out_id</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p class="definition">Definition at line <a class="el" href="../../dd/d1d/hs-helper_8c_source.html#l00072">72</a> of file <a class="el" href="../../dd/d1d/hs-helper_8c_source.html">hs-helper.c</a>.</p>
-<div class="fragment"><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;{</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;    <span class="keywordtype">char</span>* endptr;</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* tmp = afb_req_value (request, source);</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;    <span class="keywordflow">if</span>(!tmp)</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;    {</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1">REQ_FAIL</a>;</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;    }</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;    <span class="keywordtype">long</span> tmp_id = strtol(tmp,&amp;endptr,10);</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;    <span class="comment">/* error check of range */</span></div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;    <span class="keywordflow">if</span>( (tmp_id &gt; INT32_MAX) || (tmp_id &lt; INT32_MIN) )</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;    {</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b">OUT_RANGE</a>;</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;    }</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;    <span class="keywordflow">if</span>(*endptr != <span class="charliteral">&#39;\0&#39;</span>)</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;    {</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a">NOT_NUMBER</a>;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;    }</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;    *out_id = (int32_t)tmp_id;</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee">REQ_OK</a>;</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;}</div><div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1">REQ_FAIL</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00028">hs-helper.h:28</a></div></div>
-<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b">OUT_RANGE</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00031">hs-helper.h:31</a></div></div>
-<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a">NOT_NUMBER</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00030">hs-helper.h:30</a></div></div>
-<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee">REQ_OK</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00029">hs-helper.h:29</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a id="a649900645417f2df3a70b9ad67529f53"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a649900645417f2df3a70b9ad67529f53">&#9670;&nbsp;</a></span>get_value_uint16()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899">REQ_ERROR</a> get_value_uint16 </td>
-          <td>(</td>
-          <td class="paramtype">const struct afb_req&#160;</td>
-          <td class="paramname"><em>request</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&#160;</td>
-          <td class="paramname"><em>source</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint16_t *&#160;</td>
-          <td class="paramname"><em>out_id</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p class="definition">Definition at line <a class="el" href="../../dd/d1d/hs-helper_8c_source.html#l00024">24</a> of file <a class="el" href="../../dd/d1d/hs-helper_8c_source.html">hs-helper.c</a>.</p>
-<div class="fragment"><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;{</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    <span class="keywordtype">char</span>* endptr;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* tmp = afb_req_value (request, source);</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;    <span class="keywordflow">if</span>(!tmp)</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    {</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1">REQ_FAIL</a>;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;    }</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;    <span class="keywordtype">long</span> tmp_id = strtol(tmp,&amp;endptr,10);</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;    <span class="comment">/* error check of range */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;    <span class="keywordflow">if</span>( (tmp_id &gt; UINT16_MAX) || (tmp_id &lt; 0) )</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;    {</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b">OUT_RANGE</a>;</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;    }</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;    <span class="keywordflow">if</span>(*endptr != <span class="charliteral">&#39;\0&#39;</span>)</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;    {</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a">NOT_NUMBER</a>;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;    }</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;    *out_id = (uint16_t)tmp_id;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee">REQ_OK</a>;</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;}</div><div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1">REQ_FAIL</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00028">hs-helper.h:28</a></div></div>
-<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b">OUT_RANGE</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00031">hs-helper.h:31</a></div></div>
-<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a">NOT_NUMBER</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00030">hs-helper.h:30</a></div></div>
-<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee">REQ_OK</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00029">hs-helper.h:29</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a id="a1ba31a6a94515ff1730ba0043a67d59e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1ba31a6a94515ff1730ba0043a67d59e">&#9670;&nbsp;</a></span>hs_add_object_to_json_object()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void hs_add_object_to_json_object </td>
-          <td>(</td>
-          <td class="paramtype">struct json_object *&#160;</td>
-          <td class="paramname"><em>j_obj</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>count</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname"><em>...</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p class="definition">Definition at line <a class="el" href="../../dd/d1d/hs-helper_8c_source.html#l00096">96</a> of file <a class="el" href="../../dd/d1d/hs-helper_8c_source.html">hs-helper.c</a>.</p>
-<div class="fragment"><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;{</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;    va_list args;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;    va_start(args, count);</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;    <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = 0; i &lt; count; ++i )</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;    {</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;        <span class="keywordtype">char</span> *key = va_arg(args, <span class="keywordtype">char</span>*);</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;        <span class="keywordtype">int</span> value = va_arg(args, <span class="keywordtype">int</span>);</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;        json_object_object_add(j_obj, key, json_object_new_int((int32_t)value));</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;        ++i;</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;    }</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;    va_end(args);</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;}</div></div><!-- fragment -->
-</div>
-</div>
-<a id="ae83604a37134e7bdee3ce4f10bb0b47a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae83604a37134e7bdee3ce4f10bb0b47a">&#9670;&nbsp;</a></span>hs_add_object_to_json_object_func()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void hs_add_object_to_json_object_func </td>
-          <td>(</td>
-          <td class="paramtype">struct json_object *&#160;</td>
-          <td class="paramname"><em>j_obj</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&#160;</td>
-          <td class="paramname"><em>verb_name</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>count</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname"><em>...</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p class="definition">Definition at line <a class="el" href="../../dd/d1d/hs-helper_8c_source.html#l00125">125</a> of file <a class="el" href="../../dd/d1d/hs-helper_8c_source.html">hs-helper.c</a>.</p>
-<div class="fragment"><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;{</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;    va_list args;</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;    va_start(args, count);</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;    json_object_object_add(j_obj,<span class="stringliteral">&quot;verb&quot;</span>, json_object_new_string(verb_name));</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;    <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = 0; i &lt; count; ++i )</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;    {</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;        <span class="keywordtype">char</span> *key = va_arg(args, <span class="keywordtype">char</span>*);</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;        <span class="keywordtype">int</span> value = va_arg(args, <span class="keywordtype">int</span>);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;        json_object_object_add(j_obj, key, json_object_new_int((int32_t)value));</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;        ++i;</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;    }</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;    va_end(args);</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;}</div></div><!-- fragment -->
-</div>
-</div>
-<a id="a8777c53f1d4d5412f19b134ad85ffedf"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a8777c53f1d4d5412f19b134ad85ffedf">&#9670;&nbsp;</a></span>hs_add_object_to_json_object_str()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void hs_add_object_to_json_object_str </td>
-          <td>(</td>
-          <td class="paramtype">struct json_object *&#160;</td>
-          <td class="paramname"><em>j_obj</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>count</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname"><em>...</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p class="definition">Definition at line <a class="el" href="../../dd/d1d/hs-helper_8c_source.html#l00110">110</a> of file <a class="el" href="../../dd/d1d/hs-helper_8c_source.html">hs-helper.c</a>.</p>
-<div class="fragment"><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;{</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;    va_list args;</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;    va_start(args, count);</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;    <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = 0; i &lt; count; ++i )</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;    {</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;        <span class="keywordtype">char</span> *key = va_arg(args, <span class="keywordtype">char</span>*);</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;        <span class="keywordtype">char</span> *value = va_arg(args, <span class="keywordtype">char</span>*);</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;        json_object_object_add(j_obj, key, json_object_new_string(value));</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;        ++i;</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;    }</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;    va_end(args);</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;}</div></div><!-- fragment -->
-</div>
-</div>
-<a id="a2ff1b894941c3b461ca8119079c4146a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a2ff1b894941c3b461ca8119079c4146a">&#9670;&nbsp;</a></span>hs_search_event_name_index()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int hs_search_event_name_index </td>
-          <td>(</td>
-          <td class="paramtype">const char *&#160;</td>
-          <td class="paramname"><em>value</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p class="definition">Definition at line <a class="el" href="../../dd/d1d/hs-helper_8c_source.html#l00142">142</a> of file <a class="el" href="../../dd/d1d/hs-helper_8c_source.html">hs-helper.c</a>.</p>
-<div class="fragment"><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;{</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;    <span class="keywordtype">size_t</span> buf_size = 50;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;    <span class="keywordtype">size_t</span> size = <span class="keyword">sizeof</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#a0cd84b1a2184c9b84d1b7bf24582f28e">evlist</a> / <span class="keyword">sizeof</span> *<a class="code" href="../../d3/d3d/hs-helper_8h.html#a0cd84b1a2184c9b84d1b7bf24582f28e">evlist</a>;</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;    <span class="keywordtype">int</span> ret = -1;</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;    <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> i = 0 ; i &lt; size ; ++i)</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;    {</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;        <span class="keywordflow">if</span>(!strncmp(value, <a class="code" href="../../d3/d3d/hs-helper_8h.html#a0cd84b1a2184c9b84d1b7bf24582f28e">evlist</a>[i], buf_size))</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;        {</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;            ret = i;</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;        }</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;    }</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;}</div><div class="ttc" id="hs-helper_8h_html_a0cd84b1a2184c9b84d1b7bf24582f28e"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#a0cd84b1a2184c9b84d1b7bf24582f28e">evlist</a></div><div class="ttdeci">static const char * evlist[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00034">hs-helper.h:34</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="../../doxygen.png" alt="doxygen"/>
-</a> 1.8.13
-</small></address>
-</body>
-</html>
diff --git a/doc/api-ref/html/dd/d1d/hs-helper_8c_source.html b/doc/api-ref/html/dd/d1d/hs-helper_8c_source.html
deleted file mode 100644 (file)
index 792ec9d..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>HomeScreenBinding: src/hs-helper.c Source File</title>
-<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="../../jquery.js"></script>
-<script type="text/javascript" src="../../dynsections.js"></script>
-<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="../../search/searchdata.js"></script>
-<script type="text/javascript" src="../../search/search.js"></script>
-<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td id="projectalign" style="padding-left: 0.5em;">
-   <div id="projectname">HomeScreenBinding
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
-</script>
-<script type="text/javascript" src="../../menudata.js"></script>
-<script type="text/javascript" src="../../menu.js"></script>
-<script type="text/javascript">
-$(function() {
-  initMenu('../../',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-</script>
-<div id="main-nav"></div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-</div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="../../dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="headertitle">
-<div class="title">hs-helper.c</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="../../dd/d1d/hs-helper_8c.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * Copyright (c) 2017 TOYOTA MOTOR CORPORATION</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> * Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * you may not use this file except in compliance with the License.</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * You may obtain a copy of the License at</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *      http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * limitations under the License.</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d3/d3d/hs-helper_8h.html">hs-helper.h</a>&quot;</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#include &lt;stdlib.h&gt;</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#include &lt;string.h&gt;</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;limits.h&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;json-c/json.h&gt;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;stdarg.h&gt;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno"><a class="line" href="../../d3/d3d/hs-helper_8h.html#a649900645417f2df3a70b9ad67529f53">   24</a></span>&#160;<a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899">REQ_ERROR</a> <a class="code" href="../../dd/d1d/hs-helper_8c.html#a649900645417f2df3a70b9ad67529f53">get_value_uint16</a>(<span class="keyword">const</span> <span class="keyword">struct</span> afb_req request, <span class="keyword">const</span> <span class="keywordtype">char</span> *source, uint16_t *out_id)</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;{</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    <span class="keywordtype">char</span>* endptr;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* tmp = afb_req_value (request, source);</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;    <span class="keywordflow">if</span>(!tmp)</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    {</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1">REQ_FAIL</a>;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;    }</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;    <span class="keywordtype">long</span> tmp_id = strtol(tmp,&amp;endptr,10);</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;    <span class="comment">/* error check of range */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;    <span class="keywordflow">if</span>( (tmp_id &gt; UINT16_MAX) || (tmp_id &lt; 0) )</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;    {</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b">OUT_RANGE</a>;</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;    }</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;    <span class="keywordflow">if</span>(*endptr != <span class="charliteral">&#39;\0&#39;</span>)</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;    {</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a">NOT_NUMBER</a>;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;    }</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;    *out_id = (uint16_t)tmp_id;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee">REQ_OK</a>;</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;}</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="../../d3/d3d/hs-helper_8h.html#a2e62366684e39ea94436bf017e416827">   48</a></span>&#160;<a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899">REQ_ERROR</a> <a class="code" href="../../dd/d1d/hs-helper_8c.html#a2e62366684e39ea94436bf017e416827">get_value_int16</a>(<span class="keyword">const</span> <span class="keyword">struct</span> afb_req request, <span class="keyword">const</span> <span class="keywordtype">char</span> *source, int16_t *out_id)</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;{</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;    <span class="keywordtype">char</span>* endptr;</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* tmp = afb_req_value (request, source);</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;    <span class="keywordflow">if</span>(!tmp)</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;    {</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1">REQ_FAIL</a>;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;    }</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    <span class="keywordtype">long</span> tmp_id = strtol(tmp,&amp;endptr,10);</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;    <span class="comment">/* error check of range */</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;    <span class="keywordflow">if</span>( (tmp_id &gt; INT16_MAX) || (tmp_id &lt; INT16_MIN) )</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;    {</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b">OUT_RANGE</a>;</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;    }</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;    <span class="keywordflow">if</span>(*endptr != <span class="charliteral">&#39;\0&#39;</span>)</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;    {</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a">NOT_NUMBER</a>;</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    }</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;    *out_id = (int16_t)tmp_id;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee">REQ_OK</a>;</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;}</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;</div><div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="../../d3/d3d/hs-helper_8h.html#ac5b0370643c520377afd3fd4891918d2">   72</a></span>&#160;<a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899">REQ_ERROR</a> <a class="code" href="../../dd/d1d/hs-helper_8c.html#ac5b0370643c520377afd3fd4891918d2">get_value_int32</a>(<span class="keyword">const</span> <span class="keyword">struct</span> afb_req request, <span class="keyword">const</span> <span class="keywordtype">char</span> *source, int32_t *out_id)</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;{</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;    <span class="keywordtype">char</span>* endptr;</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* tmp = afb_req_value (request, source);</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;    <span class="keywordflow">if</span>(!tmp)</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;    {</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1">REQ_FAIL</a>;</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;    }</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;    <span class="keywordtype">long</span> tmp_id = strtol(tmp,&amp;endptr,10);</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;    <span class="comment">/* error check of range */</span></div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;    <span class="keywordflow">if</span>( (tmp_id &gt; INT32_MAX) || (tmp_id &lt; INT32_MIN) )</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;    {</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b">OUT_RANGE</a>;</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;    }</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;    <span class="keywordflow">if</span>(*endptr != <span class="charliteral">&#39;\0&#39;</span>)</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;    {</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a">NOT_NUMBER</a>;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;    }</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;    *out_id = (int32_t)tmp_id;</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee">REQ_OK</a>;</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;}</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;</div><div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="../../d3/d3d/hs-helper_8h.html#a1ba31a6a94515ff1730ba0043a67d59e">   96</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../dd/d1d/hs-helper_8c.html#a1ba31a6a94515ff1730ba0043a67d59e">hs_add_object_to_json_object</a>(<span class="keyword">struct</span> json_object* j_obj, <span class="keywordtype">int</span> count,...)</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;{</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;    va_list args;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;    va_start(args, count);</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;    <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = 0; i &lt; count; ++i )</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;    {</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;        <span class="keywordtype">char</span> *key = va_arg(args, <span class="keywordtype">char</span>*);</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;        <span class="keywordtype">int</span> value = va_arg(args, <span class="keywordtype">int</span>);</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;        json_object_object_add(j_obj, key, json_object_new_int((int32_t)value));</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;        ++i;</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;    }</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;    va_end(args);</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;}</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;</div><div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="../../d3/d3d/hs-helper_8h.html#a8777c53f1d4d5412f19b134ad85ffedf">  110</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../dd/d1d/hs-helper_8c.html#a8777c53f1d4d5412f19b134ad85ffedf">hs_add_object_to_json_object_str</a>(<span class="keyword">struct</span> json_object* j_obj, <span class="keywordtype">int</span> count,...)</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;{</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;    va_list args;</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;    va_start(args, count);</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;    <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = 0; i &lt; count; ++i )</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;    {</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;        <span class="keywordtype">char</span> *key = va_arg(args, <span class="keywordtype">char</span>*);</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;        <span class="keywordtype">char</span> *value = va_arg(args, <span class="keywordtype">char</span>*);</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;        json_object_object_add(j_obj, key, json_object_new_string(value));</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;        ++i;</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;    }</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;    va_end(args);</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;}</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="../../d3/d3d/hs-helper_8h.html#ae83604a37134e7bdee3ce4f10bb0b47a">  125</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../dd/d1d/hs-helper_8c.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs_add_object_to_json_object_func</a>(<span class="keyword">struct</span> json_object* j_obj, <span class="keyword">const</span> <span class="keywordtype">char</span>* verb_name, <span class="keywordtype">int</span> count, ...)</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;{</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;    va_list args;</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;    va_start(args, count);</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;    json_object_object_add(j_obj,<span class="stringliteral">&quot;verb&quot;</span>, json_object_new_string(verb_name));</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;    <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = 0; i &lt; count; ++i )</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;    {</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;        <span class="keywordtype">char</span> *key = va_arg(args, <span class="keywordtype">char</span>*);</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;        <span class="keywordtype">int</span> value = va_arg(args, <span class="keywordtype">int</span>);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;        json_object_object_add(j_obj, key, json_object_new_int((int32_t)value));</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;        ++i;</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;    }</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;    va_end(args);</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;}</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;</div><div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="../../d3/d3d/hs-helper_8h.html#a2ff1b894941c3b461ca8119079c4146a">  142</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../dd/d1d/hs-helper_8c.html#a2ff1b894941c3b461ca8119079c4146a">hs_search_event_name_index</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* value)</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;{</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;    <span class="keywordtype">size_t</span> buf_size = 50;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;    <span class="keywordtype">size_t</span> size = <span class="keyword">sizeof</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#a0cd84b1a2184c9b84d1b7bf24582f28e">evlist</a> / <span class="keyword">sizeof</span> *<a class="code" href="../../d3/d3d/hs-helper_8h.html#a0cd84b1a2184c9b84d1b7bf24582f28e">evlist</a>;</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;    <span class="keywordtype">int</span> ret = -1;</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;    <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> i = 0 ; i &lt; size ; ++i)</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;    {</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;        <span class="keywordflow">if</span>(!strncmp(value, <a class="code" href="../../d3/d3d/hs-helper_8h.html#a0cd84b1a2184c9b84d1b7bf24582f28e">evlist</a>[i], buf_size))</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;        {</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;            ret = i;</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;        }</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;    }</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;}</div><div class="ttc" id="hs-helper_8c_html_a8777c53f1d4d5412f19b134ad85ffedf"><div class="ttname"><a href="../../dd/d1d/hs-helper_8c.html#a8777c53f1d4d5412f19b134ad85ffedf">hs_add_object_to_json_object_str</a></div><div class="ttdeci">void hs_add_object_to_json_object_str(struct json_object *j_obj, int count,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d1d/hs-helper_8c_source.html#l00110">hs-helper.c:110</a></div></div>
-<div class="ttc" id="hs-helper_8h_html"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html">hs-helper.h</a></div></div>
-<div class="ttc" id="hs-helper_8c_html_a649900645417f2df3a70b9ad67529f53"><div class="ttname"><a href="../../dd/d1d/hs-helper_8c.html#a649900645417f2df3a70b9ad67529f53">get_value_uint16</a></div><div class="ttdeci">REQ_ERROR get_value_uint16(const struct afb_req request, const char *source, uint16_t *out_id)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d1d/hs-helper_8c_source.html#l00024">hs-helper.c:24</a></div></div>
-<div class="ttc" id="hs-helper_8h_html_a0cd84b1a2184c9b84d1b7bf24582f28e"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#a0cd84b1a2184c9b84d1b7bf24582f28e">evlist</a></div><div class="ttdeci">static const char * evlist[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00034">hs-helper.h:34</a></div></div>
-<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1">REQ_FAIL</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00028">hs-helper.h:28</a></div></div>
-<div class="ttc" id="hs-helper_8c_html_a2ff1b894941c3b461ca8119079c4146a"><div class="ttname"><a href="../../dd/d1d/hs-helper_8c.html#a2ff1b894941c3b461ca8119079c4146a">hs_search_event_name_index</a></div><div class="ttdeci">int hs_search_event_name_index(const char *value)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d1d/hs-helper_8c_source.html#l00142">hs-helper.c:142</a></div></div>
-<div class="ttc" id="hs-helper_8c_html_a2e62366684e39ea94436bf017e416827"><div class="ttname"><a href="../../dd/d1d/hs-helper_8c.html#a2e62366684e39ea94436bf017e416827">get_value_int16</a></div><div class="ttdeci">REQ_ERROR get_value_int16(const struct afb_req request, const char *source, int16_t *out_id)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d1d/hs-helper_8c_source.html#l00048">hs-helper.c:48</a></div></div>
-<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b">OUT_RANGE</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00031">hs-helper.h:31</a></div></div>
-<div class="ttc" id="hs-helper_8c_html_ac5b0370643c520377afd3fd4891918d2"><div class="ttname"><a href="../../dd/d1d/hs-helper_8c.html#ac5b0370643c520377afd3fd4891918d2">get_value_int32</a></div><div class="ttdeci">REQ_ERROR get_value_int32(const struct afb_req request, const char *source, int32_t *out_id)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d1d/hs-helper_8c_source.html#l00072">hs-helper.c:72</a></div></div>
-<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a">NOT_NUMBER</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00030">hs-helper.h:30</a></div></div>
-<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee">REQ_OK</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00029">hs-helper.h:29</a></div></div>
-<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899">REQ_ERROR</a></div><div class="ttdeci">REQ_ERROR</div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00026">hs-helper.h:26</a></div></div>
-<div class="ttc" id="hs-helper_8c_html_a1ba31a6a94515ff1730ba0043a67d59e"><div class="ttname"><a href="../../dd/d1d/hs-helper_8c.html#a1ba31a6a94515ff1730ba0043a67d59e">hs_add_object_to_json_object</a></div><div class="ttdeci">void hs_add_object_to_json_object(struct json_object *j_obj, int count,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d1d/hs-helper_8c_source.html#l00096">hs-helper.c:96</a></div></div>
-<div class="ttc" id="hs-helper_8c_html_ae83604a37134e7bdee3ce4f10bb0b47a"><div class="ttname"><a href="../../dd/d1d/hs-helper_8c.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs_add_object_to_json_object_func</a></div><div class="ttdeci">void hs_add_object_to_json_object_func(struct json_object *j_obj, const char *verb_name, int count,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d1d/hs-helper_8c_source.html#l00125">hs-helper.c:125</a></div></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="../../doxygen.png" alt="doxygen"/>
-</a> 1.8.13
-</small></address>
-</body>
-</html>
diff --git a/doc/api-ref/html/dd/d30/hs-clientmanager_8cpp.html b/doc/api-ref/html/dd/d30/hs-clientmanager_8cpp.html
new file mode 100644 (file)
index 0000000..2207299
--- /dev/null
@@ -0,0 +1,170 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<title>HomeScreenBinding: src/hs-clientmanager.cpp File Reference</title>
+<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="../../jquery.js"></script>
+<script type="text/javascript" src="../../dynsections.js"></script>
+<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="../../search/searchdata.js"></script>
+<script type="text/javascript" src="../../search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">HomeScreenBinding
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="../../index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="../../annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="../../files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="../../search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="../../files.html"><span>File&#160;List</span></a></li>
+      <li><a href="../../globals.html"><span>File&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="../../dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a> &#124;
+<a href="#var-members">Variables</a>  </div>
+  <div class="headertitle">
+<div class="title">hs-clientmanager.cpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &lt;algorithm&gt;</code><br />
+<code>#include &quot;<a class="el" href="../../de/dca/hs-clientmanager_8h_source.html">hs-clientmanager.h</a>&quot;</code><br />
+<code>#include &quot;<a class="el" href="../../d6/dff/src_2hmi-debug_8h_source.html">hmi-debug.h</a>&quot;</code><br />
+</div>
+<p><a href="../../dd/d30/hs-clientmanager_8cpp_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a2e9d0e1086eba0a016056dc43bc90a73"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d30/hs-clientmanager_8cpp.html#a2e9d0e1086eba0a016056dc43bc90a73">cbRemoveClientCtxt</a> (void *data)</td></tr>
+<tr class="separator:a2e9d0e1086eba0a016056dc43bc90a73"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:a8bbab9002543614eacdc7a319d13a476"><td class="memItemLeft" align="right" valign="top">static const char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d30/hs-clientmanager_8cpp.html#a8bbab9002543614eacdc7a319d13a476">_homescreen</a> [] = &quot;homescreen&quot;</td></tr>
+<tr class="separator:a8bbab9002543614eacdc7a319d13a476"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a2e9d0e1086eba0a016056dc43bc90a73"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static void cbRemoveClientCtxt </td>
+          <td>(</td>
+          <td class="paramtype">void *&#160;</td>
+          <td class="paramname"><em>data</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../dd/d30/hs-clientmanager_8cpp_source.html#l00024">24</a> of file <a class="el" href="../../dd/d30/hs-clientmanager_8cpp_source.html">hs-clientmanager.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;{</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    <a class="code" href="../../d2/d8e/class_h_s___client_manager.html#ad86c1fea7d107d52cbf0466fb7a2658b">HS_ClientManager::instance</a>()-&gt;<a class="code" href="../../d2/d8e/class_h_s___client_manager.html#adc23f8b3f5cc06eeab39fb24098af3e2">removeClientCtxt</a>(data);</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;}</div><div class="ttc" id="class_h_s___client_manager_html_adc23f8b3f5cc06eeab39fb24098af3e2"><div class="ttname"><a href="../../d2/d8e/class_h_s___client_manager.html#adc23f8b3f5cc06eeab39fb24098af3e2">HS_ClientManager::removeClientCtxt</a></div><div class="ttdeci">void removeClientCtxt(void *data)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d30/hs-clientmanager_8cpp_source.html#l00140">hs-clientmanager.cpp:140</a></div></div>
+<div class="ttc" id="class_h_s___client_manager_html_ad86c1fea7d107d52cbf0466fb7a2658b"><div class="ttname"><a href="../../d2/d8e/class_h_s___client_manager.html#ad86c1fea7d107d52cbf0466fb7a2658b">HS_ClientManager::instance</a></div><div class="ttdeci">static HS_ClientManager * instance(void)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d30/hs-clientmanager_8cpp_source.html#l00053">hs-clientmanager.cpp:53</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<h2 class="groupheader">Variable Documentation</h2>
+<a class="anchor" id="a8bbab9002543614eacdc7a319d13a476"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">const char _homescreen[] = &quot;homescreen&quot;</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../dd/d30/hs-clientmanager_8cpp_source.html#l00020">20</a> of file <a class="el" href="../../dd/d30/hs-clientmanager_8cpp_source.html">hs-clientmanager.cpp</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="../../doxygen.png" alt="doxygen"/>
+</a> 1.8.11
+</small></address>
+</body>
+</html>
diff --git a/doc/api-ref/html/dd/d30/hs-clientmanager_8cpp_source.html b/doc/api-ref/html/dd/d30/hs-clientmanager_8cpp_source.html
new file mode 100644 (file)
index 0000000..9fd56e9
--- /dev/null
@@ -0,0 +1,133 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<title>HomeScreenBinding: src/hs-clientmanager.cpp Source File</title>
+<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="../../jquery.js"></script>
+<script type="text/javascript" src="../../dynsections.js"></script>
+<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="../../search/searchdata.js"></script>
+<script type="text/javascript" src="../../search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">HomeScreenBinding
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="../../index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="../../annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="../../files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="../../search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="../../files.html"><span>File&#160;List</span></a></li>
+      <li><a href="../../globals.html"><span>File&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="../../dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">hs-clientmanager.cpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="../../dd/d30/hs-clientmanager_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * Copyright (c) 2018 TOYOTA MOTOR CORPORATION</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> * Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * you may not use this file except in compliance with the License.</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * You may obtain a copy of the License at</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *      http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * limitations under the License.</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor">#include &lt;algorithm&gt;</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../de/dca/hs-clientmanager_8h.html">hs-clientmanager.h</a>&quot;</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d6/dff/src_2hmi-debug_8h.html">hmi-debug.h</a>&quot;</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno"><a class="line" href="../../dd/d30/hs-clientmanager_8cpp.html#a8bbab9002543614eacdc7a319d13a476">   20</a></span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="../../dd/d30/hs-clientmanager_8cpp.html#a8bbab9002543614eacdc7a319d13a476">_homescreen</a>[] = <span class="stringliteral">&quot;homescreen&quot;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<a class="code" href="../../d2/d8e/class_h_s___client_manager.html">HS_ClientManager</a>* HS_ClientManager::me = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno"><a class="line" href="../../dd/d30/hs-clientmanager_8cpp.html#a2e9d0e1086eba0a016056dc43bc90a73">   24</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="../../dd/d30/hs-clientmanager_8cpp.html#a2e9d0e1086eba0a016056dc43bc90a73">cbRemoveClientCtxt</a>(<span class="keywordtype">void</span> *data)</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;{</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    <a class="code" href="../../d2/d8e/class_h_s___client_manager.html#ad86c1fea7d107d52cbf0466fb7a2658b">HS_ClientManager::instance</a>()-&gt;<a class="code" href="../../d2/d8e/class_h_s___client_manager.html#adc23f8b3f5cc06eeab39fb24098af3e2">removeClientCtxt</a>(data);</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;}</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="../../d2/d8e/class_h_s___client_manager.html#adac35e476e559cc89bc39363525268bf">   39</a></span>&#160;<a class="code" href="../../d2/d8e/class_h_s___client_manager.html#adac35e476e559cc89bc39363525268bf">HS_ClientManager::HS_ClientManager</a>()</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;{</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;}</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="../../d2/d8e/class_h_s___client_manager.html#ad86c1fea7d107d52cbf0466fb7a2658b">   53</a></span>&#160;<a class="code" href="../../d2/d8e/class_h_s___client_manager.html">HS_ClientManager</a>* <a class="code" href="../../d2/d8e/class_h_s___client_manager.html#ad86c1fea7d107d52cbf0466fb7a2658b">HS_ClientManager::instance</a>(<span class="keywordtype">void</span>)</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;{</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;    <span class="keywordflow">if</span>(me == <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;        me = <span class="keyword">new</span> <a class="code" href="../../d2/d8e/class_h_s___client_manager.html#adac35e476e559cc89bc39363525268bf">HS_ClientManager</a>();</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;    <span class="keywordflow">return</span> me;</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;}</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;</div><div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="../../d2/d8e/class_h_s___client_manager.html#ae0b9b18adeffca7822b060ad4ea8a7a1">   71</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../d2/d8e/class_h_s___client_manager.html#ae0b9b18adeffca7822b060ad4ea8a7a1">HS_ClientManager::init</a>(<span class="keywordtype">void</span>)</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;{</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;called.&quot;</span>);</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;}</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<a class="code" href="../../d0/d53/struct_h_s___client_ctxt.html">HS_ClientCtxt</a>* HS_ClientManager::createClientCtxt(afb_req_t req, std::string appid)</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;{</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;    <a class="code" href="../../d0/d53/struct_h_s___client_ctxt.html">HS_ClientCtxt</a> *ctxt = (<a class="code" href="../../d0/d53/struct_h_s___client_ctxt.html">HS_ClientCtxt</a> *)afb_req_context_get(req);</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;    <span class="keywordflow">if</span> (!ctxt)</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;    {</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>, <span class="stringliteral">&quot;create new session for %s&quot;</span>, appid.c_str());</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;        <a class="code" href="../../d0/d53/struct_h_s___client_ctxt.html">HS_ClientCtxt</a> *ctxt = <span class="keyword">new</span> <a class="code" href="../../de/dca/hs-clientmanager_8h.html#a58a145d17337b835ab3fe17b50163040">HS_ClientCtxt</a>(appid.c_str());</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;        afb_req_session_set_LOA(req, 1);</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;        afb_req_context_set(req, ctxt, <a class="code" href="../../dd/d30/hs-clientmanager_8cpp.html#a2e9d0e1086eba0a016056dc43bc90a73">cbRemoveClientCtxt</a>);</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;    }</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;    <span class="keywordflow">return</span> ctxt;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;}</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<a class="code" href="../../d5/d20/class_h_s___client.html">HS_Client</a>* HS_ClientManager::addClient(afb_req_t req, std::string appid)</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;{</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;    <span class="keywordflow">return</span> (client_list[appid] = <span class="keyword">new</span> <a class="code" href="../../d5/d20/class_h_s___client.html">HS_Client</a>(req, appid));</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;}</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;<span class="keywordtype">void</span> HS_ClientManager::removeClient(std::string appid)</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;{</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;    <span class="keyword">delete</span> client_list[appid];</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;    client_list.erase(appid);</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;}</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;</div><div class="line"><a name="l00140"></a><span class="lineno"><a class="line" href="../../d2/d8e/class_h_s___client_manager.html#adc23f8b3f5cc06eeab39fb24098af3e2">  140</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d2/d8e/class_h_s___client_manager.html#adc23f8b3f5cc06eeab39fb24098af3e2">HS_ClientManager::removeClientCtxt</a>(<span class="keywordtype">void</span> *data)</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;{</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;    <a class="code" href="../../d0/d53/struct_h_s___client_ctxt.html">HS_ClientCtxt</a> *ctxt = (<a class="code" href="../../d0/d53/struct_h_s___client_ctxt.html">HS_ClientCtxt</a> *)data;</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;    <span class="keywordflow">if</span>(ctxt == <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;    {</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>, <span class="stringliteral">&quot;data is nullptr&quot;</span>);</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;        <span class="keywordflow">return</span>;</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;    }</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>, <span class="stringliteral">&quot;remove app %s&quot;</span>, ctxt-&gt;<a class="code" href="../../d0/d53/struct_h_s___client_ctxt.html#a04929d7d5f583a821d3d594815f77d1c">id</a>.c_str());</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;    std::lock_guard&lt;std::mutex&gt; lock(this-&gt;mtx);</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;    removeClient(ctxt-&gt;<a class="code" href="../../d0/d53/struct_h_s___client_ctxt.html#a04929d7d5f583a821d3d594815f77d1c">id</a>);</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;    <span class="keyword">delete</span> appid2ctxt[ctxt-&gt;<a class="code" href="../../d0/d53/struct_h_s___client_ctxt.html#a04929d7d5f583a821d3d594815f77d1c">id</a>];</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;    appid2ctxt.erase(ctxt-&gt;<a class="code" href="../../d0/d53/struct_h_s___client_ctxt.html#a04929d7d5f583a821d3d594815f77d1c">id</a>);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;}</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00166"></a><span class="lineno"><a class="line" href="../../d2/d8e/class_h_s___client_manager.html#a9910fc27c412530b5b9854b00bd16c07">  166</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../d2/d8e/class_h_s___client_manager.html#a9910fc27c412530b5b9854b00bd16c07">HS_ClientManager::tap_shortcut</a>(afb_req_t request)</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;{</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;    <span class="keywordtype">int</span> ret = 0;</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* value = afb_req_value(request, <a class="code" href="../../d6/dda/homescreen_8cpp.html#a6a0e1db2562b442f8131ddf64b61d1ba">_application_id</a>);</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;    <span class="keywordflow">if</span> (value) {</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;request params = %s.&quot;</span>, value);</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;        std::lock_guard&lt;std::mutex&gt; lock(this-&gt;mtx);</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;        <span class="keyword">auto</span> ip = client_list.find(std::string(value));</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;        <span class="keywordflow">if</span>(ip != client_list.end()) {</div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;            ip-&gt;second-&gt;tap_shortcut(value);</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;        }</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;    }</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;    <span class="keywordflow">else</span> {</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;Please input application_id&quot;</span>);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;        ret = <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa611e2ec24ef295bd87825889fe2ce5e">AFB_EVENT_BAD_REQUEST</a>;</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;    }</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;}</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;</div><div class="line"><a name="l00195"></a><span class="lineno"><a class="line" href="../../d2/d8e/class_h_s___client_manager.html#a58ce4a013d3694265dd69f481bf88510">  195</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../d2/d8e/class_h_s___client_manager.html#a58ce4a013d3694265dd69f481bf88510">HS_ClientManager::on_screen_message</a>(afb_req_t request)</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;{</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;    <span class="keywordtype">int</span> ret = 0;</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* value = afb_req_value(request, <a class="code" href="../../d6/dda/homescreen_8cpp.html#abfd6c1d6f316fa952b11553f8f275e92">_display_message</a>);</div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;    <span class="keywordflow">if</span> (value) {</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;request params = %s.&quot;</span>, value);</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;        std::lock_guard&lt;std::mutex&gt; lock(this-&gt;mtx);</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;        <span class="keywordflow">for</span>(<span class="keyword">auto</span> m : client_list) {</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;            m.second-&gt;on_screen_message(request, value);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;        }</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;    }</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;    <span class="keywordflow">else</span> {</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;Please input display_message&quot;</span>);</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;        ret = <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa611e2ec24ef295bd87825889fe2ce5e">AFB_EVENT_BAD_REQUEST</a>;</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;    }</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;}</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;</div><div class="line"><a name="l00223"></a><span class="lineno"><a class="line" href="../../d2/d8e/class_h_s___client_manager.html#aa78f992287e3b8fe93422b331dc9edc5">  223</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../d2/d8e/class_h_s___client_manager.html#aa78f992287e3b8fe93422b331dc9edc5">HS_ClientManager::on_screen_reply</a>(afb_req_t request)</div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;{</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;    <span class="keywordtype">int</span> ret = 0;</div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* value = afb_req_value(request, <a class="code" href="../../d6/dda/homescreen_8cpp.html#a79b0f0b481161527ccb80e83da143219">_reply_message</a>);</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;    <span class="keywordflow">if</span> (value) {</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;      <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;request params = %s.&quot;</span>, value);</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;      std::lock_guard&lt;std::mutex&gt; lock(this-&gt;mtx);</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;      <span class="keywordflow">for</span>(<span class="keyword">auto</span> m : client_list) {</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;        m.second-&gt;on_screen_reply(request, value);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;      }</div><div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;    }</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;    <span class="keywordflow">else</span> {</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;Please input reply_message&quot;</span>);</div><div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;        ret = <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa611e2ec24ef295bd87825889fe2ce5e">AFB_EVENT_BAD_REQUEST</a>;</div><div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;    }</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;}</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;</div><div class="line"><a name="l00251"></a><span class="lineno"><a class="line" href="../../d2/d8e/class_h_s___client_manager.html#a1b8a4e42342c4bcdc4e7dc4934e02469">  251</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../d2/d8e/class_h_s___client_manager.html#a1b8a4e42342c4bcdc4e7dc4934e02469">HS_ClientManager::subscribe</a>(afb_req_t request)</div><div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;{</div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;    <span class="keywordtype">int</span> ret = 0;</div><div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> *value = afb_req_value(request, <span class="stringliteral">&quot;event&quot;</span>);</div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;value is %s&quot;</span>, value);</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;    <span class="keywordflow">if</span>(value) {</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;        std::string appid(afb_req_get_application_id(request));</div><div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;        std::lock_guard&lt;std::mutex&gt; lock(this-&gt;mtx);</div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;        <a class="code" href="../../d5/d20/class_h_s___client.html">HS_Client</a>* client = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;        <span class="keyword">auto</span> ip = client_list.find(appid);</div><div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;        <span class="keywordflow">if</span>(ip != client_list.end()) {</div><div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;            client = client_list[appid];</div><div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;        }</div><div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;        <span class="keywordflow">else</span> {</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;            appid2ctxt[appid] = createClientCtxt(request, appid);</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;            client = addClient(request, appid);</div><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;        }</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;        <span class="keywordflow">if</span>(client-&gt;<a class="code" href="../../d5/d20/class_h_s___client.html#a3d000ca70bd4a8af7c4895d95bc7d0d0">subscribe</a>(request, value) != 0) {</div><div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;            <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;subscribe failed&quot;</span>);</div><div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;            ret = <a class="code" href="../../d3/d3d/hs-helper_8h.html#a995612de89db4df1483c16e4b9b70571">AFB_REQ_SUBSCRIBE_ERROR</a>;</div><div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;        }</div><div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;    }</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;    <span class="keywordflow">else</span> {</div><div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;Please input event name&quot;</span>);</div><div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;        ret = <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa611e2ec24ef295bd87825889fe2ce5e">AFB_EVENT_BAD_REQUEST</a>;</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;    }</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;}</div><div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;</div><div class="line"><a name="l00292"></a><span class="lineno"><a class="line" href="../../d2/d8e/class_h_s___client_manager.html#ac86314afbb90116e2f02ce071166226e">  292</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../d2/d8e/class_h_s___client_manager.html#ac86314afbb90116e2f02ce071166226e">HS_ClientManager::unsubscribe</a>(afb_req_t request)</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;{</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> *value = afb_req_value(request, <span class="stringliteral">&quot;event&quot;</span>);</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;value is %s&quot;</span>, value);</div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;    <span class="keywordtype">int</span> ret = 0;</div><div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;    <span class="keywordflow">if</span>(value) {</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;        std::string appid(afb_req_get_application_id(request));</div><div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;        std::lock_guard&lt;std::mutex&gt; lock(this-&gt;mtx);</div><div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;</div><div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;        <span class="keyword">auto</span> ip = client_list.find(appid);</div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;        <span class="keywordflow">if</span>(ip != client_list.end()</div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;        &amp;&amp; ip-&gt;second-&gt;unsubscribe(request, value) != 0) {</div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;            <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;unsubscribe failed&quot;</span>);</div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;            ret = <a class="code" href="../../d3/d3d/hs-helper_8h.html#a78e930a97920b821706a80ca8f430034">AFB_REQ_UNSUBSCRIBE_ERROR</a>;</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;        }</div><div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;    }</div><div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;    <span class="keywordflow">else</span> {</div><div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;Please input event name&quot;</span>);</div><div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;        ret = <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa611e2ec24ef295bd87825889fe2ce5e">AFB_EVENT_BAD_REQUEST</a>;</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;    }</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;}</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;</div><div class="line"><a name="l00326"></a><span class="lineno"><a class="line" href="../../d2/d8e/class_h_s___client_manager.html#afed8158f276d1d22c32b0d89e970d442">  326</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../d2/d8e/class_h_s___client_manager.html#afed8158f276d1d22c32b0d89e970d442">HS_ClientManager::showWindow</a>(afb_req_t request)</div><div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;{</div><div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;    <span class="keywordtype">int</span> ret = 0;</div><div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* value = afb_req_value(request, <a class="code" href="../../d6/dda/homescreen_8cpp.html#a6a0e1db2562b442f8131ddf64b61d1ba">_application_id</a>);</div><div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;    <span class="keywordflow">if</span> (value) {</div><div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;request params = %s.&quot;</span>, value);</div><div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;        std::lock_guard&lt;std::mutex&gt; lock(this-&gt;mtx);</div><div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;        <span class="keyword">auto</span> ip = client_list.find(std::string(value));</div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;        <span class="keywordflow">if</span>(ip != client_list.end()) {</div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;            ret = ip-&gt;second-&gt;showWindow(request, value);</div><div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;        }</div><div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;    }</div><div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;    <span class="keywordflow">else</span> {</div><div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;Please input application_id&quot;</span>);</div><div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;        ret = <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa611e2ec24ef295bd87825889fe2ce5e">AFB_EVENT_BAD_REQUEST</a>;</div><div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;    }</div><div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;}</div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;</div><div class="line"><a name="l00356"></a><span class="lineno"><a class="line" href="../../d2/d8e/class_h_s___client_manager.html#a6195694d281a3b97b0345b96c0add1fd">  356</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../d2/d8e/class_h_s___client_manager.html#a6195694d281a3b97b0345b96c0add1fd">HS_ClientManager::hideWindow</a>(afb_req_t request)</div><div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;{</div><div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;    <span class="keywordtype">int</span> ret = 0;</div><div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* value = afb_req_value(request, <a class="code" href="../../d6/dda/homescreen_8cpp.html#a6a0e1db2562b442f8131ddf64b61d1ba">_application_id</a>);</div><div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;    <span class="keywordflow">if</span> (value) {</div><div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;request params = %s.&quot;</span>, value);</div><div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;        std::lock_guard&lt;std::mutex&gt; lock(this-&gt;mtx);</div><div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;        <span class="keyword">auto</span> ip = client_list.find(std::string(value));</div><div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;        <span class="keywordflow">if</span>(ip != client_list.end()) {</div><div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;            ret = ip-&gt;second-&gt;hideWindow(request);</div><div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;        }</div><div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;    }</div><div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;    <span class="keywordflow">else</span> {</div><div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;Please input application_id&quot;</span>);</div><div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;        ret = <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa611e2ec24ef295bd87825889fe2ce5e">AFB_EVENT_BAD_REQUEST</a>;</div><div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;    }</div><div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;}</div><div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;</div><div class="line"><a name="l00386"></a><span class="lineno"><a class="line" href="../../d2/d8e/class_h_s___client_manager.html#a59b1c1e115b5a257a585c41f854f5fdd">  386</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../d2/d8e/class_h_s___client_manager.html#a59b1c1e115b5a257a585c41f854f5fdd">HS_ClientManager::replyShowWindow</a>(afb_req_t request)</div><div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;{</div><div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;    <span class="keywordtype">int</span> ret = 0;</div><div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* value = afb_req_value(request, <a class="code" href="../../d6/dda/homescreen_8cpp.html#a6a0e1db2562b442f8131ddf64b61d1ba">_application_id</a>);</div><div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;    <span class="keywordflow">if</span> (value) {</div><div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;request params = %s.&quot;</span>, value);</div><div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;        std::lock_guard&lt;std::mutex&gt; lock(this-&gt;mtx);</div><div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;        <span class="keyword">auto</span> ip = client_list.find(std::string(value));</div><div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;        <span class="keywordflow">if</span>(ip != client_list.end()) {</div><div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;            ret = ip-&gt;second-&gt;replyShowWindow(request, value);</div><div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;        }</div><div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;    }</div><div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;    <span class="keywordflow">else</span> {</div><div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;Please input application_id&quot;</span>);</div><div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;        ret = <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa611e2ec24ef295bd87825889fe2ce5e">AFB_EVENT_BAD_REQUEST</a>;</div><div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;    }</div><div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;}</div><div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;</div><div class="line"><a name="l00416"></a><span class="lineno"><a class="line" href="../../d2/d8e/class_h_s___client_manager.html#a857934af280081ca6ac61d9f2cac37c5">  416</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../d2/d8e/class_h_s___client_manager.html#a857934af280081ca6ac61d9f2cac37c5">HS_ClientManager::showNotification</a>(afb_req_t request)</div><div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;{</div><div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;    <span class="keywordtype">int</span> ret = 0;</div><div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;    std::lock_guard&lt;std::mutex&gt; lock(this-&gt;mtx);</div><div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;    <span class="keyword">auto</span> ip = client_list.find(<a class="code" href="../../dd/d30/hs-clientmanager_8cpp.html#a8bbab9002543614eacdc7a319d13a476">_homescreen</a>);</div><div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;    <span class="keywordflow">if</span>(ip != client_list.end()) {</div><div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;        ret = ip-&gt;second-&gt;showNotification(request);</div><div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;    }</div><div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;    <span class="keywordflow">else</span> {</div><div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;not exist sessiion with homescreen&quot;</span>);</div><div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;        ret = <a class="code" href="../../d3/d3d/hs-helper_8h.html#a057fc88b8445828c261305cf9107d99d">AFB_REQ_SHOWNOTIFICATION_ERROR</a>;</div><div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;    }</div><div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;</div><div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;}</div><div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;</div><div class="line"><a name="l00443"></a><span class="lineno"><a class="line" href="../../d2/d8e/class_h_s___client_manager.html#a0645294f89c67fd3c9b0cce62a900f69">  443</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../d2/d8e/class_h_s___client_manager.html#a0645294f89c67fd3c9b0cce62a900f69">HS_ClientManager::showInformation</a>(afb_req_t request)</div><div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;{</div><div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;    <span class="keywordtype">int</span> ret = 0;</div><div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;    std::lock_guard&lt;std::mutex&gt; lock(this-&gt;mtx);</div><div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;    <span class="keyword">auto</span> ip = client_list.find(<a class="code" href="../../dd/d30/hs-clientmanager_8cpp.html#a8bbab9002543614eacdc7a319d13a476">_homescreen</a>);</div><div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;    <span class="keywordflow">if</span>(ip != client_list.end()) {</div><div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;        ret = ip-&gt;second-&gt;showInformation(request);</div><div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;    }</div><div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;    <span class="keywordflow">else</span> {</div><div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(<span class="stringliteral">&quot;homescreen-service&quot;</span>,<span class="stringliteral">&quot;not exist sessiion with homescreen&quot;</span>);</div><div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;        ret = <a class="code" href="../../d3/d3d/hs-helper_8h.html#aefe0d7ff8202f954693c235c1fb8e310">AFB_REQ_SHOWINFORMATION_ERROR</a>;</div><div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;    }</div><div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;</div><div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;}</div><div class="ttc" id="class_h_s___client_html_a3d000ca70bd4a8af7c4895d95bc7d0d0"><div class="ttname"><a href="../../d5/d20/class_h_s___client.html#a3d000ca70bd4a8af7c4895d95bc7d0d0">HS_Client::subscribe</a></div><div class="ttdeci">int subscribe(afb_req_t request, const char *event)</div><div class="ttdef"><b>Definition:</b> <a href="../../d8/d55/hs-client_8cpp_source.html#l00139">hs-client.cpp:139</a></div></div>
+<div class="ttc" id="class_h_s___client_manager_html_ae0b9b18adeffca7822b060ad4ea8a7a1"><div class="ttname"><a href="../../d2/d8e/class_h_s___client_manager.html#ae0b9b18adeffca7822b060ad4ea8a7a1">HS_ClientManager::init</a></div><div class="ttdeci">int init(void)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d30/hs-clientmanager_8cpp_source.html#l00071">hs-clientmanager.cpp:71</a></div></div>
+<div class="ttc" id="class_h_s___client_manager_html_a6195694d281a3b97b0345b96c0add1fd"><div class="ttname"><a href="../../d2/d8e/class_h_s___client_manager.html#a6195694d281a3b97b0345b96c0add1fd">HS_ClientManager::hideWindow</a></div><div class="ttdeci">int hideWindow(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d30/hs-clientmanager_8cpp_source.html#l00356">hs-clientmanager.cpp:356</a></div></div>
+<div class="ttc" id="hs-clientmanager_8h_html"><div class="ttname"><a href="../../de/dca/hs-clientmanager_8h.html">hs-clientmanager.h</a></div></div>
+<div class="ttc" id="class_h_s___client_manager_html_a1b8a4e42342c4bcdc4e7dc4934e02469"><div class="ttname"><a href="../../d2/d8e/class_h_s___client_manager.html#a1b8a4e42342c4bcdc4e7dc4934e02469">HS_ClientManager::subscribe</a></div><div class="ttdeci">int subscribe(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d30/hs-clientmanager_8cpp_source.html#l00251">hs-clientmanager.cpp:251</a></div></div>
+<div class="ttc" id="class_h_s___client_manager_html_a9910fc27c412530b5b9854b00bd16c07"><div class="ttname"><a href="../../d2/d8e/class_h_s___client_manager.html#a9910fc27c412530b5b9854b00bd16c07">HS_ClientManager::tap_shortcut</a></div><div class="ttdeci">int tap_shortcut(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d30/hs-clientmanager_8cpp_source.html#l00166">hs-clientmanager.cpp:166</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_a057fc88b8445828c261305cf9107d99d"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#a057fc88b8445828c261305cf9107d99d">AFB_REQ_SHOWNOTIFICATION_ERROR</a></div><div class="ttdeci">#define AFB_REQ_SHOWNOTIFICATION_ERROR</div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00026">hs-helper.h:26</a></div></div>
+<div class="ttc" id="struct_h_s___client_ctxt_html"><div class="ttname"><a href="../../d0/d53/struct_h_s___client_ctxt.html">HS_ClientCtxt</a></div><div class="ttdef"><b>Definition:</b> <a href="../../de/dca/hs-clientmanager_8h_source.html#l00027">hs-clientmanager.h:27</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_a79b0f0b481161527ccb80e83da143219"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#a79b0f0b481161527ccb80e83da143219">_reply_message</a></div><div class="ttdeci">const char _reply_message[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00030">homescreen.cpp:30</a></div></div>
+<div class="ttc" id="class_h_s___client_html"><div class="ttname"><a href="../../d5/d20/class_h_s___client.html">HS_Client</a></div><div class="ttdef"><b>Definition:</b> <a href="../../da/dd3/hs-client_8h_source.html#l00025">hs-client.h:25</a></div></div>
+<div class="ttc" id="class_h_s___client_manager_html_aa78f992287e3b8fe93422b331dc9edc5"><div class="ttname"><a href="../../d2/d8e/class_h_s___client_manager.html#aa78f992287e3b8fe93422b331dc9edc5">HS_ClientManager::on_screen_reply</a></div><div class="ttdeci">int on_screen_reply(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d30/hs-clientmanager_8cpp_source.html#l00223">hs-clientmanager.cpp:223</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_abc0d6e0760017d8ae48b836925b2ef15"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a></div><div class="ttdeci">#define HMI_NOTICE(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00040">hmi-debug.h:40</a></div></div>
+<div class="ttc" id="class_h_s___client_manager_html_afed8158f276d1d22c32b0d89e970d442"><div class="ttname"><a href="../../d2/d8e/class_h_s___client_manager.html#afed8158f276d1d22c32b0d89e970d442">HS_ClientManager::showWindow</a></div><div class="ttdeci">int showWindow(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d30/hs-clientmanager_8cpp_source.html#l00326">hs-clientmanager.cpp:326</a></div></div>
+<div class="ttc" id="hs-clientmanager_8h_html_a58a145d17337b835ab3fe17b50163040"><div class="ttname"><a href="../../de/dca/hs-clientmanager_8h.html#a58a145d17337b835ab3fe17b50163040">HS_ClientCtxt</a></div><div class="ttdeci">struct HS_ClientCtxt HS_ClientCtxt</div></div>
+<div class="ttc" id="class_h_s___client_manager_html_ac86314afbb90116e2f02ce071166226e"><div class="ttname"><a href="../../d2/d8e/class_h_s___client_manager.html#ac86314afbb90116e2f02ce071166226e">HS_ClientManager::unsubscribe</a></div><div class="ttdeci">int unsubscribe(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d30/hs-clientmanager_8cpp_source.html#l00292">hs-clientmanager.cpp:292</a></div></div>
+<div class="ttc" id="class_h_s___client_manager_html_adac35e476e559cc89bc39363525268bf"><div class="ttname"><a href="../../d2/d8e/class_h_s___client_manager.html#adac35e476e559cc89bc39363525268bf">HS_ClientManager::HS_ClientManager</a></div><div class="ttdeci">HS_ClientManager()</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d30/hs-clientmanager_8cpp_source.html#l00039">hs-clientmanager.cpp:39</a></div></div>
+<div class="ttc" id="hs-clientmanager_8cpp_html_a8bbab9002543614eacdc7a319d13a476"><div class="ttname"><a href="../../dd/d30/hs-clientmanager_8cpp.html#a8bbab9002543614eacdc7a319d13a476">_homescreen</a></div><div class="ttdeci">static const char _homescreen[]</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d30/hs-clientmanager_8cpp_source.html#l00020">hs-clientmanager.cpp:20</a></div></div>
+<div class="ttc" id="class_h_s___client_manager_html_a59b1c1e115b5a257a585c41f854f5fdd"><div class="ttname"><a href="../../d2/d8e/class_h_s___client_manager.html#a59b1c1e115b5a257a585c41f854f5fdd">HS_ClientManager::replyShowWindow</a></div><div class="ttdeci">int replyShowWindow(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d30/hs-clientmanager_8cpp_source.html#l00386">hs-clientmanager.cpp:386</a></div></div>
+<div class="ttc" id="class_h_s___client_manager_html"><div class="ttname"><a href="../../d2/d8e/class_h_s___client_manager.html">HS_ClientManager</a></div><div class="ttdef"><b>Definition:</b> <a href="../../de/dca/hs-clientmanager_8h_source.html#l00037">hs-clientmanager.h:37</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_abfd6c1d6f316fa952b11553f8f275e92"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#abfd6c1d6f316fa952b11553f8f275e92">_display_message</a></div><div class="ttdeci">const char _display_message[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00029">homescreen.cpp:29</a></div></div>
+<div class="ttc" id="class_h_s___client_manager_html_adc23f8b3f5cc06eeab39fb24098af3e2"><div class="ttname"><a href="../../d2/d8e/class_h_s___client_manager.html#adc23f8b3f5cc06eeab39fb24098af3e2">HS_ClientManager::removeClientCtxt</a></div><div class="ttdeci">void removeClientCtxt(void *data)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d30/hs-clientmanager_8cpp_source.html#l00140">hs-clientmanager.cpp:140</a></div></div>
+<div class="ttc" id="class_h_s___client_manager_html_ad86c1fea7d107d52cbf0466fb7a2658b"><div class="ttname"><a href="../../d2/d8e/class_h_s___client_manager.html#ad86c1fea7d107d52cbf0466fb7a2658b">HS_ClientManager::instance</a></div><div class="ttdeci">static HS_ClientManager * instance(void)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d30/hs-clientmanager_8cpp_source.html#l00053">hs-clientmanager.cpp:53</a></div></div>
+<div class="ttc" id="hs-clientmanager_8cpp_html_a2e9d0e1086eba0a016056dc43bc90a73"><div class="ttname"><a href="../../dd/d30/hs-clientmanager_8cpp.html#a2e9d0e1086eba0a016056dc43bc90a73">cbRemoveClientCtxt</a></div><div class="ttdeci">static void cbRemoveClientCtxt(void *data)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d30/hs-clientmanager_8cpp_source.html#l00024">hs-clientmanager.cpp:24</a></div></div>
+<div class="ttc" id="struct_h_s___client_ctxt_html_a04929d7d5f583a821d3d594815f77d1c"><div class="ttname"><a href="../../d0/d53/struct_h_s___client_ctxt.html#a04929d7d5f583a821d3d594815f77d1c">HS_ClientCtxt::id</a></div><div class="ttdeci">std::string id</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dca/hs-clientmanager_8h_source.html#l00029">hs-clientmanager.h:29</a></div></div>
+<div class="ttc" id="src_2hmi-debug_8h_html"><div class="ttname"><a href="../../d6/dff/src_2hmi-debug_8h.html">hmi-debug.h</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_a78e930a97920b821706a80ca8f430034"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#a78e930a97920b821706a80ca8f430034">AFB_REQ_UNSUBSCRIBE_ERROR</a></div><div class="ttdeci">#define AFB_REQ_UNSUBSCRIBE_ERROR</div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00025">hs-helper.h:25</a></div></div>
+<div class="ttc" id="class_h_s___client_manager_html_a0645294f89c67fd3c9b0cce62a900f69"><div class="ttname"><a href="../../d2/d8e/class_h_s___client_manager.html#a0645294f89c67fd3c9b0cce62a900f69">HS_ClientManager::showInformation</a></div><div class="ttdeci">int showInformation(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d30/hs-clientmanager_8cpp_source.html#l00443">hs-clientmanager.cpp:443</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_a65bb6c7cfe38f8a724beab5059d36fb2"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a></div><div class="ttdeci">#define HMI_ERROR(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00038">hmi-debug.h:38</a></div></div>
+<div class="ttc" id="class_h_s___client_manager_html_a58ce4a013d3694265dd69f481bf88510"><div class="ttname"><a href="../../d2/d8e/class_h_s___client_manager.html#a58ce4a013d3694265dd69f481bf88510">HS_ClientManager::on_screen_message</a></div><div class="ttdeci">int on_screen_message(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d30/hs-clientmanager_8cpp_source.html#l00195">hs-clientmanager.cpp:195</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_a6a0e1db2562b442f8131ddf64b61d1ba"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#a6a0e1db2562b442f8131ddf64b61d1ba">_application_id</a></div><div class="ttdeci">const char _application_id[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00028">homescreen.cpp:28</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_aa611e2ec24ef295bd87825889fe2ce5e"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa611e2ec24ef295bd87825889fe2ce5e">AFB_EVENT_BAD_REQUEST</a></div><div class="ttdeci">#define AFB_EVENT_BAD_REQUEST</div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00023">hs-helper.h:23</a></div></div>
+<div class="ttc" id="class_h_s___client_manager_html_a857934af280081ca6ac61d9f2cac37c5"><div class="ttname"><a href="../../d2/d8e/class_h_s___client_manager.html#a857934af280081ca6ac61d9f2cac37c5">HS_ClientManager::showNotification</a></div><div class="ttdeci">int showNotification(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d30/hs-clientmanager_8cpp_source.html#l00416">hs-clientmanager.cpp:416</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_a995612de89db4df1483c16e4b9b70571"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#a995612de89db4df1483c16e4b9b70571">AFB_REQ_SUBSCRIBE_ERROR</a></div><div class="ttdeci">#define AFB_REQ_SUBSCRIBE_ERROR</div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00024">hs-helper.h:24</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_aefe0d7ff8202f954693c235c1fb8e310"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aefe0d7ff8202f954693c235c1fb8e310">AFB_REQ_SHOWINFORMATION_ERROR</a></div><div class="ttdeci">#define AFB_REQ_SHOWINFORMATION_ERROR</div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00027">hs-helper.h:27</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="../../doxygen.png" alt="doxygen"/>
+</a> 1.8.11
+</small></address>
+</body>
+</html>
diff --git a/doc/api-ref/html/dd/dc9/class_h_s___client_manager-members.html b/doc/api-ref/html/dd/dc9/class_h_s___client_manager-members.html
new file mode 100644 (file)
index 0000000..fd18777
--- /dev/null
@@ -0,0 +1,118 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<title>HomeScreenBinding: Member List</title>
+<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="../../jquery.js"></script>
+<script type="text/javascript" src="../../dynsections.js"></script>
+<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="../../search/searchdata.js"></script>
+<script type="text/javascript" src="../../search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">HomeScreenBinding
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="../../index.html"><span>Main&#160;Page</span></a></li>
+      <li class="current"><a href="../../annotated.html"><span>Classes</span></a></li>
+      <li><a href="../../files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="../../search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="../../annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="../../functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">HS_ClientManager Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="../../d2/d8e/class_h_s___client_manager.html">HS_ClientManager</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html#a6195694d281a3b97b0345b96c0add1fd">hideWindow</a>(afb_req_t request)</td><td class="entry"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html">HS_ClientManager</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html#adac35e476e559cc89bc39363525268bf">HS_ClientManager</a>()</td><td class="entry"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html">HS_ClientManager</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html#a0033db6b552f9de818789e76735c1ebc">HS_ClientManager</a>(HS_ClientManager const &amp;)=delete</td><td class="entry"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html">HS_ClientManager</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html#a715811c549cccd93cb1f903d179c8b41">HS_ClientManager</a>(HS_ClientManager &amp;&amp;)=delete</td><td class="entry"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html">HS_ClientManager</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html#ae0b9b18adeffca7822b060ad4ea8a7a1">init</a>(void)</td><td class="entry"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html">HS_ClientManager</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html#ad86c1fea7d107d52cbf0466fb7a2658b">instance</a>(void)</td><td class="entry"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html">HS_ClientManager</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html#a58ce4a013d3694265dd69f481bf88510">on_screen_message</a>(afb_req_t request)</td><td class="entry"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html">HS_ClientManager</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html#aa78f992287e3b8fe93422b331dc9edc5">on_screen_reply</a>(afb_req_t request)</td><td class="entry"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html">HS_ClientManager</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html#ac8e02cffc79d4530b06e1143abb18891">operator=</a>(HS_ClientManager const &amp;)=delete</td><td class="entry"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html">HS_ClientManager</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html#a49e225bb8421c812ac016309d54a00fa">operator=</a>(HS_ClientManager &amp;&amp;)=delete</td><td class="entry"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html">HS_ClientManager</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html#adc23f8b3f5cc06eeab39fb24098af3e2">removeClientCtxt</a>(void *data)</td><td class="entry"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html">HS_ClientManager</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html#a59b1c1e115b5a257a585c41f854f5fdd">replyShowWindow</a>(afb_req_t request)</td><td class="entry"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html">HS_ClientManager</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html#a0645294f89c67fd3c9b0cce62a900f69">showInformation</a>(afb_req_t request)</td><td class="entry"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html">HS_ClientManager</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html#a857934af280081ca6ac61d9f2cac37c5">showNotification</a>(afb_req_t request)</td><td class="entry"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html">HS_ClientManager</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html#afed8158f276d1d22c32b0d89e970d442">showWindow</a>(afb_req_t request)</td><td class="entry"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html">HS_ClientManager</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html#a1b8a4e42342c4bcdc4e7dc4934e02469">subscribe</a>(afb_req_t request)</td><td class="entry"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html">HS_ClientManager</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html#a9910fc27c412530b5b9854b00bd16c07">tap_shortcut</a>(afb_req_t request)</td><td class="entry"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html">HS_ClientManager</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html#ac86314afbb90116e2f02ce071166226e">unsubscribe</a>(afb_req_t request)</td><td class="entry"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html">HS_ClientManager</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html#a50733274a93293fef892fdd453d74cae">~HS_ClientManager</a>()=default</td><td class="entry"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html">HS_ClientManager</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="../../doxygen.png" alt="doxygen"/>
+</a> 1.8.11
+</small></address>
+</body>
+</html>
diff --git a/doc/api-ref/html/dd/ddc/structgeometry.html b/doc/api-ref/html/dd/ddc/structgeometry.html
new file mode 100644 (file)
index 0000000..ed8d0ff
--- /dev/null
@@ -0,0 +1,142 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<title>HomeScreenBinding: geometry Struct Reference</title>
+<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="../../jquery.js"></script>
+<script type="text/javascript" src="../../dynsections.js"></script>
+<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="../../search/searchdata.js"></script>
+<script type="text/javascript" src="../../search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">HomeScreenBinding
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="../../index.html"><span>Main&#160;Page</span></a></li>
+      <li class="current"><a href="../../annotated.html"><span>Classes</span></a></li>
+      <li><a href="../../files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="../../search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="../../annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="../../functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-attribs">Public Attributes</a> &#124;
+<a href="../../db/dcb/structgeometry-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">geometry Struct Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:a854a87ce277335591f06958a2363c3e1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/ddc/structgeometry.html#a854a87ce277335591f06958a2363c3e1">width</a></td></tr>
+<tr class="separator:a854a87ce277335591f06958a2363c3e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6968ae18c72699d1c164399bf0e5cf14"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/ddc/structgeometry.html#a6968ae18c72699d1c164399bf0e5cf14">height</a></td></tr>
+<tr class="separator:a6968ae18c72699d1c164399bf0e5cf14"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock">
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00132">132</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+</div><h2 class="groupheader">Member Data Documentation</h2>
+<a class="anchor" id="a6968ae18c72699d1c164399bf0e5cf14"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int geometry::height</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00133">133</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a854a87ce277335591f06958a2363c3e1"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int geometry::width</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00133">133</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li>libhomescreen/<a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="../../doxygen.png" alt="doxygen"/>
+</a> 1.8.11
+</small></address>
+</body>
+</html>
diff --git a/doc/api-ref/html/de/da4/simple-egl_8cpp.html b/doc/api-ref/html/de/da4/simple-egl_8cpp.html
new file mode 100644 (file)
index 0000000..30fe5cc
--- /dev/null
@@ -0,0 +1,1253 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<title>HomeScreenBinding: libhomescreen/simple-egl.cpp File Reference</title>
+<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="../../jquery.js"></script>
+<script type="text/javascript" src="../../dynsections.js"></script>
+<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="../../search/searchdata.js"></script>
+<script type="text/javascript" src="../../search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">HomeScreenBinding
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="../../index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="../../annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="../../files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="../../search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="../../files.html"><span>File&#160;List</span></a></li>
+      <li><a href="../../globals.html"><span>File&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="../../dir_65f76d62445e9e84c0450b12bf77c3bc.html">libhomescreen</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> &#124;
+<a href="#define-members">Macros</a> &#124;
+<a href="#typedef-members">Typedefs</a> &#124;
+<a href="#func-members">Functions</a> &#124;
+<a href="#var-members">Variables</a>  </div>
+  <div class="headertitle">
+<div class="title">simple-egl.cpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &lt;mutex&gt;</code><br />
+<code>#include &lt;chrono&gt;</code><br />
+<code>#include &lt;iostream&gt;</code><br />
+<code>#include &lt;string&gt;</code><br />
+<code>#include &lt;stdarg.h&gt;</code><br />
+<code>#include &lt;sys/types.h&gt;</code><br />
+<code>#include &lt;thread&gt;</code><br />
+<code>#include &lt;exception&gt;</code><br />
+<code>#include &lt;vector&gt;</code><br />
+<code>#include &lt;sstream&gt;</code><br />
+<code>#include &lt;assert.h&gt;</code><br />
+<code>#include &lt;signal.h&gt;</code><br />
+<code>#include &lt;wayland-client.h&gt;</code><br />
+<code>#include &lt;wayland-egl.h&gt;</code><br />
+<code>#include &lt;GLES2/gl2.h&gt;</code><br />
+<code>#include &lt;EGL/egl.h&gt;</code><br />
+<code>#include &lt;EGL/eglext.h&gt;</code><br />
+<code>#include &lt;unistd.h&gt;</code><br />
+<code>#include &lt;time.h&gt;</code><br />
+<code>#include &lt;libwindowmanager.h&gt;</code><br />
+<code>#include &lt;<a class="el" href="../../df/d43/libhomescreen_8hpp_source.html">libhomescreen.hpp</a>&gt;</code><br />
+<code>#include &lt;ilm/ivi-application-client-protocol.h&gt;</code><br />
+<code>#include &quot;hmi-debug.h&quot;</code><br />
+<code>#include &quot;platform.h&quot;</code><br />
+</div>
+<p><a href="../../de/da4/simple-egl_8cpp_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/df5/structdisplay.html">display</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/ddc/structgeometry.html">geometry</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/de3/structwindow.html">window</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
+Macros</h2></td></tr>
+<tr class="memitem:a083d37f289b99270e0391419178d458f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/da4/simple-egl_8cpp.html#a083d37f289b99270e0391419178d458f">EGL_EXT_swap_buffers_with_damage</a>&#160;&#160;&#160;1</td></tr>
+<tr class="separator:a083d37f289b99270e0391419178d458f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0792e3d8b2bc978f95917a234b0c81df"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/da4/simple-egl_8cpp.html#a0792e3d8b2bc978f95917a234b0c81df">EGL_EXT_buffer_age</a>&#160;&#160;&#160;1</td></tr>
+<tr class="separator:a0792e3d8b2bc978f95917a234b0c81df"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7045d8a6b4857f268a62fab2de2021fd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/da4/simple-egl_8cpp.html#a7045d8a6b4857f268a62fab2de2021fd">EGL_BUFFER_AGE_EXT</a>&#160;&#160;&#160;0x313D</td></tr>
+<tr class="separator:a7045d8a6b4857f268a62fab2de2021fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
+Typedefs</h2></td></tr>
+<tr class="memitem:a0720952aa1caded45b5bcdce589663a9"><td class="memItemLeft" align="right" valign="top">typedef EGLSurface&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/da4/simple-egl_8cpp.html#a0720952aa1caded45b5bcdce589663a9">surface</a></td></tr>
+<tr class="separator:a0720952aa1caded45b5bcdce589663a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a56616f7ca3fc53c0da41d05de9330b11"><td class="memItemLeft" align="right" valign="top">typedef EGLSurface EGLint *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/da4/simple-egl_8cpp.html#a56616f7ca3fc53c0da41d05de9330b11">rects</a></td></tr>
+<tr class="separator:a56616f7ca3fc53c0da41d05de9330b11"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa6a11810244355f89e6c4961b9dd3b53"><td class="memItemLeft" align="right" valign="top">typedef EGLSurface EGLint EGLint&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/da4/simple-egl_8cpp.html#aa6a11810244355f89e6c4961b9dd3b53">n_rects</a></td></tr>
+<tr class="separator:aa6a11810244355f89e6c4961b9dd3b53"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ab4ad070d3bf82abe5e70330578f67893"><td class="memItemLeft" align="right" valign="top">typedef&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/da4/simple-egl_8cpp.html#ab4ad070d3bf82abe5e70330578f67893">EGLBoolean</a> (EGLAPIENTRYP PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC)(EGLDisplay dpy</td></tr>
+<tr class="separator:ab4ad070d3bf82abe5e70330578f67893"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1073d4aca1838d3877fe577d813700fc"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/da4/simple-egl_8cpp.html#a1073d4aca1838d3877fe577d813700fc">init_egl</a> (struct <a class="el" href="../../d6/df5/structdisplay.html">display</a> *<a class="el" href="../../d6/df5/structdisplay.html">display</a>, struct <a class="el" href="../../d6/de3/structwindow.html">window</a> *<a class="el" href="../../d6/de3/structwindow.html">window</a>)</td></tr>
+<tr class="separator:a1073d4aca1838d3877fe577d813700fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4f71f46ede5b73bd7c770c973826f771"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/da4/simple-egl_8cpp.html#a4f71f46ede5b73bd7c770c973826f771">fini_egl</a> (struct <a class="el" href="../../d6/df5/structdisplay.html">display</a> *<a class="el" href="../../d6/df5/structdisplay.html">display</a>)</td></tr>
+<tr class="separator:a4f71f46ede5b73bd7c770c973826f771"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab72c580e4d6d47c2fb49c72cc76b85bb"><td class="memItemLeft" align="right" valign="top">static GLuint&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/da4/simple-egl_8cpp.html#ab72c580e4d6d47c2fb49c72cc76b85bb">create_shader</a> (struct <a class="el" href="../../d6/de3/structwindow.html">window</a> *<a class="el" href="../../d6/de3/structwindow.html">window</a>, const char *source, GLenum shader_type)</td></tr>
+<tr class="separator:ab72c580e4d6d47c2fb49c72cc76b85bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab3ee863fa45f4026f78f592d6f6e34ff"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/da4/simple-egl_8cpp.html#ab3ee863fa45f4026f78f592d6f6e34ff">init_gl</a> (struct <a class="el" href="../../d6/de3/structwindow.html">window</a> *<a class="el" href="../../d6/de3/structwindow.html">window</a>)</td></tr>
+<tr class="separator:ab3ee863fa45f4026f78f592d6f6e34ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0122201fe28a7f35b0fbd362fff7094e"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/da4/simple-egl_8cpp.html#a0122201fe28a7f35b0fbd362fff7094e">create_ivi_surface</a> (struct <a class="el" href="../../d6/de3/structwindow.html">window</a> *<a class="el" href="../../d6/de3/structwindow.html">window</a>, struct <a class="el" href="../../d6/df5/structdisplay.html">display</a> *<a class="el" href="../../d6/df5/structdisplay.html">display</a>)</td></tr>
+<tr class="separator:a0122201fe28a7f35b0fbd362fff7094e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a83c7f2e34bbc715d97f0642def708293"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/da4/simple-egl_8cpp.html#a83c7f2e34bbc715d97f0642def708293">create_surface</a> (struct <a class="el" href="../../d6/de3/structwindow.html">window</a> *<a class="el" href="../../d6/de3/structwindow.html">window</a>)</td></tr>
+<tr class="separator:a83c7f2e34bbc715d97f0642def708293"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aba2ea9aa51701e52d4f36b4f34cecf7a"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/da4/simple-egl_8cpp.html#aba2ea9aa51701e52d4f36b4f34cecf7a">destroy_surface</a> (struct <a class="el" href="../../d6/de3/structwindow.html">window</a> *<a class="el" href="../../d6/de3/structwindow.html">window</a>)</td></tr>
+<tr class="separator:aba2ea9aa51701e52d4f36b4f34cecf7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a927502f6103ec35422eead39e62ab7ba"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/da4/simple-egl_8cpp.html#a927502f6103ec35422eead39e62ab7ba">redraw</a> (void *data, struct wl_callback *callback, uint32_t time)</td></tr>
+<tr class="separator:a927502f6103ec35422eead39e62ab7ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af288e02a94c196a68b327fc55c049932"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/da4/simple-egl_8cpp.html#af288e02a94c196a68b327fc55c049932">registry_handle_global</a> (void *data, struct wl_registry *registry, uint32_t name, const char *interface, uint32_t version)</td></tr>
+<tr class="separator:af288e02a94c196a68b327fc55c049932"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a59a731b9efa9d6a2015cdc8ccae1db80"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/da4/simple-egl_8cpp.html#a59a731b9efa9d6a2015cdc8ccae1db80">registry_handle_global_remove</a> (void *data, struct wl_registry *registry, uint32_t name)</td></tr>
+<tr class="separator:a59a731b9efa9d6a2015cdc8ccae1db80"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2cfc8c2d3fc1273ba8f811d2e639aec8"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/da4/simple-egl_8cpp.html#a2cfc8c2d3fc1273ba8f811d2e639aec8">signal_int</a> (int signum)</td></tr>
+<tr class="separator:a2cfc8c2d3fc1273ba8f811d2e639aec8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a644e25276ecdea04f2aa3412c1973927"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/da4/simple-egl_8cpp.html#a644e25276ecdea04f2aa3412c1973927">init_wm</a> (LibWindowmanager *<a class="el" href="../../de/da4/simple-egl_8cpp.html#ad1513698e07197206c290f94d7669d85">wm</a>, struct <a class="el" href="../../d6/de3/structwindow.html">window</a> *<a class="el" href="../../d6/de3/structwindow.html">window</a>)</td></tr>
+<tr class="separator:a644e25276ecdea04f2aa3412c1973927"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a79aafeb99915566dd3970246f465f306"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/da4/simple-egl_8cpp.html#a79aafeb99915566dd3970246f465f306">init_hs</a> (<a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a> *<a class="el" href="../../de/da4/simple-egl_8cpp.html#a529acbd1fed9d98a587edfa62309fa8d">hs</a>)</td></tr>
+<tr class="separator:a79aafeb99915566dd3970246f465f306"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3c04138a5bfe5d72780bb7e82a18e627"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/da4/simple-egl_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">main</a> (int argc, char **argv)</td></tr>
+<tr class="separator:a3c04138a5bfe5d72780bb7e82a18e627"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:a894f18168fa25101d792262f59846938"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/da4/simple-egl_8cpp.html#a894f18168fa25101d792262f59846938">log_prefix</a> = &quot;simple-egl&quot;</td></tr>
+<tr class="separator:a894f18168fa25101d792262f59846938"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a28f56c9f01ed9f108201950645317cc9"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/da4/simple-egl_8cpp.html#a28f56c9f01ed9f108201950645317cc9">g_id_ivisurf</a> = 9009</td></tr>
+<tr class="separator:a28f56c9f01ed9f108201950645317cc9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a300b6806fe6818927fe4df08f2398124"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/da4/simple-egl_8cpp.html#a300b6806fe6818927fe4df08f2398124">port</a> = 1700</td></tr>
+<tr class="separator:a300b6806fe6818927fe4df08f2398124"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a623ef6987ef3bd185c07b28b13e46d34"><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/da4/simple-egl_8cpp.html#a623ef6987ef3bd185c07b28b13e46d34">token</a> = string(&quot;wm&quot;)</td></tr>
+<tr class="separator:a623ef6987ef3bd185c07b28b13e46d34"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0da928eccfc57d1dfadfd29d4ac4854c"><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/da4/simple-egl_8cpp.html#a0da928eccfc57d1dfadfd29d4ac4854c">app_name</a> = string(&quot;Navigation&quot;)</td></tr>
+<tr class="separator:a0da928eccfc57d1dfadfd29d4ac4854c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a332251aa739a56836cd4fbf3ecbb8bb2"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/da4/simple-egl_8cpp.html#a332251aa739a56836cd4fbf3ecbb8bb2">main_role</a> = &quot;navigation&quot;</td></tr>
+<tr class="separator:a332251aa739a56836cd4fbf3ecbb8bb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a529acbd1fed9d98a587edfa62309fa8d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/da4/simple-egl_8cpp.html#a529acbd1fed9d98a587edfa62309fa8d">hs</a></td></tr>
+<tr class="separator:a529acbd1fed9d98a587edfa62309fa8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad1513698e07197206c290f94d7669d85"><td class="memItemLeft" align="right" valign="top">LibWindowmanager *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/da4/simple-egl_8cpp.html#ad1513698e07197206c290f94d7669d85">wm</a></td></tr>
+<tr class="separator:ad1513698e07197206c290f94d7669d85"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aea3203db9e218d3e5d60bdb4ebe2fa1f"><td class="memItemLeft" align="right" valign="top">static const struct wl_interface *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/da4/simple-egl_8cpp.html#aea3203db9e218d3e5d60bdb4ebe2fa1f">types</a> []</td></tr>
+<tr class="separator:aea3203db9e218d3e5d60bdb4ebe2fa1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ada80120c5590d2821da9babef808b98d"><td class="memItemLeft" align="right" valign="top">static const struct wl_message&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/da4/simple-egl_8cpp.html#ada80120c5590d2821da9babef808b98d">ivi_surface_requests</a> []</td></tr>
+<tr class="separator:ada80120c5590d2821da9babef808b98d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac848f4fbf712a9ba414272fa85577791"><td class="memItemLeft" align="right" valign="top">static const struct wl_message&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/da4/simple-egl_8cpp.html#ac848f4fbf712a9ba414272fa85577791">ivi_surface_events</a> []</td></tr>
+<tr class="separator:ac848f4fbf712a9ba414272fa85577791"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adf384de8d12d2edd7265ab85fd16b11c"><td class="memItemLeft" align="right" valign="top">const struct wl_interface&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/da4/simple-egl_8cpp.html#adf384de8d12d2edd7265ab85fd16b11c">ivi_surface_interface</a></td></tr>
+<tr class="separator:adf384de8d12d2edd7265ab85fd16b11c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a21a39b7c6cf5f6d10a62a70b3ebc9bad"><td class="memItemLeft" align="right" valign="top">static const struct wl_message&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/da4/simple-egl_8cpp.html#a21a39b7c6cf5f6d10a62a70b3ebc9bad">ivi_application_requests</a> []</td></tr>
+<tr class="separator:a21a39b7c6cf5f6d10a62a70b3ebc9bad"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a769b65b7b0e834f732f1f45e835890d5"><td class="memItemLeft" align="right" valign="top">const struct wl_interface&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/da4/simple-egl_8cpp.html#a769b65b7b0e834f732f1f45e835890d5">ivi_application_interface</a></td></tr>
+<tr class="separator:a769b65b7b0e834f732f1f45e835890d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a717575939a37d84dcd4cf0447a630834"><td class="memItemLeft" align="right" valign="top">static const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/da4/simple-egl_8cpp.html#a717575939a37d84dcd4cf0447a630834">vert_shader_text</a></td></tr>
+<tr class="separator:a717575939a37d84dcd4cf0447a630834"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab5a6a2a26ac23f79b1687daa4b0d8980"><td class="memItemLeft" align="right" valign="top">static const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/da4/simple-egl_8cpp.html#ab5a6a2a26ac23f79b1687daa4b0d8980">frag_shader_text</a></td></tr>
+<tr class="separator:ab5a6a2a26ac23f79b1687daa4b0d8980"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2f45113638a0b749a8a205d2cd7fb42b"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/da4/simple-egl_8cpp.html#a2f45113638a0b749a8a205d2cd7fb42b">running</a> = 1</td></tr>
+<tr class="separator:a2f45113638a0b749a8a205d2cd7fb42b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8998c87c94cd7d185e8f0cdafab4b1c4"><td class="memItemLeft" align="right" valign="top">static const struct wl_registry_listener&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/da4/simple-egl_8cpp.html#a8998c87c94cd7d185e8f0cdafab4b1c4">registry_listener</a></td></tr>
+<tr class="separator:a8998c87c94cd7d185e8f0cdafab4b1c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Macro Definition Documentation</h2>
+<a class="anchor" id="a7045d8a6b4857f268a62fab2de2021fd"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define EGL_BUFFER_AGE_EXT&#160;&#160;&#160;0x313D</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00110">110</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a0792e3d8b2bc978f95917a234b0c81df"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define EGL_EXT_buffer_age&#160;&#160;&#160;1</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00109">109</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a083d37f289b99270e0391419178d458f"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define EGL_EXT_swap_buffers_with_damage&#160;&#160;&#160;1</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00104">104</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+
+</div>
+</div>
+<h2 class="groupheader">Typedef Documentation</h2>
+<a class="anchor" id="aa6a11810244355f89e6c4961b9dd3b53"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef EGLSurface EGLint EGLint <a class="el" href="../../de/da4/simple-egl_8cpp.html#aa6a11810244355f89e6c4961b9dd3b53">n_rects</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00105">105</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a56616f7ca3fc53c0da41d05de9330b11"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef EGLSurface EGLint* <a class="el" href="../../de/da4/simple-egl_8cpp.html#a56616f7ca3fc53c0da41d05de9330b11">rects</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00105">105</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a0720952aa1caded45b5bcdce589663a9"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef EGLSurface <a class="el" href="../../de/da4/simple-egl_8cpp.html#a0720952aa1caded45b5bcdce589663a9">surface</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00105">105</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+
+</div>
+</div>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a0122201fe28a7f35b0fbd362fff7094e"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static void create_ivi_surface </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="../../d6/de3/structwindow.html">window</a> *&#160;</td>
+          <td class="paramname"><em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">struct <a class="el" href="../../d6/df5/structdisplay.html">display</a> *&#160;</td>
+          <td class="paramname"><em>display</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00322">322</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;{</div><div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;    uint32_t id_ivisurf = <a class="code" href="../../de/da4/simple-egl_8cpp.html#a28f56c9f01ed9f108201950645317cc9">g_id_ivisurf</a>;</div><div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;    window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a40e2c6fb4178953c820fc1b9f41d4b31">ivi_surface</a> =</div><div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;        ivi_application_surface_create(display-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a24c073faff3bb4799c2d46291f27ab89">ivi_application</a>,</div><div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;                           id_ivisurf, window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a7d0790cfc7c30621611fa26ab5c1ae97">surface</a>);</div><div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;</div><div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;    <span class="keywordflow">if</span> (window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a40e2c6fb4178953c820fc1b9f41d4b31">ivi_surface</a> == NULL) {</div><div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a>(<a class="code" href="../../de/da4/simple-egl_8cpp.html#a894f18168fa25101d792262f59846938">log_prefix</a>,<span class="stringliteral">&quot;Failed to create ivi_client_surface&quot;</span>);</div><div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;        abort();</div><div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;    }</div><div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;</div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;}</div><div class="ttc" id="simple-egl_8cpp_html_a28f56c9f01ed9f108201950645317cc9"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a28f56c9f01ed9f108201950645317cc9">g_id_ivisurf</a></div><div class="ttdeci">uint32_t g_id_ivisurf</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00059">simple-egl.cpp:59</a></div></div>
+<div class="ttc" id="structwindow_html_a7d0790cfc7c30621611fa26ab5c1ae97"><div class="ttname"><a href="../../d6/de3/structwindow.html#a7d0790cfc7c30621611fa26ab5c1ae97">window::surface</a></div><div class="ttdeci">struct wl_surface * surface</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00147">simple-egl.cpp:147</a></div></div>
+<div class="ttc" id="structdisplay_html_a24c073faff3bb4799c2d46291f27ab89"><div class="ttname"><a href="../../d6/df5/structdisplay.html#a24c073faff3bb4799c2d46291f27ab89">display::ivi_application</a></div><div class="ttdeci">struct ivi_application * ivi_application</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00127">simple-egl.cpp:127</a></div></div>
+<div class="ttc" id="structwindow_html_a40e2c6fb4178953c820fc1b9f41d4b31"><div class="ttname"><a href="../../d6/de3/structwindow.html#a40e2c6fb4178953c820fc1b9f41d4b31">window::ivi_surface</a></div><div class="ttdeci">struct ivi_surface * ivi_surface</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00148">simple-egl.cpp:148</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_a65bb6c7cfe38f8a724beab5059d36fb2"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a></div><div class="ttdeci">#define HMI_ERROR(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00038">hmi-debug.h:38</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a894f18168fa25101d792262f59846938"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a894f18168fa25101d792262f59846938">log_prefix</a></div><div class="ttdeci">const char * log_prefix</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00058">simple-egl.cpp:58</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="ab72c580e4d6d47c2fb49c72cc76b85bb"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static GLuint create_shader </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="../../d6/de3/structwindow.html">window</a> *&#160;</td>
+          <td class="paramname"><em>window</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>source</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">GLenum&#160;</td>
+          <td class="paramname"><em>shader_type</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00259">259</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;{</div><div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;    GLuint shader;</div><div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;    GLint status;</div><div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;</div><div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;    shader = glCreateShader(shader_type);</div><div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;    assert(shader != 0);</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;    glShaderSource(shader, 1, (<span class="keyword">const</span> <span class="keywordtype">char</span> **) &amp;source, NULL);</div><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;    glCompileShader(shader);</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;    glGetShaderiv(shader, GL_COMPILE_STATUS, &amp;status);</div><div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;    <span class="keywordflow">if</span> (!status) {</div><div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;        <span class="keywordtype">char</span> log[1000];</div><div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;        GLsizei len;</div><div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;        glGetShaderInfoLog(shader, 1000, &amp;len, log);</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a>(<a class="code" href="../../de/da4/simple-egl_8cpp.html#a894f18168fa25101d792262f59846938">log_prefix</a>,<span class="stringliteral">&quot;Error: compiling %s: %*s&quot;</span>,</div><div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;            shader_type == GL_VERTEX_SHADER ? <span class="stringliteral">&quot;vertex&quot;</span> : <span class="stringliteral">&quot;fragment&quot;</span>,</div><div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;            len, log);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;        exit(1);</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;    }</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;</div><div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;    <span class="keywordflow">return</span> shader;</div><div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;}</div><div class="ttc" id="include_2hmi-debug_8h_html_a65bb6c7cfe38f8a724beab5059d36fb2"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a></div><div class="ttdeci">#define HMI_ERROR(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00038">hmi-debug.h:38</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a894f18168fa25101d792262f59846938"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a894f18168fa25101d792262f59846938">log_prefix</a></div><div class="ttdeci">const char * log_prefix</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00058">simple-egl.cpp:58</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a83c7f2e34bbc715d97f0642def708293"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static void create_surface </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="../../d6/de3/structwindow.html">window</a> *&#160;</td>
+          <td class="paramname"><em>window</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00337">337</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;{</div><div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;    <span class="keyword">struct </span><a class="code" href="../../d6/df5/structdisplay.html">display</a> *<a class="code" href="../../d6/df5/structdisplay.html">display</a> = window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a129486f2bd23791194f389ca1405cfd4">display</a>;</div><div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;    <a class="code" href="../../de/da4/simple-egl_8cpp.html#ab4ad070d3bf82abe5e70330578f67893">EGLBoolean</a> ret;</div><div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;</div><div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;    window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a7d0790cfc7c30621611fa26ab5c1ae97">surface</a> = wl_compositor_create_surface(display-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a41ba32dfde812165dda5b62885000c78">compositor</a>);</div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;</div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;    window-&gt;<a class="code" href="../../d6/de3/structwindow.html#ae41be0955d0e73530e1bc13dfeb9d731">native</a> =</div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;        wl_egl_window_create(window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a7d0790cfc7c30621611fa26ab5c1ae97">surface</a>,</div><div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;                     window-&gt;geometry.width,</div><div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;                     window-&gt;geometry.height);</div><div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;    window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a8de0059f3f1cb0dec33fba1143b7dee1">egl_surface</a> =</div><div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;        weston_platform_create_egl_surface(display-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">egl</a>.<a class="code" href="../../d6/df5/structdisplay.html#a8a1cbda15a286e41e89a85f158ce9311">dpy</a>,</div><div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;                           display-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">egl</a>.<a class="code" href="../../d6/df5/structdisplay.html#a880aef9408b499f5b749541dc6e396c3">conf</a>,</div><div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;                           window-&gt;<a class="code" href="../../d6/de3/structwindow.html#ae41be0955d0e73530e1bc13dfeb9d731">native</a>, NULL);</div><div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;</div><div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;</div><div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;    <span class="keywordflow">if</span> (display-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a24c073faff3bb4799c2d46291f27ab89">ivi_application</a> ) {</div><div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;        <a class="code" href="../../de/da4/simple-egl_8cpp.html#a0122201fe28a7f35b0fbd362fff7094e">create_ivi_surface</a>(window, display);</div><div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;    } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;        assert(0);</div><div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;    }</div><div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;</div><div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;    ret = eglMakeCurrent(window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a129486f2bd23791194f389ca1405cfd4">display</a>-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">egl</a>.<a class="code" href="../../d6/df5/structdisplay.html#a8a1cbda15a286e41e89a85f158ce9311">dpy</a>, window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a8de0059f3f1cb0dec33fba1143b7dee1">egl_surface</a>,</div><div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;                 window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a8de0059f3f1cb0dec33fba1143b7dee1">egl_surface</a>, window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a129486f2bd23791194f389ca1405cfd4">display</a>-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">egl</a>.<a class="code" href="../../d6/df5/structdisplay.html#a3420940a29a710e0e5ebd41ba462cc00">ctx</a>);</div><div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;    assert(ret == EGL_TRUE);</div><div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;</div><div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;    <span class="keywordflow">if</span> (!window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a851bcb65083f5ab5ff768b09522bed70">frame_sync</a>)</div><div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;        eglSwapInterval(display-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">egl</a>.<a class="code" href="../../d6/df5/structdisplay.html#a8a1cbda15a286e41e89a85f158ce9311">dpy</a>, 0);</div><div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;</div><div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;}</div><div class="ttc" id="structdisplay_html"><div class="ttname"><a href="../../d6/df5/structdisplay.html">display</a></div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00116">simple-egl.cpp:116</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_ab4ad070d3bf82abe5e70330578f67893"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#ab4ad070d3bf82abe5e70330578f67893">EGLBoolean</a></div><div class="ttdeci">typedef EGLBoolean(EGLAPIENTRYP PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC)(EGLDisplay dpy</div></div>
+<div class="ttc" id="structdisplay_html_a8a1cbda15a286e41e89a85f158ce9311"><div class="ttname"><a href="../../d6/df5/structdisplay.html#a8a1cbda15a286e41e89a85f158ce9311">display::dpy</a></div><div class="ttdeci">EGLDisplay dpy</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00122">simple-egl.cpp:122</a></div></div>
+<div class="ttc" id="structwindow_html_a8de0059f3f1cb0dec33fba1143b7dee1"><div class="ttname"><a href="../../d6/de3/structwindow.html#a8de0059f3f1cb0dec33fba1143b7dee1">window::egl_surface</a></div><div class="ttdeci">EGLSurface egl_surface</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00149">simple-egl.cpp:149</a></div></div>
+<div class="ttc" id="structdisplay_html_a880aef9408b499f5b749541dc6e396c3"><div class="ttname"><a href="../../d6/df5/structdisplay.html#a880aef9408b499f5b749541dc6e396c3">display::conf</a></div><div class="ttdeci">EGLConfig conf</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00124">simple-egl.cpp:124</a></div></div>
+<div class="ttc" id="structwindow_html_ae41be0955d0e73530e1bc13dfeb9d731"><div class="ttname"><a href="../../d6/de3/structwindow.html#ae41be0955d0e73530e1bc13dfeb9d731">window::native</a></div><div class="ttdeci">struct wl_egl_window * native</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00146">simple-egl.cpp:146</a></div></div>
+<div class="ttc" id="structwindow_html_a7d0790cfc7c30621611fa26ab5c1ae97"><div class="ttname"><a href="../../d6/de3/structwindow.html#a7d0790cfc7c30621611fa26ab5c1ae97">window::surface</a></div><div class="ttdeci">struct wl_surface * surface</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00147">simple-egl.cpp:147</a></div></div>
+<div class="ttc" id="structdisplay_html_a24c073faff3bb4799c2d46291f27ab89"><div class="ttname"><a href="../../d6/df5/structdisplay.html#a24c073faff3bb4799c2d46291f27ab89">display::ivi_application</a></div><div class="ttdeci">struct ivi_application * ivi_application</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00127">simple-egl.cpp:127</a></div></div>
+<div class="ttc" id="structdisplay_html_a8b8bc104c19ff228d476a377e572d9c7"><div class="ttname"><a href="../../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">display::egl</a></div><div class="ttdeci">struct display::@0 egl</div></div>
+<div class="ttc" id="structwindow_html_a129486f2bd23791194f389ca1405cfd4"><div class="ttname"><a href="../../d6/de3/structwindow.html#a129486f2bd23791194f389ca1405cfd4">window::display</a></div><div class="ttdeci">struct display * display</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00137">simple-egl.cpp:137</a></div></div>
+<div class="ttc" id="structdisplay_html_a3420940a29a710e0e5ebd41ba462cc00"><div class="ttname"><a href="../../d6/df5/structdisplay.html#a3420940a29a710e0e5ebd41ba462cc00">display::ctx</a></div><div class="ttdeci">EGLContext ctx</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00123">simple-egl.cpp:123</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a0122201fe28a7f35b0fbd362fff7094e"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a0122201fe28a7f35b0fbd362fff7094e">create_ivi_surface</a></div><div class="ttdeci">static void create_ivi_surface(struct window *window, struct display *display)</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00322">simple-egl.cpp:322</a></div></div>
+<div class="ttc" id="structwindow_html_a851bcb65083f5ab5ff768b09522bed70"><div class="ttname"><a href="../../d6/de3/structwindow.html#a851bcb65083f5ab5ff768b09522bed70">window::frame_sync</a></div><div class="ttdeci">int frame_sync</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00151">simple-egl.cpp:151</a></div></div>
+<div class="ttc" id="structdisplay_html_a41ba32dfde812165dda5b62885000c78"><div class="ttname"><a href="../../d6/df5/structdisplay.html#a41ba32dfde812165dda5b62885000c78">display::compositor</a></div><div class="ttdeci">struct wl_compositor * compositor</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00119">simple-egl.cpp:119</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="aba2ea9aa51701e52d4f36b4f34cecf7a"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static void destroy_surface </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="../../d6/de3/structwindow.html">window</a> *&#160;</td>
+          <td class="paramname"><em>window</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00370">370</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;{</div><div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;    <span class="comment">/* Required, otherwise segfault in egl_dri2.c: dri2_make_current()</span></div><div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;<span class="comment">     * on eglReleaseThread(). */</span></div><div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;    eglMakeCurrent(window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a129486f2bd23791194f389ca1405cfd4">display</a>-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">egl</a>.<a class="code" href="../../d6/df5/structdisplay.html#a8a1cbda15a286e41e89a85f158ce9311">dpy</a>, EGL_NO_SURFACE, EGL_NO_SURFACE,</div><div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;               EGL_NO_CONTEXT);</div><div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;</div><div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;    eglDestroySurface(window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a129486f2bd23791194f389ca1405cfd4">display</a>-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">egl</a>.<a class="code" href="../../d6/df5/structdisplay.html#a8a1cbda15a286e41e89a85f158ce9311">dpy</a>, window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a8de0059f3f1cb0dec33fba1143b7dee1">egl_surface</a>);</div><div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;    wl_egl_window_destroy(window-&gt;<a class="code" href="../../d6/de3/structwindow.html#ae41be0955d0e73530e1bc13dfeb9d731">native</a>);</div><div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;</div><div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;    <span class="keywordflow">if</span> (window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a129486f2bd23791194f389ca1405cfd4">display</a>-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a24c073faff3bb4799c2d46291f27ab89">ivi_application</a>)</div><div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;        ivi_surface_destroy(window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a40e2c6fb4178953c820fc1b9f41d4b31">ivi_surface</a>);</div><div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;    wl_surface_destroy(window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a7d0790cfc7c30621611fa26ab5c1ae97">surface</a>);</div><div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;</div><div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;    <span class="keywordflow">if</span> (window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a35ba639556fa19d9273dad0953a6807e">callback</a>)</div><div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;        wl_callback_destroy(window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a35ba639556fa19d9273dad0953a6807e">callback</a>);</div><div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;}</div><div class="ttc" id="structdisplay_html_a8a1cbda15a286e41e89a85f158ce9311"><div class="ttname"><a href="../../d6/df5/structdisplay.html#a8a1cbda15a286e41e89a85f158ce9311">display::dpy</a></div><div class="ttdeci">EGLDisplay dpy</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00122">simple-egl.cpp:122</a></div></div>
+<div class="ttc" id="structwindow_html_a8de0059f3f1cb0dec33fba1143b7dee1"><div class="ttname"><a href="../../d6/de3/structwindow.html#a8de0059f3f1cb0dec33fba1143b7dee1">window::egl_surface</a></div><div class="ttdeci">EGLSurface egl_surface</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00149">simple-egl.cpp:149</a></div></div>
+<div class="ttc" id="structwindow_html_ae41be0955d0e73530e1bc13dfeb9d731"><div class="ttname"><a href="../../d6/de3/structwindow.html#ae41be0955d0e73530e1bc13dfeb9d731">window::native</a></div><div class="ttdeci">struct wl_egl_window * native</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00146">simple-egl.cpp:146</a></div></div>
+<div class="ttc" id="structwindow_html_a7d0790cfc7c30621611fa26ab5c1ae97"><div class="ttname"><a href="../../d6/de3/structwindow.html#a7d0790cfc7c30621611fa26ab5c1ae97">window::surface</a></div><div class="ttdeci">struct wl_surface * surface</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00147">simple-egl.cpp:147</a></div></div>
+<div class="ttc" id="structdisplay_html_a24c073faff3bb4799c2d46291f27ab89"><div class="ttname"><a href="../../d6/df5/structdisplay.html#a24c073faff3bb4799c2d46291f27ab89">display::ivi_application</a></div><div class="ttdeci">struct ivi_application * ivi_application</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00127">simple-egl.cpp:127</a></div></div>
+<div class="ttc" id="structdisplay_html_a8b8bc104c19ff228d476a377e572d9c7"><div class="ttname"><a href="../../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">display::egl</a></div><div class="ttdeci">struct display::@0 egl</div></div>
+<div class="ttc" id="structwindow_html_a35ba639556fa19d9273dad0953a6807e"><div class="ttname"><a href="../../d6/de3/structwindow.html#a35ba639556fa19d9273dad0953a6807e">window::callback</a></div><div class="ttdeci">struct wl_callback * callback</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00150">simple-egl.cpp:150</a></div></div>
+<div class="ttc" id="structwindow_html_a129486f2bd23791194f389ca1405cfd4"><div class="ttname"><a href="../../d6/de3/structwindow.html#a129486f2bd23791194f389ca1405cfd4">window::display</a></div><div class="ttdeci">struct display * display</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00137">simple-egl.cpp:137</a></div></div>
+<div class="ttc" id="structwindow_html_a40e2c6fb4178953c820fc1b9f41d4b31"><div class="ttname"><a href="../../d6/de3/structwindow.html#a40e2c6fb4178953c820fc1b9f41d4b31">window::ivi_surface</a></div><div class="ttdeci">struct ivi_surface * ivi_surface</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00148">simple-egl.cpp:148</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="ab4ad070d3bf82abe5e70330578f67893"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef EGLBoolean </td>
+          <td>(</td>
+          <td class="paramtype">EGLAPIENTRYP&#160;</td>
+          <td class="paramname"><em>PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a4f71f46ede5b73bd7c770c973826f771"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static void fini_egl </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="../../d6/df5/structdisplay.html">display</a> *&#160;</td>
+          <td class="paramname"><em>display</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00252">252</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;{</div><div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;    eglTerminate(display-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">egl</a>.<a class="code" href="../../d6/df5/structdisplay.html#a8a1cbda15a286e41e89a85f158ce9311">dpy</a>);</div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;    eglReleaseThread();</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;}</div><div class="ttc" id="structdisplay_html_a8a1cbda15a286e41e89a85f158ce9311"><div class="ttname"><a href="../../d6/df5/structdisplay.html#a8a1cbda15a286e41e89a85f158ce9311">display::dpy</a></div><div class="ttdeci">EGLDisplay dpy</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00122">simple-egl.cpp:122</a></div></div>
+<div class="ttc" id="structdisplay_html_a8b8bc104c19ff228d476a377e572d9c7"><div class="ttname"><a href="../../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">display::egl</a></div><div class="ttdeci">struct display::@0 egl</div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a1073d4aca1838d3877fe577d813700fc"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static void init_egl </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="../../d6/df5/structdisplay.html">display</a> *&#160;</td>
+          <td class="paramname"><em>display</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">struct <a class="el" href="../../d6/de3/structwindow.html">window</a> *&#160;</td>
+          <td class="paramname"><em>window</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00174">174</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;{</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;    <span class="keyword">static</span> <span class="keyword">const</span> EGLint context_attribs[] = {</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;        EGL_CONTEXT_CLIENT_VERSION, 2,</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;        EGL_NONE</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;    };</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> *extensions;</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;    EGLint config_attribs[] = {</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;        EGL_SURFACE_TYPE, EGL_WINDOW_BIT,</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;        EGL_RED_SIZE, 1,</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;        EGL_GREEN_SIZE, 1,</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;        EGL_BLUE_SIZE, 1,</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;        EGL_ALPHA_SIZE, 1,</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;        EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT,</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;        EGL_NONE</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;    };</div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;    EGLint major, minor, n, count, i, size;</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;    EGLConfig *configs;</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;    <a class="code" href="../../de/da4/simple-egl_8cpp.html#ab4ad070d3bf82abe5e70330578f67893">EGLBoolean</a> ret;</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;    <span class="keywordflow">if</span> (window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a026a50808d8323a5a73d585c19916fa8">opaque</a> || window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a0e634038f669aff472012f25ea250b40">buffer_size</a> == 16)</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;        config_attribs[9] = 0;</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;</div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;    display-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">egl</a>.<a class="code" href="../../d6/df5/structdisplay.html#a8a1cbda15a286e41e89a85f158ce9311">dpy</a> = weston_platform_get_egl_display(EGL_PLATFORM_WAYLAND_KHR, display-&gt;<a class="code" href="../../d6/df5/structdisplay.html#aa8faf09631925e9221fd8a0c086ce75a">display</a>, NULL);</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;    assert(display-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">egl</a>.<a class="code" href="../../d6/df5/structdisplay.html#a8a1cbda15a286e41e89a85f158ce9311">dpy</a>);</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;    ret = eglInitialize(display-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">egl</a>.<a class="code" href="../../d6/df5/structdisplay.html#a8a1cbda15a286e41e89a85f158ce9311">dpy</a>, &amp;major, &amp;minor);</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;    assert(ret == EGL_TRUE);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;    ret = eglBindAPI(EGL_OPENGL_ES_API);</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;    assert(ret == EGL_TRUE);</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;    <span class="keywordflow">if</span> (!eglGetConfigs(display-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">egl</a>.<a class="code" href="../../d6/df5/structdisplay.html#a8a1cbda15a286e41e89a85f158ce9311">dpy</a>, NULL, 0, &amp;count) || count &lt; 1)</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;        assert(0);</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;    configs = calloc(count, <span class="keyword">sizeof</span> *configs);</div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;    assert(configs);</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;    ret = eglChooseConfig(display-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">egl</a>.<a class="code" href="../../d6/df5/structdisplay.html#a8a1cbda15a286e41e89a85f158ce9311">dpy</a>, config_attribs,</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;                  configs, count, &amp;n);</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;    assert(ret &amp;&amp; n &gt;= 1);</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;    <span class="keywordflow">for</span> (i = 0; i &lt; n; i++) {</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;        eglGetConfigAttrib(display-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">egl</a>.<a class="code" href="../../d6/df5/structdisplay.html#a8a1cbda15a286e41e89a85f158ce9311">dpy</a>,</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;                   configs[i], EGL_BUFFER_SIZE, &amp;size);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;        <span class="keywordflow">if</span> (window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a0e634038f669aff472012f25ea250b40">buffer_size</a> == size) {</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;            display-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">egl</a>.<a class="code" href="../../d6/df5/structdisplay.html#a880aef9408b499f5b749541dc6e396c3">conf</a> = configs[i];</div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;        }</div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;    }</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;    free(configs);</div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;    <span class="keywordflow">if</span> (display-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">egl</a>.<a class="code" href="../../d6/df5/structdisplay.html#a880aef9408b499f5b749541dc6e396c3">conf</a> == NULL) {</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a>(<a class="code" href="../../de/da4/simple-egl_8cpp.html#a894f18168fa25101d792262f59846938">log_prefix</a>,<span class="stringliteral">&quot;did not find config with buffer size %d&quot;</span>,</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;            window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a0e634038f669aff472012f25ea250b40">buffer_size</a>);</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;        exit(EXIT_FAILURE);</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;    }</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;    display-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">egl</a>.<a class="code" href="../../d6/df5/structdisplay.html#a3420940a29a710e0e5ebd41ba462cc00">ctx</a> = eglCreateContext(display-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">egl</a>.<a class="code" href="../../d6/df5/structdisplay.html#a8a1cbda15a286e41e89a85f158ce9311">dpy</a>,</div><div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;                        display-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">egl</a>.<a class="code" href="../../d6/df5/structdisplay.html#a880aef9408b499f5b749541dc6e396c3">conf</a>,</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;                        EGL_NO_CONTEXT, context_attribs);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;    assert(display-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">egl</a>.<a class="code" href="../../d6/df5/structdisplay.html#a3420940a29a710e0e5ebd41ba462cc00">ctx</a>);</div><div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;</div><div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;    display-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a48c46c118e4765ef06596f6341c8f23f">swap_buffers_with_damage</a> = NULL;</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;    extensions = eglQueryString(display-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">egl</a>.<a class="code" href="../../d6/df5/structdisplay.html#a8a1cbda15a286e41e89a85f158ce9311">dpy</a>, EGL_EXTENSIONS);</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;    <span class="keywordflow">if</span> (extensions &amp;&amp;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;        strstr(extensions, <span class="stringliteral">&quot;EGL_EXT_swap_buffers_with_damage&quot;</span>) &amp;&amp;</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;        strstr(extensions, <span class="stringliteral">&quot;EGL_EXT_buffer_age&quot;</span>))</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;        display-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a48c46c118e4765ef06596f6341c8f23f">swap_buffers_with_damage</a> =</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;            (PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC)</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;            eglGetProcAddress(<span class="stringliteral">&quot;eglSwapBuffersWithDamageEXT&quot;</span>);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;    <span class="keywordflow">if</span> (display-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a48c46c118e4765ef06596f6341c8f23f">swap_buffers_with_damage</a>)</div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a>(<a class="code" href="../../de/da4/simple-egl_8cpp.html#a894f18168fa25101d792262f59846938">log_prefix</a>,<span class="stringliteral">&quot;has EGL_EXT_buffer_age and EGL_EXT_swap_buffers_with_damage&quot;</span>);</div><div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;</div><div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;}</div><div class="ttc" id="structwindow_html_a026a50808d8323a5a73d585c19916fa8"><div class="ttname"><a href="../../d6/de3/structwindow.html#a026a50808d8323a5a73d585c19916fa8">window::opaque</a></div><div class="ttdeci">int opaque</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00151">simple-egl.cpp:151</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_ab4ad070d3bf82abe5e70330578f67893"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#ab4ad070d3bf82abe5e70330578f67893">EGLBoolean</a></div><div class="ttdeci">typedef EGLBoolean(EGLAPIENTRYP PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC)(EGLDisplay dpy</div></div>
+<div class="ttc" id="structdisplay_html_a8a1cbda15a286e41e89a85f158ce9311"><div class="ttname"><a href="../../d6/df5/structdisplay.html#a8a1cbda15a286e41e89a85f158ce9311">display::dpy</a></div><div class="ttdeci">EGLDisplay dpy</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00122">simple-egl.cpp:122</a></div></div>
+<div class="ttc" id="structdisplay_html_a880aef9408b499f5b749541dc6e396c3"><div class="ttname"><a href="../../d6/df5/structdisplay.html#a880aef9408b499f5b749541dc6e396c3">display::conf</a></div><div class="ttdeci">EGLConfig conf</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00124">simple-egl.cpp:124</a></div></div>
+<div class="ttc" id="structdisplay_html_a8b8bc104c19ff228d476a377e572d9c7"><div class="ttname"><a href="../../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">display::egl</a></div><div class="ttdeci">struct display::@0 egl</div></div>
+<div class="ttc" id="structdisplay_html_a48c46c118e4765ef06596f6341c8f23f"><div class="ttname"><a href="../../d6/df5/structdisplay.html#a48c46c118e4765ef06596f6341c8f23f">display::swap_buffers_with_damage</a></div><div class="ttdeci">PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC swap_buffers_with_damage</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00129">simple-egl.cpp:129</a></div></div>
+<div class="ttc" id="structdisplay_html_a3420940a29a710e0e5ebd41ba462cc00"><div class="ttname"><a href="../../d6/df5/structdisplay.html#a3420940a29a710e0e5ebd41ba462cc00">display::ctx</a></div><div class="ttdeci">EGLContext ctx</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00123">simple-egl.cpp:123</a></div></div>
+<div class="ttc" id="structdisplay_html_aa8faf09631925e9221fd8a0c086ce75a"><div class="ttname"><a href="../../d6/df5/structdisplay.html#aa8faf09631925e9221fd8a0c086ce75a">display::display</a></div><div class="ttdeci">struct wl_display * display</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00117">simple-egl.cpp:117</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_a65bb6c7cfe38f8a724beab5059d36fb2"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a></div><div class="ttdeci">#define HMI_ERROR(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00038">hmi-debug.h:38</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_a0d26d8b8201011dade787236519711c0"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a></div><div class="ttdeci">#define HMI_DEBUG(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00042">hmi-debug.h:42</a></div></div>
+<div class="ttc" id="structwindow_html_a0e634038f669aff472012f25ea250b40"><div class="ttname"><a href="../../d6/de3/structwindow.html#a0e634038f669aff472012f25ea250b40">window::buffer_size</a></div><div class="ttdeci">int buffer_size</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00151">simple-egl.cpp:151</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a894f18168fa25101d792262f59846938"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a894f18168fa25101d792262f59846938">log_prefix</a></div><div class="ttdeci">const char * log_prefix</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00058">simple-egl.cpp:58</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="ab3ee863fa45f4026f78f592d6f6e34ff"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static void init_gl </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="../../d6/de3/structwindow.html">window</a> *&#160;</td>
+          <td class="paramname"><em>window</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00285">285</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;{</div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;    GLuint frag, vert;</div><div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;    GLuint program;</div><div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;    GLint status;</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;</div><div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;    frag = <a class="code" href="../../de/da4/simple-egl_8cpp.html#ab72c580e4d6d47c2fb49c72cc76b85bb">create_shader</a>(window, <a class="code" href="../../de/da4/simple-egl_8cpp.html#ab5a6a2a26ac23f79b1687daa4b0d8980">frag_shader_text</a>, GL_FRAGMENT_SHADER);</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;    vert = <a class="code" href="../../de/da4/simple-egl_8cpp.html#ab72c580e4d6d47c2fb49c72cc76b85bb">create_shader</a>(window, <a class="code" href="../../de/da4/simple-egl_8cpp.html#a717575939a37d84dcd4cf0447a630834">vert_shader_text</a>, GL_VERTEX_SHADER);</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;    program = glCreateProgram();</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;    glAttachShader(program, frag);</div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;    glAttachShader(program, vert);</div><div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;    glLinkProgram(program);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;</div><div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;    glGetProgramiv(program, GL_LINK_STATUS, &amp;status);</div><div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;    <span class="keywordflow">if</span> (!status) {</div><div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;        <span class="keywordtype">char</span> log[1000];</div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;        GLsizei len;</div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;        glGetProgramInfoLog(program, 1000, &amp;len, log);</div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a>(<a class="code" href="../../de/da4/simple-egl_8cpp.html#a894f18168fa25101d792262f59846938">log_prefix</a>,<span class="stringliteral">&quot;Error: linking:%*s&quot;</span>, len, log);</div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;        exit(1);</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;    }</div><div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;</div><div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;    glUseProgram(program);</div><div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;</div><div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;    window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a6975a930e9a3c166f8201fc4ef5e7728">gl</a>.<a class="code" href="../../d6/de3/structwindow.html#aaf965f90f9fc938db2315ff62028c362">pos</a> = 0;</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;    window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a6975a930e9a3c166f8201fc4ef5e7728">gl</a>.<a class="code" href="../../d6/de3/structwindow.html#aef10fe94766ccd4831ee611c5ad0e55c">col</a> = 1;</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;    glBindAttribLocation(program, window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a6975a930e9a3c166f8201fc4ef5e7728">gl</a>.<a class="code" href="../../d6/de3/structwindow.html#aaf965f90f9fc938db2315ff62028c362">pos</a>, <span class="stringliteral">&quot;pos&quot;</span>);</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;    glBindAttribLocation(program, window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a6975a930e9a3c166f8201fc4ef5e7728">gl</a>.<a class="code" href="../../d6/de3/structwindow.html#aef10fe94766ccd4831ee611c5ad0e55c">col</a>, <span class="stringliteral">&quot;color&quot;</span>);</div><div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;    glLinkProgram(program);</div><div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;</div><div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;    window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a6975a930e9a3c166f8201fc4ef5e7728">gl</a>.<a class="code" href="../../d6/de3/structwindow.html#a5202f3b60e262a6fa4fcee68dd47cb67">rotation_uniform</a> =</div><div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;        glGetUniformLocation(program, <span class="stringliteral">&quot;rotation&quot;</span>);</div><div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;}</div><div class="ttc" id="structwindow_html_a5202f3b60e262a6fa4fcee68dd47cb67"><div class="ttname"><a href="../../d6/de3/structwindow.html#a5202f3b60e262a6fa4fcee68dd47cb67">window::rotation_uniform</a></div><div class="ttdeci">GLuint rotation_uniform</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00140">simple-egl.cpp:140</a></div></div>
+<div class="ttc" id="structwindow_html_a6975a930e9a3c166f8201fc4ef5e7728"><div class="ttname"><a href="../../d6/de3/structwindow.html#a6975a930e9a3c166f8201fc4ef5e7728">window::gl</a></div><div class="ttdeci">struct window::@1 gl</div></div>
+<div class="ttc" id="simple-egl_8cpp_html_ab72c580e4d6d47c2fb49c72cc76b85bb"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#ab72c580e4d6d47c2fb49c72cc76b85bb">create_shader</a></div><div class="ttdeci">static GLuint create_shader(struct window *window, const char *source, GLenum shader_type)</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00259">simple-egl.cpp:259</a></div></div>
+<div class="ttc" id="structwindow_html_aaf965f90f9fc938db2315ff62028c362"><div class="ttname"><a href="../../d6/de3/structwindow.html#aaf965f90f9fc938db2315ff62028c362">window::pos</a></div><div class="ttdeci">GLuint pos</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00141">simple-egl.cpp:141</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_ab5a6a2a26ac23f79b1687daa4b0d8980"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#ab5a6a2a26ac23f79b1687daa4b0d8980">frag_shader_text</a></div><div class="ttdeci">static const char * frag_shader_text</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00164">simple-egl.cpp:164</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a717575939a37d84dcd4cf0447a630834"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a717575939a37d84dcd4cf0447a630834">vert_shader_text</a></div><div class="ttdeci">static const char * vert_shader_text</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00154">simple-egl.cpp:154</a></div></div>
+<div class="ttc" id="structwindow_html_aef10fe94766ccd4831ee611c5ad0e55c"><div class="ttname"><a href="../../d6/de3/structwindow.html#aef10fe94766ccd4831ee611c5ad0e55c">window::col</a></div><div class="ttdeci">GLuint col</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00142">simple-egl.cpp:142</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_a65bb6c7cfe38f8a724beab5059d36fb2"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a></div><div class="ttdeci">#define HMI_ERROR(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00038">hmi-debug.h:38</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a894f18168fa25101d792262f59846938"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a894f18168fa25101d792262f59846938">log_prefix</a></div><div class="ttdeci">const char * log_prefix</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00058">simple-egl.cpp:58</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a79aafeb99915566dd3970246f465f306"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int init_hs </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a> *&#160;</td>
+          <td class="paramname"><em>hs</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00565">565</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00565"></a><span class="lineno">  565</span>&#160;                          {</div><div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160;    <span class="keywordflow">if</span>(hs-&gt;<a class="code" href="../../de/dd0/class_lib_home_screen.html#a6a57b573cc767725762ba9beab032220">init</a>(<a class="code" href="../../de/da4/simple-egl_8cpp.html#a300b6806fe6818927fe4df08f2398124">port</a>, <a class="code" href="../../de/da4/simple-egl_8cpp.html#a623ef6987ef3bd185c07b28b13e46d34">token</a>)!=0)</div><div class="line"><a name="l00567"></a><span class="lineno">  567</span>&#160;    {</div><div class="line"><a name="l00568"></a><span class="lineno">  568</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a>(<a class="code" href="../../de/da4/simple-egl_8cpp.html#a894f18168fa25101d792262f59846938">log_prefix</a>,<span class="stringliteral">&quot;homescreen init failed. &quot;</span>);</div><div class="line"><a name="l00569"></a><span class="lineno">  569</span>&#160;        <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00570"></a><span class="lineno">  570</span>&#160;    }</div><div class="line"><a name="l00571"></a><span class="lineno">  571</span>&#160;</div><div class="line"><a name="l00572"></a><span class="lineno">  572</span>&#160;    hs-&gt;<a class="code" href="../../de/dd0/class_lib_home_screen.html#ab1b0e08bf35415de9064afed899e9f85">set_event_handler</a>(<a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a3fb3563c64786f1a2ae404df6edffd5c">LibHomeScreen::Event_ShowWindow</a>, [hs](json_object *<span class="keywordtype">object</span>){</div><div class="line"><a name="l00573"></a><span class="lineno">  573</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a>(<span class="stringliteral">&quot;simple-egl&quot;</span>,<span class="stringliteral">&quot;try to activeWindow %s &quot;</span>, <a class="code" href="../../de/da4/simple-egl_8cpp.html#a0da928eccfc57d1dfadfd29d4ac4854c">app_name</a>.c_str());</div><div class="line"><a name="l00574"></a><span class="lineno">  574</span>&#160;</div><div class="line"><a name="l00575"></a><span class="lineno">  575</span>&#160;        <span class="keyword">struct </span>json_object *param_obj = json_object_object_get(<span class="keywordtype">object</span>, hs-&gt;<a class="code" href="../../de/dd0/class_lib_home_screen.html#a927592eff8e34efbbceaf12522f8897f">_keyParameter</a>);</div><div class="line"><a name="l00576"></a><span class="lineno">  576</span>&#160;        <span class="keyword">const</span> <span class="keywordtype">char</span> *area = json_object_get_string(</div><div class="line"><a name="l00577"></a><span class="lineno">  577</span>&#160;            json_object_object_get(param_obj, hs-&gt;<a class="code" href="../../de/dd0/class_lib_home_screen.html#a8becda1b035ae45f5a11c7e7963091bf">_keyArea</a>));</div><div class="line"><a name="l00578"></a><span class="lineno">  578</span>&#160;        <span class="comment">// Application should call LibWindowmanager::activateWindow() in showWindow handler</span></div><div class="line"><a name="l00579"></a><span class="lineno">  579</span>&#160;        <span class="keywordflow">if</span>(area == <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00580"></a><span class="lineno">  580</span>&#160;            <a class="code" href="../../de/da4/simple-egl_8cpp.html#ad1513698e07197206c290f94d7669d85">wm</a>-&gt;activateWindow(<a class="code" href="../../de/da4/simple-egl_8cpp.html#a332251aa739a56836cd4fbf3ecbb8bb2">main_role</a>, hs-&gt;<a class="code" href="../../de/dd0/class_lib_home_screen.html#aac718b60b83c74e2b061f6f7f7ec3bf5">_areaNormal</a>);</div><div class="line"><a name="l00581"></a><span class="lineno">  581</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l00582"></a><span class="lineno">  582</span>&#160;            <a class="code" href="../../de/da4/simple-egl_8cpp.html#ad1513698e07197206c290f94d7669d85">wm</a>-&gt;activateWindow(<a class="code" href="../../de/da4/simple-egl_8cpp.html#a332251aa739a56836cd4fbf3ecbb8bb2">main_role</a>, area);</div><div class="line"><a name="l00583"></a><span class="lineno">  583</span>&#160;    });</div><div class="line"><a name="l00584"></a><span class="lineno">  584</span>&#160;</div><div class="line"><a name="l00585"></a><span class="lineno">  585</span>&#160;    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00586"></a><span class="lineno">  586</span>&#160;}</div><div class="ttc" id="simple-egl_8cpp_html_ad1513698e07197206c290f94d7669d85"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#ad1513698e07197206c290f94d7669d85">wm</a></div><div class="ttdeci">LibWindowmanager * wm</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00067">simple-egl.cpp:67</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a332251aa739a56836cd4fbf3ecbb8bb2"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a332251aa739a56836cd4fbf3ecbb8bb2">main_role</a></div><div class="ttdeci">const char * main_role</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00064">simple-egl.cpp:64</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a927592eff8e34efbbceaf12522f8897f"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a927592eff8e34efbbceaf12522f8897f">LibHomeScreen::_keyParameter</a></div><div class="ttdeci">const char * _keyParameter</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00054">libhomescreen.hpp:54</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a0da928eccfc57d1dfadfd29d4ac4854c"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a0da928eccfc57d1dfadfd29d4ac4854c">app_name</a></div><div class="ttdeci">string app_name</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00063">simple-egl.cpp:63</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a82616c91ac211d2ad08e709b524bf154a3fb3563c64786f1a2ae404df6edffd5c"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a3fb3563c64786f1a2ae404df6edffd5c">LibHomeScreen::Event_ShowWindow</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00043">libhomescreen.hpp:43</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a623ef6987ef3bd185c07b28b13e46d34"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a623ef6987ef3bd185c07b28b13e46d34">token</a></div><div class="ttdeci">string token</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00061">simple-egl.cpp:61</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a8becda1b035ae45f5a11c7e7963091bf"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a8becda1b035ae45f5a11c7e7963091bf">LibHomeScreen::_keyArea</a></div><div class="ttdeci">const char * _keyArea</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00055">libhomescreen.hpp:55</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a300b6806fe6818927fe4df08f2398124"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a300b6806fe6818927fe4df08f2398124">port</a></div><div class="ttdeci">long port</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00060">simple-egl.cpp:60</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a6a57b573cc767725762ba9beab032220"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a6a57b573cc767725762ba9beab032220">LibHomeScreen::init</a></div><div class="ttdeci">int init(const int port, const std::string &amp;token)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00126">libhomescreen.cpp:126</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_a65bb6c7cfe38f8a724beab5059d36fb2"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a></div><div class="ttdeci">#define HMI_ERROR(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00038">hmi-debug.h:38</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_a0d26d8b8201011dade787236519711c0"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a></div><div class="ttdeci">#define HMI_DEBUG(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00042">hmi-debug.h:42</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_aac718b60b83c74e2b061f6f7f7ec3bf5"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#aac718b60b83c74e2b061f6f7f7ec3bf5">LibHomeScreen::_areaNormal</a></div><div class="ttdeci">const char * _areaNormal</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00058">libhomescreen.hpp:58</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a894f18168fa25101d792262f59846938"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a894f18168fa25101d792262f59846938">log_prefix</a></div><div class="ttdeci">const char * log_prefix</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00058">simple-egl.cpp:58</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_ab1b0e08bf35415de9064afed899e9f85"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#ab1b0e08bf35415de9064afed899e9f85">LibHomeScreen::set_event_handler</a></div><div class="ttdeci">void set_event_handler(enum EventType et, handler_func f)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00295">libhomescreen.cpp:295</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a644e25276ecdea04f2aa3412c1973927"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int init_wm </td>
+          <td>(</td>
+          <td class="paramtype">LibWindowmanager *&#160;</td>
+          <td class="paramname"><em>wm</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">struct <a class="el" href="../../d6/de3/structwindow.html">window</a> *&#160;</td>
+          <td class="paramname"><em>window</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00527">527</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00528"></a><span class="lineno">  528</span>&#160;{</div><div class="line"><a name="l00529"></a><span class="lineno">  529</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a>(<a class="code" href="../../de/da4/simple-egl_8cpp.html#a894f18168fa25101d792262f59846938">log_prefix</a>,<span class="stringliteral">&quot;called&quot;</span>);</div><div class="line"><a name="l00530"></a><span class="lineno">  530</span>&#160;</div><div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160;    <span class="keywordflow">if</span> (<a class="code" href="../../de/da4/simple-egl_8cpp.html#ad1513698e07197206c290f94d7669d85">wm</a>-&gt;init(<a class="code" href="../../de/da4/simple-egl_8cpp.html#a300b6806fe6818927fe4df08f2398124">port</a>, <a class="code" href="../../de/da4/simple-egl_8cpp.html#a623ef6987ef3bd185c07b28b13e46d34">token</a>) != 0) {</div><div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a>(<a class="code" href="../../de/da4/simple-egl_8cpp.html#a894f18168fa25101d792262f59846938">log_prefix</a>,<span class="stringliteral">&quot;wm init failed. &quot;</span>);</div><div class="line"><a name="l00533"></a><span class="lineno">  533</span>&#160;        <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00534"></a><span class="lineno">  534</span>&#160;    }</div><div class="line"><a name="l00535"></a><span class="lineno">  535</span>&#160;</div><div class="line"><a name="l00536"></a><span class="lineno">  536</span>&#160;    <a class="code" href="../../de/da4/simple-egl_8cpp.html#a28f56c9f01ed9f108201950645317cc9">g_id_ivisurf</a> = <a class="code" href="../../de/da4/simple-egl_8cpp.html#ad1513698e07197206c290f94d7669d85">wm</a>-&gt;requestSurface(<a class="code" href="../../de/da4/simple-egl_8cpp.html#a332251aa739a56836cd4fbf3ecbb8bb2">main_role</a>);</div><div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160;    <span class="keywordflow">if</span> (<a class="code" href="../../de/da4/simple-egl_8cpp.html#a28f56c9f01ed9f108201950645317cc9">g_id_ivisurf</a> &lt; 0) {</div><div class="line"><a name="l00538"></a><span class="lineno">  538</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a>(<a class="code" href="../../de/da4/simple-egl_8cpp.html#a894f18168fa25101d792262f59846938">log_prefix</a>,<span class="stringliteral">&quot;wm request surface failed &quot;</span>);</div><div class="line"><a name="l00539"></a><span class="lineno">  539</span>&#160;        <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00540"></a><span class="lineno">  540</span>&#160;    }</div><div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a>(<a class="code" href="../../de/da4/simple-egl_8cpp.html#a894f18168fa25101d792262f59846938">log_prefix</a>,<span class="stringliteral">&quot;IVI_SURFACE_ID: %d &quot;</span>, <a class="code" href="../../de/da4/simple-egl_8cpp.html#a28f56c9f01ed9f108201950645317cc9">g_id_ivisurf</a>);</div><div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;</div><div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;    WMHandler wmh;</div><div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160;    wmh.on_visible = [](<span class="keyword">const</span> <span class="keywordtype">char</span>* role, <span class="keywordtype">bool</span> visible){</div><div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160;        <span class="comment">// Sample code if user uses visible event</span></div><div class="line"><a name="l00546"></a><span class="lineno">  546</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a>(<a class="code" href="../../de/da4/simple-egl_8cpp.html#a894f18168fa25101d792262f59846938">log_prefix</a>, <span class="stringliteral">&quot;role: %s, visible: %s&quot;</span>, role, visible ? <span class="stringliteral">&quot;true&quot;</span> : <span class="stringliteral">&quot;false&quot;</span>);</div><div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160;    };</div><div class="line"><a name="l00548"></a><span class="lineno">  548</span>&#160;    wmh.on_sync_draw = [<a class="code" href="../../de/da4/simple-egl_8cpp.html#ad1513698e07197206c290f94d7669d85">wm</a>, window](<span class="keyword">const</span> <span class="keywordtype">char</span>* role, <span class="keyword">const</span> <span class="keywordtype">char</span>* area, Rect rect) {</div><div class="line"><a name="l00549"></a><span class="lineno">  549</span>&#160;</div><div class="line"><a name="l00550"></a><span class="lineno">  550</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a>(<a class="code" href="../../de/da4/simple-egl_8cpp.html#a894f18168fa25101d792262f59846938">log_prefix</a>,<span class="stringliteral">&quot;Surface %s got syncDraw! Area: %s. w:%d, h:%d&quot;</span>, role, area, rect.width(), rect.height());</div><div class="line"><a name="l00551"></a><span class="lineno">  551</span>&#160;</div><div class="line"><a name="l00552"></a><span class="lineno">  552</span>&#160;        wl_egl_window_resize(window-&gt;<a class="code" href="../../d6/de3/structwindow.html#ae41be0955d0e73530e1bc13dfeb9d731">native</a>, rect.width(), rect.height(), 0, 0);</div><div class="line"><a name="l00553"></a><span class="lineno">  553</span>&#160;        window-&gt;geometry.width  = rect.width();</div><div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;        window-&gt;geometry.height = rect.height();</div><div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160;</div><div class="line"><a name="l00556"></a><span class="lineno">  556</span>&#160;        <a class="code" href="../../de/da4/simple-egl_8cpp.html#ad1513698e07197206c290f94d7669d85">wm</a>-&gt;endDraw(role);</div><div class="line"><a name="l00557"></a><span class="lineno">  557</span>&#160;    };</div><div class="line"><a name="l00558"></a><span class="lineno">  558</span>&#160;</div><div class="line"><a name="l00559"></a><span class="lineno">  559</span>&#160;    <a class="code" href="../../de/da4/simple-egl_8cpp.html#ad1513698e07197206c290f94d7669d85">wm</a>-&gt;setEventHandler(wmh);</div><div class="line"><a name="l00560"></a><span class="lineno">  560</span>&#160;</div><div class="line"><a name="l00561"></a><span class="lineno">  561</span>&#160;    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00562"></a><span class="lineno">  562</span>&#160;}</div><div class="ttc" id="simple-egl_8cpp_html_ad1513698e07197206c290f94d7669d85"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#ad1513698e07197206c290f94d7669d85">wm</a></div><div class="ttdeci">LibWindowmanager * wm</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00067">simple-egl.cpp:67</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a28f56c9f01ed9f108201950645317cc9"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a28f56c9f01ed9f108201950645317cc9">g_id_ivisurf</a></div><div class="ttdeci">uint32_t g_id_ivisurf</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00059">simple-egl.cpp:59</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a332251aa739a56836cd4fbf3ecbb8bb2"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a332251aa739a56836cd4fbf3ecbb8bb2">main_role</a></div><div class="ttdeci">const char * main_role</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00064">simple-egl.cpp:64</a></div></div>
+<div class="ttc" id="structwindow_html_ae41be0955d0e73530e1bc13dfeb9d731"><div class="ttname"><a href="../../d6/de3/structwindow.html#ae41be0955d0e73530e1bc13dfeb9d731">window::native</a></div><div class="ttdeci">struct wl_egl_window * native</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00146">simple-egl.cpp:146</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a623ef6987ef3bd185c07b28b13e46d34"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a623ef6987ef3bd185c07b28b13e46d34">token</a></div><div class="ttdeci">string token</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00061">simple-egl.cpp:61</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a300b6806fe6818927fe4df08f2398124"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a300b6806fe6818927fe4df08f2398124">port</a></div><div class="ttdeci">long port</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00060">simple-egl.cpp:60</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_a65bb6c7cfe38f8a724beab5059d36fb2"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a></div><div class="ttdeci">#define HMI_ERROR(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00038">hmi-debug.h:38</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_a0d26d8b8201011dade787236519711c0"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a></div><div class="ttdeci">#define HMI_DEBUG(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00042">hmi-debug.h:42</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a894f18168fa25101d792262f59846938"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a894f18168fa25101d792262f59846938">log_prefix</a></div><div class="ttdeci">const char * log_prefix</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00058">simple-egl.cpp:58</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a3c04138a5bfe5d72780bb7e82a18e627"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int main </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>argc</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char **&#160;</td>
+          <td class="paramname"><em>argv</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00589">589</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00590"></a><span class="lineno">  590</span>&#160;{</div><div class="line"><a name="l00591"></a><span class="lineno">  591</span>&#160;    <span class="keyword">struct </span>sigaction sigint;</div><div class="line"><a name="l00592"></a><span class="lineno">  592</span>&#160;    <span class="keyword">struct </span><a class="code" href="../../d6/de3/structwindow.html">window</a>  <a class="code" href="../../d6/de3/structwindow.html">window</a>  = { 0 };</div><div class="line"><a name="l00593"></a><span class="lineno">  593</span>&#160;    <span class="keyword">struct </span><a class="code" href="../../d6/df5/structdisplay.html">display</a> <a class="code" href="../../d6/df5/structdisplay.html">display</a> = { 0 };</div><div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;</div><div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;    window.<a class="code" href="../../d6/de3/structwindow.html#a129486f2bd23791194f389ca1405cfd4">display</a> = &amp;<a class="code" href="../../d6/df5/structdisplay.html#aa8faf09631925e9221fd8a0c086ce75a">display</a>;</div><div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;    display.<a class="code" href="../../d6/df5/structdisplay.html#a9974d560bec291487ae2440f897ffc58">window</a> = &amp;<a class="code" href="../../d6/df5/structdisplay.html#a9974d560bec291487ae2440f897ffc58">window</a>;</div><div class="line"><a name="l00597"></a><span class="lineno">  597</span>&#160;    window.geometry.width  = 1080;</div><div class="line"><a name="l00598"></a><span class="lineno">  598</span>&#160;    window.geometry.height = 1488;</div><div class="line"><a name="l00599"></a><span class="lineno">  599</span>&#160;    window.<a class="code" href="../../d6/de3/structwindow.html#ad2b6c8ed8044b41fd1189a0ce26d539a">window_size</a> = window.geometry;</div><div class="line"><a name="l00600"></a><span class="lineno">  600</span>&#160;    window.<a class="code" href="../../d6/de3/structwindow.html#a0e634038f669aff472012f25ea250b40">buffer_size</a> = 32;</div><div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;    window.<a class="code" href="../../d6/de3/structwindow.html#a851bcb65083f5ab5ff768b09522bed70">frame_sync</a> = 1;</div><div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;</div><div class="line"><a name="l00603"></a><span class="lineno">  603</span>&#160;    <span class="keywordflow">if</span>(argc &gt; 2){</div><div class="line"><a name="l00604"></a><span class="lineno">  604</span>&#160;        <a class="code" href="../../de/da4/simple-egl_8cpp.html#a300b6806fe6818927fe4df08f2398124">port</a> = strtol(argv[1], NULL, 10);</div><div class="line"><a name="l00605"></a><span class="lineno">  605</span>&#160;        <a class="code" href="../../de/da4/simple-egl_8cpp.html#a623ef6987ef3bd185c07b28b13e46d34">token</a> = argv[2];</div><div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;    }</div><div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160;</div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a>(<a class="code" href="../../de/da4/simple-egl_8cpp.html#a894f18168fa25101d792262f59846938">log_prefix</a>,<span class="stringliteral">&quot;main_role: %s, port: %d, token: %s. &quot;</span>, <a class="code" href="../../de/da4/simple-egl_8cpp.html#a332251aa739a56836cd4fbf3ecbb8bb2">main_role</a>, <a class="code" href="../../de/da4/simple-egl_8cpp.html#a300b6806fe6818927fe4df08f2398124">port</a>, <a class="code" href="../../de/da4/simple-egl_8cpp.html#a623ef6987ef3bd185c07b28b13e46d34">token</a>.c_str());</div><div class="line"><a name="l00609"></a><span class="lineno">  609</span>&#160;</div><div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160;    display.<a class="code" href="../../d6/df5/structdisplay.html#aa8faf09631925e9221fd8a0c086ce75a">display</a> = wl_display_connect(NULL);</div><div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160;    assert(display.<a class="code" href="../../d6/df5/structdisplay.html#aa8faf09631925e9221fd8a0c086ce75a">display</a>);</div><div class="line"><a name="l00612"></a><span class="lineno">  612</span>&#160;</div><div class="line"><a name="l00613"></a><span class="lineno">  613</span>&#160;    display.<a class="code" href="../../d6/df5/structdisplay.html#a925781323f5c8eb84ef2225ed129de4b">registry</a> = wl_display_get_registry(display.<a class="code" href="../../d6/df5/structdisplay.html#aa8faf09631925e9221fd8a0c086ce75a">display</a>);</div><div class="line"><a name="l00614"></a><span class="lineno">  614</span>&#160;    wl_registry_add_listener(display.<a class="code" href="../../d6/df5/structdisplay.html#a925781323f5c8eb84ef2225ed129de4b">registry</a>,</div><div class="line"><a name="l00615"></a><span class="lineno">  615</span>&#160;                 &amp;<a class="code" href="../../de/da4/simple-egl_8cpp.html#a8998c87c94cd7d185e8f0cdafab4b1c4">registry_listener</a>, &amp;display);</div><div class="line"><a name="l00616"></a><span class="lineno">  616</span>&#160;</div><div class="line"><a name="l00617"></a><span class="lineno">  617</span>&#160;    wl_display_roundtrip(display.<a class="code" href="../../d6/df5/structdisplay.html#aa8faf09631925e9221fd8a0c086ce75a">display</a>);</div><div class="line"><a name="l00618"></a><span class="lineno">  618</span>&#160;</div><div class="line"><a name="l00619"></a><span class="lineno">  619</span>&#160;    <a class="code" href="../../de/da4/simple-egl_8cpp.html#a1073d4aca1838d3877fe577d813700fc">init_egl</a>(&amp;display, &amp;window);</div><div class="line"><a name="l00620"></a><span class="lineno">  620</span>&#160;</div><div class="line"><a name="l00621"></a><span class="lineno">  621</span>&#160;    <a class="code" href="../../de/da4/simple-egl_8cpp.html#ad1513698e07197206c290f94d7669d85">wm</a> = <span class="keyword">new</span> LibWindowmanager();</div><div class="line"><a name="l00622"></a><span class="lineno">  622</span>&#160;    <span class="keywordflow">if</span>(<a class="code" href="../../de/da4/simple-egl_8cpp.html#a644e25276ecdea04f2aa3412c1973927">init_wm</a>(<a class="code" href="../../de/da4/simple-egl_8cpp.html#ad1513698e07197206c290f94d7669d85">wm</a>, &amp;window)!=0){</div><div class="line"><a name="l00623"></a><span class="lineno">  623</span>&#160;        <a class="code" href="../../de/da4/simple-egl_8cpp.html#a4f71f46ede5b73bd7c770c973826f771">fini_egl</a>(&amp;display);</div><div class="line"><a name="l00624"></a><span class="lineno">  624</span>&#160;        <span class="keywordflow">if</span> (display.<a class="code" href="../../d6/df5/structdisplay.html#a24c073faff3bb4799c2d46291f27ab89">ivi_application</a>)</div><div class="line"><a name="l00625"></a><span class="lineno">  625</span>&#160;            ivi_application_destroy(display.<a class="code" href="../../d6/df5/structdisplay.html#a24c073faff3bb4799c2d46291f27ab89">ivi_application</a>);</div><div class="line"><a name="l00626"></a><span class="lineno">  626</span>&#160;        <span class="keywordflow">if</span> (display.<a class="code" href="../../d6/df5/structdisplay.html#a41ba32dfde812165dda5b62885000c78">compositor</a>)</div><div class="line"><a name="l00627"></a><span class="lineno">  627</span>&#160;            wl_compositor_destroy(display.<a class="code" href="../../d6/df5/structdisplay.html#a41ba32dfde812165dda5b62885000c78">compositor</a>);</div><div class="line"><a name="l00628"></a><span class="lineno">  628</span>&#160;        wl_registry_destroy(display.<a class="code" href="../../d6/df5/structdisplay.html#a925781323f5c8eb84ef2225ed129de4b">registry</a>);</div><div class="line"><a name="l00629"></a><span class="lineno">  629</span>&#160;        wl_display_flush(display.<a class="code" href="../../d6/df5/structdisplay.html#aa8faf09631925e9221fd8a0c086ce75a">display</a>);</div><div class="line"><a name="l00630"></a><span class="lineno">  630</span>&#160;        <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00631"></a><span class="lineno">  631</span>&#160;    }</div><div class="line"><a name="l00632"></a><span class="lineno">  632</span>&#160;</div><div class="line"><a name="l00633"></a><span class="lineno">  633</span>&#160;    <a class="code" href="../../de/da4/simple-egl_8cpp.html#a529acbd1fed9d98a587edfa62309fa8d">hs</a> = <span class="keyword">new</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a>();</div><div class="line"><a name="l00634"></a><span class="lineno">  634</span>&#160;    <span class="keywordflow">if</span>(<a class="code" href="../../de/da4/simple-egl_8cpp.html#a79aafeb99915566dd3970246f465f306">init_hs</a>(<a class="code" href="../../de/da4/simple-egl_8cpp.html#a529acbd1fed9d98a587edfa62309fa8d">hs</a>)!=0){</div><div class="line"><a name="l00635"></a><span class="lineno">  635</span>&#160;        <a class="code" href="../../de/da4/simple-egl_8cpp.html#a4f71f46ede5b73bd7c770c973826f771">fini_egl</a>(&amp;display);</div><div class="line"><a name="l00636"></a><span class="lineno">  636</span>&#160;        <span class="keywordflow">if</span> (display.<a class="code" href="../../d6/df5/structdisplay.html#a24c073faff3bb4799c2d46291f27ab89">ivi_application</a>)</div><div class="line"><a name="l00637"></a><span class="lineno">  637</span>&#160;            ivi_application_destroy(display.<a class="code" href="../../d6/df5/structdisplay.html#a24c073faff3bb4799c2d46291f27ab89">ivi_application</a>);</div><div class="line"><a name="l00638"></a><span class="lineno">  638</span>&#160;        <span class="keywordflow">if</span> (display.<a class="code" href="../../d6/df5/structdisplay.html#a41ba32dfde812165dda5b62885000c78">compositor</a>)</div><div class="line"><a name="l00639"></a><span class="lineno">  639</span>&#160;            wl_compositor_destroy(display.<a class="code" href="../../d6/df5/structdisplay.html#a41ba32dfde812165dda5b62885000c78">compositor</a>);</div><div class="line"><a name="l00640"></a><span class="lineno">  640</span>&#160;        wl_registry_destroy(display.<a class="code" href="../../d6/df5/structdisplay.html#a925781323f5c8eb84ef2225ed129de4b">registry</a>);</div><div class="line"><a name="l00641"></a><span class="lineno">  641</span>&#160;        wl_display_flush(display.<a class="code" href="../../d6/df5/structdisplay.html#aa8faf09631925e9221fd8a0c086ce75a">display</a>);</div><div class="line"><a name="l00642"></a><span class="lineno">  642</span>&#160;        <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00643"></a><span class="lineno">  643</span>&#160;    }</div><div class="line"><a name="l00644"></a><span class="lineno">  644</span>&#160;</div><div class="line"><a name="l00645"></a><span class="lineno">  645</span>&#160;    <a class="code" href="../../de/da4/simple-egl_8cpp.html#a83c7f2e34bbc715d97f0642def708293">create_surface</a>(&amp;window);</div><div class="line"><a name="l00646"></a><span class="lineno">  646</span>&#160;    <a class="code" href="../../de/da4/simple-egl_8cpp.html#ab3ee863fa45f4026f78f592d6f6e34ff">init_gl</a>(&amp;window);</div><div class="line"><a name="l00647"></a><span class="lineno">  647</span>&#160;</div><div class="line"><a name="l00648"></a><span class="lineno">  648</span>&#160;    <span class="comment">//Ctrl+C</span></div><div class="line"><a name="l00649"></a><span class="lineno">  649</span>&#160;    sigint.sa_handler = <a class="code" href="../../de/da4/simple-egl_8cpp.html#a2cfc8c2d3fc1273ba8f811d2e639aec8">signal_int</a>;</div><div class="line"><a name="l00650"></a><span class="lineno">  650</span>&#160;    sigemptyset(&amp;sigint.sa_mask);</div><div class="line"><a name="l00651"></a><span class="lineno">  651</span>&#160;    sigint.sa_flags = SA_RESETHAND;</div><div class="line"><a name="l00652"></a><span class="lineno">  652</span>&#160;    sigaction(SIGINT, &amp;sigint, NULL);</div><div class="line"><a name="l00653"></a><span class="lineno">  653</span>&#160;</div><div class="line"><a name="l00654"></a><span class="lineno">  654</span>&#160;    eglSwapBuffers(window.<a class="code" href="../../d6/de3/structwindow.html#a129486f2bd23791194f389ca1405cfd4">display</a>-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">egl</a>.<a class="code" href="../../d6/df5/structdisplay.html#a8a1cbda15a286e41e89a85f158ce9311">dpy</a>, window.<a class="code" href="../../d6/de3/structwindow.html#a8de0059f3f1cb0dec33fba1143b7dee1">egl_surface</a>);</div><div class="line"><a name="l00655"></a><span class="lineno">  655</span>&#160;</div><div class="line"><a name="l00656"></a><span class="lineno">  656</span>&#160;    <a class="code" href="../../de/da4/simple-egl_8cpp.html#ad1513698e07197206c290f94d7669d85">wm</a>-&gt;activateWindow(<a class="code" href="../../de/da4/simple-egl_8cpp.html#a332251aa739a56836cd4fbf3ecbb8bb2">main_role</a>);</div><div class="line"><a name="l00657"></a><span class="lineno">  657</span>&#160;</div><div class="line"><a name="l00658"></a><span class="lineno">  658</span>&#160;    <span class="comment">/* The mainloop here is a little subtle.  Redrawing will cause</span></div><div class="line"><a name="l00659"></a><span class="lineno">  659</span>&#160;<span class="comment">     * EGL to read events so we can just call</span></div><div class="line"><a name="l00660"></a><span class="lineno">  660</span>&#160;<span class="comment">     * wl_display_dispatch_pending() to handle any events that got</span></div><div class="line"><a name="l00661"></a><span class="lineno">  661</span>&#160;<span class="comment">     * queued up as a side effect. */</span></div><div class="line"><a name="l00662"></a><span class="lineno">  662</span>&#160;    <span class="keywordflow">while</span> (<a class="code" href="../../de/da4/simple-egl_8cpp.html#a2f45113638a0b749a8a205d2cd7fb42b">running</a>) {</div><div class="line"><a name="l00663"></a><span class="lineno">  663</span>&#160;        wl_display_dispatch_pending(display.<a class="code" href="../../d6/df5/structdisplay.html#aa8faf09631925e9221fd8a0c086ce75a">display</a>);</div><div class="line"><a name="l00664"></a><span class="lineno">  664</span>&#160;        <a class="code" href="../../de/da4/simple-egl_8cpp.html#a927502f6103ec35422eead39e62ab7ba">redraw</a>(&amp;window, NULL, 0);</div><div class="line"><a name="l00665"></a><span class="lineno">  665</span>&#160;    }</div><div class="line"><a name="l00666"></a><span class="lineno">  666</span>&#160;</div><div class="line"><a name="l00667"></a><span class="lineno">  667</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a>(<a class="code" href="../../de/da4/simple-egl_8cpp.html#a894f18168fa25101d792262f59846938">log_prefix</a>,<span class="stringliteral">&quot;simple-egl exiting! &quot;</span>);</div><div class="line"><a name="l00668"></a><span class="lineno">  668</span>&#160;</div><div class="line"><a name="l00669"></a><span class="lineno">  669</span>&#160;    <a class="code" href="../../de/da4/simple-egl_8cpp.html#aba2ea9aa51701e52d4f36b4f34cecf7a">destroy_surface</a>(&amp;window);</div><div class="line"><a name="l00670"></a><span class="lineno">  670</span>&#160;    <a class="code" href="../../de/da4/simple-egl_8cpp.html#a4f71f46ede5b73bd7c770c973826f771">fini_egl</a>(&amp;display);</div><div class="line"><a name="l00671"></a><span class="lineno">  671</span>&#160;</div><div class="line"><a name="l00672"></a><span class="lineno">  672</span>&#160;    <span class="keywordflow">if</span> (display.<a class="code" href="../../d6/df5/structdisplay.html#a24c073faff3bb4799c2d46291f27ab89">ivi_application</a>)</div><div class="line"><a name="l00673"></a><span class="lineno">  673</span>&#160;        ivi_application_destroy(display.<a class="code" href="../../d6/df5/structdisplay.html#a24c073faff3bb4799c2d46291f27ab89">ivi_application</a>);</div><div class="line"><a name="l00674"></a><span class="lineno">  674</span>&#160;</div><div class="line"><a name="l00675"></a><span class="lineno">  675</span>&#160;    <span class="keywordflow">if</span> (display.<a class="code" href="../../d6/df5/structdisplay.html#a41ba32dfde812165dda5b62885000c78">compositor</a>)</div><div class="line"><a name="l00676"></a><span class="lineno">  676</span>&#160;        wl_compositor_destroy(display.<a class="code" href="../../d6/df5/structdisplay.html#a41ba32dfde812165dda5b62885000c78">compositor</a>);</div><div class="line"><a name="l00677"></a><span class="lineno">  677</span>&#160;</div><div class="line"><a name="l00678"></a><span class="lineno">  678</span>&#160;    wl_registry_destroy(display.<a class="code" href="../../d6/df5/structdisplay.html#a925781323f5c8eb84ef2225ed129de4b">registry</a>);</div><div class="line"><a name="l00679"></a><span class="lineno">  679</span>&#160;    wl_display_flush(display.<a class="code" href="../../d6/df5/structdisplay.html#aa8faf09631925e9221fd8a0c086ce75a">display</a>);</div><div class="line"><a name="l00680"></a><span class="lineno">  680</span>&#160;    wl_display_disconnect(display.<a class="code" href="../../d6/df5/structdisplay.html#aa8faf09631925e9221fd8a0c086ce75a">display</a>);</div><div class="line"><a name="l00681"></a><span class="lineno">  681</span>&#160;</div><div class="line"><a name="l00682"></a><span class="lineno">  682</span>&#160;    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00683"></a><span class="lineno">  683</span>&#160;}</div><div class="ttc" id="structdisplay_html_a9974d560bec291487ae2440f897ffc58"><div class="ttname"><a href="../../d6/df5/structdisplay.html#a9974d560bec291487ae2440f897ffc58">display::window</a></div><div class="ttdeci">struct window * window</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00126">simple-egl.cpp:126</a></div></div>
+<div class="ttc" id="structdisplay_html"><div class="ttname"><a href="../../d6/df5/structdisplay.html">display</a></div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00116">simple-egl.cpp:116</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_ad1513698e07197206c290f94d7669d85"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#ad1513698e07197206c290f94d7669d85">wm</a></div><div class="ttdeci">LibWindowmanager * wm</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00067">simple-egl.cpp:67</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_ab3ee863fa45f4026f78f592d6f6e34ff"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#ab3ee863fa45f4026f78f592d6f6e34ff">init_gl</a></div><div class="ttdeci">static void init_gl(struct window *window)</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00285">simple-egl.cpp:285</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a644e25276ecdea04f2aa3412c1973927"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a644e25276ecdea04f2aa3412c1973927">init_wm</a></div><div class="ttdeci">int init_wm(LibWindowmanager *wm, struct window *window)</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00527">simple-egl.cpp:527</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a332251aa739a56836cd4fbf3ecbb8bb2"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a332251aa739a56836cd4fbf3ecbb8bb2">main_role</a></div><div class="ttdeci">const char * main_role</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00064">simple-egl.cpp:64</a></div></div>
+<div class="ttc" id="structdisplay_html_a8a1cbda15a286e41e89a85f158ce9311"><div class="ttname"><a href="../../d6/df5/structdisplay.html#a8a1cbda15a286e41e89a85f158ce9311">display::dpy</a></div><div class="ttdeci">EGLDisplay dpy</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00122">simple-egl.cpp:122</a></div></div>
+<div class="ttc" id="structwindow_html_a8de0059f3f1cb0dec33fba1143b7dee1"><div class="ttname"><a href="../../d6/de3/structwindow.html#a8de0059f3f1cb0dec33fba1143b7dee1">window::egl_surface</a></div><div class="ttdeci">EGLSurface egl_surface</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00149">simple-egl.cpp:149</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a2cfc8c2d3fc1273ba8f811d2e639aec8"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a2cfc8c2d3fc1273ba8f811d2e639aec8">signal_int</a></div><div class="ttdeci">static void signal_int(int signum)</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00521">simple-egl.cpp:521</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a83c7f2e34bbc715d97f0642def708293"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a83c7f2e34bbc715d97f0642def708293">create_surface</a></div><div class="ttdeci">static void create_surface(struct window *window)</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00337">simple-egl.cpp:337</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a927502f6103ec35422eead39e62ab7ba"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a927502f6103ec35422eead39e62ab7ba">redraw</a></div><div class="ttdeci">static void redraw(void *data, struct wl_callback *callback, uint32_t time)</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00389">simple-egl.cpp:389</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a623ef6987ef3bd185c07b28b13e46d34"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a623ef6987ef3bd185c07b28b13e46d34">token</a></div><div class="ttdeci">string token</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00061">simple-egl.cpp:61</a></div></div>
+<div class="ttc" id="structdisplay_html_a24c073faff3bb4799c2d46291f27ab89"><div class="ttname"><a href="../../d6/df5/structdisplay.html#a24c073faff3bb4799c2d46291f27ab89">display::ivi_application</a></div><div class="ttdeci">struct ivi_application * ivi_application</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00127">simple-egl.cpp:127</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a529acbd1fed9d98a587edfa62309fa8d"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a529acbd1fed9d98a587edfa62309fa8d">hs</a></div><div class="ttdeci">LibHomeScreen * hs</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00066">simple-egl.cpp:66</a></div></div>
+<div class="ttc" id="structdisplay_html_a8b8bc104c19ff228d476a377e572d9c7"><div class="ttname"><a href="../../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">display::egl</a></div><div class="ttdeci">struct display::@0 egl</div></div>
+<div class="ttc" id="structdisplay_html_a925781323f5c8eb84ef2225ed129de4b"><div class="ttname"><a href="../../d6/df5/structdisplay.html#a925781323f5c8eb84ef2225ed129de4b">display::registry</a></div><div class="ttdeci">struct wl_registry * registry</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00118">simple-egl.cpp:118</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a2f45113638a0b749a8a205d2cd7fb42b"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a2f45113638a0b749a8a205d2cd7fb42b">running</a></div><div class="ttdeci">static int running</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00171">simple-egl.cpp:171</a></div></div>
+<div class="ttc" id="structwindow_html_a129486f2bd23791194f389ca1405cfd4"><div class="ttname"><a href="../../d6/de3/structwindow.html#a129486f2bd23791194f389ca1405cfd4">window::display</a></div><div class="ttdeci">struct display * display</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00137">simple-egl.cpp:137</a></div></div>
+<div class="ttc" id="structwindow_html"><div class="ttname"><a href="../../d6/de3/structwindow.html">window</a></div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00136">simple-egl.cpp:136</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a300b6806fe6818927fe4df08f2398124"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a300b6806fe6818927fe4df08f2398124">port</a></div><div class="ttdeci">long port</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00060">simple-egl.cpp:60</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a8998c87c94cd7d185e8f0cdafab4b1c4"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a8998c87c94cd7d185e8f0cdafab4b1c4">registry_listener</a></div><div class="ttdeci">static const struct wl_registry_listener registry_listener</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00515">simple-egl.cpp:515</a></div></div>
+<div class="ttc" id="structwindow_html_ad2b6c8ed8044b41fd1189a0ce26d539a"><div class="ttname"><a href="../../d6/de3/structwindow.html#ad2b6c8ed8044b41fd1189a0ce26d539a">window::window_size</a></div><div class="ttdeci">struct geometry geometry window_size</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00138">simple-egl.cpp:138</a></div></div>
+<div class="ttc" id="structwindow_html_a851bcb65083f5ab5ff768b09522bed70"><div class="ttname"><a href="../../d6/de3/structwindow.html#a851bcb65083f5ab5ff768b09522bed70">window::frame_sync</a></div><div class="ttdeci">int frame_sync</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00151">simple-egl.cpp:151</a></div></div>
+<div class="ttc" id="structdisplay_html_aa8faf09631925e9221fd8a0c086ce75a"><div class="ttname"><a href="../../d6/df5/structdisplay.html#aa8faf09631925e9221fd8a0c086ce75a">display::display</a></div><div class="ttdeci">struct wl_display * display</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00117">simple-egl.cpp:117</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a4f71f46ede5b73bd7c770c973826f771"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a4f71f46ede5b73bd7c770c973826f771">fini_egl</a></div><div class="ttdeci">static void fini_egl(struct display *display)</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00252">simple-egl.cpp:252</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a1073d4aca1838d3877fe577d813700fc"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a1073d4aca1838d3877fe577d813700fc">init_egl</a></div><div class="ttdeci">static void init_egl(struct display *display, struct window *window)</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00174">simple-egl.cpp:174</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_a0d26d8b8201011dade787236519711c0"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a></div><div class="ttdeci">#define HMI_DEBUG(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00042">hmi-debug.h:42</a></div></div>
+<div class="ttc" id="structdisplay_html_a41ba32dfde812165dda5b62885000c78"><div class="ttname"><a href="../../d6/df5/structdisplay.html#a41ba32dfde812165dda5b62885000c78">display::compositor</a></div><div class="ttdeci">struct wl_compositor * compositor</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00119">simple-egl.cpp:119</a></div></div>
+<div class="ttc" id="structwindow_html_a0e634038f669aff472012f25ea250b40"><div class="ttname"><a href="../../d6/de3/structwindow.html#a0e634038f669aff472012f25ea250b40">window::buffer_size</a></div><div class="ttdeci">int buffer_size</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00151">simple-egl.cpp:151</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a894f18168fa25101d792262f59846938"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a894f18168fa25101d792262f59846938">log_prefix</a></div><div class="ttdeci">const char * log_prefix</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00058">simple-egl.cpp:58</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00031">libhomescreen.hpp:31</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_aba2ea9aa51701e52d4f36b4f34cecf7a"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#aba2ea9aa51701e52d4f36b4f34cecf7a">destroy_surface</a></div><div class="ttdeci">static void destroy_surface(struct window *window)</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00370">simple-egl.cpp:370</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a79aafeb99915566dd3970246f465f306"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a79aafeb99915566dd3970246f465f306">init_hs</a></div><div class="ttdeci">int init_hs(LibHomeScreen *hs)</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00565">simple-egl.cpp:565</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a927502f6103ec35422eead39e62ab7ba"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static void redraw </td>
+          <td>(</td>
+          <td class="paramtype">void *&#160;</td>
+          <td class="paramname"><em>data</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">struct wl_callback *&#160;</td>
+          <td class="paramname"><em>callback</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">uint32_t&#160;</td>
+          <td class="paramname"><em>time</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00389">389</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;{</div><div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;    <span class="keyword">struct </span><a class="code" href="../../d6/de3/structwindow.html">window</a> *<a class="code" href="../../d6/de3/structwindow.html">window</a> = data;</div><div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;    <span class="keyword">struct </span><a class="code" href="../../d6/df5/structdisplay.html">display</a> *<a class="code" href="../../d6/df5/structdisplay.html">display</a> = window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a129486f2bd23791194f389ca1405cfd4">display</a>;</div><div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;    <span class="keyword">static</span> <span class="keyword">const</span> GLfloat verts[3][2] = {</div><div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;        { -0.5, -0.5 },</div><div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;        {  0.5, -0.5 },</div><div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;        {  0,    0.5 }</div><div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;    };</div><div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;</div><div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;    <span class="keyword">static</span> <span class="keyword">const</span> GLfloat colors[3][3] = {</div><div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;        { 1, 0, 0 },</div><div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;        { 0, 1, 0 },</div><div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;        { 0, 0, 1 }</div><div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;    };</div><div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;</div><div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;    GLfloat angle;</div><div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;    GLfloat rotation[4][4] = {</div><div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;        { 1, 0, 0, 0 },</div><div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;        { 0, 1, 0, 0 },</div><div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;        { 0, 0, 1, 0 },</div><div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;        { 0, 0, 0, 1 }</div><div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;    };</div><div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;    <span class="keyword">static</span> <span class="keyword">const</span> uint32_t speed_div = 5, benchmark_interval = 5;</div><div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;    <span class="keyword">struct </span>wl_region *region;</div><div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;    EGLint rect[4];</div><div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;    EGLint buffer_age = 0;</div><div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;    <span class="keyword">struct </span>timeval tv;</div><div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;</div><div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;    assert(window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a35ba639556fa19d9273dad0953a6807e">callback</a> == callback);</div><div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;    window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a35ba639556fa19d9273dad0953a6807e">callback</a> = NULL;</div><div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;</div><div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;    <span class="keywordflow">if</span> (callback)</div><div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;        wl_callback_destroy(callback);</div><div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;</div><div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;    gettimeofday(&amp;tv, NULL);</div><div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;    time = tv.tv_sec * 1000 + tv.tv_usec / 1000;</div><div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;    <span class="keywordflow">if</span> (window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a633864bb495ec265bee220a5c70cc98f">frames</a> == 0)</div><div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;        window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a72629bf021a361ad900504732a74cb68">benchmark_time</a> = time;</div><div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;</div><div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;    <span class="keywordflow">if</span> (time - window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a72629bf021a361ad900504732a74cb68">benchmark_time</a> &gt; (benchmark_interval * 1000)) {</div><div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a>(<a class="code" href="../../de/da4/simple-egl_8cpp.html#a894f18168fa25101d792262f59846938">log_prefix</a>,<span class="stringliteral">&quot;%d frames in %d seconds: %f fps&quot;</span>,</div><div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;               window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a633864bb495ec265bee220a5c70cc98f">frames</a>,</div><div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;               benchmark_interval,</div><div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;               (<span class="keywordtype">float</span>) window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a633864bb495ec265bee220a5c70cc98f">frames</a> / benchmark_interval);</div><div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;        window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a72629bf021a361ad900504732a74cb68">benchmark_time</a> = time;</div><div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;        window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a633864bb495ec265bee220a5c70cc98f">frames</a> = 0;</div><div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;    }</div><div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;</div><div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;    angle = (time / speed_div) % 360 * M_PI / 180.0;</div><div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;    rotation[0][0] =  cos(angle);</div><div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;    rotation[0][2] =  sin(angle);</div><div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;    rotation[2][0] = -sin(angle);</div><div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;    rotation[2][2] =  cos(angle);</div><div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;</div><div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;    <span class="keywordflow">if</span> (display-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a48c46c118e4765ef06596f6341c8f23f">swap_buffers_with_damage</a>)</div><div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;        eglQuerySurface(display-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">egl</a>.<a class="code" href="../../d6/df5/structdisplay.html#a8a1cbda15a286e41e89a85f158ce9311">dpy</a>, window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a8de0059f3f1cb0dec33fba1143b7dee1">egl_surface</a>,</div><div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;                <a class="code" href="../../de/da4/simple-egl_8cpp.html#a7045d8a6b4857f268a62fab2de2021fd">EGL_BUFFER_AGE_EXT</a>, &amp;buffer_age);</div><div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;</div><div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;    glViewport(0, 0, window-&gt;geometry.width, window-&gt;geometry.height);</div><div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;</div><div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;    glUniformMatrix4fv(window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a6975a930e9a3c166f8201fc4ef5e7728">gl</a>.<a class="code" href="../../d6/de3/structwindow.html#a5202f3b60e262a6fa4fcee68dd47cb67">rotation_uniform</a>, 1, GL_FALSE,</div><div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;               (GLfloat *) rotation);</div><div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;</div><div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;    glClearColor(0.0, 0.0, 0.0, 0.5);</div><div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;    glClear(GL_COLOR_BUFFER_BIT);</div><div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;</div><div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;    glVertexAttribPointer(window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a6975a930e9a3c166f8201fc4ef5e7728">gl</a>.<a class="code" href="../../d6/de3/structwindow.html#aaf965f90f9fc938db2315ff62028c362">pos</a>, 2, GL_FLOAT, GL_FALSE, 0, verts);</div><div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;    glVertexAttribPointer(window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a6975a930e9a3c166f8201fc4ef5e7728">gl</a>.<a class="code" href="../../d6/de3/structwindow.html#aef10fe94766ccd4831ee611c5ad0e55c">col</a>, 3, GL_FLOAT, GL_FALSE, 0, colors);</div><div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;    glEnableVertexAttribArray(window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a6975a930e9a3c166f8201fc4ef5e7728">gl</a>.<a class="code" href="../../d6/de3/structwindow.html#aaf965f90f9fc938db2315ff62028c362">pos</a>);</div><div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;    glEnableVertexAttribArray(window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a6975a930e9a3c166f8201fc4ef5e7728">gl</a>.<a class="code" href="../../d6/de3/structwindow.html#aef10fe94766ccd4831ee611c5ad0e55c">col</a>);</div><div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;</div><div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;    glDrawArrays(GL_TRIANGLES, 0, 3);</div><div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;</div><div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;    glDisableVertexAttribArray(window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a6975a930e9a3c166f8201fc4ef5e7728">gl</a>.<a class="code" href="../../d6/de3/structwindow.html#aaf965f90f9fc938db2315ff62028c362">pos</a>);</div><div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;    glDisableVertexAttribArray(window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a6975a930e9a3c166f8201fc4ef5e7728">gl</a>.<a class="code" href="../../d6/de3/structwindow.html#aef10fe94766ccd4831ee611c5ad0e55c">col</a>);</div><div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;</div><div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;    <span class="keywordflow">if</span> (window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a026a50808d8323a5a73d585c19916fa8">opaque</a> || window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a8da44798a9e1feb7ed3fbd18ec3a28b6">fullscreen</a>) {</div><div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;        region = wl_compositor_create_region(window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a129486f2bd23791194f389ca1405cfd4">display</a>-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a41ba32dfde812165dda5b62885000c78">compositor</a>);</div><div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;        wl_region_add(region, 0, 0,</div><div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;                  window-&gt;geometry.width,</div><div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;                  window-&gt;geometry.height);</div><div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;        wl_surface_set_opaque_region(window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a7d0790cfc7c30621611fa26ab5c1ae97">surface</a>, region);</div><div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;        wl_region_destroy(region);</div><div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;    } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;        wl_surface_set_opaque_region(window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a7d0790cfc7c30621611fa26ab5c1ae97">surface</a>, NULL);</div><div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;    }</div><div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;</div><div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;    <span class="keywordflow">if</span> (display-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a48c46c118e4765ef06596f6341c8f23f">swap_buffers_with_damage</a> &amp;&amp; buffer_age &gt; 0) {</div><div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;        rect[0] = window-&gt;geometry.width / 4 - 1;</div><div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;        rect[1] = window-&gt;geometry.height / 4 - 1;</div><div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;        rect[2] = window-&gt;geometry.width / 2 + 2;</div><div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;        rect[3] = window-&gt;geometry.height / 2 + 2;</div><div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;        display-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a48c46c118e4765ef06596f6341c8f23f">swap_buffers_with_damage</a>(display-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">egl</a>.<a class="code" href="../../d6/df5/structdisplay.html#a8a1cbda15a286e41e89a85f158ce9311">dpy</a>,</div><div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;                          window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a8de0059f3f1cb0dec33fba1143b7dee1">egl_surface</a>,</div><div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;                          rect, 1);</div><div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;    } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;        eglSwapBuffers(display-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">egl</a>.<a class="code" href="../../d6/df5/structdisplay.html#a8a1cbda15a286e41e89a85f158ce9311">dpy</a>, window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a8de0059f3f1cb0dec33fba1143b7dee1">egl_surface</a>);</div><div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;    }</div><div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;</div><div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;    window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a633864bb495ec265bee220a5c70cc98f">frames</a>++;</div><div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;}</div><div class="ttc" id="structdisplay_html"><div class="ttname"><a href="../../d6/df5/structdisplay.html">display</a></div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00116">simple-egl.cpp:116</a></div></div>
+<div class="ttc" id="structwindow_html_a5202f3b60e262a6fa4fcee68dd47cb67"><div class="ttname"><a href="../../d6/de3/structwindow.html#a5202f3b60e262a6fa4fcee68dd47cb67">window::rotation_uniform</a></div><div class="ttdeci">GLuint rotation_uniform</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00140">simple-egl.cpp:140</a></div></div>
+<div class="ttc" id="structwindow_html_a6975a930e9a3c166f8201fc4ef5e7728"><div class="ttname"><a href="../../d6/de3/structwindow.html#a6975a930e9a3c166f8201fc4ef5e7728">window::gl</a></div><div class="ttdeci">struct window::@1 gl</div></div>
+<div class="ttc" id="structwindow_html_a72629bf021a361ad900504732a74cb68"><div class="ttname"><a href="../../d6/de3/structwindow.html#a72629bf021a361ad900504732a74cb68">window::benchmark_time</a></div><div class="ttdeci">uint32_t benchmark_time</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00145">simple-egl.cpp:145</a></div></div>
+<div class="ttc" id="structwindow_html_a026a50808d8323a5a73d585c19916fa8"><div class="ttname"><a href="../../d6/de3/structwindow.html#a026a50808d8323a5a73d585c19916fa8">window::opaque</a></div><div class="ttdeci">int opaque</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00151">simple-egl.cpp:151</a></div></div>
+<div class="ttc" id="structdisplay_html_a8a1cbda15a286e41e89a85f158ce9311"><div class="ttname"><a href="../../d6/df5/structdisplay.html#a8a1cbda15a286e41e89a85f158ce9311">display::dpy</a></div><div class="ttdeci">EGLDisplay dpy</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00122">simple-egl.cpp:122</a></div></div>
+<div class="ttc" id="structwindow_html_a8de0059f3f1cb0dec33fba1143b7dee1"><div class="ttname"><a href="../../d6/de3/structwindow.html#a8de0059f3f1cb0dec33fba1143b7dee1">window::egl_surface</a></div><div class="ttdeci">EGLSurface egl_surface</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00149">simple-egl.cpp:149</a></div></div>
+<div class="ttc" id="structwindow_html_aaf965f90f9fc938db2315ff62028c362"><div class="ttname"><a href="../../d6/de3/structwindow.html#aaf965f90f9fc938db2315ff62028c362">window::pos</a></div><div class="ttdeci">GLuint pos</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00141">simple-egl.cpp:141</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a7045d8a6b4857f268a62fab2de2021fd"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a7045d8a6b4857f268a62fab2de2021fd">EGL_BUFFER_AGE_EXT</a></div><div class="ttdeci">#define EGL_BUFFER_AGE_EXT</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00110">simple-egl.cpp:110</a></div></div>
+<div class="ttc" id="structwindow_html_a7d0790cfc7c30621611fa26ab5c1ae97"><div class="ttname"><a href="../../d6/de3/structwindow.html#a7d0790cfc7c30621611fa26ab5c1ae97">window::surface</a></div><div class="ttdeci">struct wl_surface * surface</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00147">simple-egl.cpp:147</a></div></div>
+<div class="ttc" id="structdisplay_html_a8b8bc104c19ff228d476a377e572d9c7"><div class="ttname"><a href="../../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">display::egl</a></div><div class="ttdeci">struct display::@0 egl</div></div>
+<div class="ttc" id="structwindow_html_aef10fe94766ccd4831ee611c5ad0e55c"><div class="ttname"><a href="../../d6/de3/structwindow.html#aef10fe94766ccd4831ee611c5ad0e55c">window::col</a></div><div class="ttdeci">GLuint col</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00142">simple-egl.cpp:142</a></div></div>
+<div class="ttc" id="structwindow_html_a35ba639556fa19d9273dad0953a6807e"><div class="ttname"><a href="../../d6/de3/structwindow.html#a35ba639556fa19d9273dad0953a6807e">window::callback</a></div><div class="ttdeci">struct wl_callback * callback</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00150">simple-egl.cpp:150</a></div></div>
+<div class="ttc" id="structdisplay_html_a48c46c118e4765ef06596f6341c8f23f"><div class="ttname"><a href="../../d6/df5/structdisplay.html#a48c46c118e4765ef06596f6341c8f23f">display::swap_buffers_with_damage</a></div><div class="ttdeci">PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC swap_buffers_with_damage</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00129">simple-egl.cpp:129</a></div></div>
+<div class="ttc" id="structwindow_html_a129486f2bd23791194f389ca1405cfd4"><div class="ttname"><a href="../../d6/de3/structwindow.html#a129486f2bd23791194f389ca1405cfd4">window::display</a></div><div class="ttdeci">struct display * display</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00137">simple-egl.cpp:137</a></div></div>
+<div class="ttc" id="structwindow_html"><div class="ttname"><a href="../../d6/de3/structwindow.html">window</a></div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00136">simple-egl.cpp:136</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_a0d26d8b8201011dade787236519711c0"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a></div><div class="ttdeci">#define HMI_DEBUG(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00042">hmi-debug.h:42</a></div></div>
+<div class="ttc" id="structdisplay_html_a41ba32dfde812165dda5b62885000c78"><div class="ttname"><a href="../../d6/df5/structdisplay.html#a41ba32dfde812165dda5b62885000c78">display::compositor</a></div><div class="ttdeci">struct wl_compositor * compositor</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00119">simple-egl.cpp:119</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a894f18168fa25101d792262f59846938"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a894f18168fa25101d792262f59846938">log_prefix</a></div><div class="ttdeci">const char * log_prefix</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00058">simple-egl.cpp:58</a></div></div>
+<div class="ttc" id="structwindow_html_a8da44798a9e1feb7ed3fbd18ec3a28b6"><div class="ttname"><a href="../../d6/de3/structwindow.html#a8da44798a9e1feb7ed3fbd18ec3a28b6">window::fullscreen</a></div><div class="ttdeci">int fullscreen</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00151">simple-egl.cpp:151</a></div></div>
+<div class="ttc" id="structwindow_html_a633864bb495ec265bee220a5c70cc98f"><div class="ttname"><a href="../../d6/de3/structwindow.html#a633864bb495ec265bee220a5c70cc98f">window::frames</a></div><div class="ttdeci">uint32_t frames</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00145">simple-egl.cpp:145</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="af288e02a94c196a68b327fc55c049932"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static void registry_handle_global </td>
+          <td>(</td>
+          <td class="paramtype">void *&#160;</td>
+          <td class="paramname"><em>data</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">struct wl_registry *&#160;</td>
+          <td class="paramname"><em>registry</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">uint32_t&#160;</td>
+          <td class="paramname"><em>name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>interface</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">uint32_t&#160;</td>
+          <td class="paramname"><em>version</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00493">493</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;{</div><div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;    <span class="keyword">struct </span><a class="code" href="../../d6/df5/structdisplay.html">display</a> *d = data;</div><div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;</div><div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;    <span class="keywordflow">if</span> (strcmp(interface, <span class="stringliteral">&quot;wl_compositor&quot;</span>) == 0) {</div><div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;        d-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a41ba32dfde812165dda5b62885000c78">compositor</a> =</div><div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;            wl_registry_bind(<a class="code" href="../../d6/df5/structdisplay.html#a925781323f5c8eb84ef2225ed129de4b">registry</a>, name,</div><div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160;                     &amp;wl_compositor_interface, 1);</div><div class="line"><a name="l00502"></a><span class="lineno">  502</span>&#160;    } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(interface, <span class="stringliteral">&quot;ivi_application&quot;</span>) == 0) {</div><div class="line"><a name="l00503"></a><span class="lineno">  503</span>&#160;        d-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a24c073faff3bb4799c2d46291f27ab89">ivi_application</a> =</div><div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160;            wl_registry_bind(<a class="code" href="../../d6/df5/structdisplay.html#a925781323f5c8eb84ef2225ed129de4b">registry</a>, name,</div><div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;                     &amp;<a class="code" href="../../de/da4/simple-egl_8cpp.html#a769b65b7b0e834f732f1f45e835890d5">ivi_application_interface</a>, 1);</div><div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;    }</div><div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;}</div><div class="ttc" id="structdisplay_html"><div class="ttname"><a href="../../d6/df5/structdisplay.html">display</a></div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00116">simple-egl.cpp:116</a></div></div>
+<div class="ttc" id="structdisplay_html_a24c073faff3bb4799c2d46291f27ab89"><div class="ttname"><a href="../../d6/df5/structdisplay.html#a24c073faff3bb4799c2d46291f27ab89">display::ivi_application</a></div><div class="ttdeci">struct ivi_application * ivi_application</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00127">simple-egl.cpp:127</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a769b65b7b0e834f732f1f45e835890d5"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a769b65b7b0e834f732f1f45e835890d5">ivi_application_interface</a></div><div class="ttdeci">const struct wl_interface ivi_application_interface</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00095">simple-egl.cpp:95</a></div></div>
+<div class="ttc" id="structdisplay_html_a925781323f5c8eb84ef2225ed129de4b"><div class="ttname"><a href="../../d6/df5/structdisplay.html#a925781323f5c8eb84ef2225ed129de4b">display::registry</a></div><div class="ttdeci">struct wl_registry * registry</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00118">simple-egl.cpp:118</a></div></div>
+<div class="ttc" id="structdisplay_html_a41ba32dfde812165dda5b62885000c78"><div class="ttname"><a href="../../d6/df5/structdisplay.html#a41ba32dfde812165dda5b62885000c78">display::compositor</a></div><div class="ttdeci">struct wl_compositor * compositor</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00119">simple-egl.cpp:119</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a59a731b9efa9d6a2015cdc8ccae1db80"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static void registry_handle_global_remove </td>
+          <td>(</td>
+          <td class="paramtype">void *&#160;</td>
+          <td class="paramname"><em>data</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">struct wl_registry *&#160;</td>
+          <td class="paramname"><em>registry</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">uint32_t&#160;</td>
+          <td class="paramname"><em>name</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00510">510</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;{</div><div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;}</div></div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a2cfc8c2d3fc1273ba8f811d2e639aec8"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static void signal_int </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>signum</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00521">521</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;{</div><div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;    <a class="code" href="../../de/da4/simple-egl_8cpp.html#a2f45113638a0b749a8a205d2cd7fb42b">running</a> = 0;</div><div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;}</div><div class="ttc" id="simple-egl_8cpp_html_a2f45113638a0b749a8a205d2cd7fb42b"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a2f45113638a0b749a8a205d2cd7fb42b">running</a></div><div class="ttdeci">static int running</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00171">simple-egl.cpp:171</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<h2 class="groupheader">Variable Documentation</h2>
+<a class="anchor" id="a0da928eccfc57d1dfadfd29d4ac4854c"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">string app_name = string(&quot;Navigation&quot;)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00063">63</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ab5a6a2a26ac23f79b1687daa4b0d8980"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">const char* frag_shader_text</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<b>Initial value:</b><div class="fragment"><div class="line">=</div><div class="line">    <span class="stringliteral">&quot;precision mediump float;\n&quot;</span></div><div class="line">    <span class="stringliteral">&quot;varying vec4 v_color;\n&quot;</span></div><div class="line">    <span class="stringliteral">&quot;void main() {\n&quot;</span></div><div class="line">    <span class="stringliteral">&quot;  gl_FragColor = v_color;\n&quot;</span></div><div class="line">    <span class="stringliteral">&quot;}\n&quot;</span></div></div><!-- fragment -->
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00164">164</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a28f56c9f01ed9f108201950645317cc9"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">uint32_t g_id_ivisurf = 9009</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00059">59</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a529acbd1fed9d98a587edfa62309fa8d"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a>* hs</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00066">66</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a769b65b7b0e834f732f1f45e835890d5"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const struct wl_interface ivi_application_interface</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<b>Initial value:</b><div class="fragment"><div class="line">= {</div><div class="line">    <span class="stringliteral">&quot;ivi_application&quot;</span>, 1,</div><div class="line">    1, <a class="code" href="../../de/da4/simple-egl_8cpp.html#a21a39b7c6cf5f6d10a62a70b3ebc9bad">ivi_application_requests</a>,</div><div class="line">    0, NULL,</div><div class="line">}</div><div class="ttc" id="simple-egl_8cpp_html_a21a39b7c6cf5f6d10a62a70b3ebc9bad"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a21a39b7c6cf5f6d10a62a70b3ebc9bad">ivi_application_requests</a></div><div class="ttdeci">static const struct wl_message ivi_application_requests[]</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00091">simple-egl.cpp:91</a></div></div>
+</div><!-- fragment -->
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00095">95</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a21a39b7c6cf5f6d10a62a70b3ebc9bad"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">const struct wl_message ivi_application_requests[]</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<b>Initial value:</b><div class="fragment"><div class="line">= {</div><div class="line">        { <span class="stringliteral">&quot;surface_create&quot;</span>, <span class="stringliteral">&quot;uon&quot;</span>, <a class="code" href="../../de/da4/simple-egl_8cpp.html#aea3203db9e218d3e5d60bdb4ebe2fa1f">types</a> + 2 },</div><div class="line">}</div><div class="ttc" id="simple-egl_8cpp_html_aea3203db9e218d3e5d60bdb4ebe2fa1f"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#aea3203db9e218d3e5d60bdb4ebe2fa1f">types</a></div><div class="ttdeci">static const struct wl_interface * types[]</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00069">simple-egl.cpp:69</a></div></div>
+</div><!-- fragment -->
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00091">91</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ac848f4fbf712a9ba414272fa85577791"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">const struct wl_message ivi_surface_events[]</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<b>Initial value:</b><div class="fragment"><div class="line">= {</div><div class="line">        { <span class="stringliteral">&quot;configure&quot;</span>, <span class="stringliteral">&quot;ii&quot;</span>, <a class="code" href="../../de/da4/simple-egl_8cpp.html#aea3203db9e218d3e5d60bdb4ebe2fa1f">types</a> + 0 },</div><div class="line">}</div><div class="ttc" id="simple-egl_8cpp_html_aea3203db9e218d3e5d60bdb4ebe2fa1f"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#aea3203db9e218d3e5d60bdb4ebe2fa1f">types</a></div><div class="ttdeci">static const struct wl_interface * types[]</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00069">simple-egl.cpp:69</a></div></div>
+</div><!-- fragment -->
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00081">81</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="adf384de8d12d2edd7265ab85fd16b11c"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const struct wl_interface ivi_surface_interface</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<b>Initial value:</b><div class="fragment"><div class="line">= {</div><div class="line">        <span class="stringliteral">&quot;ivi_surface&quot;</span>, 1,</div><div class="line">        1, <a class="code" href="../../de/da4/simple-egl_8cpp.html#ada80120c5590d2821da9babef808b98d">ivi_surface_requests</a>,</div><div class="line">        1, <a class="code" href="../../de/da4/simple-egl_8cpp.html#ac848f4fbf712a9ba414272fa85577791">ivi_surface_events</a>,</div><div class="line">}</div><div class="ttc" id="simple-egl_8cpp_html_ac848f4fbf712a9ba414272fa85577791"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#ac848f4fbf712a9ba414272fa85577791">ivi_surface_events</a></div><div class="ttdeci">static const struct wl_message ivi_surface_events[]</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00081">simple-egl.cpp:81</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_ada80120c5590d2821da9babef808b98d"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#ada80120c5590d2821da9babef808b98d">ivi_surface_requests</a></div><div class="ttdeci">static const struct wl_message ivi_surface_requests[]</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00077">simple-egl.cpp:77</a></div></div>
+</div><!-- fragment -->
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00085">85</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ada80120c5590d2821da9babef808b98d"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">const struct wl_message ivi_surface_requests[]</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<b>Initial value:</b><div class="fragment"><div class="line">= {</div><div class="line">        { <span class="stringliteral">&quot;destroy&quot;</span>, <span class="stringliteral">&quot;&quot;</span>, <a class="code" href="../../de/da4/simple-egl_8cpp.html#aea3203db9e218d3e5d60bdb4ebe2fa1f">types</a> + 0 },</div><div class="line">}</div><div class="ttc" id="simple-egl_8cpp_html_aea3203db9e218d3e5d60bdb4ebe2fa1f"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#aea3203db9e218d3e5d60bdb4ebe2fa1f">types</a></div><div class="ttdeci">static const struct wl_interface * types[]</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00069">simple-egl.cpp:69</a></div></div>
+</div><!-- fragment -->
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00077">77</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a894f18168fa25101d792262f59846938"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const char* log_prefix = &quot;simple-egl&quot;</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00058">58</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a332251aa739a56836cd4fbf3ecbb8bb2"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const char* main_role = &quot;navigation&quot;</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00064">64</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a300b6806fe6818927fe4df08f2398124"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">long port = 1700</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00060">60</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a8998c87c94cd7d185e8f0cdafab4b1c4"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">const struct wl_registry_listener registry_listener</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<b>Initial value:</b><div class="fragment"><div class="line">= {</div><div class="line">    <a class="code" href="../../de/da4/simple-egl_8cpp.html#af288e02a94c196a68b327fc55c049932">registry_handle_global</a>,</div><div class="line">    <a class="code" href="../../de/da4/simple-egl_8cpp.html#a59a731b9efa9d6a2015cdc8ccae1db80">registry_handle_global_remove</a></div><div class="line">}</div><div class="ttc" id="simple-egl_8cpp_html_af288e02a94c196a68b327fc55c049932"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#af288e02a94c196a68b327fc55c049932">registry_handle_global</a></div><div class="ttdeci">static void registry_handle_global(void *data, struct wl_registry *registry, uint32_t name, const char *interface, uint32_t version)</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00493">simple-egl.cpp:493</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a59a731b9efa9d6a2015cdc8ccae1db80"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a59a731b9efa9d6a2015cdc8ccae1db80">registry_handle_global_remove</a></div><div class="ttdeci">static void registry_handle_global_remove(void *data, struct wl_registry *registry, uint32_t name)</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00510">simple-egl.cpp:510</a></div></div>
+</div><!-- fragment -->
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00515">515</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a2f45113638a0b749a8a205d2cd7fb42b"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">int running = 1</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00171">171</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a623ef6987ef3bd185c07b28b13e46d34"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">string token = string(&quot;wm&quot;)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00061">61</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aea3203db9e218d3e5d60bdb4ebe2fa1f"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">const struct wl_interface* types[]</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<b>Initial value:</b><div class="fragment"><div class="line">= {</div><div class="line">        NULL,</div><div class="line">        NULL,</div><div class="line">        NULL,</div><div class="line">        &amp;wl_surface_interface,</div><div class="line">        &amp;<a class="code" href="../../de/da4/simple-egl_8cpp.html#adf384de8d12d2edd7265ab85fd16b11c">ivi_surface_interface</a>,</div><div class="line">}</div><div class="ttc" id="simple-egl_8cpp_html_adf384de8d12d2edd7265ab85fd16b11c"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#adf384de8d12d2edd7265ab85fd16b11c">ivi_surface_interface</a></div><div class="ttdeci">const struct wl_interface ivi_surface_interface</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00085">simple-egl.cpp:85</a></div></div>
+</div><!-- fragment -->
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00069">69</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a717575939a37d84dcd4cf0447a630834"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">const char* vert_shader_text</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<b>Initial value:</b><div class="fragment"><div class="line">=</div><div class="line">    <span class="stringliteral">&quot;uniform mat4 rotation;\n&quot;</span></div><div class="line">    <span class="stringliteral">&quot;attribute vec4 pos;\n&quot;</span></div><div class="line">    <span class="stringliteral">&quot;attribute vec4 color;\n&quot;</span></div><div class="line">    <span class="stringliteral">&quot;varying vec4 v_color;\n&quot;</span></div><div class="line">    <span class="stringliteral">&quot;void main() {\n&quot;</span></div><div class="line">    <span class="stringliteral">&quot;  gl_Position = rotation * pos;\n&quot;</span></div><div class="line">    <span class="stringliteral">&quot;  v_color = color;\n&quot;</span></div><div class="line">    <span class="stringliteral">&quot;}\n&quot;</span></div></div><!-- fragment -->
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00154">154</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad1513698e07197206c290f94d7669d85"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">LibWindowmanager* wm</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../de/da4/simple-egl_8cpp_source.html#l00067">67</a> of file <a class="el" href="../../de/da4/simple-egl_8cpp_source.html">simple-egl.cpp</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="../../doxygen.png" alt="doxygen"/>
+</a> 1.8.11
+</small></address>
+</body>
+</html>
diff --git a/doc/api-ref/html/de/da4/simple-egl_8cpp_source.html b/doc/api-ref/html/de/da4/simple-egl_8cpp_source.html
new file mode 100644 (file)
index 0000000..f87e538
--- /dev/null
@@ -0,0 +1,179 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<title>HomeScreenBinding: libhomescreen/simple-egl.cpp Source File</title>
+<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="../../jquery.js"></script>
+<script type="text/javascript" src="../../dynsections.js"></script>
+<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="../../search/searchdata.js"></script>
+<script type="text/javascript" src="../../search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">HomeScreenBinding
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="../../index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="../../annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="../../files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="../../search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="../../files.html"><span>File&#160;List</span></a></li>
+      <li><a href="../../globals.html"><span>File&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="../../dir_65f76d62445e9e84c0450b12bf77c3bc.html">libhomescreen</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">simple-egl.cpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="../../de/da4/simple-egl_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * Copyright (c) 2017 TOYOTA MOTOR CORPORATION</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> * Copyright © 2011 Benjamin Franzke</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * Permission is hereby granted, free of charge, to any person obtaining a</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * copy of this software and associated documentation files (the &quot;Software&quot;),</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> * to deal in the Software without restriction, including without limitation</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> * the rights to use, copy, modify, merge, publish, distribute, sublicense,</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> * and/or sell copies of the Software, and to permit persons to whom the</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * Software is furnished to do so, subject to the following conditions:</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> * The above copyright notice and this permission notice (including the next</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * paragraph) shall be included in all copies or substantial portions of the</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * Software.</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> * THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment"> * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment"> * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment"> * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment"> * DEALINGS IN THE SOFTWARE.</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &lt;mutex&gt;</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;chrono&gt;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &lt;iostream&gt;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &lt;stdarg.h&gt;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &lt;sys/types.h&gt;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &lt;thread&gt;</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#include &lt;exception&gt;</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &lt;sstream&gt;</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#include &lt;assert.h&gt;</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#include &lt;signal.h&gt;</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor">#include &lt;wayland-client.h&gt;</span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#include &lt;wayland-egl.h&gt;</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor">#include &lt;GLES2/gl2.h&gt;</span></div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#include &lt;EGL/egl.h&gt;</span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor">#include &lt;EGL/eglext.h&gt;</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor">#include &lt;unistd.h&gt;</span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">#include &lt;time.h&gt;</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#include &lt;libwindowmanager.h&gt;</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="../../df/d43/libhomescreen_8hpp.html">libhomescreen.hpp</a>&gt;</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="preprocessor">#include &lt;ilm/ivi-application-client-protocol.h&gt;</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#include &quot;hmi-debug.h&quot;</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keyword">using namespace </span><a class="code" href="../../d8/dcc/namespacestd.html">std</a>;</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="../../de/da4/simple-egl_8cpp.html#a894f18168fa25101d792262f59846938">   58</a></span>&#160;<span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="../../de/da4/simple-egl_8cpp.html#a894f18168fa25101d792262f59846938">log_prefix</a> = <span class="stringliteral">&quot;simple-egl&quot;</span>;</div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="../../de/da4/simple-egl_8cpp.html#a28f56c9f01ed9f108201950645317cc9">   59</a></span>&#160;uint32_t <a class="code" href="../../de/da4/simple-egl_8cpp.html#a28f56c9f01ed9f108201950645317cc9">g_id_ivisurf</a> = 9009;</div><div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="../../de/da4/simple-egl_8cpp.html#a300b6806fe6818927fe4df08f2398124">   60</a></span>&#160;<span class="keywordtype">long</span> <a class="code" href="../../de/da4/simple-egl_8cpp.html#a300b6806fe6818927fe4df08f2398124">port</a> = 1700;</div><div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="../../de/da4/simple-egl_8cpp.html#a623ef6987ef3bd185c07b28b13e46d34">   61</a></span>&#160;<span class="keywordtype">string</span> <a class="code" href="../../de/da4/simple-egl_8cpp.html#a623ef6987ef3bd185c07b28b13e46d34">token</a> = string(<span class="stringliteral">&quot;wm&quot;</span>);</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="../../de/da4/simple-egl_8cpp.html#a0da928eccfc57d1dfadfd29d4ac4854c">   63</a></span>&#160;<span class="keywordtype">string</span> <a class="code" href="../../de/da4/simple-egl_8cpp.html#a0da928eccfc57d1dfadfd29d4ac4854c">app_name</a> = string(<span class="stringliteral">&quot;Navigation&quot;</span>);</div><div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="../../de/da4/simple-egl_8cpp.html#a332251aa739a56836cd4fbf3ecbb8bb2">   64</a></span>&#160;<span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="../../de/da4/simple-egl_8cpp.html#a332251aa739a56836cd4fbf3ecbb8bb2">main_role</a> = <span class="stringliteral">&quot;navigation&quot;</span>;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;</div><div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="../../de/da4/simple-egl_8cpp.html#a529acbd1fed9d98a587edfa62309fa8d">   66</a></span>&#160;<a class="code" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a>* <a class="code" href="../../de/da4/simple-egl_8cpp.html#a529acbd1fed9d98a587edfa62309fa8d">hs</a>;</div><div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="../../de/da4/simple-egl_8cpp.html#ad1513698e07197206c290f94d7669d85">   67</a></span>&#160;LibWindowmanager *<a class="code" href="../../de/da4/simple-egl_8cpp.html#ad1513698e07197206c290f94d7669d85">wm</a>;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="../../de/da4/simple-egl_8cpp.html#aea3203db9e218d3e5d60bdb4ebe2fa1f">   69</a></span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">struct </span>wl_interface *<a class="code" href="../../de/da4/simple-egl_8cpp.html#aea3203db9e218d3e5d60bdb4ebe2fa1f">types</a>[] = {</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;        NULL,</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;        NULL,</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;        NULL,</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;        &amp;wl_surface_interface,</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;        &amp;<a class="code" href="../../de/da4/simple-egl_8cpp.html#adf384de8d12d2edd7265ab85fd16b11c">ivi_surface_interface</a>,</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;};</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;</div><div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="../../de/da4/simple-egl_8cpp.html#ada80120c5590d2821da9babef808b98d">   77</a></span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">struct </span>wl_message <a class="code" href="../../de/da4/simple-egl_8cpp.html#ada80120c5590d2821da9babef808b98d">ivi_surface_requests</a>[] = {</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;        { <span class="stringliteral">&quot;destroy&quot;</span>, <span class="stringliteral">&quot;&quot;</span>, <a class="code" href="../../de/da4/simple-egl_8cpp.html#aea3203db9e218d3e5d60bdb4ebe2fa1f">types</a> + 0 },</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;};</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="../../de/da4/simple-egl_8cpp.html#ac848f4fbf712a9ba414272fa85577791">   81</a></span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">struct </span>wl_message <a class="code" href="../../de/da4/simple-egl_8cpp.html#ac848f4fbf712a9ba414272fa85577791">ivi_surface_events</a>[] = {</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;        { <span class="stringliteral">&quot;configure&quot;</span>, <span class="stringliteral">&quot;ii&quot;</span>, <a class="code" href="../../de/da4/simple-egl_8cpp.html#aea3203db9e218d3e5d60bdb4ebe2fa1f">types</a> + 0 },</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;};</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div><div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="../../de/da4/simple-egl_8cpp.html#adf384de8d12d2edd7265ab85fd16b11c">   85</a></span>&#160;<span class="keyword">const</span> <span class="keyword">struct </span>wl_interface <a class="code" href="../../de/da4/simple-egl_8cpp.html#adf384de8d12d2edd7265ab85fd16b11c">ivi_surface_interface</a> = {</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;        <span class="stringliteral">&quot;ivi_surface&quot;</span>, 1,</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;        1, <a class="code" href="../../de/da4/simple-egl_8cpp.html#ada80120c5590d2821da9babef808b98d">ivi_surface_requests</a>,</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;        1, <a class="code" href="../../de/da4/simple-egl_8cpp.html#ac848f4fbf712a9ba414272fa85577791">ivi_surface_events</a>,</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;};</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="../../de/da4/simple-egl_8cpp.html#a21a39b7c6cf5f6d10a62a70b3ebc9bad">   91</a></span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">struct </span>wl_message <a class="code" href="../../de/da4/simple-egl_8cpp.html#a21a39b7c6cf5f6d10a62a70b3ebc9bad">ivi_application_requests</a>[] = {</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;        { <span class="stringliteral">&quot;surface_create&quot;</span>, <span class="stringliteral">&quot;uon&quot;</span>, <a class="code" href="../../de/da4/simple-egl_8cpp.html#aea3203db9e218d3e5d60bdb4ebe2fa1f">types</a> + 2 },</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;};</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;</div><div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="../../de/da4/simple-egl_8cpp.html#a769b65b7b0e834f732f1f45e835890d5">   95</a></span>&#160;<span class="keyword">const</span> <span class="keyword">struct </span>wl_interface <a class="code" href="../../de/da4/simple-egl_8cpp.html#a769b65b7b0e834f732f1f45e835890d5">ivi_application_interface</a> = {</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;    <span class="stringliteral">&quot;ivi_application&quot;</span>, 1,</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;    1, <a class="code" href="../../de/da4/simple-egl_8cpp.html#a21a39b7c6cf5f6d10a62a70b3ebc9bad">ivi_application_requests</a>,</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;    0, NULL,</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;};</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="preprocessor">#include &quot;platform.h&quot;</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="preprocessor">#ifndef EGL_EXT_swap_buffers_with_damage</span></div><div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="../../de/da4/simple-egl_8cpp.html#a083d37f289b99270e0391419178d458f">  104</a></span>&#160;<span class="preprocessor">#define EGL_EXT_swap_buffers_with_damage 1</span></div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="../../de/da4/simple-egl_8cpp.html#a0720952aa1caded45b5bcdce589663a9">  105</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="../../de/da4/simple-egl_8cpp.html#ab4ad070d3bf82abe5e70330578f67893">EGLBoolean</a> (EGLAPIENTRYP PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC)(EGLDisplay dpy, EGLSurface <a class="code" href="../../de/da4/simple-egl_8cpp.html#a0720952aa1caded45b5bcdce589663a9">surface</a>, EGLint *<a class="code" href="../../de/da4/simple-egl_8cpp.html#a56616f7ca3fc53c0da41d05de9330b11">rects</a>, EGLint <a class="code" href="../../de/da4/simple-egl_8cpp.html#aa6a11810244355f89e6c4961b9dd3b53">n_rects</a>);</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="preprocessor">#ifndef EGL_EXT_buffer_age</span></div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="../../de/da4/simple-egl_8cpp.html#a0792e3d8b2bc978f95917a234b0c81df">  109</a></span>&#160;<span class="preprocessor">#define EGL_EXT_buffer_age 1</span></div><div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="../../de/da4/simple-egl_8cpp.html#a7045d8a6b4857f268a62fab2de2021fd">  110</a></span>&#160;<span class="preprocessor">#define EGL_BUFFER_AGE_EXT          0x313D</span></div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="keyword">struct </span><a class="code" href="../../d6/de3/structwindow.html">window</a>;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="keyword">struct </span>seat;</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;</div><div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="../../d6/df5/structdisplay.html">  116</a></span>&#160;<span class="keyword">struct </span><a class="code" href="../../d6/df5/structdisplay.html">display</a> {</div><div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="../../d6/df5/structdisplay.html#aa8faf09631925e9221fd8a0c086ce75a">  117</a></span>&#160;    <span class="keyword">struct </span>wl_display *<a class="code" href="../../d6/df5/structdisplay.html#aa8faf09631925e9221fd8a0c086ce75a">display</a>;</div><div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="../../d6/df5/structdisplay.html#a925781323f5c8eb84ef2225ed129de4b">  118</a></span>&#160;    <span class="keyword">struct </span>wl_registry *<a class="code" href="../../d6/df5/structdisplay.html#a925781323f5c8eb84ef2225ed129de4b">registry</a>;</div><div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="../../d6/df5/structdisplay.html#a41ba32dfde812165dda5b62885000c78">  119</a></span>&#160;    <span class="keyword">struct </span>wl_compositor *<a class="code" href="../../d6/df5/structdisplay.html#a41ba32dfde812165dda5b62885000c78">compositor</a>;</div><div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="../../d6/df5/structdisplay.html#a9dd8fd9967beb6b3767bd93011373bb8">  120</a></span>&#160;    <span class="keyword">struct </span>wl_seat *<a class="code" href="../../d6/df5/structdisplay.html#a9dd8fd9967beb6b3767bd93011373bb8">seat</a>;</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;    <span class="keyword">struct </span>{</div><div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="../../d6/df5/structdisplay.html#a8a1cbda15a286e41e89a85f158ce9311">  122</a></span>&#160;        EGLDisplay <a class="code" href="../../d6/df5/structdisplay.html#a8a1cbda15a286e41e89a85f158ce9311">dpy</a>;</div><div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="../../d6/df5/structdisplay.html#a3420940a29a710e0e5ebd41ba462cc00">  123</a></span>&#160;        EGLContext <a class="code" href="../../d6/df5/structdisplay.html#a3420940a29a710e0e5ebd41ba462cc00">ctx</a>;</div><div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="../../d6/df5/structdisplay.html#a880aef9408b499f5b749541dc6e396c3">  124</a></span>&#160;        EGLConfig <a class="code" href="../../d6/df5/structdisplay.html#a880aef9408b499f5b749541dc6e396c3">conf</a>;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;    } egl;</div><div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="../../d6/df5/structdisplay.html#a9974d560bec291487ae2440f897ffc58">  126</a></span>&#160;    <span class="keyword">struct </span><a class="code" href="../../d6/de3/structwindow.html">window</a> *<a class="code" href="../../d6/df5/structdisplay.html#a9974d560bec291487ae2440f897ffc58">window</a>;</div><div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="../../d6/df5/structdisplay.html#a24c073faff3bb4799c2d46291f27ab89">  127</a></span>&#160;    <span class="keyword">struct </span>ivi_application *<a class="code" href="../../d6/df5/structdisplay.html#a24c073faff3bb4799c2d46291f27ab89">ivi_application</a>;</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;</div><div class="line"><a name="l00129"></a><span class="lineno"><a class="line" href="../../d6/df5/structdisplay.html#a48c46c118e4765ef06596f6341c8f23f">  129</a></span>&#160;    PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC <a class="code" href="../../d6/df5/structdisplay.html#a48c46c118e4765ef06596f6341c8f23f">swap_buffers_with_damage</a>;</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;};</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;</div><div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="../../dd/ddc/structgeometry.html">  132</a></span>&#160;<span class="keyword">struct </span><a class="code" href="../../dd/ddc/structgeometry.html">geometry</a> {</div><div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="../../dd/ddc/structgeometry.html#a854a87ce277335591f06958a2363c3e1">  133</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="../../dd/ddc/structgeometry.html#a854a87ce277335591f06958a2363c3e1">width</a>, height;</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;};</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;</div><div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="../../d6/de3/structwindow.html">  136</a></span>&#160;<span class="keyword">struct </span><a class="code" href="../../d6/de3/structwindow.html">window</a> {</div><div class="line"><a name="l00137"></a><span class="lineno"><a class="line" href="../../d6/de3/structwindow.html#a129486f2bd23791194f389ca1405cfd4">  137</a></span>&#160;    <span class="keyword">struct </span><a class="code" href="../../d6/df5/structdisplay.html">display</a> *<a class="code" href="../../d6/de3/structwindow.html#a129486f2bd23791194f389ca1405cfd4">display</a>;</div><div class="line"><a name="l00138"></a><span class="lineno"><a class="line" href="../../d6/de3/structwindow.html#ad2b6c8ed8044b41fd1189a0ce26d539a">  138</a></span>&#160;    <span class="keyword">struct </span><a class="code" href="../../dd/ddc/structgeometry.html">geometry</a> <a class="code" href="../../dd/ddc/structgeometry.html">geometry</a>, window_size;</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;    <span class="keyword">struct </span>{</div><div class="line"><a name="l00140"></a><span class="lineno"><a class="line" href="../../d6/de3/structwindow.html#a5202f3b60e262a6fa4fcee68dd47cb67">  140</a></span>&#160;        GLuint <a class="code" href="../../d6/de3/structwindow.html#a5202f3b60e262a6fa4fcee68dd47cb67">rotation_uniform</a>;</div><div class="line"><a name="l00141"></a><span class="lineno"><a class="line" href="../../d6/de3/structwindow.html#aaf965f90f9fc938db2315ff62028c362">  141</a></span>&#160;        GLuint <a class="code" href="../../d6/de3/structwindow.html#aaf965f90f9fc938db2315ff62028c362">pos</a>;</div><div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="../../d6/de3/structwindow.html#aef10fe94766ccd4831ee611c5ad0e55c">  142</a></span>&#160;        GLuint <a class="code" href="../../d6/de3/structwindow.html#aef10fe94766ccd4831ee611c5ad0e55c">col</a>;</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;    } gl;</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="../../d6/de3/structwindow.html#a633864bb495ec265bee220a5c70cc98f">  145</a></span>&#160;    uint32_t benchmark_time, <a class="code" href="../../d6/de3/structwindow.html#a633864bb495ec265bee220a5c70cc98f">frames</a>;</div><div class="line"><a name="l00146"></a><span class="lineno"><a class="line" href="../../d6/de3/structwindow.html#ae41be0955d0e73530e1bc13dfeb9d731">  146</a></span>&#160;    <span class="keyword">struct </span>wl_egl_window *<a class="code" href="../../d6/de3/structwindow.html#ae41be0955d0e73530e1bc13dfeb9d731">native</a>;</div><div class="line"><a name="l00147"></a><span class="lineno"><a class="line" href="../../d6/de3/structwindow.html#a7d0790cfc7c30621611fa26ab5c1ae97">  147</a></span>&#160;    <span class="keyword">struct </span>wl_surface *<a class="code" href="../../d6/de3/structwindow.html#a7d0790cfc7c30621611fa26ab5c1ae97">surface</a>;</div><div class="line"><a name="l00148"></a><span class="lineno"><a class="line" href="../../d6/de3/structwindow.html#a40e2c6fb4178953c820fc1b9f41d4b31">  148</a></span>&#160;    <span class="keyword">struct </span>ivi_surface *<a class="code" href="../../d6/de3/structwindow.html#a40e2c6fb4178953c820fc1b9f41d4b31">ivi_surface</a>;</div><div class="line"><a name="l00149"></a><span class="lineno"><a class="line" href="../../d6/de3/structwindow.html#a8de0059f3f1cb0dec33fba1143b7dee1">  149</a></span>&#160;    EGLSurface <a class="code" href="../../d6/de3/structwindow.html#a8de0059f3f1cb0dec33fba1143b7dee1">egl_surface</a>;</div><div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="../../d6/de3/structwindow.html#a35ba639556fa19d9273dad0953a6807e">  150</a></span>&#160;    <span class="keyword">struct </span>wl_callback *<a class="code" href="../../d6/de3/structwindow.html#a35ba639556fa19d9273dad0953a6807e">callback</a>;</div><div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="../../d6/de3/structwindow.html#a026a50808d8323a5a73d585c19916fa8">  151</a></span>&#160;    <span class="keywordtype">int</span> fullscreen, <a class="code" href="../../d6/de3/structwindow.html#a026a50808d8323a5a73d585c19916fa8">opaque</a>, buffer_size, frame_sync;</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;};</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;</div><div class="line"><a name="l00154"></a><span class="lineno"><a class="line" href="../../de/da4/simple-egl_8cpp.html#a717575939a37d84dcd4cf0447a630834">  154</a></span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="../../de/da4/simple-egl_8cpp.html#a717575939a37d84dcd4cf0447a630834">vert_shader_text</a> =</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;    <span class="stringliteral">&quot;uniform mat4 rotation;\n&quot;</span></div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;    <span class="stringliteral">&quot;attribute vec4 pos;\n&quot;</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;    <span class="stringliteral">&quot;attribute vec4 color;\n&quot;</span></div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;    <span class="stringliteral">&quot;varying vec4 v_color;\n&quot;</span></div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;    <span class="stringliteral">&quot;void main() {\n&quot;</span></div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;    <span class="stringliteral">&quot;  gl_Position = rotation * pos;\n&quot;</span></div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;    <span class="stringliteral">&quot;  v_color = color;\n&quot;</span></div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;    <span class="stringliteral">&quot;}\n&quot;</span>;</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="../../de/da4/simple-egl_8cpp.html#ab5a6a2a26ac23f79b1687daa4b0d8980">  164</a></span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="../../de/da4/simple-egl_8cpp.html#ab5a6a2a26ac23f79b1687daa4b0d8980">frag_shader_text</a> =</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;    <span class="stringliteral">&quot;precision mediump float;\n&quot;</span></div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;    <span class="stringliteral">&quot;varying vec4 v_color;\n&quot;</span></div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;    <span class="stringliteral">&quot;void main() {\n&quot;</span></div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;    <span class="stringliteral">&quot;  gl_FragColor = v_color;\n&quot;</span></div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;    <span class="stringliteral">&quot;}\n&quot;</span>;</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;</div><div class="line"><a name="l00171"></a><span class="lineno"><a class="line" href="../../de/da4/simple-egl_8cpp.html#a2f45113638a0b749a8a205d2cd7fb42b">  171</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="../../de/da4/simple-egl_8cpp.html#a2f45113638a0b749a8a205d2cd7fb42b">running</a> = 1;</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span></div><div class="line"><a name="l00174"></a><span class="lineno"><a class="line" href="../../de/da4/simple-egl_8cpp.html#a1073d4aca1838d3877fe577d813700fc">  174</a></span>&#160;<a class="code" href="../../de/da4/simple-egl_8cpp.html#a1073d4aca1838d3877fe577d813700fc">init_egl</a>(<span class="keyword">struct</span> <a class="code" href="../../d6/df5/structdisplay.html">display</a> *<a class="code" href="../../d6/df5/structdisplay.html">display</a>, <span class="keyword">struct</span> <a class="code" href="../../d6/de3/structwindow.html">window</a> *<a class="code" href="../../d6/de3/structwindow.html">window</a>)</div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;{</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;    <span class="keyword">static</span> <span class="keyword">const</span> EGLint context_attribs[] = {</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;        EGL_CONTEXT_CLIENT_VERSION, 2,</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;        EGL_NONE</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;    };</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> *extensions;</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;    EGLint config_attribs[] = {</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;        EGL_SURFACE_TYPE, EGL_WINDOW_BIT,</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;        EGL_RED_SIZE, 1,</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;        EGL_GREEN_SIZE, 1,</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;        EGL_BLUE_SIZE, 1,</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;        EGL_ALPHA_SIZE, 1,</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;        EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT,</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;        EGL_NONE</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;    };</div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;    EGLint major, minor, n, count, i, size;</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;    EGLConfig *configs;</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;    <a class="code" href="../../de/da4/simple-egl_8cpp.html#ab4ad070d3bf82abe5e70330578f67893">EGLBoolean</a> ret;</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;    <span class="keywordflow">if</span> (window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a026a50808d8323a5a73d585c19916fa8">opaque</a> || window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a0e634038f669aff472012f25ea250b40">buffer_size</a> == 16)</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;        config_attribs[9] = 0;</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;</div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;    display-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">egl</a>.<a class="code" href="../../d6/df5/structdisplay.html#a8a1cbda15a286e41e89a85f158ce9311">dpy</a> = weston_platform_get_egl_display(EGL_PLATFORM_WAYLAND_KHR, display-&gt;<a class="code" href="../../d6/df5/structdisplay.html#aa8faf09631925e9221fd8a0c086ce75a">display</a>, NULL);</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;    assert(display-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">egl</a>.<a class="code" href="../../d6/df5/structdisplay.html#a8a1cbda15a286e41e89a85f158ce9311">dpy</a>);</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;    ret = eglInitialize(display-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">egl</a>.<a class="code" href="../../d6/df5/structdisplay.html#a8a1cbda15a286e41e89a85f158ce9311">dpy</a>, &amp;major, &amp;minor);</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;    assert(ret == EGL_TRUE);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;    ret = eglBindAPI(EGL_OPENGL_ES_API);</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;    assert(ret == EGL_TRUE);</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;    <span class="keywordflow">if</span> (!eglGetConfigs(display-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">egl</a>.<a class="code" href="../../d6/df5/structdisplay.html#a8a1cbda15a286e41e89a85f158ce9311">dpy</a>, NULL, 0, &amp;count) || count &lt; 1)</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;        assert(0);</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;    configs = calloc(count, <span class="keyword">sizeof</span> *configs);</div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;    assert(configs);</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;    ret = eglChooseConfig(display-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">egl</a>.<a class="code" href="../../d6/df5/structdisplay.html#a8a1cbda15a286e41e89a85f158ce9311">dpy</a>, config_attribs,</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;                  configs, count, &amp;n);</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;    assert(ret &amp;&amp; n &gt;= 1);</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;    <span class="keywordflow">for</span> (i = 0; i &lt; n; i++) {</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;        eglGetConfigAttrib(display-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">egl</a>.<a class="code" href="../../d6/df5/structdisplay.html#a8a1cbda15a286e41e89a85f158ce9311">dpy</a>,</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;                   configs[i], EGL_BUFFER_SIZE, &amp;size);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;        <span class="keywordflow">if</span> (window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a0e634038f669aff472012f25ea250b40">buffer_size</a> == size) {</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;            display-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">egl</a>.<a class="code" href="../../d6/df5/structdisplay.html#a880aef9408b499f5b749541dc6e396c3">conf</a> = configs[i];</div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;        }</div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;    }</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;    free(configs);</div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;    <span class="keywordflow">if</span> (display-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">egl</a>.<a class="code" href="../../d6/df5/structdisplay.html#a880aef9408b499f5b749541dc6e396c3">conf</a> == NULL) {</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a>(<a class="code" href="../../de/da4/simple-egl_8cpp.html#a894f18168fa25101d792262f59846938">log_prefix</a>,<span class="stringliteral">&quot;did not find config with buffer size %d&quot;</span>,</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;            window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a0e634038f669aff472012f25ea250b40">buffer_size</a>);</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;        exit(EXIT_FAILURE);</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;    }</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;    display-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">egl</a>.<a class="code" href="../../d6/df5/structdisplay.html#a3420940a29a710e0e5ebd41ba462cc00">ctx</a> = eglCreateContext(display-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">egl</a>.<a class="code" href="../../d6/df5/structdisplay.html#a8a1cbda15a286e41e89a85f158ce9311">dpy</a>,</div><div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;                        display-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">egl</a>.<a class="code" href="../../d6/df5/structdisplay.html#a880aef9408b499f5b749541dc6e396c3">conf</a>,</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;                        EGL_NO_CONTEXT, context_attribs);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;    assert(display-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">egl</a>.<a class="code" href="../../d6/df5/structdisplay.html#a3420940a29a710e0e5ebd41ba462cc00">ctx</a>);</div><div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;</div><div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;    display-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a48c46c118e4765ef06596f6341c8f23f">swap_buffers_with_damage</a> = NULL;</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;    extensions = eglQueryString(display-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">egl</a>.<a class="code" href="../../d6/df5/structdisplay.html#a8a1cbda15a286e41e89a85f158ce9311">dpy</a>, EGL_EXTENSIONS);</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;    <span class="keywordflow">if</span> (extensions &amp;&amp;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;        strstr(extensions, <span class="stringliteral">&quot;EGL_EXT_swap_buffers_with_damage&quot;</span>) &amp;&amp;</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;        strstr(extensions, <span class="stringliteral">&quot;EGL_EXT_buffer_age&quot;</span>))</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;        display-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a48c46c118e4765ef06596f6341c8f23f">swap_buffers_with_damage</a> =</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;            (PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC)</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;            eglGetProcAddress(<span class="stringliteral">&quot;eglSwapBuffersWithDamageEXT&quot;</span>);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;    <span class="keywordflow">if</span> (display-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a48c46c118e4765ef06596f6341c8f23f">swap_buffers_with_damage</a>)</div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a>(<a class="code" href="../../de/da4/simple-egl_8cpp.html#a894f18168fa25101d792262f59846938">log_prefix</a>,<span class="stringliteral">&quot;has EGL_EXT_buffer_age and EGL_EXT_swap_buffers_with_damage&quot;</span>);</div><div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;</div><div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;}</div><div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span></div><div class="line"><a name="l00252"></a><span class="lineno"><a class="line" href="../../de/da4/simple-egl_8cpp.html#a4f71f46ede5b73bd7c770c973826f771">  252</a></span>&#160;<a class="code" href="../../de/da4/simple-egl_8cpp.html#a4f71f46ede5b73bd7c770c973826f771">fini_egl</a>(<span class="keyword">struct</span> <a class="code" href="../../d6/df5/structdisplay.html">display</a> *<a class="code" href="../../d6/df5/structdisplay.html">display</a>)</div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;{</div><div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;    eglTerminate(display-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">egl</a>.<a class="code" href="../../d6/df5/structdisplay.html#a8a1cbda15a286e41e89a85f158ce9311">dpy</a>);</div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;    eglReleaseThread();</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;}</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;<span class="keyword">static</span> GLuint</div><div class="line"><a name="l00259"></a><span class="lineno"><a class="line" href="../../de/da4/simple-egl_8cpp.html#ab72c580e4d6d47c2fb49c72cc76b85bb">  259</a></span>&#160;<a class="code" href="../../de/da4/simple-egl_8cpp.html#ab72c580e4d6d47c2fb49c72cc76b85bb">create_shader</a>(<span class="keyword">struct</span> <a class="code" href="../../d6/de3/structwindow.html">window</a> *<a class="code" href="../../d6/de3/structwindow.html">window</a>, <span class="keyword">const</span> <span class="keywordtype">char</span> *source, GLenum shader_type)</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;{</div><div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;    GLuint shader;</div><div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;    GLint status;</div><div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;</div><div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;    shader = glCreateShader(shader_type);</div><div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;    assert(shader != 0);</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;    glShaderSource(shader, 1, (<span class="keyword">const</span> <span class="keywordtype">char</span> **) &amp;source, NULL);</div><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;    glCompileShader(shader);</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;    glGetShaderiv(shader, GL_COMPILE_STATUS, &amp;status);</div><div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;    <span class="keywordflow">if</span> (!status) {</div><div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;        <span class="keywordtype">char</span> log[1000];</div><div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;        GLsizei len;</div><div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;        glGetShaderInfoLog(shader, 1000, &amp;len, log);</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a>(<a class="code" href="../../de/da4/simple-egl_8cpp.html#a894f18168fa25101d792262f59846938">log_prefix</a>,<span class="stringliteral">&quot;Error: compiling %s: %*s&quot;</span>,</div><div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;            shader_type == GL_VERTEX_SHADER ? <span class="stringliteral">&quot;vertex&quot;</span> : <span class="stringliteral">&quot;fragment&quot;</span>,</div><div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;            len, log);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;        exit(1);</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;    }</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;</div><div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;    <span class="keywordflow">return</span> shader;</div><div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;}</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;</div><div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span></div><div class="line"><a name="l00285"></a><span class="lineno"><a class="line" href="../../de/da4/simple-egl_8cpp.html#ab3ee863fa45f4026f78f592d6f6e34ff">  285</a></span>&#160;<a class="code" href="../../de/da4/simple-egl_8cpp.html#ab3ee863fa45f4026f78f592d6f6e34ff">init_gl</a>(<span class="keyword">struct</span> <a class="code" href="../../d6/de3/structwindow.html">window</a> *<a class="code" href="../../d6/de3/structwindow.html">window</a>)</div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;{</div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;    GLuint frag, vert;</div><div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;    GLuint program;</div><div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;    GLint status;</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;</div><div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;    frag = <a class="code" href="../../de/da4/simple-egl_8cpp.html#ab72c580e4d6d47c2fb49c72cc76b85bb">create_shader</a>(window, <a class="code" href="../../de/da4/simple-egl_8cpp.html#ab5a6a2a26ac23f79b1687daa4b0d8980">frag_shader_text</a>, GL_FRAGMENT_SHADER);</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;    vert = <a class="code" href="../../de/da4/simple-egl_8cpp.html#ab72c580e4d6d47c2fb49c72cc76b85bb">create_shader</a>(window, <a class="code" href="../../de/da4/simple-egl_8cpp.html#a717575939a37d84dcd4cf0447a630834">vert_shader_text</a>, GL_VERTEX_SHADER);</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;    program = glCreateProgram();</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;    glAttachShader(program, frag);</div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;    glAttachShader(program, vert);</div><div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;    glLinkProgram(program);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;</div><div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;    glGetProgramiv(program, GL_LINK_STATUS, &amp;status);</div><div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;    <span class="keywordflow">if</span> (!status) {</div><div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;        <span class="keywordtype">char</span> log[1000];</div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;        GLsizei len;</div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;        glGetProgramInfoLog(program, 1000, &amp;len, log);</div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a>(<a class="code" href="../../de/da4/simple-egl_8cpp.html#a894f18168fa25101d792262f59846938">log_prefix</a>,<span class="stringliteral">&quot;Error: linking:%*s&quot;</span>, len, log);</div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;        exit(1);</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;    }</div><div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;</div><div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;    glUseProgram(program);</div><div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;</div><div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;    window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a6975a930e9a3c166f8201fc4ef5e7728">gl</a>.<a class="code" href="../../d6/de3/structwindow.html#aaf965f90f9fc938db2315ff62028c362">pos</a> = 0;</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;    window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a6975a930e9a3c166f8201fc4ef5e7728">gl</a>.<a class="code" href="../../d6/de3/structwindow.html#aef10fe94766ccd4831ee611c5ad0e55c">col</a> = 1;</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;    glBindAttribLocation(program, window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a6975a930e9a3c166f8201fc4ef5e7728">gl</a>.<a class="code" href="../../d6/de3/structwindow.html#aaf965f90f9fc938db2315ff62028c362">pos</a>, <span class="stringliteral">&quot;pos&quot;</span>);</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;    glBindAttribLocation(program, window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a6975a930e9a3c166f8201fc4ef5e7728">gl</a>.<a class="code" href="../../d6/de3/structwindow.html#aef10fe94766ccd4831ee611c5ad0e55c">col</a>, <span class="stringliteral">&quot;color&quot;</span>);</div><div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;    glLinkProgram(program);</div><div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;</div><div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;    window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a6975a930e9a3c166f8201fc4ef5e7728">gl</a>.<a class="code" href="../../d6/de3/structwindow.html#a5202f3b60e262a6fa4fcee68dd47cb67">rotation_uniform</a> =</div><div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;        glGetUniformLocation(program, <span class="stringliteral">&quot;rotation&quot;</span>);</div><div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;}</div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;</div><div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span></div><div class="line"><a name="l00322"></a><span class="lineno"><a class="line" href="../../de/da4/simple-egl_8cpp.html#a0122201fe28a7f35b0fbd362fff7094e">  322</a></span>&#160;<a class="code" href="../../de/da4/simple-egl_8cpp.html#a0122201fe28a7f35b0fbd362fff7094e">create_ivi_surface</a>(<span class="keyword">struct</span> <a class="code" href="../../d6/de3/structwindow.html">window</a> *<a class="code" href="../../d6/de3/structwindow.html">window</a>, <span class="keyword">struct</span> <a class="code" href="../../d6/df5/structdisplay.html">display</a> *<a class="code" href="../../d6/df5/structdisplay.html">display</a>)</div><div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;{</div><div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;    uint32_t id_ivisurf = <a class="code" href="../../de/da4/simple-egl_8cpp.html#a28f56c9f01ed9f108201950645317cc9">g_id_ivisurf</a>;</div><div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;    window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a40e2c6fb4178953c820fc1b9f41d4b31">ivi_surface</a> =</div><div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;        ivi_application_surface_create(display-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a24c073faff3bb4799c2d46291f27ab89">ivi_application</a>,</div><div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;                           id_ivisurf, window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a7d0790cfc7c30621611fa26ab5c1ae97">surface</a>);</div><div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;</div><div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;    <span class="keywordflow">if</span> (window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a40e2c6fb4178953c820fc1b9f41d4b31">ivi_surface</a> == NULL) {</div><div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a>(<a class="code" href="../../de/da4/simple-egl_8cpp.html#a894f18168fa25101d792262f59846938">log_prefix</a>,<span class="stringliteral">&quot;Failed to create ivi_client_surface&quot;</span>);</div><div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;        abort();</div><div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;    }</div><div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;</div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;}</div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;</div><div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span></div><div class="line"><a name="l00337"></a><span class="lineno"><a class="line" href="../../de/da4/simple-egl_8cpp.html#a83c7f2e34bbc715d97f0642def708293">  337</a></span>&#160;<a class="code" href="../../de/da4/simple-egl_8cpp.html#a83c7f2e34bbc715d97f0642def708293">create_surface</a>(<span class="keyword">struct</span> <a class="code" href="../../d6/de3/structwindow.html">window</a> *<a class="code" href="../../d6/de3/structwindow.html">window</a>)</div><div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;{</div><div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;    <span class="keyword">struct </span><a class="code" href="../../d6/df5/structdisplay.html">display</a> *<a class="code" href="../../d6/df5/structdisplay.html">display</a> = window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a129486f2bd23791194f389ca1405cfd4">display</a>;</div><div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;    <a class="code" href="../../de/da4/simple-egl_8cpp.html#ab4ad070d3bf82abe5e70330578f67893">EGLBoolean</a> ret;</div><div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;</div><div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;    window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a7d0790cfc7c30621611fa26ab5c1ae97">surface</a> = wl_compositor_create_surface(display-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a41ba32dfde812165dda5b62885000c78">compositor</a>);</div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;</div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;    window-&gt;<a class="code" href="../../d6/de3/structwindow.html#ae41be0955d0e73530e1bc13dfeb9d731">native</a> =</div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;        wl_egl_window_create(window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a7d0790cfc7c30621611fa26ab5c1ae97">surface</a>,</div><div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;                     window-&gt;geometry.width,</div><div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;                     window-&gt;geometry.height);</div><div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;    window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a8de0059f3f1cb0dec33fba1143b7dee1">egl_surface</a> =</div><div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;        weston_platform_create_egl_surface(display-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">egl</a>.<a class="code" href="../../d6/df5/structdisplay.html#a8a1cbda15a286e41e89a85f158ce9311">dpy</a>,</div><div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;                           display-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">egl</a>.<a class="code" href="../../d6/df5/structdisplay.html#a880aef9408b499f5b749541dc6e396c3">conf</a>,</div><div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;                           window-&gt;<a class="code" href="../../d6/de3/structwindow.html#ae41be0955d0e73530e1bc13dfeb9d731">native</a>, NULL);</div><div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;</div><div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;</div><div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;    <span class="keywordflow">if</span> (display-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a24c073faff3bb4799c2d46291f27ab89">ivi_application</a> ) {</div><div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;        <a class="code" href="../../de/da4/simple-egl_8cpp.html#a0122201fe28a7f35b0fbd362fff7094e">create_ivi_surface</a>(window, display);</div><div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;    } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;        assert(0);</div><div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;    }</div><div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;</div><div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;    ret = eglMakeCurrent(window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a129486f2bd23791194f389ca1405cfd4">display</a>-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">egl</a>.<a class="code" href="../../d6/df5/structdisplay.html#a8a1cbda15a286e41e89a85f158ce9311">dpy</a>, window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a8de0059f3f1cb0dec33fba1143b7dee1">egl_surface</a>,</div><div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;                 window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a8de0059f3f1cb0dec33fba1143b7dee1">egl_surface</a>, window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a129486f2bd23791194f389ca1405cfd4">display</a>-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">egl</a>.<a class="code" href="../../d6/df5/structdisplay.html#a3420940a29a710e0e5ebd41ba462cc00">ctx</a>);</div><div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;    assert(ret == EGL_TRUE);</div><div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;</div><div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;    <span class="keywordflow">if</span> (!window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a851bcb65083f5ab5ff768b09522bed70">frame_sync</a>)</div><div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;        eglSwapInterval(display-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">egl</a>.<a class="code" href="../../d6/df5/structdisplay.html#a8a1cbda15a286e41e89a85f158ce9311">dpy</a>, 0);</div><div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;</div><div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;}</div><div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;</div><div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span></div><div class="line"><a name="l00370"></a><span class="lineno"><a class="line" href="../../de/da4/simple-egl_8cpp.html#aba2ea9aa51701e52d4f36b4f34cecf7a">  370</a></span>&#160;<a class="code" href="../../de/da4/simple-egl_8cpp.html#aba2ea9aa51701e52d4f36b4f34cecf7a">destroy_surface</a>(<span class="keyword">struct</span> <a class="code" href="../../d6/de3/structwindow.html">window</a> *<a class="code" href="../../d6/de3/structwindow.html">window</a>)</div><div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;{</div><div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;    <span class="comment">/* Required, otherwise segfault in egl_dri2.c: dri2_make_current()</span></div><div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;<span class="comment">     * on eglReleaseThread(). */</span></div><div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;    eglMakeCurrent(window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a129486f2bd23791194f389ca1405cfd4">display</a>-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">egl</a>.<a class="code" href="../../d6/df5/structdisplay.html#a8a1cbda15a286e41e89a85f158ce9311">dpy</a>, EGL_NO_SURFACE, EGL_NO_SURFACE,</div><div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;               EGL_NO_CONTEXT);</div><div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;</div><div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;    eglDestroySurface(window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a129486f2bd23791194f389ca1405cfd4">display</a>-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">egl</a>.<a class="code" href="../../d6/df5/structdisplay.html#a8a1cbda15a286e41e89a85f158ce9311">dpy</a>, window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a8de0059f3f1cb0dec33fba1143b7dee1">egl_surface</a>);</div><div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;    wl_egl_window_destroy(window-&gt;<a class="code" href="../../d6/de3/structwindow.html#ae41be0955d0e73530e1bc13dfeb9d731">native</a>);</div><div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;</div><div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;    <span class="keywordflow">if</span> (window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a129486f2bd23791194f389ca1405cfd4">display</a>-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a24c073faff3bb4799c2d46291f27ab89">ivi_application</a>)</div><div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;        ivi_surface_destroy(window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a40e2c6fb4178953c820fc1b9f41d4b31">ivi_surface</a>);</div><div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;    wl_surface_destroy(window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a7d0790cfc7c30621611fa26ab5c1ae97">surface</a>);</div><div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;</div><div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;    <span class="keywordflow">if</span> (window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a35ba639556fa19d9273dad0953a6807e">callback</a>)</div><div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;        wl_callback_destroy(window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a35ba639556fa19d9273dad0953a6807e">callback</a>);</div><div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;}</div><div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;</div><div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span></div><div class="line"><a name="l00389"></a><span class="lineno"><a class="line" href="../../de/da4/simple-egl_8cpp.html#a927502f6103ec35422eead39e62ab7ba">  389</a></span>&#160;<a class="code" href="../../de/da4/simple-egl_8cpp.html#a927502f6103ec35422eead39e62ab7ba">redraw</a>(<span class="keywordtype">void</span> *data, <span class="keyword">struct</span> wl_callback *callback, uint32_t time)</div><div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;{</div><div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;    <span class="keyword">struct </span><a class="code" href="../../d6/de3/structwindow.html">window</a> *<a class="code" href="../../d6/de3/structwindow.html">window</a> = data;</div><div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;    <span class="keyword">struct </span><a class="code" href="../../d6/df5/structdisplay.html">display</a> *<a class="code" href="../../d6/df5/structdisplay.html">display</a> = window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a129486f2bd23791194f389ca1405cfd4">display</a>;</div><div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;    <span class="keyword">static</span> <span class="keyword">const</span> GLfloat verts[3][2] = {</div><div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;        { -0.5, -0.5 },</div><div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;        {  0.5, -0.5 },</div><div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;        {  0,    0.5 }</div><div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;    };</div><div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;</div><div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;    <span class="keyword">static</span> <span class="keyword">const</span> GLfloat colors[3][3] = {</div><div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;        { 1, 0, 0 },</div><div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;        { 0, 1, 0 },</div><div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;        { 0, 0, 1 }</div><div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;    };</div><div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;</div><div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;    GLfloat angle;</div><div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;    GLfloat rotation[4][4] = {</div><div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;        { 1, 0, 0, 0 },</div><div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;        { 0, 1, 0, 0 },</div><div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;        { 0, 0, 1, 0 },</div><div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;        { 0, 0, 0, 1 }</div><div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;    };</div><div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;    <span class="keyword">static</span> <span class="keyword">const</span> uint32_t speed_div = 5, benchmark_interval = 5;</div><div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;    <span class="keyword">struct </span>wl_region *region;</div><div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;    EGLint rect[4];</div><div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;    EGLint buffer_age = 0;</div><div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;    <span class="keyword">struct </span>timeval tv;</div><div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;</div><div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;    assert(window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a35ba639556fa19d9273dad0953a6807e">callback</a> == callback);</div><div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;    window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a35ba639556fa19d9273dad0953a6807e">callback</a> = NULL;</div><div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;</div><div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;    <span class="keywordflow">if</span> (callback)</div><div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;        wl_callback_destroy(callback);</div><div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;</div><div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;    gettimeofday(&amp;tv, NULL);</div><div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;    time = tv.tv_sec * 1000 + tv.tv_usec / 1000;</div><div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;    <span class="keywordflow">if</span> (window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a633864bb495ec265bee220a5c70cc98f">frames</a> == 0)</div><div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;        window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a72629bf021a361ad900504732a74cb68">benchmark_time</a> = time;</div><div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;</div><div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;    <span class="keywordflow">if</span> (time - window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a72629bf021a361ad900504732a74cb68">benchmark_time</a> &gt; (benchmark_interval * 1000)) {</div><div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a>(<a class="code" href="../../de/da4/simple-egl_8cpp.html#a894f18168fa25101d792262f59846938">log_prefix</a>,<span class="stringliteral">&quot;%d frames in %d seconds: %f fps&quot;</span>,</div><div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;               window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a633864bb495ec265bee220a5c70cc98f">frames</a>,</div><div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;               benchmark_interval,</div><div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;               (<span class="keywordtype">float</span>) window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a633864bb495ec265bee220a5c70cc98f">frames</a> / benchmark_interval);</div><div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;        window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a72629bf021a361ad900504732a74cb68">benchmark_time</a> = time;</div><div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;        window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a633864bb495ec265bee220a5c70cc98f">frames</a> = 0;</div><div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;    }</div><div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;</div><div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;    angle = (time / speed_div) % 360 * M_PI / 180.0;</div><div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;    rotation[0][0] =  cos(angle);</div><div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;    rotation[0][2] =  sin(angle);</div><div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;    rotation[2][0] = -sin(angle);</div><div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;    rotation[2][2] =  cos(angle);</div><div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;</div><div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;    <span class="keywordflow">if</span> (display-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a48c46c118e4765ef06596f6341c8f23f">swap_buffers_with_damage</a>)</div><div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;        eglQuerySurface(display-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">egl</a>.<a class="code" href="../../d6/df5/structdisplay.html#a8a1cbda15a286e41e89a85f158ce9311">dpy</a>, window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a8de0059f3f1cb0dec33fba1143b7dee1">egl_surface</a>,</div><div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;                <a class="code" href="../../de/da4/simple-egl_8cpp.html#a7045d8a6b4857f268a62fab2de2021fd">EGL_BUFFER_AGE_EXT</a>, &amp;buffer_age);</div><div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;</div><div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;    glViewport(0, 0, window-&gt;geometry.width, window-&gt;geometry.height);</div><div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;</div><div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;    glUniformMatrix4fv(window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a6975a930e9a3c166f8201fc4ef5e7728">gl</a>.<a class="code" href="../../d6/de3/structwindow.html#a5202f3b60e262a6fa4fcee68dd47cb67">rotation_uniform</a>, 1, GL_FALSE,</div><div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;               (GLfloat *) rotation);</div><div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;</div><div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;    glClearColor(0.0, 0.0, 0.0, 0.5);</div><div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;    glClear(GL_COLOR_BUFFER_BIT);</div><div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;</div><div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;    glVertexAttribPointer(window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a6975a930e9a3c166f8201fc4ef5e7728">gl</a>.<a class="code" href="../../d6/de3/structwindow.html#aaf965f90f9fc938db2315ff62028c362">pos</a>, 2, GL_FLOAT, GL_FALSE, 0, verts);</div><div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;    glVertexAttribPointer(window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a6975a930e9a3c166f8201fc4ef5e7728">gl</a>.<a class="code" href="../../d6/de3/structwindow.html#aef10fe94766ccd4831ee611c5ad0e55c">col</a>, 3, GL_FLOAT, GL_FALSE, 0, colors);</div><div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;    glEnableVertexAttribArray(window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a6975a930e9a3c166f8201fc4ef5e7728">gl</a>.<a class="code" href="../../d6/de3/structwindow.html#aaf965f90f9fc938db2315ff62028c362">pos</a>);</div><div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;    glEnableVertexAttribArray(window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a6975a930e9a3c166f8201fc4ef5e7728">gl</a>.<a class="code" href="../../d6/de3/structwindow.html#aef10fe94766ccd4831ee611c5ad0e55c">col</a>);</div><div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;</div><div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;    glDrawArrays(GL_TRIANGLES, 0, 3);</div><div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;</div><div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;    glDisableVertexAttribArray(window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a6975a930e9a3c166f8201fc4ef5e7728">gl</a>.<a class="code" href="../../d6/de3/structwindow.html#aaf965f90f9fc938db2315ff62028c362">pos</a>);</div><div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;    glDisableVertexAttribArray(window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a6975a930e9a3c166f8201fc4ef5e7728">gl</a>.<a class="code" href="../../d6/de3/structwindow.html#aef10fe94766ccd4831ee611c5ad0e55c">col</a>);</div><div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;</div><div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;    <span class="keywordflow">if</span> (window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a026a50808d8323a5a73d585c19916fa8">opaque</a> || window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a8da44798a9e1feb7ed3fbd18ec3a28b6">fullscreen</a>) {</div><div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;        region = wl_compositor_create_region(window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a129486f2bd23791194f389ca1405cfd4">display</a>-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a41ba32dfde812165dda5b62885000c78">compositor</a>);</div><div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;        wl_region_add(region, 0, 0,</div><div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;                  window-&gt;geometry.width,</div><div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;                  window-&gt;geometry.height);</div><div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;        wl_surface_set_opaque_region(window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a7d0790cfc7c30621611fa26ab5c1ae97">surface</a>, region);</div><div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;        wl_region_destroy(region);</div><div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;    } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;        wl_surface_set_opaque_region(window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a7d0790cfc7c30621611fa26ab5c1ae97">surface</a>, NULL);</div><div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;    }</div><div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;</div><div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;    <span class="keywordflow">if</span> (display-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a48c46c118e4765ef06596f6341c8f23f">swap_buffers_with_damage</a> &amp;&amp; buffer_age &gt; 0) {</div><div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;        rect[0] = window-&gt;geometry.width / 4 - 1;</div><div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;        rect[1] = window-&gt;geometry.height / 4 - 1;</div><div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;        rect[2] = window-&gt;geometry.width / 2 + 2;</div><div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;        rect[3] = window-&gt;geometry.height / 2 + 2;</div><div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;        display-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a48c46c118e4765ef06596f6341c8f23f">swap_buffers_with_damage</a>(display-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">egl</a>.<a class="code" href="../../d6/df5/structdisplay.html#a8a1cbda15a286e41e89a85f158ce9311">dpy</a>,</div><div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;                          window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a8de0059f3f1cb0dec33fba1143b7dee1">egl_surface</a>,</div><div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;                          rect, 1);</div><div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;    } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;        eglSwapBuffers(display-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">egl</a>.<a class="code" href="../../d6/df5/structdisplay.html#a8a1cbda15a286e41e89a85f158ce9311">dpy</a>, window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a8de0059f3f1cb0dec33fba1143b7dee1">egl_surface</a>);</div><div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;    }</div><div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;</div><div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;    window-&gt;<a class="code" href="../../d6/de3/structwindow.html#a633864bb495ec265bee220a5c70cc98f">frames</a>++;</div><div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;}</div><div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;</div><div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span></div><div class="line"><a name="l00493"></a><span class="lineno"><a class="line" href="../../de/da4/simple-egl_8cpp.html#af288e02a94c196a68b327fc55c049932">  493</a></span>&#160;<a class="code" href="../../de/da4/simple-egl_8cpp.html#af288e02a94c196a68b327fc55c049932">registry_handle_global</a>(<span class="keywordtype">void</span> *data, <span class="keyword">struct</span> wl_registry *registry,</div><div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;               uint32_t name, <span class="keyword">const</span> <span class="keywordtype">char</span> *interface, uint32_t version)</div><div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;{</div><div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;    <span class="keyword">struct </span><a class="code" href="../../d6/df5/structdisplay.html">display</a> *d = data;</div><div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;</div><div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;    <span class="keywordflow">if</span> (strcmp(interface, <span class="stringliteral">&quot;wl_compositor&quot;</span>) == 0) {</div><div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;        d-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a41ba32dfde812165dda5b62885000c78">compositor</a> =</div><div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;            wl_registry_bind(registry, name,</div><div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160;                     &amp;wl_compositor_interface, 1);</div><div class="line"><a name="l00502"></a><span class="lineno">  502</span>&#160;    } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(interface, <span class="stringliteral">&quot;ivi_application&quot;</span>) == 0) {</div><div class="line"><a name="l00503"></a><span class="lineno">  503</span>&#160;        d-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a24c073faff3bb4799c2d46291f27ab89">ivi_application</a> =</div><div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160;            wl_registry_bind(registry, name,</div><div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;                     &amp;<a class="code" href="../../de/da4/simple-egl_8cpp.html#a769b65b7b0e834f732f1f45e835890d5">ivi_application_interface</a>, 1);</div><div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;    }</div><div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;}</div><div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;</div><div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span></div><div class="line"><a name="l00510"></a><span class="lineno"><a class="line" href="../../de/da4/simple-egl_8cpp.html#a59a731b9efa9d6a2015cdc8ccae1db80">  510</a></span>&#160;<a class="code" href="../../de/da4/simple-egl_8cpp.html#a59a731b9efa9d6a2015cdc8ccae1db80">registry_handle_global_remove</a>(<span class="keywordtype">void</span> *data, <span class="keyword">struct</span> wl_registry *<a class="code" href="../../d6/df5/structdisplay.html#a925781323f5c8eb84ef2225ed129de4b">registry</a>,</div><div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;                  uint32_t name)</div><div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;{</div><div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;}</div><div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;</div><div class="line"><a name="l00515"></a><span class="lineno"><a class="line" href="../../de/da4/simple-egl_8cpp.html#a8998c87c94cd7d185e8f0cdafab4b1c4">  515</a></span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">struct </span>wl_registry_listener <a class="code" href="../../de/da4/simple-egl_8cpp.html#a8998c87c94cd7d185e8f0cdafab4b1c4">registry_listener</a> = {</div><div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;    <a class="code" href="../../de/da4/simple-egl_8cpp.html#af288e02a94c196a68b327fc55c049932">registry_handle_global</a>,</div><div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;    <a class="code" href="../../de/da4/simple-egl_8cpp.html#a59a731b9efa9d6a2015cdc8ccae1db80">registry_handle_global_remove</a></div><div class="line"><a name="l00518"></a><span class="lineno">  518</span>&#160;};</div><div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;</div><div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span></div><div class="line"><a name="l00521"></a><span class="lineno"><a class="line" href="../../de/da4/simple-egl_8cpp.html#a2cfc8c2d3fc1273ba8f811d2e639aec8">  521</a></span>&#160;<a class="code" href="../../de/da4/simple-egl_8cpp.html#a2cfc8c2d3fc1273ba8f811d2e639aec8">signal_int</a>(<span class="keywordtype">int</span> signum)</div><div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;{</div><div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;    <a class="code" href="../../de/da4/simple-egl_8cpp.html#a2f45113638a0b749a8a205d2cd7fb42b">running</a> = 0;</div><div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;}</div><div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;</div><div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160;<span class="keywordtype">int</span></div><div class="line"><a name="l00527"></a><span class="lineno"><a class="line" href="../../de/da4/simple-egl_8cpp.html#a644e25276ecdea04f2aa3412c1973927">  527</a></span>&#160;<a class="code" href="../../de/da4/simple-egl_8cpp.html#a644e25276ecdea04f2aa3412c1973927">init_wm</a>(LibWindowmanager *<a class="code" href="../../de/da4/simple-egl_8cpp.html#ad1513698e07197206c290f94d7669d85">wm</a>, <span class="keyword">struct</span> <a class="code" href="../../d6/de3/structwindow.html">window</a> *<a class="code" href="../../d6/de3/structwindow.html">window</a>)</div><div class="line"><a name="l00528"></a><span class="lineno">  528</span>&#160;{</div><div class="line"><a name="l00529"></a><span class="lineno">  529</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a>(<a class="code" href="../../de/da4/simple-egl_8cpp.html#a894f18168fa25101d792262f59846938">log_prefix</a>,<span class="stringliteral">&quot;called&quot;</span>);</div><div class="line"><a name="l00530"></a><span class="lineno">  530</span>&#160;</div><div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160;    <span class="keywordflow">if</span> (wm-&gt;init(<a class="code" href="../../de/da4/simple-egl_8cpp.html#a300b6806fe6818927fe4df08f2398124">port</a>, <a class="code" href="../../de/da4/simple-egl_8cpp.html#a623ef6987ef3bd185c07b28b13e46d34">token</a>) != 0) {</div><div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a>(<a class="code" href="../../de/da4/simple-egl_8cpp.html#a894f18168fa25101d792262f59846938">log_prefix</a>,<span class="stringliteral">&quot;wm init failed. &quot;</span>);</div><div class="line"><a name="l00533"></a><span class="lineno">  533</span>&#160;        <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00534"></a><span class="lineno">  534</span>&#160;    }</div><div class="line"><a name="l00535"></a><span class="lineno">  535</span>&#160;</div><div class="line"><a name="l00536"></a><span class="lineno">  536</span>&#160;    <a class="code" href="../../de/da4/simple-egl_8cpp.html#a28f56c9f01ed9f108201950645317cc9">g_id_ivisurf</a> = wm-&gt;requestSurface(<a class="code" href="../../de/da4/simple-egl_8cpp.html#a332251aa739a56836cd4fbf3ecbb8bb2">main_role</a>);</div><div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160;    <span class="keywordflow">if</span> (<a class="code" href="../../de/da4/simple-egl_8cpp.html#a28f56c9f01ed9f108201950645317cc9">g_id_ivisurf</a> &lt; 0) {</div><div class="line"><a name="l00538"></a><span class="lineno">  538</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a>(<a class="code" href="../../de/da4/simple-egl_8cpp.html#a894f18168fa25101d792262f59846938">log_prefix</a>,<span class="stringliteral">&quot;wm request surface failed &quot;</span>);</div><div class="line"><a name="l00539"></a><span class="lineno">  539</span>&#160;        <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00540"></a><span class="lineno">  540</span>&#160;    }</div><div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a>(<a class="code" href="../../de/da4/simple-egl_8cpp.html#a894f18168fa25101d792262f59846938">log_prefix</a>,<span class="stringliteral">&quot;IVI_SURFACE_ID: %d &quot;</span>, <a class="code" href="../../de/da4/simple-egl_8cpp.html#a28f56c9f01ed9f108201950645317cc9">g_id_ivisurf</a>);</div><div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;</div><div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;    WMHandler wmh;</div><div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160;    wmh.on_visible = [](<span class="keyword">const</span> <span class="keywordtype">char</span>* role, <span class="keywordtype">bool</span> visible){</div><div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160;        <span class="comment">// Sample code if user uses visible event</span></div><div class="line"><a name="l00546"></a><span class="lineno">  546</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a>(<a class="code" href="../../de/da4/simple-egl_8cpp.html#a894f18168fa25101d792262f59846938">log_prefix</a>, <span class="stringliteral">&quot;role: %s, visible: %s&quot;</span>, role, visible ? <span class="stringliteral">&quot;true&quot;</span> : <span class="stringliteral">&quot;false&quot;</span>);</div><div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160;    };</div><div class="line"><a name="l00548"></a><span class="lineno">  548</span>&#160;    wmh.on_sync_draw = [<a class="code" href="../../de/da4/simple-egl_8cpp.html#ad1513698e07197206c290f94d7669d85">wm</a>, window](<span class="keyword">const</span> <span class="keywordtype">char</span>* role, <span class="keyword">const</span> <span class="keywordtype">char</span>* area, Rect rect) {</div><div class="line"><a name="l00549"></a><span class="lineno">  549</span>&#160;</div><div class="line"><a name="l00550"></a><span class="lineno">  550</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a>(<a class="code" href="../../de/da4/simple-egl_8cpp.html#a894f18168fa25101d792262f59846938">log_prefix</a>,<span class="stringliteral">&quot;Surface %s got syncDraw! Area: %s. w:%d, h:%d&quot;</span>, role, area, rect.width(), rect.height());</div><div class="line"><a name="l00551"></a><span class="lineno">  551</span>&#160;</div><div class="line"><a name="l00552"></a><span class="lineno">  552</span>&#160;        wl_egl_window_resize(window-&gt;<a class="code" href="../../d6/de3/structwindow.html#ae41be0955d0e73530e1bc13dfeb9d731">native</a>, rect.width(), rect.height(), 0, 0);</div><div class="line"><a name="l00553"></a><span class="lineno">  553</span>&#160;        window-&gt;geometry.width  = rect.width();</div><div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;        window-&gt;geometry.height = rect.height();</div><div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160;</div><div class="line"><a name="l00556"></a><span class="lineno">  556</span>&#160;        wm-&gt;endDraw(role);</div><div class="line"><a name="l00557"></a><span class="lineno">  557</span>&#160;    };</div><div class="line"><a name="l00558"></a><span class="lineno">  558</span>&#160;</div><div class="line"><a name="l00559"></a><span class="lineno">  559</span>&#160;    wm-&gt;setEventHandler(wmh);</div><div class="line"><a name="l00560"></a><span class="lineno">  560</span>&#160;</div><div class="line"><a name="l00561"></a><span class="lineno">  561</span>&#160;    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00562"></a><span class="lineno">  562</span>&#160;}</div><div class="line"><a name="l00563"></a><span class="lineno">  563</span>&#160;</div><div class="line"><a name="l00564"></a><span class="lineno">  564</span>&#160;<span class="keywordtype">int</span></div><div class="line"><a name="l00565"></a><span class="lineno"><a class="line" href="../../de/da4/simple-egl_8cpp.html#a79aafeb99915566dd3970246f465f306">  565</a></span>&#160;<a class="code" href="../../de/da4/simple-egl_8cpp.html#a79aafeb99915566dd3970246f465f306">init_hs</a>(<a class="code" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a>* hs){</div><div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160;    <span class="keywordflow">if</span>(hs-&gt;<a class="code" href="../../de/dd0/class_lib_home_screen.html#a6a57b573cc767725762ba9beab032220">init</a>(<a class="code" href="../../de/da4/simple-egl_8cpp.html#a300b6806fe6818927fe4df08f2398124">port</a>, <a class="code" href="../../de/da4/simple-egl_8cpp.html#a623ef6987ef3bd185c07b28b13e46d34">token</a>)!=0)</div><div class="line"><a name="l00567"></a><span class="lineno">  567</span>&#160;    {</div><div class="line"><a name="l00568"></a><span class="lineno">  568</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a>(<a class="code" href="../../de/da4/simple-egl_8cpp.html#a894f18168fa25101d792262f59846938">log_prefix</a>,<span class="stringliteral">&quot;homescreen init failed. &quot;</span>);</div><div class="line"><a name="l00569"></a><span class="lineno">  569</span>&#160;        <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00570"></a><span class="lineno">  570</span>&#160;    }</div><div class="line"><a name="l00571"></a><span class="lineno">  571</span>&#160;</div><div class="line"><a name="l00572"></a><span class="lineno">  572</span>&#160;    hs-&gt;<a class="code" href="../../de/dd0/class_lib_home_screen.html#ab1b0e08bf35415de9064afed899e9f85">set_event_handler</a>(<a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a3fb3563c64786f1a2ae404df6edffd5c">LibHomeScreen::Event_ShowWindow</a>, [hs](json_object *<span class="keywordtype">object</span>){</div><div class="line"><a name="l00573"></a><span class="lineno">  573</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a>(<span class="stringliteral">&quot;simple-egl&quot;</span>,<span class="stringliteral">&quot;try to activeWindow %s &quot;</span>, <a class="code" href="../../de/da4/simple-egl_8cpp.html#a0da928eccfc57d1dfadfd29d4ac4854c">app_name</a>.c_str());</div><div class="line"><a name="l00574"></a><span class="lineno">  574</span>&#160;</div><div class="line"><a name="l00575"></a><span class="lineno">  575</span>&#160;        <span class="keyword">struct </span>json_object *param_obj = json_object_object_get(<span class="keywordtype">object</span>, hs-&gt;<a class="code" href="../../de/dd0/class_lib_home_screen.html#a927592eff8e34efbbceaf12522f8897f">_keyParameter</a>);</div><div class="line"><a name="l00576"></a><span class="lineno">  576</span>&#160;        <span class="keyword">const</span> <span class="keywordtype">char</span> *area = json_object_get_string(</div><div class="line"><a name="l00577"></a><span class="lineno">  577</span>&#160;            json_object_object_get(param_obj, hs-&gt;<a class="code" href="../../de/dd0/class_lib_home_screen.html#a8becda1b035ae45f5a11c7e7963091bf">_keyArea</a>));</div><div class="line"><a name="l00578"></a><span class="lineno">  578</span>&#160;        <span class="comment">// Application should call LibWindowmanager::activateWindow() in showWindow handler</span></div><div class="line"><a name="l00579"></a><span class="lineno">  579</span>&#160;        <span class="keywordflow">if</span>(area == <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00580"></a><span class="lineno">  580</span>&#160;            <a class="code" href="../../de/da4/simple-egl_8cpp.html#ad1513698e07197206c290f94d7669d85">wm</a>-&gt;activateWindow(<a class="code" href="../../de/da4/simple-egl_8cpp.html#a332251aa739a56836cd4fbf3ecbb8bb2">main_role</a>, hs-&gt;<a class="code" href="../../de/dd0/class_lib_home_screen.html#aac718b60b83c74e2b061f6f7f7ec3bf5">_areaNormal</a>);</div><div class="line"><a name="l00581"></a><span class="lineno">  581</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l00582"></a><span class="lineno">  582</span>&#160;            <a class="code" href="../../de/da4/simple-egl_8cpp.html#ad1513698e07197206c290f94d7669d85">wm</a>-&gt;activateWindow(<a class="code" href="../../de/da4/simple-egl_8cpp.html#a332251aa739a56836cd4fbf3ecbb8bb2">main_role</a>, area);</div><div class="line"><a name="l00583"></a><span class="lineno">  583</span>&#160;    });</div><div class="line"><a name="l00584"></a><span class="lineno">  584</span>&#160;</div><div class="line"><a name="l00585"></a><span class="lineno">  585</span>&#160;    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00586"></a><span class="lineno">  586</span>&#160;}</div><div class="line"><a name="l00587"></a><span class="lineno">  587</span>&#160;</div><div class="line"><a name="l00588"></a><span class="lineno">  588</span>&#160;<span class="keywordtype">int</span></div><div class="line"><a name="l00589"></a><span class="lineno"><a class="line" href="../../de/da4/simple-egl_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">  589</a></span>&#160;<a class="code" href="../../de/da4/simple-egl_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">main</a>(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> **argv)</div><div class="line"><a name="l00590"></a><span class="lineno">  590</span>&#160;{</div><div class="line"><a name="l00591"></a><span class="lineno">  591</span>&#160;    <span class="keyword">struct </span>sigaction sigint;</div><div class="line"><a name="l00592"></a><span class="lineno">  592</span>&#160;    <span class="keyword">struct </span><a class="code" href="../../d6/de3/structwindow.html">window</a>  window  = { 0 };</div><div class="line"><a name="l00593"></a><span class="lineno">  593</span>&#160;    <span class="keyword">struct </span><a class="code" href="../../d6/df5/structdisplay.html">display</a> display = { 0 };</div><div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;</div><div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;    window.<a class="code" href="../../d6/de3/structwindow.html#a129486f2bd23791194f389ca1405cfd4">display</a> = &amp;<a class="code" href="../../d6/df5/structdisplay.html#aa8faf09631925e9221fd8a0c086ce75a">display</a>;</div><div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;    display.<a class="code" href="../../d6/df5/structdisplay.html#a9974d560bec291487ae2440f897ffc58">window</a> = &amp;<a class="code" href="../../d6/df5/structdisplay.html#a9974d560bec291487ae2440f897ffc58">window</a>;</div><div class="line"><a name="l00597"></a><span class="lineno">  597</span>&#160;    window.geometry.width  = 1080;</div><div class="line"><a name="l00598"></a><span class="lineno">  598</span>&#160;    window.geometry.height = 1488;</div><div class="line"><a name="l00599"></a><span class="lineno">  599</span>&#160;    window.<a class="code" href="../../d6/de3/structwindow.html#ad2b6c8ed8044b41fd1189a0ce26d539a">window_size</a> = window.geometry;</div><div class="line"><a name="l00600"></a><span class="lineno">  600</span>&#160;    window.<a class="code" href="../../d6/de3/structwindow.html#a0e634038f669aff472012f25ea250b40">buffer_size</a> = 32;</div><div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;    window.<a class="code" href="../../d6/de3/structwindow.html#a851bcb65083f5ab5ff768b09522bed70">frame_sync</a> = 1;</div><div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;</div><div class="line"><a name="l00603"></a><span class="lineno">  603</span>&#160;    <span class="keywordflow">if</span>(argc &gt; 2){</div><div class="line"><a name="l00604"></a><span class="lineno">  604</span>&#160;        <a class="code" href="../../de/da4/simple-egl_8cpp.html#a300b6806fe6818927fe4df08f2398124">port</a> = strtol(argv[1], NULL, 10);</div><div class="line"><a name="l00605"></a><span class="lineno">  605</span>&#160;        <a class="code" href="../../de/da4/simple-egl_8cpp.html#a623ef6987ef3bd185c07b28b13e46d34">token</a> = argv[2];</div><div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;    }</div><div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160;</div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a>(<a class="code" href="../../de/da4/simple-egl_8cpp.html#a894f18168fa25101d792262f59846938">log_prefix</a>,<span class="stringliteral">&quot;main_role: %s, port: %d, token: %s. &quot;</span>, <a class="code" href="../../de/da4/simple-egl_8cpp.html#a332251aa739a56836cd4fbf3ecbb8bb2">main_role</a>, <a class="code" href="../../de/da4/simple-egl_8cpp.html#a300b6806fe6818927fe4df08f2398124">port</a>, <a class="code" href="../../de/da4/simple-egl_8cpp.html#a623ef6987ef3bd185c07b28b13e46d34">token</a>.c_str());</div><div class="line"><a name="l00609"></a><span class="lineno">  609</span>&#160;</div><div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160;    display.<a class="code" href="../../d6/df5/structdisplay.html#aa8faf09631925e9221fd8a0c086ce75a">display</a> = wl_display_connect(NULL);</div><div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160;    assert(display.<a class="code" href="../../d6/df5/structdisplay.html#aa8faf09631925e9221fd8a0c086ce75a">display</a>);</div><div class="line"><a name="l00612"></a><span class="lineno">  612</span>&#160;</div><div class="line"><a name="l00613"></a><span class="lineno">  613</span>&#160;    display.<a class="code" href="../../d6/df5/structdisplay.html#a925781323f5c8eb84ef2225ed129de4b">registry</a> = wl_display_get_registry(display.<a class="code" href="../../d6/df5/structdisplay.html#aa8faf09631925e9221fd8a0c086ce75a">display</a>);</div><div class="line"><a name="l00614"></a><span class="lineno">  614</span>&#160;    wl_registry_add_listener(display.<a class="code" href="../../d6/df5/structdisplay.html#a925781323f5c8eb84ef2225ed129de4b">registry</a>,</div><div class="line"><a name="l00615"></a><span class="lineno">  615</span>&#160;                 &amp;<a class="code" href="../../de/da4/simple-egl_8cpp.html#a8998c87c94cd7d185e8f0cdafab4b1c4">registry_listener</a>, &amp;display);</div><div class="line"><a name="l00616"></a><span class="lineno">  616</span>&#160;</div><div class="line"><a name="l00617"></a><span class="lineno">  617</span>&#160;    wl_display_roundtrip(display.<a class="code" href="../../d6/df5/structdisplay.html#aa8faf09631925e9221fd8a0c086ce75a">display</a>);</div><div class="line"><a name="l00618"></a><span class="lineno">  618</span>&#160;</div><div class="line"><a name="l00619"></a><span class="lineno">  619</span>&#160;    <a class="code" href="../../de/da4/simple-egl_8cpp.html#a1073d4aca1838d3877fe577d813700fc">init_egl</a>(&amp;display, &amp;window);</div><div class="line"><a name="l00620"></a><span class="lineno">  620</span>&#160;</div><div class="line"><a name="l00621"></a><span class="lineno">  621</span>&#160;    <a class="code" href="../../de/da4/simple-egl_8cpp.html#ad1513698e07197206c290f94d7669d85">wm</a> = <span class="keyword">new</span> LibWindowmanager();</div><div class="line"><a name="l00622"></a><span class="lineno">  622</span>&#160;    <span class="keywordflow">if</span>(<a class="code" href="../../de/da4/simple-egl_8cpp.html#a644e25276ecdea04f2aa3412c1973927">init_wm</a>(<a class="code" href="../../de/da4/simple-egl_8cpp.html#ad1513698e07197206c290f94d7669d85">wm</a>, &amp;window)!=0){</div><div class="line"><a name="l00623"></a><span class="lineno">  623</span>&#160;        <a class="code" href="../../de/da4/simple-egl_8cpp.html#a4f71f46ede5b73bd7c770c973826f771">fini_egl</a>(&amp;display);</div><div class="line"><a name="l00624"></a><span class="lineno">  624</span>&#160;        <span class="keywordflow">if</span> (display.<a class="code" href="../../d6/df5/structdisplay.html#a24c073faff3bb4799c2d46291f27ab89">ivi_application</a>)</div><div class="line"><a name="l00625"></a><span class="lineno">  625</span>&#160;            ivi_application_destroy(display.<a class="code" href="../../d6/df5/structdisplay.html#a24c073faff3bb4799c2d46291f27ab89">ivi_application</a>);</div><div class="line"><a name="l00626"></a><span class="lineno">  626</span>&#160;        <span class="keywordflow">if</span> (display.<a class="code" href="../../d6/df5/structdisplay.html#a41ba32dfde812165dda5b62885000c78">compositor</a>)</div><div class="line"><a name="l00627"></a><span class="lineno">  627</span>&#160;            wl_compositor_destroy(display.<a class="code" href="../../d6/df5/structdisplay.html#a41ba32dfde812165dda5b62885000c78">compositor</a>);</div><div class="line"><a name="l00628"></a><span class="lineno">  628</span>&#160;        wl_registry_destroy(display.<a class="code" href="../../d6/df5/structdisplay.html#a925781323f5c8eb84ef2225ed129de4b">registry</a>);</div><div class="line"><a name="l00629"></a><span class="lineno">  629</span>&#160;        wl_display_flush(display.<a class="code" href="../../d6/df5/structdisplay.html#aa8faf09631925e9221fd8a0c086ce75a">display</a>);</div><div class="line"><a name="l00630"></a><span class="lineno">  630</span>&#160;        <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00631"></a><span class="lineno">  631</span>&#160;    }</div><div class="line"><a name="l00632"></a><span class="lineno">  632</span>&#160;</div><div class="line"><a name="l00633"></a><span class="lineno">  633</span>&#160;    hs = <span class="keyword">new</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a>();</div><div class="line"><a name="l00634"></a><span class="lineno">  634</span>&#160;    <span class="keywordflow">if</span>(<a class="code" href="../../de/da4/simple-egl_8cpp.html#a79aafeb99915566dd3970246f465f306">init_hs</a>(hs)!=0){</div><div class="line"><a name="l00635"></a><span class="lineno">  635</span>&#160;        <a class="code" href="../../de/da4/simple-egl_8cpp.html#a4f71f46ede5b73bd7c770c973826f771">fini_egl</a>(&amp;display);</div><div class="line"><a name="l00636"></a><span class="lineno">  636</span>&#160;        <span class="keywordflow">if</span> (display.<a class="code" href="../../d6/df5/structdisplay.html#a24c073faff3bb4799c2d46291f27ab89">ivi_application</a>)</div><div class="line"><a name="l00637"></a><span class="lineno">  637</span>&#160;            ivi_application_destroy(display.<a class="code" href="../../d6/df5/structdisplay.html#a24c073faff3bb4799c2d46291f27ab89">ivi_application</a>);</div><div class="line"><a name="l00638"></a><span class="lineno">  638</span>&#160;        <span class="keywordflow">if</span> (display.<a class="code" href="../../d6/df5/structdisplay.html#a41ba32dfde812165dda5b62885000c78">compositor</a>)</div><div class="line"><a name="l00639"></a><span class="lineno">  639</span>&#160;            wl_compositor_destroy(display.<a class="code" href="../../d6/df5/structdisplay.html#a41ba32dfde812165dda5b62885000c78">compositor</a>);</div><div class="line"><a name="l00640"></a><span class="lineno">  640</span>&#160;        wl_registry_destroy(display.<a class="code" href="../../d6/df5/structdisplay.html#a925781323f5c8eb84ef2225ed129de4b">registry</a>);</div><div class="line"><a name="l00641"></a><span class="lineno">  641</span>&#160;        wl_display_flush(display.<a class="code" href="../../d6/df5/structdisplay.html#aa8faf09631925e9221fd8a0c086ce75a">display</a>);</div><div class="line"><a name="l00642"></a><span class="lineno">  642</span>&#160;        <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00643"></a><span class="lineno">  643</span>&#160;    }</div><div class="line"><a name="l00644"></a><span class="lineno">  644</span>&#160;</div><div class="line"><a name="l00645"></a><span class="lineno">  645</span>&#160;    <a class="code" href="../../de/da4/simple-egl_8cpp.html#a83c7f2e34bbc715d97f0642def708293">create_surface</a>(&amp;window);</div><div class="line"><a name="l00646"></a><span class="lineno">  646</span>&#160;    <a class="code" href="../../de/da4/simple-egl_8cpp.html#ab3ee863fa45f4026f78f592d6f6e34ff">init_gl</a>(&amp;window);</div><div class="line"><a name="l00647"></a><span class="lineno">  647</span>&#160;</div><div class="line"><a name="l00648"></a><span class="lineno">  648</span>&#160;    <span class="comment">//Ctrl+C</span></div><div class="line"><a name="l00649"></a><span class="lineno">  649</span>&#160;    sigint.sa_handler = <a class="code" href="../../de/da4/simple-egl_8cpp.html#a2cfc8c2d3fc1273ba8f811d2e639aec8">signal_int</a>;</div><div class="line"><a name="l00650"></a><span class="lineno">  650</span>&#160;    sigemptyset(&amp;sigint.sa_mask);</div><div class="line"><a name="l00651"></a><span class="lineno">  651</span>&#160;    sigint.sa_flags = SA_RESETHAND;</div><div class="line"><a name="l00652"></a><span class="lineno">  652</span>&#160;    sigaction(SIGINT, &amp;sigint, NULL);</div><div class="line"><a name="l00653"></a><span class="lineno">  653</span>&#160;</div><div class="line"><a name="l00654"></a><span class="lineno">  654</span>&#160;    eglSwapBuffers(window.<a class="code" href="../../d6/de3/structwindow.html#a129486f2bd23791194f389ca1405cfd4">display</a>-&gt;<a class="code" href="../../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">egl</a>.<a class="code" href="../../d6/df5/structdisplay.html#a8a1cbda15a286e41e89a85f158ce9311">dpy</a>, window.<a class="code" href="../../d6/de3/structwindow.html#a8de0059f3f1cb0dec33fba1143b7dee1">egl_surface</a>);</div><div class="line"><a name="l00655"></a><span class="lineno">  655</span>&#160;</div><div class="line"><a name="l00656"></a><span class="lineno">  656</span>&#160;    <a class="code" href="../../de/da4/simple-egl_8cpp.html#ad1513698e07197206c290f94d7669d85">wm</a>-&gt;activateWindow(<a class="code" href="../../de/da4/simple-egl_8cpp.html#a332251aa739a56836cd4fbf3ecbb8bb2">main_role</a>);</div><div class="line"><a name="l00657"></a><span class="lineno">  657</span>&#160;</div><div class="line"><a name="l00658"></a><span class="lineno">  658</span>&#160;    <span class="comment">/* The mainloop here is a little subtle.  Redrawing will cause</span></div><div class="line"><a name="l00659"></a><span class="lineno">  659</span>&#160;<span class="comment">     * EGL to read events so we can just call</span></div><div class="line"><a name="l00660"></a><span class="lineno">  660</span>&#160;<span class="comment">     * wl_display_dispatch_pending() to handle any events that got</span></div><div class="line"><a name="l00661"></a><span class="lineno">  661</span>&#160;<span class="comment">     * queued up as a side effect. */</span></div><div class="line"><a name="l00662"></a><span class="lineno">  662</span>&#160;    <span class="keywordflow">while</span> (<a class="code" href="../../de/da4/simple-egl_8cpp.html#a2f45113638a0b749a8a205d2cd7fb42b">running</a>) {</div><div class="line"><a name="l00663"></a><span class="lineno">  663</span>&#160;        wl_display_dispatch_pending(display.<a class="code" href="../../d6/df5/structdisplay.html#aa8faf09631925e9221fd8a0c086ce75a">display</a>);</div><div class="line"><a name="l00664"></a><span class="lineno">  664</span>&#160;        <a class="code" href="../../de/da4/simple-egl_8cpp.html#a927502f6103ec35422eead39e62ab7ba">redraw</a>(&amp;window, NULL, 0);</div><div class="line"><a name="l00665"></a><span class="lineno">  665</span>&#160;    }</div><div class="line"><a name="l00666"></a><span class="lineno">  666</span>&#160;</div><div class="line"><a name="l00667"></a><span class="lineno">  667</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a>(<a class="code" href="../../de/da4/simple-egl_8cpp.html#a894f18168fa25101d792262f59846938">log_prefix</a>,<span class="stringliteral">&quot;simple-egl exiting! &quot;</span>);</div><div class="line"><a name="l00668"></a><span class="lineno">  668</span>&#160;</div><div class="line"><a name="l00669"></a><span class="lineno">  669</span>&#160;    <a class="code" href="../../de/da4/simple-egl_8cpp.html#aba2ea9aa51701e52d4f36b4f34cecf7a">destroy_surface</a>(&amp;window);</div><div class="line"><a name="l00670"></a><span class="lineno">  670</span>&#160;    <a class="code" href="../../de/da4/simple-egl_8cpp.html#a4f71f46ede5b73bd7c770c973826f771">fini_egl</a>(&amp;display);</div><div class="line"><a name="l00671"></a><span class="lineno">  671</span>&#160;</div><div class="line"><a name="l00672"></a><span class="lineno">  672</span>&#160;    <span class="keywordflow">if</span> (display.<a class="code" href="../../d6/df5/structdisplay.html#a24c073faff3bb4799c2d46291f27ab89">ivi_application</a>)</div><div class="line"><a name="l00673"></a><span class="lineno">  673</span>&#160;        ivi_application_destroy(display.<a class="code" href="../../d6/df5/structdisplay.html#a24c073faff3bb4799c2d46291f27ab89">ivi_application</a>);</div><div class="line"><a name="l00674"></a><span class="lineno">  674</span>&#160;</div><div class="line"><a name="l00675"></a><span class="lineno">  675</span>&#160;    <span class="keywordflow">if</span> (display.<a class="code" href="../../d6/df5/structdisplay.html#a41ba32dfde812165dda5b62885000c78">compositor</a>)</div><div class="line"><a name="l00676"></a><span class="lineno">  676</span>&#160;        wl_compositor_destroy(display.<a class="code" href="../../d6/df5/structdisplay.html#a41ba32dfde812165dda5b62885000c78">compositor</a>);</div><div class="line"><a name="l00677"></a><span class="lineno">  677</span>&#160;</div><div class="line"><a name="l00678"></a><span class="lineno">  678</span>&#160;    wl_registry_destroy(display.<a class="code" href="../../d6/df5/structdisplay.html#a925781323f5c8eb84ef2225ed129de4b">registry</a>);</div><div class="line"><a name="l00679"></a><span class="lineno">  679</span>&#160;    wl_display_flush(display.<a class="code" href="../../d6/df5/structdisplay.html#aa8faf09631925e9221fd8a0c086ce75a">display</a>);</div><div class="line"><a name="l00680"></a><span class="lineno">  680</span>&#160;    wl_display_disconnect(display.<a class="code" href="../../d6/df5/structdisplay.html#aa8faf09631925e9221fd8a0c086ce75a">display</a>);</div><div class="line"><a name="l00681"></a><span class="lineno">  681</span>&#160;</div><div class="line"><a name="l00682"></a><span class="lineno">  682</span>&#160;    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00683"></a><span class="lineno">  683</span>&#160;}</div><div class="ttc" id="simple-egl_8cpp_html_ac848f4fbf712a9ba414272fa85577791"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#ac848f4fbf712a9ba414272fa85577791">ivi_surface_events</a></div><div class="ttdeci">static const struct wl_message ivi_surface_events[]</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00081">simple-egl.cpp:81</a></div></div>
+<div class="ttc" id="structdisplay_html_a9974d560bec291487ae2440f897ffc58"><div class="ttname"><a href="../../d6/df5/structdisplay.html#a9974d560bec291487ae2440f897ffc58">display::window</a></div><div class="ttdeci">struct window * window</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00126">simple-egl.cpp:126</a></div></div>
+<div class="ttc" id="structdisplay_html"><div class="ttname"><a href="../../d6/df5/structdisplay.html">display</a></div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00116">simple-egl.cpp:116</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_af288e02a94c196a68b327fc55c049932"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#af288e02a94c196a68b327fc55c049932">registry_handle_global</a></div><div class="ttdeci">static void registry_handle_global(void *data, struct wl_registry *registry, uint32_t name, const char *interface, uint32_t version)</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00493">simple-egl.cpp:493</a></div></div>
+<div class="ttc" id="structwindow_html_a5202f3b60e262a6fa4fcee68dd47cb67"><div class="ttname"><a href="../../d6/de3/structwindow.html#a5202f3b60e262a6fa4fcee68dd47cb67">window::rotation_uniform</a></div><div class="ttdeci">GLuint rotation_uniform</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00140">simple-egl.cpp:140</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_ad1513698e07197206c290f94d7669d85"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#ad1513698e07197206c290f94d7669d85">wm</a></div><div class="ttdeci">LibWindowmanager * wm</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00067">simple-egl.cpp:67</a></div></div>
+<div class="ttc" id="structdisplay_html_a9dd8fd9967beb6b3767bd93011373bb8"><div class="ttname"><a href="../../d6/df5/structdisplay.html#a9dd8fd9967beb6b3767bd93011373bb8">display::seat</a></div><div class="ttdeci">struct wl_seat * seat</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00120">simple-egl.cpp:120</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_ab3ee863fa45f4026f78f592d6f6e34ff"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#ab3ee863fa45f4026f78f592d6f6e34ff">init_gl</a></div><div class="ttdeci">static void init_gl(struct window *window)</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00285">simple-egl.cpp:285</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a28f56c9f01ed9f108201950645317cc9"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a28f56c9f01ed9f108201950645317cc9">g_id_ivisurf</a></div><div class="ttdeci">uint32_t g_id_ivisurf</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00059">simple-egl.cpp:59</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a644e25276ecdea04f2aa3412c1973927"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a644e25276ecdea04f2aa3412c1973927">init_wm</a></div><div class="ttdeci">int init_wm(LibWindowmanager *wm, struct window *window)</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00527">simple-egl.cpp:527</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a0720952aa1caded45b5bcdce589663a9"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a0720952aa1caded45b5bcdce589663a9">surface</a></div><div class="ttdeci">EGLSurface surface</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00105">simple-egl.cpp:105</a></div></div>
+<div class="ttc" id="structwindow_html_a6975a930e9a3c166f8201fc4ef5e7728"><div class="ttname"><a href="../../d6/de3/structwindow.html#a6975a930e9a3c166f8201fc4ef5e7728">window::gl</a></div><div class="ttdeci">struct window::@1 gl</div></div>
+<div class="ttc" id="simple-egl_8cpp_html_adf384de8d12d2edd7265ab85fd16b11c"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#adf384de8d12d2edd7265ab85fd16b11c">ivi_surface_interface</a></div><div class="ttdeci">const struct wl_interface ivi_surface_interface</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00085">simple-egl.cpp:85</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a332251aa739a56836cd4fbf3ecbb8bb2"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a332251aa739a56836cd4fbf3ecbb8bb2">main_role</a></div><div class="ttdeci">const char * main_role</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00064">simple-egl.cpp:64</a></div></div>
+<div class="ttc" id="structwindow_html_a72629bf021a361ad900504732a74cb68"><div class="ttname"><a href="../../d6/de3/structwindow.html#a72629bf021a361ad900504732a74cb68">window::benchmark_time</a></div><div class="ttdeci">uint32_t benchmark_time</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00145">simple-egl.cpp:145</a></div></div>
+<div class="ttc" id="namespacestd_html"><div class="ttname"><a href="../../d8/dcc/namespacestd.html">std</a></div></div>
+<div class="ttc" id="structwindow_html_a026a50808d8323a5a73d585c19916fa8"><div class="ttname"><a href="../../d6/de3/structwindow.html#a026a50808d8323a5a73d585c19916fa8">window::opaque</a></div><div class="ttdeci">int opaque</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00151">simple-egl.cpp:151</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_ab4ad070d3bf82abe5e70330578f67893"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#ab4ad070d3bf82abe5e70330578f67893">EGLBoolean</a></div><div class="ttdeci">typedef EGLBoolean(EGLAPIENTRYP PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC)(EGLDisplay dpy</div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a56616f7ca3fc53c0da41d05de9330b11"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a56616f7ca3fc53c0da41d05de9330b11">rects</a></div><div class="ttdeci">EGLSurface EGLint * rects</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00105">simple-egl.cpp:105</a></div></div>
+<div class="ttc" id="libhomescreen_8hpp_html"><div class="ttname"><a href="../../df/d43/libhomescreen_8hpp.html">libhomescreen.hpp</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_aea3203db9e218d3e5d60bdb4ebe2fa1f"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#aea3203db9e218d3e5d60bdb4ebe2fa1f">types</a></div><div class="ttdeci">static const struct wl_interface * types[]</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00069">simple-egl.cpp:69</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a21a39b7c6cf5f6d10a62a70b3ebc9bad"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a21a39b7c6cf5f6d10a62a70b3ebc9bad">ivi_application_requests</a></div><div class="ttdeci">static const struct wl_message ivi_application_requests[]</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00091">simple-egl.cpp:91</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a927592eff8e34efbbceaf12522f8897f"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a927592eff8e34efbbceaf12522f8897f">LibHomeScreen::_keyParameter</a></div><div class="ttdeci">const char * _keyParameter</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00054">libhomescreen.hpp:54</a></div></div>
+<div class="ttc" id="structdisplay_html_a8a1cbda15a286e41e89a85f158ce9311"><div class="ttname"><a href="../../d6/df5/structdisplay.html#a8a1cbda15a286e41e89a85f158ce9311">display::dpy</a></div><div class="ttdeci">EGLDisplay dpy</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00122">simple-egl.cpp:122</a></div></div>
+<div class="ttc" id="structwindow_html_a8de0059f3f1cb0dec33fba1143b7dee1"><div class="ttname"><a href="../../d6/de3/structwindow.html#a8de0059f3f1cb0dec33fba1143b7dee1">window::egl_surface</a></div><div class="ttdeci">EGLSurface egl_surface</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00149">simple-egl.cpp:149</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a0da928eccfc57d1dfadfd29d4ac4854c"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a0da928eccfc57d1dfadfd29d4ac4854c">app_name</a></div><div class="ttdeci">string app_name</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00063">simple-egl.cpp:63</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_ab72c580e4d6d47c2fb49c72cc76b85bb"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#ab72c580e4d6d47c2fb49c72cc76b85bb">create_shader</a></div><div class="ttdeci">static GLuint create_shader(struct window *window, const char *source, GLenum shader_type)</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00259">simple-egl.cpp:259</a></div></div>
+<div class="ttc" id="structwindow_html_aaf965f90f9fc938db2315ff62028c362"><div class="ttname"><a href="../../d6/de3/structwindow.html#aaf965f90f9fc938db2315ff62028c362">window::pos</a></div><div class="ttdeci">GLuint pos</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00141">simple-egl.cpp:141</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a7045d8a6b4857f268a62fab2de2021fd"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a7045d8a6b4857f268a62fab2de2021fd">EGL_BUFFER_AGE_EXT</a></div><div class="ttdeci">#define EGL_BUFFER_AGE_EXT</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00110">simple-egl.cpp:110</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a2cfc8c2d3fc1273ba8f811d2e639aec8"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a2cfc8c2d3fc1273ba8f811d2e639aec8">signal_int</a></div><div class="ttdeci">static void signal_int(int signum)</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00521">simple-egl.cpp:521</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_ab5a6a2a26ac23f79b1687daa4b0d8980"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#ab5a6a2a26ac23f79b1687daa4b0d8980">frag_shader_text</a></div><div class="ttdeci">static const char * frag_shader_text</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00164">simple-egl.cpp:164</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a83c7f2e34bbc715d97f0642def708293"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a83c7f2e34bbc715d97f0642def708293">create_surface</a></div><div class="ttdeci">static void create_surface(struct window *window)</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00337">simple-egl.cpp:337</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a927502f6103ec35422eead39e62ab7ba"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a927502f6103ec35422eead39e62ab7ba">redraw</a></div><div class="ttdeci">static void redraw(void *data, struct wl_callback *callback, uint32_t time)</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00389">simple-egl.cpp:389</a></div></div>
+<div class="ttc" id="structdisplay_html_a880aef9408b499f5b749541dc6e396c3"><div class="ttname"><a href="../../d6/df5/structdisplay.html#a880aef9408b499f5b749541dc6e396c3">display::conf</a></div><div class="ttdeci">EGLConfig conf</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00124">simple-egl.cpp:124</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a82616c91ac211d2ad08e709b524bf154a3fb3563c64786f1a2ae404df6edffd5c"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a3fb3563c64786f1a2ae404df6edffd5c">LibHomeScreen::Event_ShowWindow</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00043">libhomescreen.hpp:43</a></div></div>
+<div class="ttc" id="structwindow_html_ae41be0955d0e73530e1bc13dfeb9d731"><div class="ttname"><a href="../../d6/de3/structwindow.html#ae41be0955d0e73530e1bc13dfeb9d731">window::native</a></div><div class="ttdeci">struct wl_egl_window * native</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00146">simple-egl.cpp:146</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_aa6a11810244355f89e6c4961b9dd3b53"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#aa6a11810244355f89e6c4961b9dd3b53">n_rects</a></div><div class="ttdeci">EGLSurface EGLint EGLint n_rects</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00105">simple-egl.cpp:105</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a623ef6987ef3bd185c07b28b13e46d34"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a623ef6987ef3bd185c07b28b13e46d34">token</a></div><div class="ttdeci">string token</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00061">simple-egl.cpp:61</a></div></div>
+<div class="ttc" id="structwindow_html_a7d0790cfc7c30621611fa26ab5c1ae97"><div class="ttname"><a href="../../d6/de3/structwindow.html#a7d0790cfc7c30621611fa26ab5c1ae97">window::surface</a></div><div class="ttdeci">struct wl_surface * surface</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00147">simple-egl.cpp:147</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a717575939a37d84dcd4cf0447a630834"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a717575939a37d84dcd4cf0447a630834">vert_shader_text</a></div><div class="ttdeci">static const char * vert_shader_text</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00154">simple-egl.cpp:154</a></div></div>
+<div class="ttc" id="structdisplay_html_a24c073faff3bb4799c2d46291f27ab89"><div class="ttname"><a href="../../d6/df5/structdisplay.html#a24c073faff3bb4799c2d46291f27ab89">display::ivi_application</a></div><div class="ttdeci">struct ivi_application * ivi_application</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00127">simple-egl.cpp:127</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a529acbd1fed9d98a587edfa62309fa8d"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a529acbd1fed9d98a587edfa62309fa8d">hs</a></div><div class="ttdeci">LibHomeScreen * hs</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00066">simple-egl.cpp:66</a></div></div>
+<div class="ttc" id="structdisplay_html_a8b8bc104c19ff228d476a377e572d9c7"><div class="ttname"><a href="../../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">display::egl</a></div><div class="ttdeci">struct display::@0 egl</div></div>
+<div class="ttc" id="structwindow_html_aef10fe94766ccd4831ee611c5ad0e55c"><div class="ttname"><a href="../../d6/de3/structwindow.html#aef10fe94766ccd4831ee611c5ad0e55c">window::col</a></div><div class="ttdeci">GLuint col</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00142">simple-egl.cpp:142</a></div></div>
+<div class="ttc" id="structwindow_html_a35ba639556fa19d9273dad0953a6807e"><div class="ttname"><a href="../../d6/de3/structwindow.html#a35ba639556fa19d9273dad0953a6807e">window::callback</a></div><div class="ttdeci">struct wl_callback * callback</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00150">simple-egl.cpp:150</a></div></div>
+<div class="ttc" id="structdisplay_html_a48c46c118e4765ef06596f6341c8f23f"><div class="ttname"><a href="../../d6/df5/structdisplay.html#a48c46c118e4765ef06596f6341c8f23f">display::swap_buffers_with_damage</a></div><div class="ttdeci">PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC swap_buffers_with_damage</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00129">simple-egl.cpp:129</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a769b65b7b0e834f732f1f45e835890d5"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a769b65b7b0e834f732f1f45e835890d5">ivi_application_interface</a></div><div class="ttdeci">const struct wl_interface ivi_application_interface</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00095">simple-egl.cpp:95</a></div></div>
+<div class="ttc" id="structdisplay_html_a925781323f5c8eb84ef2225ed129de4b"><div class="ttname"><a href="../../d6/df5/structdisplay.html#a925781323f5c8eb84ef2225ed129de4b">display::registry</a></div><div class="ttdeci">struct wl_registry * registry</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00118">simple-egl.cpp:118</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a2f45113638a0b749a8a205d2cd7fb42b"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a2f45113638a0b749a8a205d2cd7fb42b">running</a></div><div class="ttdeci">static int running</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00171">simple-egl.cpp:171</a></div></div>
+<div class="ttc" id="structwindow_html_a129486f2bd23791194f389ca1405cfd4"><div class="ttname"><a href="../../d6/de3/structwindow.html#a129486f2bd23791194f389ca1405cfd4">window::display</a></div><div class="ttdeci">struct display * display</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00137">simple-egl.cpp:137</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a8becda1b035ae45f5a11c7e7963091bf"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a8becda1b035ae45f5a11c7e7963091bf">LibHomeScreen::_keyArea</a></div><div class="ttdeci">const char * _keyArea</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00055">libhomescreen.hpp:55</a></div></div>
+<div class="ttc" id="structwindow_html"><div class="ttname"><a href="../../d6/de3/structwindow.html">window</a></div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00136">simple-egl.cpp:136</a></div></div>
+<div class="ttc" id="structdisplay_html_a3420940a29a710e0e5ebd41ba462cc00"><div class="ttname"><a href="../../d6/df5/structdisplay.html#a3420940a29a710e0e5ebd41ba462cc00">display::ctx</a></div><div class="ttdeci">EGLContext ctx</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00123">simple-egl.cpp:123</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a300b6806fe6818927fe4df08f2398124"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a300b6806fe6818927fe4df08f2398124">port</a></div><div class="ttdeci">long port</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00060">simple-egl.cpp:60</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a8998c87c94cd7d185e8f0cdafab4b1c4"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a8998c87c94cd7d185e8f0cdafab4b1c4">registry_listener</a></div><div class="ttdeci">static const struct wl_registry_listener registry_listener</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00515">simple-egl.cpp:515</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a0122201fe28a7f35b0fbd362fff7094e"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a0122201fe28a7f35b0fbd362fff7094e">create_ivi_surface</a></div><div class="ttdeci">static void create_ivi_surface(struct window *window, struct display *display)</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00322">simple-egl.cpp:322</a></div></div>
+<div class="ttc" id="structwindow_html_a40e2c6fb4178953c820fc1b9f41d4b31"><div class="ttname"><a href="../../d6/de3/structwindow.html#a40e2c6fb4178953c820fc1b9f41d4b31">window::ivi_surface</a></div><div class="ttdeci">struct ivi_surface * ivi_surface</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00148">simple-egl.cpp:148</a></div></div>
+<div class="ttc" id="structwindow_html_ad2b6c8ed8044b41fd1189a0ce26d539a"><div class="ttname"><a href="../../d6/de3/structwindow.html#ad2b6c8ed8044b41fd1189a0ce26d539a">window::window_size</a></div><div class="ttdeci">struct geometry geometry window_size</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00138">simple-egl.cpp:138</a></div></div>
+<div class="ttc" id="structgeometry_html_a854a87ce277335591f06958a2363c3e1"><div class="ttname"><a href="../../dd/ddc/structgeometry.html#a854a87ce277335591f06958a2363c3e1">geometry::width</a></div><div class="ttdeci">int width</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00133">simple-egl.cpp:133</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a6a57b573cc767725762ba9beab032220"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a6a57b573cc767725762ba9beab032220">LibHomeScreen::init</a></div><div class="ttdeci">int init(const int port, const std::string &amp;token)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00126">libhomescreen.cpp:126</a></div></div>
+<div class="ttc" id="structgeometry_html"><div class="ttname"><a href="../../dd/ddc/structgeometry.html">geometry</a></div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00132">simple-egl.cpp:132</a></div></div>
+<div class="ttc" id="structwindow_html_a851bcb65083f5ab5ff768b09522bed70"><div class="ttname"><a href="../../d6/de3/structwindow.html#a851bcb65083f5ab5ff768b09522bed70">window::frame_sync</a></div><div class="ttdeci">int frame_sync</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00151">simple-egl.cpp:151</a></div></div>
+<div class="ttc" id="structdisplay_html_aa8faf09631925e9221fd8a0c086ce75a"><div class="ttname"><a href="../../d6/df5/structdisplay.html#aa8faf09631925e9221fd8a0c086ce75a">display::display</a></div><div class="ttdeci">struct wl_display * display</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00117">simple-egl.cpp:117</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a4f71f46ede5b73bd7c770c973826f771"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a4f71f46ede5b73bd7c770c973826f771">fini_egl</a></div><div class="ttdeci">static void fini_egl(struct display *display)</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00252">simple-egl.cpp:252</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_a65bb6c7cfe38f8a724beab5059d36fb2"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a></div><div class="ttdeci">#define HMI_ERROR(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00038">hmi-debug.h:38</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a1073d4aca1838d3877fe577d813700fc"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a1073d4aca1838d3877fe577d813700fc">init_egl</a></div><div class="ttdeci">static void init_egl(struct display *display, struct window *window)</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00174">simple-egl.cpp:174</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_a0d26d8b8201011dade787236519711c0"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a></div><div class="ttdeci">#define HMI_DEBUG(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00042">hmi-debug.h:42</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_aac718b60b83c74e2b061f6f7f7ec3bf5"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#aac718b60b83c74e2b061f6f7f7ec3bf5">LibHomeScreen::_areaNormal</a></div><div class="ttdeci">const char * _areaNormal</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00058">libhomescreen.hpp:58</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a59a731b9efa9d6a2015cdc8ccae1db80"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a59a731b9efa9d6a2015cdc8ccae1db80">registry_handle_global_remove</a></div><div class="ttdeci">static void registry_handle_global_remove(void *data, struct wl_registry *registry, uint32_t name)</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00510">simple-egl.cpp:510</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a3c04138a5bfe5d72780bb7e82a18e627"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">main</a></div><div class="ttdeci">int main(int argc, char **argv)</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00589">simple-egl.cpp:589</a></div></div>
+<div class="ttc" id="structdisplay_html_a41ba32dfde812165dda5b62885000c78"><div class="ttname"><a href="../../d6/df5/structdisplay.html#a41ba32dfde812165dda5b62885000c78">display::compositor</a></div><div class="ttdeci">struct wl_compositor * compositor</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00119">simple-egl.cpp:119</a></div></div>
+<div class="ttc" id="structwindow_html_a0e634038f669aff472012f25ea250b40"><div class="ttname"><a href="../../d6/de3/structwindow.html#a0e634038f669aff472012f25ea250b40">window::buffer_size</a></div><div class="ttdeci">int buffer_size</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00151">simple-egl.cpp:151</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a894f18168fa25101d792262f59846938"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a894f18168fa25101d792262f59846938">log_prefix</a></div><div class="ttdeci">const char * log_prefix</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00058">simple-egl.cpp:58</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00031">libhomescreen.hpp:31</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_aba2ea9aa51701e52d4f36b4f34cecf7a"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#aba2ea9aa51701e52d4f36b4f34cecf7a">destroy_surface</a></div><div class="ttdeci">static void destroy_surface(struct window *window)</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00370">simple-egl.cpp:370</a></div></div>
+<div class="ttc" id="structwindow_html_a8da44798a9e1feb7ed3fbd18ec3a28b6"><div class="ttname"><a href="../../d6/de3/structwindow.html#a8da44798a9e1feb7ed3fbd18ec3a28b6">window::fullscreen</a></div><div class="ttdeci">int fullscreen</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00151">simple-egl.cpp:151</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a79aafeb99915566dd3970246f465f306"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a79aafeb99915566dd3970246f465f306">init_hs</a></div><div class="ttdeci">int init_hs(LibHomeScreen *hs)</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00565">simple-egl.cpp:565</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_ada80120c5590d2821da9babef808b98d"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#ada80120c5590d2821da9babef808b98d">ivi_surface_requests</a></div><div class="ttdeci">static const struct wl_message ivi_surface_requests[]</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00077">simple-egl.cpp:77</a></div></div>
+<div class="ttc" id="structwindow_html_a633864bb495ec265bee220a5c70cc98f"><div class="ttname"><a href="../../d6/de3/structwindow.html#a633864bb495ec265bee220a5c70cc98f">window::frames</a></div><div class="ttdeci">uint32_t frames</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00145">simple-egl.cpp:145</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_ab1b0e08bf35415de9064afed899e9f85"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#ab1b0e08bf35415de9064afed899e9f85">LibHomeScreen::set_event_handler</a></div><div class="ttdeci">void set_event_handler(enum EventType et, handler_func f)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00295">libhomescreen.cpp:295</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="../../doxygen.png" alt="doxygen"/>
+</a> 1.8.11
+</small></address>
+</body>
+</html>
diff --git a/doc/api-ref/html/de/dca/hs-clientmanager_8h.html b/doc/api-ref/html/de/dca/hs-clientmanager_8h.html
new file mode 100644 (file)
index 0000000..81b17ae
--- /dev/null
@@ -0,0 +1,136 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<title>HomeScreenBinding: src/hs-clientmanager.h File Reference</title>
+<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="../../jquery.js"></script>
+<script type="text/javascript" src="../../dynsections.js"></script>
+<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="../../search/searchdata.js"></script>
+<script type="text/javascript" src="../../search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">HomeScreenBinding
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="../../index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="../../annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="../../files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="../../search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="../../files.html"><span>File&#160;List</span></a></li>
+      <li><a href="../../globals.html"><span>File&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="../../dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> &#124;
+<a href="#typedef-members">Typedefs</a>  </div>
+  <div class="headertitle">
+<div class="title">hs-clientmanager.h File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &lt;string&gt;</code><br />
+<code>#include &lt;mutex&gt;</code><br />
+<code>#include &lt;memory&gt;</code><br />
+<code>#include &lt;unordered_map&gt;</code><br />
+<code>#include &quot;<a class="el" href="../../d3/d3d/hs-helper_8h_source.html">hs-helper.h</a>&quot;</code><br />
+<code>#include &quot;<a class="el" href="../../da/dd3/hs-client_8h_source.html">hs-client.h</a>&quot;</code><br />
+</div>
+<p><a href="../../de/dca/hs-clientmanager_8h_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d53/struct_h_s___client_ctxt.html">HS_ClientCtxt</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d8e/class_h_s___client_manager.html">HS_ClientManager</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
+Typedefs</h2></td></tr>
+<tr class="memitem:a58a145d17337b835ab3fe17b50163040"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="../../d0/d53/struct_h_s___client_ctxt.html">HS_ClientCtxt</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/dca/hs-clientmanager_8h.html#a58a145d17337b835ab3fe17b50163040">HS_ClientCtxt</a></td></tr>
+<tr class="separator:a58a145d17337b835ab3fe17b50163040"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Typedef Documentation</h2>
+<a class="anchor" id="a58a145d17337b835ab3fe17b50163040"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef struct <a class="el" href="../../d0/d53/struct_h_s___client_ctxt.html">HS_ClientCtxt</a>  <a class="el" href="../../d0/d53/struct_h_s___client_ctxt.html">HS_ClientCtxt</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="../../doxygen.png" alt="doxygen"/>
+</a> 1.8.11
+</small></address>
+</body>
+</html>
diff --git a/doc/api-ref/html/de/dca/hs-clientmanager_8h_source.html b/doc/api-ref/html/de/dca/hs-clientmanager_8h_source.html
new file mode 100644 (file)
index 0000000..349281b
--- /dev/null
@@ -0,0 +1,117 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<title>HomeScreenBinding: src/hs-clientmanager.h Source File</title>
+<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="../../jquery.js"></script>
+<script type="text/javascript" src="../../dynsections.js"></script>
+<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="../../search/searchdata.js"></script>
+<script type="text/javascript" src="../../search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">HomeScreenBinding
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="../../index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="../../annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="../../files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="../../search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="../../files.html"><span>File&#160;List</span></a></li>
+      <li><a href="../../globals.html"><span>File&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="../../dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">hs-clientmanager.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="../../de/dca/hs-clientmanager_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * Copyright (c) 2018 TOYOTA MOTOR CORPORATION</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> * Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * you may not use this file except in compliance with the License.</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * You may obtain a copy of the License at</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *      http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * limitations under the License.</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef HOMESCREEN_CLIENTMANAGER_H</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define HOMESCREEN_CLIENTMANAGER_H</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;mutex&gt;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;memory&gt;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;unordered_map&gt;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d3/d3d/hs-helper_8h.html">hs-helper.h</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../da/dd3/hs-client_8h.html">hs-client.h</a>&quot;</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div><div class="line"><a name="l00027"></a><span class="lineno"><a class="line" href="../../d0/d53/struct_h_s___client_ctxt.html">   27</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="../../d0/d53/struct_h_s___client_ctxt.html">HS_ClientCtxt</a></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;{</div><div class="line"><a name="l00029"></a><span class="lineno"><a class="line" href="../../d0/d53/struct_h_s___client_ctxt.html#a04929d7d5f583a821d3d594815f77d1c">   29</a></span>&#160;    std::string <a class="code" href="../../d0/d53/struct_h_s___client_ctxt.html#a04929d7d5f583a821d3d594815f77d1c">id</a>;</div><div class="line"><a name="l00030"></a><span class="lineno"><a class="line" href="../../d0/d53/struct_h_s___client_ctxt.html#a9ff4dcc7b8c6061940a0ee79b5d15459">   30</a></span>&#160;    <a class="code" href="../../d0/d53/struct_h_s___client_ctxt.html#a9ff4dcc7b8c6061940a0ee79b5d15459">HS_ClientCtxt</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *appid)</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;    {</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;        <span class="keywordtype">id</span> = appid;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;    }</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;} <a class="code" href="../../d0/d53/struct_h_s___client_ctxt.html#a9ff4dcc7b8c6061940a0ee79b5d15459">HS_ClientCtxt</a>;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="../../d2/d8e/class_h_s___client_manager.html">   37</a></span>&#160;<span class="keyword">class </span><a class="code" href="../../d2/d8e/class_h_s___client_manager.html">HS_ClientManager</a> {</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;    <a class="code" href="../../d2/d8e/class_h_s___client_manager.html">HS_ClientManager</a>();</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;    ~<a class="code" href="../../d2/d8e/class_h_s___client_manager.html">HS_ClientManager</a>() = <span class="keywordflow">default</span>;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;    <a class="code" href="../../d2/d8e/class_h_s___client_manager.html">HS_ClientManager</a>(<a class="code" href="../../d2/d8e/class_h_s___client_manager.html">HS_ClientManager</a> <span class="keyword">const</span> &amp;) = <span class="keyword">delete</span>;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;    <a class="code" href="../../d2/d8e/class_h_s___client_manager.html">HS_ClientManager</a> &amp;operator=(<a class="code" href="../../d2/d8e/class_h_s___client_manager.html">HS_ClientManager</a> <span class="keyword">const</span> &amp;) = <span class="keyword">delete</span>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;    <a class="code" href="../../d2/d8e/class_h_s___client_manager.html">HS_ClientManager</a>(<a class="code" href="../../d2/d8e/class_h_s___client_manager.html">HS_ClientManager</a> &amp;&amp;) = <span class="keyword">delete</span>;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;    <a class="code" href="../../d2/d8e/class_h_s___client_manager.html">HS_ClientManager</a> &amp;operator=(<a class="code" href="../../d2/d8e/class_h_s___client_manager.html">HS_ClientManager</a> &amp;&amp;) = <span class="keyword">delete</span>;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;    <span class="keyword">static</span> <a class="code" href="../../d2/d8e/class_h_s___client_manager.html">HS_ClientManager</a>* instance(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;    <span class="keywordtype">int</span> <a class="code" href="../../d6/dda/homescreen_8cpp.html#a5d7de3437d5dcb79fa035959d95878db">init</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    <span class="keywordtype">void</span> removeClientCtxt(<span class="keywordtype">void</span> *data);</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;    <span class="keywordtype">int</span> <a class="code" href="../../d6/dda/homescreen_8cpp.html#ab8abb667377924d5c073611738febbd3">tap_shortcut</a>(afb_req_t request);</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;    <span class="keywordtype">int</span> <a class="code" href="../../d6/dda/homescreen_8cpp.html#ae475c69e7ca2a539ae0fb40a82963ac1">showWindow</a>(afb_req_t request);</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;    <span class="keywordtype">int</span> <a class="code" href="../../d6/dda/homescreen_8cpp.html#a057c380ea38cfba4e2fbccc40fc21798">hideWindow</a>(afb_req_t request);</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;    <span class="keywordtype">int</span> <a class="code" href="../../d6/dda/homescreen_8cpp.html#a710bcc84a61e11dbd4517def2764ff95">replyShowWindow</a>(afb_req_t request);</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    <span class="keywordtype">int</span> <a class="code" href="../../d6/dda/homescreen_8cpp.html#a0df2b60ff6cd56b53dc87b36bfee2b91">on_screen_message</a>(afb_req_t request);</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;    <span class="keywordtype">int</span> <a class="code" href="../../d6/dda/homescreen_8cpp.html#a7443596f6ddf459824ecd8138c681532">on_screen_reply</a>(afb_req_t request);</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    <span class="keywordtype">int</span> <a class="code" href="../../d6/dda/homescreen_8cpp.html#a6e942ab2b7207d2aef9adce71a4574e8">subscribe</a>(afb_req_t request);</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    <span class="keywordtype">int</span> <a class="code" href="../../d6/dda/homescreen_8cpp.html#a3b162ab1856a8fa4284cb2c5c35ea748">unsubscribe</a>(afb_req_t request);</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;    <span class="keywordtype">int</span> <a class="code" href="../../d6/dda/homescreen_8cpp.html#ad96a84455e8676abb4486e48ef67b1ad">showNotification</a>(afb_req_t request);</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;    <span class="keywordtype">int</span> <a class="code" href="../../d6/dda/homescreen_8cpp.html#a916c8dd31373222ee2b6ef89aca91978">showInformation</a>(afb_req_t request);</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;    <a class="code" href="../../d0/d53/struct_h_s___client_ctxt.html">HS_ClientCtxt</a>* createClientCtxt(afb_req_t req, std::string appid);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;    <a class="code" href="../../d5/d20/class_h_s___client.html">HS_Client</a>* addClient(afb_req_t req, std::string appid);</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;    <span class="keywordtype">void</span> removeClient(std::string appid);</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;    <span class="keyword">static</span> <a class="code" href="../../d2/d8e/class_h_s___client_manager.html">HS_ClientManager</a>* me;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;    std::unordered_map&lt;std::string, HS_Client*&gt; client_list;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;    std::unordered_map&lt;std::string, HS_ClientCtxt*&gt; appid2ctxt;</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;    std::mutex mtx;</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;};</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="preprocessor">#endif // HOMESCREEN_CLIENTMANAGER_H</span></div><div class="ttc" id="struct_h_s___client_ctxt_html_a9ff4dcc7b8c6061940a0ee79b5d15459"><div class="ttname"><a href="../../d0/d53/struct_h_s___client_ctxt.html#a9ff4dcc7b8c6061940a0ee79b5d15459">HS_ClientCtxt::HS_ClientCtxt</a></div><div class="ttdeci">HS_ClientCtxt(const char *appid)</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dca/hs-clientmanager_8h_source.html#l00030">hs-clientmanager.h:30</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_ae475c69e7ca2a539ae0fb40a82963ac1"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#ae475c69e7ca2a539ae0fb40a82963ac1">showWindow</a></div><div class="ttdeci">static void showWindow(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00194">homescreen.cpp:194</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_a7443596f6ddf459824ecd8138c681532"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#a7443596f6ddf459824ecd8138c681532">on_screen_reply</a></div><div class="ttdeci">static void on_screen_reply(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00113">homescreen.cpp:113</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_a0df2b60ff6cd56b53dc87b36bfee2b91"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#a0df2b60ff6cd56b53dc87b36bfee2b91">on_screen_message</a></div><div class="ttdeci">static void on_screen_message(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00085">homescreen.cpp:85</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_a6e942ab2b7207d2aef9adce71a4574e8"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#a6e942ab2b7207d2aef9adce71a4574e8">subscribe</a></div><div class="ttdeci">static void subscribe(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00140">homescreen.cpp:140</a></div></div>
+<div class="ttc" id="hs-helper_8h_html"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html">hs-helper.h</a></div></div>
+<div class="ttc" id="struct_h_s___client_ctxt_html"><div class="ttname"><a href="../../d0/d53/struct_h_s___client_ctxt.html">HS_ClientCtxt</a></div><div class="ttdef"><b>Definition:</b> <a href="../../de/dca/hs-clientmanager_8h_source.html#l00027">hs-clientmanager.h:27</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_a3b162ab1856a8fa4284cb2c5c35ea748"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#a3b162ab1856a8fa4284cb2c5c35ea748">unsubscribe</a></div><div class="ttdeci">static void unsubscribe(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00167">homescreen.cpp:167</a></div></div>
+<div class="ttc" id="class_h_s___client_html"><div class="ttname"><a href="../../d5/d20/class_h_s___client.html">HS_Client</a></div><div class="ttdef"><b>Definition:</b> <a href="../../da/dd3/hs-client_8h_source.html#l00025">hs-client.h:25</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_a916c8dd31373222ee2b6ef89aca91978"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#a916c8dd31373222ee2b6ef89aca91978">showInformation</a></div><div class="ttdeci">static void showInformation(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00306">homescreen.cpp:306</a></div></div>
+<div class="ttc" id="hs-client_8h_html"><div class="ttname"><a href="../../da/dd3/hs-client_8h.html">hs-client.h</a></div></div>
+<div class="ttc" id="class_h_s___client_manager_html"><div class="ttname"><a href="../../d2/d8e/class_h_s___client_manager.html">HS_ClientManager</a></div><div class="ttdef"><b>Definition:</b> <a href="../../de/dca/hs-clientmanager_8h_source.html#l00037">hs-clientmanager.h:37</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_a057c380ea38cfba4e2fbccc40fc21798"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#a057c380ea38cfba4e2fbccc40fc21798">hideWindow</a></div><div class="ttdeci">static void hideWindow(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00221">homescreen.cpp:221</a></div></div>
+<div class="ttc" id="struct_h_s___client_ctxt_html_a04929d7d5f583a821d3d594815f77d1c"><div class="ttname"><a href="../../d0/d53/struct_h_s___client_ctxt.html#a04929d7d5f583a821d3d594815f77d1c">HS_ClientCtxt::id</a></div><div class="ttdeci">std::string id</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dca/hs-clientmanager_8h_source.html#l00029">hs-clientmanager.h:29</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_a710bcc84a61e11dbd4517def2764ff95"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#a710bcc84a61e11dbd4517def2764ff95">replyShowWindow</a></div><div class="ttdeci">static void replyShowWindow(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00248">homescreen.cpp:248</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_ad96a84455e8676abb4486e48ef67b1ad"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#ad96a84455e8676abb4486e48ef67b1ad">showNotification</a></div><div class="ttdeci">static void showNotification(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00277">homescreen.cpp:277</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_ab8abb667377924d5c073611738febbd3"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#ab8abb667377924d5c073611738febbd3">tap_shortcut</a></div><div class="ttdeci">static void tap_shortcut(afb_req_t request)</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00058">homescreen.cpp:58</a></div></div>
+<div class="ttc" id="homescreen_8cpp_html_a5d7de3437d5dcb79fa035959d95878db"><div class="ttname"><a href="../../d6/dda/homescreen_8cpp.html#a5d7de3437d5dcb79fa035959d95878db">init</a></div><div class="ttdeci">static int init(afb_api_t api)</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/dda/homescreen_8cpp_source.html#l00368">homescreen.cpp:368</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="../../doxygen.png" alt="doxygen"/>
+</a> 1.8.11
+</small></address>
+</body>
+</html>
index 2181e10..66e6319 100644 (file)
@@ -3,8 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <title>HomeScreenBinding: LibHomeScreen Class Reference</title>
 <link href="../../tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="../../jquery.js"></script>
 <title>HomeScreenBinding: LibHomeScreen Class Reference</title>
 <link href="../../tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="../../jquery.js"></script>
@@ -12,6 +11,9 @@
 <link href="../../search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="../../search/searchdata.js"></script>
 <script type="text/javascript" src="../../search/search.js"></script>
 <link href="../../search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="../../search/searchdata.js"></script>
 <script type="text/javascript" src="../../search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
 <link href="../../doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
 <link href="../../doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
 </table>
 </div>
 <!-- end header part -->
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.11 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
 </script>
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
 </script>
-<script type="text/javascript" src="../../menudata.js"></script>
-<script type="text/javascript" src="../../menu.js"></script>
-<script type="text/javascript">
-$(function() {
-  initMenu('../../',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-</script>
-<div id="main-nav"></div>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="../../index.html"><span>Main&#160;Page</span></a></li>
+      <li class="current"><a href="../../annotated.html"><span>Classes</span></a></li>
+      <li><a href="../../files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="../../search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="../../annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="../../functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
      onmouseover="return searchBox.OnSearchSelectShow()"
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
      onmouseover="return searchBox.OnSearchSelectShow()"
@@ -61,6 +84,7 @@ $(function() {
   <div class="summary">
 <a href="#pub-types">Public Types</a> &#124;
 <a href="#pub-methods">Public Member Functions</a> &#124;
   <div class="summary">
 <a href="#pub-types">Public Types</a> &#124;
 <a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-attribs">Public Attributes</a> &#124;
 <a href="#pub-static-attribs">Static Public Attributes</a> &#124;
 <a href="../../d7/df4/class_lib_home_screen-members.html">List of all members</a>  </div>
   <div class="headertitle">
 <a href="#pub-static-attribs">Static Public Attributes</a> &#124;
 <a href="../../d7/df4/class_lib_home_screen-members.html">List of all members</a>  </div>
   <div class="headertitle">
@@ -72,9 +96,17 @@ $(function() {
 <table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
 Public Types</h2></td></tr>
 <table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
 Public Types</h2></td></tr>
-<tr class="memitem:a82616c91ac211d2ad08e709b524bf154"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154">EventType</a> { <a class="el" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f">Event_TapShortcut</a> = 1, 
+<tr class="memitem:a82616c91ac211d2ad08e709b524bf154"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154">EventType</a> { <br />
+&#160;&#160;<a class="el" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a3fb3563c64786f1a2ae404df6edffd5c">Event_ShowWindow</a> = 1, 
+<a class="el" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f">Event_TapShortcut</a> = 1, 
 <a class="el" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d">Event_OnScreenMessage</a>, 
 <a class="el" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d">Event_OnScreenMessage</a>, 
-<a class="el" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd">Event_OnScreenReply</a>
+<a class="el" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd">Event_OnScreenReply</a>, 
+<br />
+&#160;&#160;<a class="el" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aef8bb1086ddbc0a125d77af9da3146a0">Event_HideWindow</a>, 
+<a class="el" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aaacb8babce7fac884ab4bf7605da0d9f">Event_ReplyShowWindow</a>, 
+<a class="el" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a68119a9c3ff85e807db38d3282e5ca30">Event_ShowNotification</a>, 
+<a class="el" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a1fad2ac5071a1dae7db9c8e1b522669b">Event_ShowInformation</a>
+<br />
  }</td></tr>
 <tr class="separator:a82616c91ac211d2ad08e709b524bf154"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a334f11f81c84c98d18284215dcaada3a"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a334f11f81c84c98d18284215dcaada3a">handler_func</a> = std::function&lt; void(json_object *)&gt;</td></tr>
  }</td></tr>
 <tr class="separator:a82616c91ac211d2ad08e709b524bf154"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a334f11f81c84c98d18284215dcaada3a"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a334f11f81c84c98d18284215dcaada3a">handler_func</a> = std::function&lt; void(json_object *)&gt;</td></tr>
@@ -90,17 +122,17 @@ Public Member Functions</h2></td></tr>
 <tr class="separator:a0fff2f703c8ce184eb9edd133e0f4137"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a23bc17798453cfca50904562736f6b25"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a23bc17798453cfca50904562736f6b25">operator=</a> (const <a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a> &amp;)=delete</td></tr>
 <tr class="separator:a23bc17798453cfca50904562736f6b25"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="separator:a0fff2f703c8ce184eb9edd133e0f4137"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a23bc17798453cfca50904562736f6b25"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a23bc17798453cfca50904562736f6b25">operator=</a> (const <a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a> &amp;)=delete</td></tr>
 <tr class="separator:a23bc17798453cfca50904562736f6b25"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6a57b573cc767725762ba9beab032220"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a6a57b573cc767725762ba9beab032220">init</a> (const int port, const std::string &amp;token)</td></tr>
+<tr class="memitem:a6a57b573cc767725762ba9beab032220"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a6a57b573cc767725762ba9beab032220">init</a> (const int <a class="el" href="../../de/da4/simple-egl_8cpp.html#a300b6806fe6818927fe4df08f2398124">port</a>, const std::string &amp;<a class="el" href="../../de/da4/simple-egl_8cpp.html#a623ef6987ef3bd185c07b28b13e46d34">token</a>)</td></tr>
 <tr class="separator:a6a57b573cc767725762ba9beab032220"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="separator:a6a57b573cc767725762ba9beab032220"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:afb571c9577087b47065eb23e7fdbc903"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/dd0/class_lib_home_screen.html#afb571c9577087b47065eb23e7fdbc903">tapShortcut</a> (const char *application_name)</td></tr>
-<tr class="separator:afb571c9577087b47065eb23e7fdbc903"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6ca8ff4a2aa019a735afaff713e0ef44"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a6ca8ff4a2aa019a735afaff713e0ef44">tapShortcut</a> (const char *application_id)</td></tr>
+<tr class="separator:a6ca8ff4a2aa019a735afaff713e0ef44"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ac336482036a72b51a822725f1929523c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/dd0/class_lib_home_screen.html#ac336482036a72b51a822725f1929523c">onScreenMessage</a> (const char *display_message)</td></tr>
 <tr class="separator:ac336482036a72b51a822725f1929523c"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a6c065f41f2c5d1f58d2763bfb4da9c37"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a6c065f41f2c5d1f58d2763bfb4da9c37">onScreenReply</a> (const char *reply_message)</td></tr>
 <tr class="separator:a6c065f41f2c5d1f58d2763bfb4da9c37"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ab1b0e08bf35415de9064afed899e9f85"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/dd0/class_lib_home_screen.html#ab1b0e08bf35415de9064afed899e9f85">set_event_handler</a> (enum <a class="el" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154">EventType</a> et, <a class="el" href="../../de/dd0/class_lib_home_screen.html#a334f11f81c84c98d18284215dcaada3a">handler_func</a> f)</td></tr>
 <tr class="separator:ab1b0e08bf35415de9064afed899e9f85"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ac336482036a72b51a822725f1929523c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/dd0/class_lib_home_screen.html#ac336482036a72b51a822725f1929523c">onScreenMessage</a> (const char *display_message)</td></tr>
 <tr class="separator:ac336482036a72b51a822725f1929523c"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a6c065f41f2c5d1f58d2763bfb4da9c37"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a6c065f41f2c5d1f58d2763bfb4da9c37">onScreenReply</a> (const char *reply_message)</td></tr>
 <tr class="separator:a6c065f41f2c5d1f58d2763bfb4da9c37"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ab1b0e08bf35415de9064afed899e9f85"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/dd0/class_lib_home_screen.html#ab1b0e08bf35415de9064afed899e9f85">set_event_handler</a> (enum <a class="el" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154">EventType</a> et, <a class="el" href="../../de/dd0/class_lib_home_screen.html#a334f11f81c84c98d18284215dcaada3a">handler_func</a> f)</td></tr>
 <tr class="separator:ab1b0e08bf35415de9064afed899e9f85"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2789e8a5372202cc36f48e71dbb9b7cf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a2789e8a5372202cc36f48e71dbb9b7cf">registerCallback</a> (void(*event_cb)(const std::string &amp;<a class="el" href="../../df/d7d/structevent.html">event</a>, struct json_object *event_contents), void(*reply_cb)(struct json_object *reply_contents), void(*hangup_cb)(void)=nullptr)</td></tr>
+<tr class="memitem:a2789e8a5372202cc36f48e71dbb9b7cf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a2789e8a5372202cc36f48e71dbb9b7cf">registerCallback</a> (void(*event_cb)(const std::string &amp;event, struct json_object *event_contents), void(*reply_cb)(struct json_object *reply_contents), void(*hangup_cb)(void)=nullptr)</td></tr>
 <tr class="separator:a2789e8a5372202cc36f48e71dbb9b7cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a527b49dcfe581be6275d0eb2236ba37f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a527b49dcfe581be6275d0eb2236ba37f">call</a> (const std::string &amp;verb, struct json_object *arg)</td></tr>
 <tr class="separator:a527b49dcfe581be6275d0eb2236ba37f"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="separator:a2789e8a5372202cc36f48e71dbb9b7cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a527b49dcfe581be6275d0eb2236ba37f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a527b49dcfe581be6275d0eb2236ba37f">call</a> (const std::string &amp;verb, struct json_object *arg)</td></tr>
 <tr class="separator:a527b49dcfe581be6275d0eb2236ba37f"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -110,15 +142,40 @@ Public Member Functions</h2></td></tr>
 <tr class="separator:aa4c189807b75d070f567967f0d690738"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:aac03a45cbd453ba69ddb00c1016930a6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/dd0/class_lib_home_screen.html#aac03a45cbd453ba69ddb00c1016930a6">unsubscribe</a> (const std::string &amp;event_name)</td></tr>
 <tr class="separator:aac03a45cbd453ba69ddb00c1016930a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="separator:aa4c189807b75d070f567967f0d690738"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:aac03a45cbd453ba69ddb00c1016930a6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/dd0/class_lib_home_screen.html#aac03a45cbd453ba69ddb00c1016930a6">unsubscribe</a> (const std::string &amp;event_name)</td></tr>
 <tr class="separator:aac03a45cbd453ba69ddb00c1016930a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a69fc770cb3f94d30a10c2c8c81eb892f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a69fc770cb3f94d30a10c2c8c81eb892f">showWindow</a> (const char *application_id, json_object *json)</td></tr>
+<tr class="separator:a69fc770cb3f94d30a10c2c8c81eb892f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4dbaea6c7b310e8ce7207155ff11b32a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a4dbaea6c7b310e8ce7207155ff11b32a">hideWindow</a> (const char *application_id)</td></tr>
+<tr class="separator:a4dbaea6c7b310e8ce7207155ff11b32a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6310b129fc85ef0623e2e2063950cc4b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a6310b129fc85ef0623e2e2063950cc4b">replyShowWindow</a> (const char *application_id, json_object *json)</td></tr>
+<tr class="separator:a6310b129fc85ef0623e2e2063950cc4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a93ad567ed597a80a344ba82457c2bd7f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a93ad567ed597a80a344ba82457c2bd7f">showNotification</a> (json_object *json)</td></tr>
+<tr class="separator:a93ad567ed597a80a344ba82457c2bd7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ada999aeb0444c964428bdf1ee236727f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/dd0/class_lib_home_screen.html#ada999aeb0444c964428bdf1ee236727f">showInformation</a> (json_object *json)</td></tr>
+<tr class="separator:ada999aeb0444c964428bdf1ee236727f"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ab1c1fa69f24b981e824dd9fb810c4b74"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/dd0/class_lib_home_screen.html#ab1c1fa69f24b981e824dd9fb810c4b74">on_hangup</a> (void *closure, struct afb_wsj1 *wsj)</td></tr>
 <tr class="separator:ab1c1fa69f24b981e824dd9fb810c4b74"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a608638eb87b2772a3dcc92d8ca8f3596"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a608638eb87b2772a3dcc92d8ca8f3596">on_call</a> (void *closure, const char *api, const char *verb, struct afb_wsj1_msg *msg)</td></tr>
 <tr class="separator:a608638eb87b2772a3dcc92d8ca8f3596"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ab1c1fa69f24b981e824dd9fb810c4b74"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/dd0/class_lib_home_screen.html#ab1c1fa69f24b981e824dd9fb810c4b74">on_hangup</a> (void *closure, struct afb_wsj1 *wsj)</td></tr>
 <tr class="separator:ab1c1fa69f24b981e824dd9fb810c4b74"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a608638eb87b2772a3dcc92d8ca8f3596"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a608638eb87b2772a3dcc92d8ca8f3596">on_call</a> (void *closure, const char *api, const char *verb, struct afb_wsj1_msg *msg)</td></tr>
 <tr class="separator:a608638eb87b2772a3dcc92d8ca8f3596"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9c4885b51b43ab24a548d49fb3ab2de3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a9c4885b51b43ab24a548d49fb3ab2de3">on_event</a> (void *closure, const char *<a class="el" href="../../df/d7d/structevent.html">event</a>, struct afb_wsj1_msg *msg)</td></tr>
+<tr class="memitem:a9c4885b51b43ab24a548d49fb3ab2de3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a9c4885b51b43ab24a548d49fb3ab2de3">on_event</a> (void *closure, const char *event, struct afb_wsj1_msg *msg)</td></tr>
 <tr class="separator:a9c4885b51b43ab24a548d49fb3ab2de3"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a248d9648c6186287a7632ec1c75fc9c5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a248d9648c6186287a7632ec1c75fc9c5">on_reply</a> (void *closure, struct afb_wsj1_msg *msg)</td></tr>
 <tr class="separator:a248d9648c6186287a7632ec1c75fc9c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table><table class="memberdecls">
 <tr class="separator:a9c4885b51b43ab24a548d49fb3ab2de3"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a248d9648c6186287a7632ec1c75fc9c5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a248d9648c6186287a7632ec1c75fc9c5">on_reply</a> (void *closure, struct afb_wsj1_msg *msg)</td></tr>
 <tr class="separator:a248d9648c6186287a7632ec1c75fc9c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:a927592eff8e34efbbceaf12522f8897f"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a927592eff8e34efbbceaf12522f8897f">_keyParameter</a> = &quot;parameter&quot;</td></tr>
+<tr class="separator:a927592eff8e34efbbceaf12522f8897f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8becda1b035ae45f5a11c7e7963091bf"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a8becda1b035ae45f5a11c7e7963091bf">_keyArea</a> = &quot;area&quot;</td></tr>
+<tr class="separator:a8becda1b035ae45f5a11c7e7963091bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aac718b60b83c74e2b061f6f7f7ec3bf5"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/dd0/class_lib_home_screen.html#aac718b60b83c74e2b061f6f7f7ec3bf5">_areaNormal</a> = &quot;normal&quot;</td></tr>
+<tr class="separator:aac718b60b83c74e2b061f6f7f7ec3bf5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad0569f5323ead77a43bd8735377a6f25"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/dd0/class_lib_home_screen.html#ad0569f5323ead77a43bd8735377a6f25">_areaFullScreen</a> = &quot;fullscreen&quot;</td></tr>
+<tr class="separator:ad0569f5323ead77a43bd8735377a6f25"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7f201fc366146790520bf8d990f7b2eb"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a7f201fc366146790520bf8d990f7b2eb">_areaSplitMain</a> = &quot;split.main&quot;</td></tr>
+<tr class="separator:a7f201fc366146790520bf8d990f7b2eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab4f54373b0681de11243152f01c48888"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/dd0/class_lib_home_screen.html#ab4f54373b0681de11243152f01c48888">_areaSplitSub</a> = &quot;split.sub&quot;</td></tr>
+<tr class="separator:ab4f54373b0681de11243152f01c48888"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
 Static Public Attributes</h2></td></tr>
 <tr class="memitem:a5593ff5ac78f6495ccb649904cf0ab08"><td class="memItemLeft" align="right" valign="top">static const std::vector&lt; std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a5593ff5ac78f6495ccb649904cf0ab08">api_list</a></td></tr>
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
 Static Public Attributes</h2></td></tr>
 <tr class="memitem:a5593ff5ac78f6495ccb649904cf0ab08"><td class="memItemLeft" align="right" valign="top">static const std::vector&lt; std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/dd0/class_lib_home_screen.html#a5593ff5ac78f6495ccb649904cf0ab08">api_list</a></td></tr>
@@ -128,11 +185,9 @@ Static Public Attributes</h2></td></tr>
 </table>
 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
 <div class="textblock">
 </table>
 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
 <div class="textblock">
-<p class="definition">Definition at line <a class="el" href="../../df/d43/libhomescreen_8hpp_source.html#l00032">32</a> of file <a class="el" href="../../df/d43/libhomescreen_8hpp_source.html">libhomescreen.hpp</a>.</p>
+<p>Definition at line <a class="el" href="../../df/d43/libhomescreen_8hpp_source.html#l00031">31</a> of file <a class="el" href="../../df/d43/libhomescreen_8hpp_source.html">libhomescreen.hpp</a>.</p>
 </div><h2 class="groupheader">Member Typedef Documentation</h2>
 </div><h2 class="groupheader">Member Typedef Documentation</h2>
-<a id="a334f11f81c84c98d18284215dcaada3a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a334f11f81c84c98d18284215dcaada3a">&#9670;&nbsp;</a></span>handler_func</h2>
-
+<a class="anchor" id="a334f11f81c84c98d18284215dcaada3a"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
@@ -142,14 +197,12 @@ Static Public Attributes</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
       </table>
 </div><div class="memdoc">
 
-<p class="definition">Definition at line <a class="el" href="../../df/d43/libhomescreen_8hpp_source.html#l00042">42</a> of file <a class="el" href="../../df/d43/libhomescreen_8hpp_source.html">libhomescreen.hpp</a>.</p>
+<p>Definition at line <a class="el" href="../../df/d43/libhomescreen_8hpp_source.html#l00040">40</a> of file <a class="el" href="../../df/d43/libhomescreen_8hpp_source.html">libhomescreen.hpp</a>.</p>
 
 </div>
 </div>
 <h2 class="groupheader">Member Enumeration Documentation</h2>
 
 </div>
 </div>
 <h2 class="groupheader">Member Enumeration Documentation</h2>
-<a id="a82616c91ac211d2ad08e709b524bf154"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a82616c91ac211d2ad08e709b524bf154">&#9670;&nbsp;</a></span>EventType</h2>
-
+<a class="anchor" id="a82616c91ac211d2ad08e709b524bf154"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
@@ -159,22 +212,38 @@ Static Public Attributes</h2></td></tr>
       </table>
 </div><div class="memdoc">
 <table class="fieldtable">
       </table>
 </div><div class="memdoc">
 <table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f"></a>Event_TapShortcut&#160;</td><td class="fielddoc"></td></tr>
-<tr><td class="fieldname"><a id="a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d"></a>Event_OnScreenMessage&#160;</td><td class="fielddoc"></td></tr>
-<tr><td class="fieldname"><a id="a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd"></a>Event_OnScreenReply&#160;</td><td class="fielddoc"></td></tr>
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a82616c91ac211d2ad08e709b524bf154a3fb3563c64786f1a2ae404df6edffd5c"></a>Event_ShowWindow&#160;</td><td class="fielddoc">
+</td></tr>
+<tr><td class="fieldname"><a class="anchor" id="a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f"></a>Event_TapShortcut&#160;</td><td class="fielddoc">
+</td></tr>
+<tr><td class="fieldname"><a class="anchor" id="a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d"></a>Event_OnScreenMessage&#160;</td><td class="fielddoc">
+</td></tr>
+<tr><td class="fieldname"><a class="anchor" id="a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd"></a>Event_OnScreenReply&#160;</td><td class="fielddoc">
+</td></tr>
+<tr><td class="fieldname"><a class="anchor" id="a82616c91ac211d2ad08e709b524bf154aef8bb1086ddbc0a125d77af9da3146a0"></a>Event_HideWindow&#160;</td><td class="fielddoc">
+</td></tr>
+<tr><td class="fieldname"><a class="anchor" id="a82616c91ac211d2ad08e709b524bf154aaacb8babce7fac884ab4bf7605da0d9f"></a>Event_ReplyShowWindow&#160;</td><td class="fielddoc">
+</td></tr>
+<tr><td class="fieldname"><a class="anchor" id="a82616c91ac211d2ad08e709b524bf154a68119a9c3ff85e807db38d3282e5ca30"></a>Event_ShowNotification&#160;</td><td class="fielddoc">
+</td></tr>
+<tr><td class="fieldname"><a class="anchor" id="a82616c91ac211d2ad08e709b524bf154a1fad2ac5071a1dae7db9c8e1b522669b"></a>Event_ShowInformation&#160;</td><td class="fielddoc">
+</td></tr>
 </table>
 
 </table>
 
-<p class="definition">Definition at line <a class="el" href="../../df/d43/libhomescreen_8hpp_source.html#l00044">44</a> of file <a class="el" href="../../df/d43/libhomescreen_8hpp_source.html">libhomescreen.hpp</a>.</p>
-<div class="fragment"><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;                       {</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;            <a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f">Event_TapShortcut</a> = 1,</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;            <a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d">Event_OnScreenMessage</a>,</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;            <a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd">Event_OnScreenReply</a></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;        };</div><div class="ttc" id="class_lib_home_screen_html_a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d">LibHomeScreen::Event_OnScreenMessage</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00046">libhomescreen.hpp:46</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html_a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd">LibHomeScreen::Event_OnScreenReply</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00047">libhomescreen.hpp:47</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html_a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f">LibHomeScreen::Event_TapShortcut</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00045">libhomescreen.hpp:45</a></div></div>
+<p>Definition at line <a class="el" href="../../df/d43/libhomescreen_8hpp_source.html#l00042">42</a> of file <a class="el" href="../../df/d43/libhomescreen_8hpp_source.html">libhomescreen.hpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;                   {</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;        <a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a3fb3563c64786f1a2ae404df6edffd5c">Event_ShowWindow</a> = 1,</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;        <a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f">Event_TapShortcut</a> = 1,</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;        <a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d">Event_OnScreenMessage</a>,</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;        <a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd">Event_OnScreenReply</a>,</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;        <a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aef8bb1086ddbc0a125d77af9da3146a0">Event_HideWindow</a>,</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;        <a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aaacb8babce7fac884ab4bf7605da0d9f">Event_ReplyShowWindow</a>,</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;        <a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a68119a9c3ff85e807db38d3282e5ca30">Event_ShowNotification</a>,</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;        <a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a1fad2ac5071a1dae7db9c8e1b522669b">Event_ShowInformation</a></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;    };</div><div class="ttc" id="class_lib_home_screen_html_a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d">LibHomeScreen::Event_OnScreenMessage</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00045">libhomescreen.hpp:45</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd">LibHomeScreen::Event_OnScreenReply</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00046">libhomescreen.hpp:46</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a82616c91ac211d2ad08e709b524bf154aef8bb1086ddbc0a125d77af9da3146a0"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aef8bb1086ddbc0a125d77af9da3146a0">LibHomeScreen::Event_HideWindow</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00047">libhomescreen.hpp:47</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a82616c91ac211d2ad08e709b524bf154a3fb3563c64786f1a2ae404df6edffd5c"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a3fb3563c64786f1a2ae404df6edffd5c">LibHomeScreen::Event_ShowWindow</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00043">libhomescreen.hpp:43</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a82616c91ac211d2ad08e709b524bf154a68119a9c3ff85e807db38d3282e5ca30"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a68119a9c3ff85e807db38d3282e5ca30">LibHomeScreen::Event_ShowNotification</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00049">libhomescreen.hpp:49</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a82616c91ac211d2ad08e709b524bf154aaacb8babce7fac884ab4bf7605da0d9f"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aaacb8babce7fac884ab4bf7605da0d9f">LibHomeScreen::Event_ReplyShowWindow</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00048">libhomescreen.hpp:48</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a82616c91ac211d2ad08e709b524bf154a1fad2ac5071a1dae7db9c8e1b522669b"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a1fad2ac5071a1dae7db9c8e1b522669b">LibHomeScreen::Event_ShowInformation</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00050">libhomescreen.hpp:50</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f">LibHomeScreen::Event_TapShortcut</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00044">libhomescreen.hpp:44</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
 <h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
 </div><!-- fragment -->
 </div>
 </div>
 <h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
-<a id="a724bd949c4154fad041f96a15ef0f5dc"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a724bd949c4154fad041f96a15ef0f5dc">&#9670;&nbsp;</a></span>LibHomeScreen() <span class="overload">[1/2]</span></h2>
-
+<a class="anchor" id="a724bd949c4154fad041f96a15ef0f5dc"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
@@ -188,13 +257,11 @@ Static Public Attributes</h2></td></tr>
 </div><div class="memdoc">
 <p>constructor </p>
 
 </div><div class="memdoc">
 <p>constructor </p>
 
-<p class="definition">Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00083">83</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
-<div class="fragment"><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;{</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;}</div></div><!-- fragment -->
+<p>Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00093">93</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;{</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;}</div></div><!-- fragment -->
 </div>
 </div>
 </div>
 </div>
-<a id="a249902aebf71a5383ca8ec6ae558d095"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a249902aebf71a5383ca8ec6ae558d095">&#9670;&nbsp;</a></span>~LibHomeScreen()</h2>
-
+<a class="anchor" id="a249902aebf71a5383ca8ec6ae558d095"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
@@ -208,13 +275,11 @@ Static Public Attributes</h2></td></tr>
 </div><div class="memdoc">
 <p>destructor </p>
 
 </div><div class="memdoc">
 <p>destructor </p>
 
-<p class="definition">Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00090">90</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
-<div class="fragment"><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;{</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;    <span class="keywordflow">if</span>(mploop)</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;    {</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;        sd_event_unref(mploop);</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;    }</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;    <span class="keywordflow">if</span>(sp_websock != NULL)</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;    {</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;        afb_wsj1_unref(sp_websock);</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;    }</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;}</div></div><!-- fragment -->
+<p>Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00100">100</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;{</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;    <span class="keywordflow">if</span>(mploop)</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;    {</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;        sd_event_unref(mploop);</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;    }</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;    <span class="keywordflow">if</span>(sp_websock != NULL)</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;    {</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;        afb_wsj1_unref(sp_websock);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;    }</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;}</div></div><!-- fragment -->
 </div>
 </div>
 </div>
 </div>
-<a id="a0fff2f703c8ce184eb9edd133e0f4137"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a0fff2f703c8ce184eb9edd133e0f4137">&#9670;&nbsp;</a></span>LibHomeScreen() <span class="overload">[2/2]</span></h2>
-
+<a class="anchor" id="a0fff2f703c8ce184eb9edd133e0f4137"></a>
 <div class="memitem">
 <div class="memproto">
 <table class="mlabels">
 <div class="memitem">
 <div class="memproto">
 <table class="mlabels">
@@ -239,9 +304,7 @@ Static Public Attributes</h2></td></tr>
 </div>
 </div>
 <h2 class="groupheader">Member Function Documentation</h2>
 </div>
 </div>
 <h2 class="groupheader">Member Function Documentation</h2>
-<a id="a527b49dcfe581be6275d0eb2236ba37f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a527b49dcfe581be6275d0eb2236ba37f">&#9670;&nbsp;</a></span>call() <span class="overload">[1/2]</span></h2>
-
+<a class="anchor" id="a527b49dcfe581be6275d0eb2236ba37f"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
@@ -267,9 +330,7 @@ Static Public Attributes</h2></td></tr>
 
 </div>
 </div>
 
 </div>
 </div>
-<a id="ab5e8e8ab7d53e0f114e9e907fcbb7643"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab5e8e8ab7d53e0f114e9e907fcbb7643">&#9670;&nbsp;</a></span>call() <span class="overload">[2/2]</span></h2>
-
+<a class="anchor" id="ab5e8e8ab7d53e0f114e9e907fcbb7643"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
@@ -305,17 +366,45 @@ Static Public Attributes</h2></td></tr>
 <h4>Note</h4>
 <p>To call HomeScreen's APIs, the application should set its function name, arguments to JSON format. </p>
 
 <h4>Note</h4>
 <p>To call HomeScreen's APIs, the application should set its function name, arguments to JSON format. </p>
 
-<p class="definition">Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00360">360</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
-<div class="fragment"><div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;{</div><div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;    <span class="keywordtype">int</span> ret;</div><div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;    <span class="keywordflow">if</span>(!sp_websock)</div><div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;    {</div><div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;        <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;    }</div><div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;    <span class="keywordflow">if</span> (!<a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a7a2176c3d71fec0f09dcb2aa0866b17e">has_verb</a>(<span class="keywordtype">string</span>(verb)))</div><div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;    {</div><div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;        <a class="code" href="../../df/d76/hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>,<span class="stringliteral">&quot;verb doesn&#39;t exit&quot;</span>);</div><div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;        <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;    }</div><div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;    ret = afb_wsj1_call_j(sp_websock, <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a1e2d6e77dd8f0162f830058579eab42f">API</a>, verb, arg, <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a7778933bffa862c63fa0a1b8219faa8b">_on_reply_static</a>, <span class="keyword">this</span>);</div><div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;    <span class="keywordflow">if</span> (ret &lt; 0) {</div><div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;        <a class="code" href="../../df/d76/hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>,<span class="stringliteral">&quot;Failed to call verb:%s&quot;</span>,verb);</div><div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;    }</div><div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;}</div><div class="ttc" id="hmi-debug_8h_html_a65bb6c7cfe38f8a724beab5059d36fb2"><div class="ttname"><a href="../../df/d76/hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a></div><div class="ttdeci">#define HMI_ERROR(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d76/hmi-debug_8h_source.html#l00018">hmi-debug.h:18</a></div></div>
-<div class="ttc" id="libhomescreen_8cpp_html_a1e2d6e77dd8f0162f830058579eab42f"><div class="ttname"><a href="../../d0/d8a/libhomescreen_8cpp.html#a1e2d6e77dd8f0162f830058579eab42f">API</a></div><div class="ttdeci">static const char API[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00036">libhomescreen.cpp:36</a></div></div>
-<div class="ttc" id="libhomescreen_8cpp_html_a7a2176c3d71fec0f09dcb2aa0866b17e"><div class="ttname"><a href="../../d0/d8a/libhomescreen_8cpp.html#a7a2176c3d71fec0f09dcb2aa0866b17e">has_verb</a></div><div class="ttdeci">static bool has_verb(const string &amp;verb)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00518">libhomescreen.cpp:518</a></div></div>
-<div class="ttc" id="libhomescreen_8cpp_html_a7778933bffa862c63fa0a1b8219faa8b"><div class="ttname"><a href="../../d0/d8a/libhomescreen_8cpp.html#a7778933bffa862c63fa0a1b8219faa8b">_on_reply_static</a></div><div class="ttdeci">static void _on_reply_static(void *closure, struct afb_wsj1_msg *msg)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00074">libhomescreen.cpp:74</a></div></div>
+<p>Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00377">377</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;{</div><div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;    <span class="keywordtype">int</span> ret;</div><div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;    <span class="keywordflow">if</span>(!sp_websock)</div><div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;    {</div><div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;        <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;    }</div><div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;    <span class="keywordflow">if</span> (!<a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a7a2176c3d71fec0f09dcb2aa0866b17e">has_verb</a>(<span class="keywordtype">string</span>(verb)))</div><div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;    {</div><div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>,<span class="stringliteral">&quot;verb doesn&#39;t exit&quot;</span>);</div><div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;        <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;    }</div><div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;    ret = afb_wsj1_call_j(sp_websock, <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a1e2d6e77dd8f0162f830058579eab42f">API</a>, verb, arg, <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a7778933bffa862c63fa0a1b8219faa8b">_on_reply_static</a>, <span class="keyword">this</span>);</div><div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;    <span class="keywordflow">if</span> (ret &lt; 0) {</div><div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>,<span class="stringliteral">&quot;Failed to call verb:%s&quot;</span>,verb);</div><div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;    }</div><div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;}</div><div class="ttc" id="libhomescreen_8cpp_html_a1e2d6e77dd8f0162f830058579eab42f"><div class="ttname"><a href="../../d0/d8a/libhomescreen_8cpp.html#a1e2d6e77dd8f0162f830058579eab42f">API</a></div><div class="ttdeci">static const char API[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00035">libhomescreen.cpp:35</a></div></div>
+<div class="ttc" id="libhomescreen_8cpp_html_a7a2176c3d71fec0f09dcb2aa0866b17e"><div class="ttname"><a href="../../d0/d8a/libhomescreen_8cpp.html#a7a2176c3d71fec0f09dcb2aa0866b17e">has_verb</a></div><div class="ttdeci">static bool has_verb(const string &amp;verb)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00705">libhomescreen.cpp:705</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_a65bb6c7cfe38f8a724beab5059d36fb2"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a></div><div class="ttdeci">#define HMI_ERROR(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00038">hmi-debug.h:38</a></div></div>
+<div class="ttc" id="libhomescreen_8cpp_html_a7778933bffa862c63fa0a1b8219faa8b"><div class="ttname"><a href="../../d0/d8a/libhomescreen_8cpp.html#a7778933bffa862c63fa0a1b8219faa8b">_on_reply_static</a></div><div class="ttdeci">static void _on_reply_static(void *closure, struct afb_wsj1_msg *msg)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00084">libhomescreen.cpp:84</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
 </div><!-- fragment -->
 </div>
 </div>
-<a id="a6a57b573cc767725762ba9beab032220"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6a57b573cc767725762ba9beab032220">&#9670;&nbsp;</a></span>init()</h2>
+<a class="anchor" id="a4dbaea6c7b310e8ce7207155ff11b32a"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int LibHomeScreen::hideWindow </td>
+          <td>(</td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>application_id</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Sending hide window event</p>
+<p>Call HomeScreen Service's hideWindow verb to release id's screen.</p>
+<h4>Parameters</h4>
+<ul>
+<li>application_id [in] : This argument should be specified to the application's id.</li>
+</ul>
+<h4>Return</h4>
+<ul>
+<li>Returns 0 on success or -1 in case of error. </li>
+</ul>
 
 
+<p>Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00503">503</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160;{</div><div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;    <span class="keywordflow">if</span>(!sp_websock)</div><div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;    {</div><div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;        <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;    }</div><div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;</div><div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;    <span class="keyword">struct </span>json_object* j_obj = json_object_new_object();</div><div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;    <span class="keyword">struct </span>json_object* val = json_object_new_string(application_id);</div><div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;    json_object_object_add(j_obj, <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a5a89bcb5a83f6b2e5c664a041bd8fd00">ApplicationId</a>, val);</div><div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;</div><div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;    <span class="keywordflow">return</span> this-&gt;<a class="code" href="../../de/dd0/class_lib_home_screen.html#a527b49dcfe581be6275d0eb2236ba37f">call</a>(<span class="stringliteral">&quot;hideWindow&quot;</span>, j_obj);</div><div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160;}</div><div class="ttc" id="libhomescreen_8cpp_html_a5a89bcb5a83f6b2e5c664a041bd8fd00"><div class="ttname"><a href="../../d0/d8a/libhomescreen_8cpp.html#a5a89bcb5a83f6b2e5c664a041bd8fd00">ApplicationId</a></div><div class="ttdeci">static const char ApplicationId[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00036">libhomescreen.cpp:36</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a527b49dcfe581be6275d0eb2236ba37f"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a527b49dcfe581be6275d0eb2236ba37f">LibHomeScreen::call</a></div><div class="ttdeci">int call(const std::string &amp;verb, struct json_object *arg)</div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a6a57b573cc767725762ba9beab032220"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
@@ -349,15 +438,15 @@ Static Public Attributes</h2></td></tr>
 <h4>Note</h4>
 <p>Use this constructor </p>
 
 <h4>Note</h4>
 <p>Use this constructor </p>
 
-<p class="definition">Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00116">116</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
-<div class="fragment"><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;{</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;    <span class="keywordtype">int</span> ret = 0;</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;    <span class="keywordflow">if</span>(port &gt; 0 &amp;&amp; token.size() &gt; 0)</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;    {</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;        mport = port;</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;        mtoken = token;</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;    }</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;    <span class="keywordflow">else</span></div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;    {</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;        <a class="code" href="../../df/d76/hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>,<span class="stringliteral">&quot;port and token should be &gt; 0, Initial port and token uses.&quot;</span>);</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;    }</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;    ret = initialize_websocket();</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;    <span class="keywordflow">if</span>(ret != 0 )</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;    {</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;        <a class="code" href="../../df/d76/hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>,<span class="stringliteral">&quot;Failed to initialize websocket&quot;</span>);</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;    }</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;    <span class="keywordflow">else</span>{</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;        <a class="code" href="../../df/d76/hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>,<span class="stringliteral">&quot;Initialized&quot;</span>);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;    }</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;}</div><div class="ttc" id="hmi-debug_8h_html_a65bb6c7cfe38f8a724beab5059d36fb2"><div class="ttname"><a href="../../df/d76/hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a></div><div class="ttdeci">#define HMI_ERROR(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d76/hmi-debug_8h_source.html#l00018">hmi-debug.h:18</a></div></div>
-<div class="ttc" id="hmi-debug_8h_html_a0d26d8b8201011dade787236519711c0"><div class="ttname"><a href="../../df/d76/hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a></div><div class="ttdeci">#define HMI_DEBUG(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d76/hmi-debug_8h_source.html#l00022">hmi-debug.h:22</a></div></div>
+<p>Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00126">126</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;{</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;    <span class="keywordtype">int</span> ret = 0;</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;    <span class="keywordflow">if</span>(<a class="code" href="../../de/da4/simple-egl_8cpp.html#a300b6806fe6818927fe4df08f2398124">port</a> &gt; 0 &amp;&amp; <a class="code" href="../../de/da4/simple-egl_8cpp.html#a623ef6987ef3bd185c07b28b13e46d34">token</a>.size() &gt; 0)</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;    {</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;        mport = <a class="code" href="../../de/da4/simple-egl_8cpp.html#a300b6806fe6818927fe4df08f2398124">port</a>;</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;        mtoken = <a class="code" href="../../de/da4/simple-egl_8cpp.html#a623ef6987ef3bd185c07b28b13e46d34">token</a>;</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;    }</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;    <span class="keywordflow">else</span></div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;    {</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>,<span class="stringliteral">&quot;port and token should be &gt; 0, Initial port and token uses.&quot;</span>);</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;    }</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;    ret = initialize_websocket();</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;    <span class="keywordflow">if</span>(ret != 0 )</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;    {</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>,<span class="stringliteral">&quot;Failed to initialize websocket&quot;</span>);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;    }</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;    <span class="keywordflow">else</span>{</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>,<span class="stringliteral">&quot;Initialized&quot;</span>);</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;    }</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;}</div><div class="ttc" id="simple-egl_8cpp_html_a623ef6987ef3bd185c07b28b13e46d34"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a623ef6987ef3bd185c07b28b13e46d34">token</a></div><div class="ttdeci">string token</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00061">simple-egl.cpp:61</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a300b6806fe6818927fe4df08f2398124"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a300b6806fe6818927fe4df08f2398124">port</a></div><div class="ttdeci">long port</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00060">simple-egl.cpp:60</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_a65bb6c7cfe38f8a724beab5059d36fb2"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a></div><div class="ttdeci">#define HMI_ERROR(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00038">hmi-debug.h:38</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_a0d26d8b8201011dade787236519711c0"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a></div><div class="ttdeci">#define HMI_DEBUG(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00042">hmi-debug.h:42</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
 </div><!-- fragment -->
 </div>
 </div>
-<a id="a608638eb87b2772a3dcc92d8ca8f3596"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a608638eb87b2772a3dcc92d8ca8f3596">&#9670;&nbsp;</a></span>on_call()</h2>
-
+<a class="anchor" id="a608638eb87b2772a3dcc92d8ca8f3596"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
@@ -393,13 +482,11 @@ Static Public Attributes</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
       </table>
 </div><div class="memdoc">
 
-<p class="definition">Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00448">448</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
-<div class="fragment"><div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;{</div><div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;}</div></div><!-- fragment -->
+<p>Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00606">606</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160;{</div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;}</div></div><!-- fragment -->
 </div>
 </div>
 </div>
 </div>
-<a id="a9c4885b51b43ab24a548d49fb3ab2de3"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a9c4885b51b43ab24a548d49fb3ab2de3">&#9670;&nbsp;</a></span>on_event()</h2>
-
+<a class="anchor" id="a9c4885b51b43ab24a548d49fb3ab2de3"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
@@ -429,20 +516,23 @@ Static Public Attributes</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
       </table>
 </div><div class="memdoc">
 
-<p class="definition">Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00458">458</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
-<div class="fragment"><div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;{</div><div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;    <a class="code" href="../../df/d76/hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>,<span class="stringliteral">&quot;event: (%s) msg: (%s).&quot;</span>, <a class="code" href="../../df/d7d/structevent.html">event</a>, afb_wsj1_msg_object_s(msg));</div><div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;</div><div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;    <span class="keywordflow">if</span> (strstr(<a class="code" href="../../df/d7d/structevent.html">event</a>, <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a1e2d6e77dd8f0162f830058579eab42f">API</a>) == NULL) {</div><div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;        <span class="keywordflow">return</span>;</div><div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;    }</div><div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;</div><div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;    <span class="keyword">struct </span>json_object* ev_contents = afb_wsj1_msg_object_j(msg);</div><div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;    <span class="keyword">struct </span>json_object *json_data = json_object_object_get(ev_contents, <span class="stringliteral">&quot;data&quot;</span>);</div><div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;</div><div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;    <span class="keywordflow">if</span>(onEvent != <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;    {</div><div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;        <span class="keyword">const</span> <span class="keywordtype">string</span> ev(<a class="code" href="../../df/d7d/structevent.html">event</a>);</div><div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;        onEvent(ev, ev_contents);</div><div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;    }</div><div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;</div><div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* event_only = strchr(<a class="code" href="../../df/d7d/structevent.html">event</a>, <span class="charliteral">&#39;/&#39;</span>);</div><div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;    <span class="keywordflow">if</span> (event_only != <span class="keyword">nullptr</span>) {</div><div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;        event_only = event_only + 1;</div><div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;    }</div><div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;</div><div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;    <span class="keywordflow">if</span> (strcasecmp(event_only, <a class="code" href="../../de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9">LibHomeScreen::event_list</a>[0].c_str()) == 0) {</div><div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;        <span class="keyword">auto</span> i = this-&gt;handlers.find(<a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f">Event_TapShortcut</a>);</div><div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;        <span class="keywordflow">if</span> ( i != this-&gt;handlers.end() ) {</div><div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;            i-&gt;second(json_data);</div><div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;        }</div><div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;    }</div><div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;    <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcasecmp(event_only, <a class="code" href="../../de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9">LibHomeScreen::event_list</a>[1].c_str()) == 0) {</div><div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;        <span class="keyword">auto</span> i = this-&gt;handlers.find(<a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d">Event_OnScreenMessage</a>);</div><div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;        <span class="keywordflow">if</span> ( i != this-&gt;handlers.end() ) {</div><div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;            i-&gt;second(json_data);</div><div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;        }</div><div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;    }</div><div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;    <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcasecmp(event_only, <a class="code" href="../../de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9">LibHomeScreen::event_list</a>[2].c_str()) == 0) {</div><div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;        <span class="keyword">auto</span> i = this-&gt;handlers.find(<a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd">Event_OnScreenReply</a>);</div><div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;        <span class="keywordflow">if</span> ( i != this-&gt;handlers.end() ) {</div><div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;            i-&gt;second(json_data);</div><div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;        }</div><div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;    }</div><div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;</div><div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;    json_object_put(ev_contents);</div><div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;}</div><div class="ttc" id="hmi-debug_8h_html_a0d26d8b8201011dade787236519711c0"><div class="ttname"><a href="../../df/d76/hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a></div><div class="ttdeci">#define HMI_DEBUG(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d76/hmi-debug_8h_source.html#l00022">hmi-debug.h:22</a></div></div>
-<div class="ttc" id="structevent_html"><div class="ttname"><a href="../../df/d7d/structevent.html">event</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00035">homescreen.c:35</a></div></div>
-<div class="ttc" id="libhomescreen_8cpp_html_a1e2d6e77dd8f0162f830058579eab42f"><div class="ttname"><a href="../../d0/d8a/libhomescreen_8cpp.html#a1e2d6e77dd8f0162f830058579eab42f">API</a></div><div class="ttdeci">static const char API[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00036">libhomescreen.cpp:36</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html_a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d">LibHomeScreen::Event_OnScreenMessage</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00046">libhomescreen.hpp:46</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html_a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd">LibHomeScreen::Event_OnScreenReply</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00047">libhomescreen.hpp:47</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html_a6a6d8a4d33a006a08652e7377a4c29e9"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9">LibHomeScreen::event_list</a></div><div class="ttdeci">static const std::vector&lt; std::string &gt; event_list</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00051">libhomescreen.hpp:51</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html_a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f">LibHomeScreen::Event_TapShortcut</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00045">libhomescreen.hpp:45</a></div></div>
+<p>Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00616">616</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00617"></a><span class="lineno">  617</span>&#160;{</div><div class="line"><a name="l00618"></a><span class="lineno">  618</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>,<span class="stringliteral">&quot;event: (%s) msg: (%s).&quot;</span>, event, afb_wsj1_msg_object_s(msg));</div><div class="line"><a name="l00619"></a><span class="lineno">  619</span>&#160;</div><div class="line"><a name="l00620"></a><span class="lineno">  620</span>&#160;    <span class="keywordflow">if</span> (strstr(event, <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a1e2d6e77dd8f0162f830058579eab42f">API</a>) == NULL) {</div><div class="line"><a name="l00621"></a><span class="lineno">  621</span>&#160;        <span class="keywordflow">return</span>;</div><div class="line"><a name="l00622"></a><span class="lineno">  622</span>&#160;    }</div><div class="line"><a name="l00623"></a><span class="lineno">  623</span>&#160;</div><div class="line"><a name="l00624"></a><span class="lineno">  624</span>&#160;    <span class="keyword">struct </span>json_object* ev_contents = afb_wsj1_msg_object_j(msg);</div><div class="line"><a name="l00625"></a><span class="lineno">  625</span>&#160;    <span class="keyword">struct </span>json_object *json_data;</div><div class="line"><a name="l00626"></a><span class="lineno">  626</span>&#160;    <span class="keywordflow">if</span>(!json_object_object_get_ex(ev_contents, <span class="stringliteral">&quot;data&quot;</span>, &amp;json_data)) {</div><div class="line"><a name="l00627"></a><span class="lineno">  627</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>, <span class="stringliteral">&quot;got ev_contents error.&quot;</span>);</div><div class="line"><a name="l00628"></a><span class="lineno">  628</span>&#160;        <span class="keywordflow">return</span>;</div><div class="line"><a name="l00629"></a><span class="lineno">  629</span>&#160;    }</div><div class="line"><a name="l00630"></a><span class="lineno">  630</span>&#160;</div><div class="line"><a name="l00631"></a><span class="lineno">  631</span>&#160;    <span class="keywordflow">if</span>(onEvent != <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00632"></a><span class="lineno">  632</span>&#160;    {</div><div class="line"><a name="l00633"></a><span class="lineno">  633</span>&#160;        <span class="keyword">const</span> <span class="keywordtype">string</span> ev(event);</div><div class="line"><a name="l00634"></a><span class="lineno">  634</span>&#160;        onEvent(ev, ev_contents);</div><div class="line"><a name="l00635"></a><span class="lineno">  635</span>&#160;    }</div><div class="line"><a name="l00636"></a><span class="lineno">  636</span>&#160;</div><div class="line"><a name="l00637"></a><span class="lineno">  637</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* event_type = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00638"></a><span class="lineno">  638</span>&#160;    <span class="keyword">struct </span>json_object *json_event_type;</div><div class="line"><a name="l00639"></a><span class="lineno">  639</span>&#160;    <span class="keywordflow">if</span>(json_object_object_get_ex(json_data, <span class="stringliteral">&quot;type&quot;</span>, &amp;json_event_type)) {</div><div class="line"><a name="l00640"></a><span class="lineno">  640</span>&#160;        event_type = json_object_get_string(json_event_type);</div><div class="line"><a name="l00641"></a><span class="lineno">  641</span>&#160;    }</div><div class="line"><a name="l00642"></a><span class="lineno">  642</span>&#160;    <span class="keywordflow">else</span> {</div><div class="line"><a name="l00643"></a><span class="lineno">  643</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a25361812432cd2480bc8f1a8e56ecbf7">HMI_WARNING</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>,<span class="stringliteral">&quot;event_type is null.&quot;</span>);</div><div class="line"><a name="l00644"></a><span class="lineno">  644</span>&#160;        <span class="keywordflow">return</span>;</div><div class="line"><a name="l00645"></a><span class="lineno">  645</span>&#160;    }</div><div class="line"><a name="l00646"></a><span class="lineno">  646</span>&#160;</div><div class="line"><a name="l00647"></a><span class="lineno">  647</span>&#160;    <span class="keywordflow">if</span> (strcasecmp(event_type, <a class="code" href="../../de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9">LibHomeScreen::event_list</a>[0].c_str()) == 0) {</div><div class="line"><a name="l00648"></a><span class="lineno">  648</span>&#160;        <span class="keyword">auto</span> i = this-&gt;handlers.find(<a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a3fb3563c64786f1a2ae404df6edffd5c">Event_ShowWindow</a>);</div><div class="line"><a name="l00649"></a><span class="lineno">  649</span>&#160;        <span class="keywordflow">if</span> ( i != this-&gt;handlers.end() ) {</div><div class="line"><a name="l00650"></a><span class="lineno">  650</span>&#160;            i-&gt;second(json_data);</div><div class="line"><a name="l00651"></a><span class="lineno">  651</span>&#160;        }</div><div class="line"><a name="l00652"></a><span class="lineno">  652</span>&#160;    }</div><div class="line"><a name="l00653"></a><span class="lineno">  653</span>&#160;    <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcasecmp(event_type, <a class="code" href="../../de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9">LibHomeScreen::event_list</a>[1].c_str()) == 0) {</div><div class="line"><a name="l00654"></a><span class="lineno">  654</span>&#160;        <span class="keyword">auto</span> i = this-&gt;handlers.find(<a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d">Event_OnScreenMessage</a>);</div><div class="line"><a name="l00655"></a><span class="lineno">  655</span>&#160;        <span class="keywordflow">if</span> ( i != this-&gt;handlers.end() ) {</div><div class="line"><a name="l00656"></a><span class="lineno">  656</span>&#160;            i-&gt;second(json_data);</div><div class="line"><a name="l00657"></a><span class="lineno">  657</span>&#160;        }</div><div class="line"><a name="l00658"></a><span class="lineno">  658</span>&#160;    }</div><div class="line"><a name="l00659"></a><span class="lineno">  659</span>&#160;    <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcasecmp(event_type, <a class="code" href="../../de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9">LibHomeScreen::event_list</a>[2].c_str()) == 0) {</div><div class="line"><a name="l00660"></a><span class="lineno">  660</span>&#160;        <span class="keyword">auto</span> i = this-&gt;handlers.find(<a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd">Event_OnScreenReply</a>);</div><div class="line"><a name="l00661"></a><span class="lineno">  661</span>&#160;        <span class="keywordflow">if</span> ( i != this-&gt;handlers.end() ) {</div><div class="line"><a name="l00662"></a><span class="lineno">  662</span>&#160;            i-&gt;second(json_data);</div><div class="line"><a name="l00663"></a><span class="lineno">  663</span>&#160;        }</div><div class="line"><a name="l00664"></a><span class="lineno">  664</span>&#160;    }</div><div class="line"><a name="l00665"></a><span class="lineno">  665</span>&#160;    <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcasecmp(event_type, <a class="code" href="../../de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9">LibHomeScreen::event_list</a>[3].c_str()) == 0) {</div><div class="line"><a name="l00666"></a><span class="lineno">  666</span>&#160;        <span class="keyword">auto</span> i = this-&gt;handlers.find(<a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aef8bb1086ddbc0a125d77af9da3146a0">Event_HideWindow</a>);</div><div class="line"><a name="l00667"></a><span class="lineno">  667</span>&#160;        <span class="keywordflow">if</span> ( i != this-&gt;handlers.end() ) {</div><div class="line"><a name="l00668"></a><span class="lineno">  668</span>&#160;            i-&gt;second(json_data);</div><div class="line"><a name="l00669"></a><span class="lineno">  669</span>&#160;        }</div><div class="line"><a name="l00670"></a><span class="lineno">  670</span>&#160;    }</div><div class="line"><a name="l00671"></a><span class="lineno">  671</span>&#160;    <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcasecmp(event_type, <a class="code" href="../../de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9">LibHomeScreen::event_list</a>[4].c_str()) == 0) {</div><div class="line"><a name="l00672"></a><span class="lineno">  672</span>&#160;        <span class="keyword">auto</span> i = this-&gt;handlers.find(<a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aaacb8babce7fac884ab4bf7605da0d9f">Event_ReplyShowWindow</a>);</div><div class="line"><a name="l00673"></a><span class="lineno">  673</span>&#160;        <span class="keywordflow">if</span> ( i != this-&gt;handlers.end() ) {</div><div class="line"><a name="l00674"></a><span class="lineno">  674</span>&#160;            i-&gt;second(json_data);</div><div class="line"><a name="l00675"></a><span class="lineno">  675</span>&#160;        }</div><div class="line"><a name="l00676"></a><span class="lineno">  676</span>&#160;    }</div><div class="line"><a name="l00677"></a><span class="lineno">  677</span>&#160;    <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcasecmp(event_type, <a class="code" href="../../de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9">LibHomeScreen::event_list</a>[5].c_str()) == 0) {</div><div class="line"><a name="l00678"></a><span class="lineno">  678</span>&#160;        <span class="keyword">auto</span> i = this-&gt;handlers.find(<a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a68119a9c3ff85e807db38d3282e5ca30">Event_ShowNotification</a>);</div><div class="line"><a name="l00679"></a><span class="lineno">  679</span>&#160;        <span class="keywordflow">if</span> ( i != this-&gt;handlers.end() ) {</div><div class="line"><a name="l00680"></a><span class="lineno">  680</span>&#160;            i-&gt;second(json_data);</div><div class="line"><a name="l00681"></a><span class="lineno">  681</span>&#160;        }</div><div class="line"><a name="l00682"></a><span class="lineno">  682</span>&#160;    }</div><div class="line"><a name="l00683"></a><span class="lineno">  683</span>&#160;    <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcasecmp(event_type, <a class="code" href="../../de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9">LibHomeScreen::event_list</a>[6].c_str()) == 0) {</div><div class="line"><a name="l00684"></a><span class="lineno">  684</span>&#160;        <span class="keyword">auto</span> i = this-&gt;handlers.find(<a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a1fad2ac5071a1dae7db9c8e1b522669b">Event_ShowInformation</a>);</div><div class="line"><a name="l00685"></a><span class="lineno">  685</span>&#160;        <span class="keywordflow">if</span> ( i != this-&gt;handlers.end() ) {</div><div class="line"><a name="l00686"></a><span class="lineno">  686</span>&#160;            i-&gt;second(json_data);</div><div class="line"><a name="l00687"></a><span class="lineno">  687</span>&#160;        }</div><div class="line"><a name="l00688"></a><span class="lineno">  688</span>&#160;    }</div><div class="line"><a name="l00689"></a><span class="lineno">  689</span>&#160;}</div><div class="ttc" id="libhomescreen_8cpp_html_a1e2d6e77dd8f0162f830058579eab42f"><div class="ttname"><a href="../../d0/d8a/libhomescreen_8cpp.html#a1e2d6e77dd8f0162f830058579eab42f">API</a></div><div class="ttdeci">static const char API[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00035">libhomescreen.cpp:35</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d">LibHomeScreen::Event_OnScreenMessage</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00045">libhomescreen.hpp:45</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd">LibHomeScreen::Event_OnScreenReply</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00046">libhomescreen.hpp:46</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a82616c91ac211d2ad08e709b524bf154aef8bb1086ddbc0a125d77af9da3146a0"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aef8bb1086ddbc0a125d77af9da3146a0">LibHomeScreen::Event_HideWindow</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00047">libhomescreen.hpp:47</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a82616c91ac211d2ad08e709b524bf154a3fb3563c64786f1a2ae404df6edffd5c"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a3fb3563c64786f1a2ae404df6edffd5c">LibHomeScreen::Event_ShowWindow</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00043">libhomescreen.hpp:43</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a82616c91ac211d2ad08e709b524bf154a68119a9c3ff85e807db38d3282e5ca30"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a68119a9c3ff85e807db38d3282e5ca30">LibHomeScreen::Event_ShowNotification</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00049">libhomescreen.hpp:49</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a82616c91ac211d2ad08e709b524bf154aaacb8babce7fac884ab4bf7605da0d9f"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aaacb8babce7fac884ab4bf7605da0d9f">LibHomeScreen::Event_ReplyShowWindow</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00048">libhomescreen.hpp:48</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_a25361812432cd2480bc8f1a8e56ecbf7"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#a25361812432cd2480bc8f1a8e56ecbf7">HMI_WARNING</a></div><div class="ttdeci">#define HMI_WARNING(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00039">hmi-debug.h:39</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a82616c91ac211d2ad08e709b524bf154a1fad2ac5071a1dae7db9c8e1b522669b"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a1fad2ac5071a1dae7db9c8e1b522669b">LibHomeScreen::Event_ShowInformation</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00050">libhomescreen.hpp:50</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a6a6d8a4d33a006a08652e7377a4c29e9"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9">LibHomeScreen::event_list</a></div><div class="ttdeci">static const std::vector&lt; std::string &gt; event_list</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00064">libhomescreen.hpp:64</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_a65bb6c7cfe38f8a724beab5059d36fb2"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a></div><div class="ttdeci">#define HMI_ERROR(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00038">hmi-debug.h:38</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_a0d26d8b8201011dade787236519711c0"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a></div><div class="ttdeci">#define HMI_DEBUG(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00042">hmi-debug.h:42</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
 </div><!-- fragment -->
 </div>
 </div>
-<a id="ab1c1fa69f24b981e824dd9fb810c4b74"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab1c1fa69f24b981e824dd9fb810c4b74">&#9670;&nbsp;</a></span>on_hangup()</h2>
-
+<a class="anchor" id="ab1c1fa69f24b981e824dd9fb810c4b74"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
@@ -466,14 +556,12 @@ Static Public Attributes</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
       </table>
 </div><div class="memdoc">
 
-<p class="definition">Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00439">439</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
-<div class="fragment"><div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;{</div><div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;    <a class="code" href="../../df/d76/hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>,<span class="stringliteral">&quot;%s called&quot;</span>, __FUNCTION__);</div><div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;    <span class="keywordflow">if</span>(onHangup != <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;    {</div><div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;        onHangup();</div><div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;    }</div><div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;}</div><div class="ttc" id="hmi-debug_8h_html_a0d26d8b8201011dade787236519711c0"><div class="ttname"><a href="../../df/d76/hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a></div><div class="ttdeci">#define HMI_DEBUG(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d76/hmi-debug_8h_source.html#l00022">hmi-debug.h:22</a></div></div>
+<p>Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00597">597</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00598"></a><span class="lineno">  598</span>&#160;{</div><div class="line"><a name="l00599"></a><span class="lineno">  599</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>,<span class="stringliteral">&quot;called&quot;</span>);</div><div class="line"><a name="l00600"></a><span class="lineno">  600</span>&#160;    <span class="keywordflow">if</span>(onHangup != <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;    {</div><div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;        onHangup();</div><div class="line"><a name="l00603"></a><span class="lineno">  603</span>&#160;    }</div><div class="line"><a name="l00604"></a><span class="lineno">  604</span>&#160;}</div><div class="ttc" id="include_2hmi-debug_8h_html_a0d26d8b8201011dade787236519711c0"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a></div><div class="ttdeci">#define HMI_DEBUG(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00042">hmi-debug.h:42</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
 </div><!-- fragment -->
 </div>
 </div>
-<a id="a248d9648c6186287a7632ec1c75fc9c5"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a248d9648c6186287a7632ec1c75fc9c5">&#9670;&nbsp;</a></span>on_reply()</h2>
-
+<a class="anchor" id="a248d9648c6186287a7632ec1c75fc9c5"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
@@ -498,14 +586,12 @@ Static Public Attributes</h2></td></tr>
 </div><div class="memdoc">
 <p>msg is like ({"response":{"verb":"subscribe","error":0},"jtype":"afb-reply","request":{"status":"success","info":"homescreen binder subscribe event name [on_screen_message]"}}) msg is like ({"response":{"verb":"tap_shortcut","error":0},"jtype":"afb-reply","request":{"status":"success","info":"afb_event_push event [tap_shortcut]"}}) </p>
 
 </div><div class="memdoc">
 <p>msg is like ({"response":{"verb":"subscribe","error":0},"jtype":"afb-reply","request":{"status":"success","info":"homescreen binder subscribe event name [on_screen_message]"}}) msg is like ({"response":{"verb":"tap_shortcut","error":0},"jtype":"afb-reply","request":{"status":"success","info":"afb_event_push event [tap_shortcut]"}}) </p>
 
-<p class="definition">Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00506">506</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
-<div class="fragment"><div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;{</div><div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;    <a class="code" href="../../df/d76/hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>,<span class="stringliteral">&quot;msg: (%s)&quot;</span>, afb_wsj1_msg_object_s(msg));</div><div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;    <span class="keywordflow">if</span>(onReply != <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;    {</div><div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;        <span class="keyword">struct </span>json_object* reply = afb_wsj1_msg_object_j(msg);</div><div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;        onReply(reply);</div><div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;</div><div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;        json_object_put(reply);</div><div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160;    }</div><div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;}</div><div class="ttc" id="hmi-debug_8h_html_a0d26d8b8201011dade787236519711c0"><div class="ttname"><a href="../../df/d76/hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a></div><div class="ttdeci">#define HMI_DEBUG(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d76/hmi-debug_8h_source.html#l00022">hmi-debug.h:22</a></div></div>
+<p>Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00695">695</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00696"></a><span class="lineno">  696</span>&#160;{</div><div class="line"><a name="l00697"></a><span class="lineno">  697</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>,<span class="stringliteral">&quot;msg: (%s)&quot;</span>, afb_wsj1_msg_object_s(msg));</div><div class="line"><a name="l00698"></a><span class="lineno">  698</span>&#160;    <span class="keywordflow">if</span>(onReply != <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00699"></a><span class="lineno">  699</span>&#160;    {</div><div class="line"><a name="l00700"></a><span class="lineno">  700</span>&#160;        <span class="keyword">struct </span>json_object* reply = afb_wsj1_msg_object_j(msg);</div><div class="line"><a name="l00701"></a><span class="lineno">  701</span>&#160;        onReply(reply);</div><div class="line"><a name="l00702"></a><span class="lineno">  702</span>&#160;    }</div><div class="line"><a name="l00703"></a><span class="lineno">  703</span>&#160;}</div><div class="ttc" id="include_2hmi-debug_8h_html_a0d26d8b8201011dade787236519711c0"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a></div><div class="ttdeci">#define HMI_DEBUG(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00042">hmi-debug.h:42</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
 </div><!-- fragment -->
 </div>
 </div>
-<a id="ac336482036a72b51a822725f1929523c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ac336482036a72b51a822725f1929523c">&#9670;&nbsp;</a></span>onScreenMessage()</h2>
-
+<a class="anchor" id="ac336482036a72b51a822725f1929523c"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
@@ -529,14 +615,12 @@ Static Public Attributes</h2></td></tr>
 <li>Returns 0 on success or -1 in case of error. </li>
 </ul>
 
 <li>Returns 0 on success or -1 in case of error. </li>
 </ul>
 
-<p class="definition">Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00244">244</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
-<div class="fragment"><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;{</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;    <span class="keywordflow">if</span>(!sp_websock)</div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;    {</div><div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;        <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;    }</div><div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;    <span class="keyword">struct </span>json_object* j_obj = json_object_new_object();</div><div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;    <span class="keyword">struct </span>json_object* val = json_object_new_string(display_message);</div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;    json_object_object_add(j_obj, <span class="stringliteral">&quot;display_message&quot;</span>, val);</div><div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;    <span class="keywordflow">return</span> this-&gt;<a class="code" href="../../de/dd0/class_lib_home_screen.html#a527b49dcfe581be6275d0eb2236ba37f">call</a>(<span class="stringliteral">&quot;on_screen_message&quot;</span>, j_obj);</div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;}</div><div class="ttc" id="class_lib_home_screen_html_a527b49dcfe581be6275d0eb2236ba37f"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a527b49dcfe581be6275d0eb2236ba37f">LibHomeScreen::call</a></div><div class="ttdeci">int call(const std::string &amp;verb, struct json_object *arg)</div></div>
+<p>Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00242">242</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;{</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;    <span class="keywordflow">if</span>(!sp_websock)</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;    {</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;        <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;    }</div><div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;</div><div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;    <span class="keyword">struct </span>json_object* j_obj = json_object_new_object();</div><div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;    <span class="keyword">struct </span>json_object* val = json_object_new_string(display_message);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;    json_object_object_add(j_obj, <span class="stringliteral">&quot;display_message&quot;</span>, val);</div><div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;    <span class="keywordflow">return</span> this-&gt;<a class="code" href="../../de/dd0/class_lib_home_screen.html#a527b49dcfe581be6275d0eb2236ba37f">call</a>(<span class="stringliteral">&quot;on_screen_message&quot;</span>, j_obj);</div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;}</div><div class="ttc" id="class_lib_home_screen_html_a527b49dcfe581be6275d0eb2236ba37f"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a527b49dcfe581be6275d0eb2236ba37f">LibHomeScreen::call</a></div><div class="ttdeci">int call(const std::string &amp;verb, struct json_object *arg)</div></div>
 </div><!-- fragment -->
 </div>
 </div>
 </div><!-- fragment -->
 </div>
 </div>
-<a id="a6c065f41f2c5d1f58d2763bfb4da9c37"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6c065f41f2c5d1f58d2763bfb4da9c37">&#9670;&nbsp;</a></span>onScreenReply()</h2>
-
+<a class="anchor" id="a6c065f41f2c5d1f58d2763bfb4da9c37"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
@@ -560,14 +644,12 @@ Static Public Attributes</h2></td></tr>
 <li>Returns 0 on success or -1 in case of error. </li>
 </ul>
 
 <li>Returns 0 on success or -1 in case of error. </li>
 </ul>
 
-<p class="definition">Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00268">268</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
-<div class="fragment"><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;{</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;    <span class="keywordflow">if</span>(!sp_websock)</div><div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;    {</div><div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;        <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;    }</div><div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;    <span class="keyword">struct </span>json_object* j_obj = json_object_new_object();</div><div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;    <span class="keyword">struct </span>json_object* val = json_object_new_string(reply_message);</div><div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;    json_object_object_add(j_obj, <span class="stringliteral">&quot;reply_message&quot;</span>, val);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;    <span class="keywordflow">return</span> this-&gt;<a class="code" href="../../de/dd0/class_lib_home_screen.html#a527b49dcfe581be6275d0eb2236ba37f">call</a>(<span class="stringliteral">&quot;on_screen_reply&quot;</span>, j_obj);</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;}</div><div class="ttc" id="class_lib_home_screen_html_a527b49dcfe581be6275d0eb2236ba37f"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a527b49dcfe581be6275d0eb2236ba37f">LibHomeScreen::call</a></div><div class="ttdeci">int call(const std::string &amp;verb, struct json_object *arg)</div></div>
+<p>Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00266">266</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;{</div><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;    <span class="keywordflow">if</span>(!sp_websock)</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;    {</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;        <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;    }</div><div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;</div><div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;    <span class="keyword">struct </span>json_object* j_obj = json_object_new_object();</div><div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;    <span class="keyword">struct </span>json_object* val = json_object_new_string(reply_message);</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;    json_object_object_add(j_obj, <span class="stringliteral">&quot;reply_message&quot;</span>, val);</div><div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;    <span class="keywordflow">return</span> this-&gt;<a class="code" href="../../de/dd0/class_lib_home_screen.html#a527b49dcfe581be6275d0eb2236ba37f">call</a>(<span class="stringliteral">&quot;on_screen_reply&quot;</span>, j_obj);</div><div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;}</div><div class="ttc" id="class_lib_home_screen_html_a527b49dcfe581be6275d0eb2236ba37f"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a527b49dcfe581be6275d0eb2236ba37f">LibHomeScreen::call</a></div><div class="ttdeci">int call(const std::string &amp;verb, struct json_object *arg)</div></div>
 </div><!-- fragment -->
 </div>
 </div>
 </div><!-- fragment -->
 </div>
 </div>
-<a id="a23bc17798453cfca50904562736f6b25"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a23bc17798453cfca50904562736f6b25">&#9670;&nbsp;</a></span>operator=()</h2>
-
+<a class="anchor" id="a23bc17798453cfca50904562736f6b25"></a>
 <div class="memitem">
 <div class="memproto">
 <table class="mlabels">
 <div class="memitem">
 <div class="memproto">
 <table class="mlabels">
@@ -591,16 +673,14 @@ Static Public Attributes</h2></td></tr>
 
 </div>
 </div>
 
 </div>
 </div>
-<a id="a2789e8a5372202cc36f48e71dbb9b7cf"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a2789e8a5372202cc36f48e71dbb9b7cf">&#9670;&nbsp;</a></span>registerCallback()</h2>
-
+<a class="anchor" id="a2789e8a5372202cc36f48e71dbb9b7cf"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
           <td class="memname">void LibHomeScreen::registerCallback </td>
           <td>(</td>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
           <td class="memname">void LibHomeScreen::registerCallback </td>
           <td>(</td>
-          <td class="paramtype">void(*)(const std::string &amp;<a class="el" href="../../df/d7d/structevent.html">event</a>, struct json_object *event_contents)&#160;</td>
+          <td class="paramtype">void(*)(const std::string &amp;event, struct json_object *event_contents)&#160;</td>
           <td class="paramname"><em>event_cb</em>, </td>
         </tr>
         <tr>
           <td class="paramname"><em>event_cb</em>, </td>
         </tr>
         <tr>
@@ -633,13 +713,53 @@ Static Public Attributes</h2></td></tr>
 <h4>Note</h4>
 <p>Event callback is invoked by home screen for event you subscribed. If you would like to get event, please call subscribe function before/after this function </p>
 
 <h4>Note</h4>
 <p>Event callback is invoked by home screen for event you subscribed. If you would like to get event, please call subscribe function before/after this function </p>
 
-<p class="definition">Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00155">155</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
-<div class="fragment"><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;{</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;    onEvent = event_cb;</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;    onReply = reply_cb;</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;    onHangup = hangup_cb;</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;}</div></div><!-- fragment -->
+<p>Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00165">165</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;{</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;    onEvent = event_cb;</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;    onReply = reply_cb;</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;    onHangup = hangup_cb;</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;}</div></div><!-- fragment -->
 </div>
 </div>
 </div>
 </div>
-<a id="ab1b0e08bf35415de9064afed899e9f85"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab1b0e08bf35415de9064afed899e9f85">&#9670;&nbsp;</a></span>set_event_handler()</h2>
+<a class="anchor" id="a6310b129fc85ef0623e2e2063950cc4b"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int LibHomeScreen::replyShowWindow </td>
+          <td>(</td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>application_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">json_object *&#160;</td>
+          <td class="paramname"><em>json</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Sending reply onscreen message event</p>
+<p>Call HomeScreen Service's replyShowWindow verb to reply onscreen message.</p>
+<h4>Parameters</h4>
+<ul>
+<li>application_id [in] : This argument should be specified to the onscreen reply to applilcation id.</li>
+<li>json [in] : This argument should be specified to the json parameters.</li>
+</ul>
+<h4>Return</h4>
+<ul>
+<li>Returns 0 on success or -1 in case of error. </li>
+</ul>
 
 
+<p>Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00530">530</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160;{</div><div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;    <span class="keywordflow">if</span>(!sp_websock)</div><div class="line"><a name="l00533"></a><span class="lineno">  533</span>&#160;    {</div><div class="line"><a name="l00534"></a><span class="lineno">  534</span>&#160;        <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00535"></a><span class="lineno">  535</span>&#160;    }</div><div class="line"><a name="l00536"></a><span class="lineno">  536</span>&#160;</div><div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160;    <span class="keywordflow">if</span> (json == <span class="keyword">nullptr</span>) {</div><div class="line"><a name="l00538"></a><span class="lineno">  538</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a25361812432cd2480bc8f1a8e56ecbf7">HMI_WARNING</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>, <span class="stringliteral">&quot;replyShowWindow`s parameter is null&quot;</span>);</div><div class="line"><a name="l00539"></a><span class="lineno">  539</span>&#160;        <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00540"></a><span class="lineno">  540</span>&#160;    }</div><div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160;</div><div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;    <span class="keyword">struct </span>json_object* j_obj = json_object_new_object();</div><div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;    <span class="keyword">struct </span>json_object* val = json_object_new_string(application_id);</div><div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160;    json_object_object_add(j_obj, <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a5a89bcb5a83f6b2e5c664a041bd8fd00">ApplicationId</a>, val);</div><div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160;    json_object_object_add(j_obj, <span class="stringliteral">&quot;parameter&quot;</span>, json);</div><div class="line"><a name="l00546"></a><span class="lineno">  546</span>&#160;</div><div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160;    <span class="keywordflow">return</span> this-&gt;<a class="code" href="../../de/dd0/class_lib_home_screen.html#a527b49dcfe581be6275d0eb2236ba37f">call</a>(<span class="stringliteral">&quot;replyShowWindow&quot;</span>, j_obj);</div><div class="line"><a name="l00548"></a><span class="lineno">  548</span>&#160;}</div><div class="ttc" id="libhomescreen_8cpp_html_a5a89bcb5a83f6b2e5c664a041bd8fd00"><div class="ttname"><a href="../../d0/d8a/libhomescreen_8cpp.html#a5a89bcb5a83f6b2e5c664a041bd8fd00">ApplicationId</a></div><div class="ttdeci">static const char ApplicationId[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00036">libhomescreen.cpp:36</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a527b49dcfe581be6275d0eb2236ba37f"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a527b49dcfe581be6275d0eb2236ba37f">LibHomeScreen::call</a></div><div class="ttdeci">int call(const std::string &amp;verb, struct json_object *arg)</div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_a25361812432cd2480bc8f1a8e56ecbf7"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#a25361812432cd2480bc8f1a8e56ecbf7">HMI_WARNING</a></div><div class="ttdeci">#define HMI_WARNING(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00039">hmi-debug.h:39</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="ab1b0e08bf35415de9064afed899e9f85"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
@@ -670,20 +790,123 @@ Static Public Attributes</h2></td></tr>
 <li>f [in] : event handler</li>
 </ul>
 <h4>Return</h4>
 <li>f [in] : event handler</li>
 </ul>
 <h4>Return</h4>
-<p>Nothing </p>
-
-<p class="definition">Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00293">293</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
-<div class="fragment"><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;{</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;    <span class="keywordflow">if</span> (et &gt;= 1 &amp;&amp; et &lt;= 3) {</div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;        <span class="keywordflow">switch</span> (et) {</div><div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;            <span class="keywordflow">case</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f">Event_TapShortcut</a>:</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;                this-&gt;<a class="code" href="../../de/dd0/class_lib_home_screen.html#aa4c189807b75d070f567967f0d690738">subscribe</a>(<a class="code" href="../../de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9">LibHomeScreen::event_list</a>[0]);</div><div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;            <span class="keywordflow">case</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d">Event_OnScreenMessage</a>:</div><div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;                this-&gt;<a class="code" href="../../de/dd0/class_lib_home_screen.html#aa4c189807b75d070f567967f0d690738">subscribe</a>(<a class="code" href="../../de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9">LibHomeScreen::event_list</a>[1]);</div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;            <span class="keywordflow">case</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd">Event_OnScreenReply</a>:</div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;                this-&gt;<a class="code" href="../../de/dd0/class_lib_home_screen.html#aa4c189807b75d070f567967f0d690738">subscribe</a>(<a class="code" href="../../de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9">LibHomeScreen::event_list</a>[2]);</div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;        }</div><div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;</div><div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;        this-&gt;handlers[et] = std::move(f);</div><div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;    }</div><div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;}</div><div class="ttc" id="class_lib_home_screen_html_a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d">LibHomeScreen::Event_OnScreenMessage</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00046">libhomescreen.hpp:46</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html_a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd">LibHomeScreen::Event_OnScreenReply</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00047">libhomescreen.hpp:47</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html_aa4c189807b75d070f567967f0d690738"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#aa4c189807b75d070f567967f0d690738">LibHomeScreen::subscribe</a></div><div class="ttdeci">int subscribe(const std::string &amp;event_name)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00392">libhomescreen.cpp:392</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html_a6a6d8a4d33a006a08652e7377a4c29e9"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9">LibHomeScreen::event_list</a></div><div class="ttdeci">static const std::vector&lt; std::string &gt; event_list</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00051">libhomescreen.hpp:51</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html_a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f">LibHomeScreen::Event_TapShortcut</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00045">libhomescreen.hpp:45</a></div></div>
+<p>Nothing</p>
+<h4>Note</h4>
+<p>Don't release json_object by json_object_put in handler_func. The resource is released by libafbwsc library. </p>
+
+<p>Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00295">295</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;{</div><div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;    <span class="keywordflow">if</span> (et &gt;= 1 &amp;&amp; et &lt;= 7) {</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;        <span class="keywordflow">switch</span> (et) {</div><div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;<span class="comment">/*          case Event_TapShortcut:</span></div><div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;<span class="comment">                this-&gt;subscribe(LibHomeScreen::event_list[0]);</span></div><div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;<span class="comment">                break;*/</span></div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;            <span class="keywordflow">case</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a3fb3563c64786f1a2ae404df6edffd5c">Event_ShowWindow</a>:</div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;                this-&gt;<a class="code" href="../../de/dd0/class_lib_home_screen.html#aa4c189807b75d070f567967f0d690738">subscribe</a>(<a class="code" href="../../de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9">LibHomeScreen::event_list</a>[0]);</div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;            <span class="keywordflow">case</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d">Event_OnScreenMessage</a>:</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;                this-&gt;<a class="code" href="../../de/dd0/class_lib_home_screen.html#aa4c189807b75d070f567967f0d690738">subscribe</a>(<a class="code" href="../../de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9">LibHomeScreen::event_list</a>[1]);</div><div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;            <span class="keywordflow">case</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd">Event_OnScreenReply</a>:</div><div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;                this-&gt;<a class="code" href="../../de/dd0/class_lib_home_screen.html#aa4c189807b75d070f567967f0d690738">subscribe</a>(<a class="code" href="../../de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9">LibHomeScreen::event_list</a>[2]);</div><div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;            <span class="keywordflow">case</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aef8bb1086ddbc0a125d77af9da3146a0">Event_HideWindow</a>:</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;                this-&gt;<a class="code" href="../../de/dd0/class_lib_home_screen.html#aa4c189807b75d070f567967f0d690738">subscribe</a>(<a class="code" href="../../de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9">LibHomeScreen::event_list</a>[3]);</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;            <span class="keywordflow">case</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aaacb8babce7fac884ab4bf7605da0d9f">Event_ReplyShowWindow</a>:</div><div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;                this-&gt;<a class="code" href="../../de/dd0/class_lib_home_screen.html#aa4c189807b75d070f567967f0d690738">subscribe</a>(<a class="code" href="../../de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9">LibHomeScreen::event_list</a>[4]);</div><div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;            <span class="keywordflow">case</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a68119a9c3ff85e807db38d3282e5ca30">Event_ShowNotification</a>:</div><div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;                this-&gt;<a class="code" href="../../de/dd0/class_lib_home_screen.html#aa4c189807b75d070f567967f0d690738">subscribe</a>(<a class="code" href="../../de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9">LibHomeScreen::event_list</a>[5]);</div><div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;            <span class="keywordflow">case</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a1fad2ac5071a1dae7db9c8e1b522669b">Event_ShowInformation</a>:</div><div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;                this-&gt;<a class="code" href="../../de/dd0/class_lib_home_screen.html#aa4c189807b75d070f567967f0d690738">subscribe</a>(<a class="code" href="../../de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9">LibHomeScreen::event_list</a>[6]);</div><div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;        }</div><div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;</div><div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;        this-&gt;handlers[et] = std::move(f);</div><div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;    }</div><div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;}</div><div class="ttc" id="class_lib_home_screen_html_a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d">LibHomeScreen::Event_OnScreenMessage</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00045">libhomescreen.hpp:45</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd">LibHomeScreen::Event_OnScreenReply</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00046">libhomescreen.hpp:46</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a82616c91ac211d2ad08e709b524bf154aef8bb1086ddbc0a125d77af9da3146a0"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aef8bb1086ddbc0a125d77af9da3146a0">LibHomeScreen::Event_HideWindow</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00047">libhomescreen.hpp:47</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a82616c91ac211d2ad08e709b524bf154a3fb3563c64786f1a2ae404df6edffd5c"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a3fb3563c64786f1a2ae404df6edffd5c">LibHomeScreen::Event_ShowWindow</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00043">libhomescreen.hpp:43</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a82616c91ac211d2ad08e709b524bf154a68119a9c3ff85e807db38d3282e5ca30"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a68119a9c3ff85e807db38d3282e5ca30">LibHomeScreen::Event_ShowNotification</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00049">libhomescreen.hpp:49</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_aa4c189807b75d070f567967f0d690738"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#aa4c189807b75d070f567967f0d690738">LibHomeScreen::subscribe</a></div><div class="ttdeci">int subscribe(const std::string &amp;event_name)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00409">libhomescreen.cpp:409</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a82616c91ac211d2ad08e709b524bf154aaacb8babce7fac884ab4bf7605da0d9f"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aaacb8babce7fac884ab4bf7605da0d9f">LibHomeScreen::Event_ReplyShowWindow</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00048">libhomescreen.hpp:48</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a82616c91ac211d2ad08e709b524bf154a1fad2ac5071a1dae7db9c8e1b522669b"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a1fad2ac5071a1dae7db9c8e1b522669b">LibHomeScreen::Event_ShowInformation</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00050">libhomescreen.hpp:50</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a6a6d8a4d33a006a08652e7377a4c29e9"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9">LibHomeScreen::event_list</a></div><div class="ttdeci">static const std::vector&lt; std::string &gt; event_list</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00064">libhomescreen.hpp:64</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
 </div><!-- fragment -->
 </div>
 </div>
-<a id="aa4c189807b75d070f567967f0d690738"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa4c189807b75d070f567967f0d690738">&#9670;&nbsp;</a></span>subscribe()</h2>
+<a class="anchor" id="ada999aeb0444c964428bdf1ee236727f"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int LibHomeScreen::showInformation </td>
+          <td>(</td>
+          <td class="paramtype">json_object *&#160;</td>
+          <td class="paramname"><em>json</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Sending show information event</p>
+<p>Call HomeScreen Service's information verb to show notification on Information Bar.</p>
+<h4>Parameters</h4>
+<ul>
+<li>json [in] : This argument should be specified to the json parameters.</li>
+</ul>
+<h4>Return</h4>
+<ul>
+<li>Returns 0 on success or -1 in case of error. </li>
+</ul>
 
 
+<p>Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00584">584</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00585"></a><span class="lineno">  585</span>&#160;{</div><div class="line"><a name="l00586"></a><span class="lineno">  586</span>&#160;    <span class="keywordflow">if</span>(!sp_websock)</div><div class="line"><a name="l00587"></a><span class="lineno">  587</span>&#160;    {</div><div class="line"><a name="l00588"></a><span class="lineno">  588</span>&#160;        <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00589"></a><span class="lineno">  589</span>&#160;    }</div><div class="line"><a name="l00590"></a><span class="lineno">  590</span>&#160;</div><div class="line"><a name="l00591"></a><span class="lineno">  591</span>&#160;    <span class="keywordflow">return</span> this-&gt;<a class="code" href="../../de/dd0/class_lib_home_screen.html#a527b49dcfe581be6275d0eb2236ba37f">call</a>(<span class="stringliteral">&quot;showInformation&quot;</span>, json);</div><div class="line"><a name="l00592"></a><span class="lineno">  592</span>&#160;}</div><div class="ttc" id="class_lib_home_screen_html_a527b49dcfe581be6275d0eb2236ba37f"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a527b49dcfe581be6275d0eb2236ba37f">LibHomeScreen::call</a></div><div class="ttdeci">int call(const std::string &amp;verb, struct json_object *arg)</div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a93ad567ed597a80a344ba82457c2bd7f"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int LibHomeScreen::showNotification </td>
+          <td>(</td>
+          <td class="paramtype">json_object *&#160;</td>
+          <td class="paramname"><em>json</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Sending show notification event</p>
+<p>Call HomeScreen Service's notification verb to show notification on Status Bar.</p>
+<h4>Parameters</h4>
+<ul>
+<li>json [in] : This argument should be specified to the json parameters.</li>
+</ul>
+<h4>Return</h4>
+<ul>
+<li>Returns 0 on success or -1 in case of error. </li>
+</ul>
+
+<p>Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00562">562</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00563"></a><span class="lineno">  563</span>&#160;{</div><div class="line"><a name="l00564"></a><span class="lineno">  564</span>&#160;    <span class="keywordflow">if</span>(!sp_websock)</div><div class="line"><a name="l00565"></a><span class="lineno">  565</span>&#160;    {</div><div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160;        <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00567"></a><span class="lineno">  567</span>&#160;    }</div><div class="line"><a name="l00568"></a><span class="lineno">  568</span>&#160;</div><div class="line"><a name="l00569"></a><span class="lineno">  569</span>&#160;    <span class="keywordflow">return</span> this-&gt;<a class="code" href="../../de/dd0/class_lib_home_screen.html#a527b49dcfe581be6275d0eb2236ba37f">call</a>(<span class="stringliteral">&quot;showNotification&quot;</span>, json);</div><div class="line"><a name="l00570"></a><span class="lineno">  570</span>&#160;}</div><div class="ttc" id="class_lib_home_screen_html_a527b49dcfe581be6275d0eb2236ba37f"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a527b49dcfe581be6275d0eb2236ba37f">LibHomeScreen::call</a></div><div class="ttdeci">int call(const std::string &amp;verb, struct json_object *arg)</div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a69fc770cb3f94d30a10c2c8c81eb892f"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int LibHomeScreen::showWindow </td>
+          <td>(</td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>application_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">json_object *&#160;</td>
+          <td class="paramname"><em>json</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Sending show window event</p>
+<p>Call HomeScreen Service's showWindow verb to request display id's screen.</p>
+<h4>Parameters</h4>
+<ul>
+<li>application_id [in] : This argument should be specified to the application's id.</li>
+<li>json [in] : This argument should be specified to the json parameters.</li>
+</ul>
+<h4>Return</h4>
+<ul>
+<li>Returns 0 on success or -1 in case of error. </li>
+</ul>
+
+<p>Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00467">467</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;{</div><div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;    <span class="keywordflow">if</span>(!sp_websock)</div><div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;    {</div><div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;        <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;    }</div><div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;</div><div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;    <span class="keyword">struct </span>json_object* j_obj = json_object_new_object();</div><div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;    <span class="keyword">struct </span>json_object* val = json_object_new_string(application_id);</div><div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;    json_object_object_add(j_obj, <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a5a89bcb5a83f6b2e5c664a041bd8fd00">ApplicationId</a>, val);</div><div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;</div><div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;    <span class="keywordflow">if</span> (json == <span class="keyword">nullptr</span>) {</div><div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;        <span class="keyword">struct </span>json_object* j_json = json_object_new_object();</div><div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;        <span class="keyword">struct </span>json_object* value = json_object_new_string(<span class="stringliteral">&quot;normal&quot;</span>);</div><div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;        json_object_object_add(j_json, <span class="stringliteral">&quot;area&quot;</span>, value);</div><div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;        json_object_object_add(j_obj, <span class="stringliteral">&quot;parameter&quot;</span>, j_json);</div><div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;    }</div><div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;    <span class="keywordflow">else</span> {</div><div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;        json_object_object_add(j_obj, <span class="stringliteral">&quot;parameter&quot;</span>, json);</div><div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;    }</div><div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;</div><div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;    <span class="keywordflow">return</span> this-&gt;<a class="code" href="../../de/dd0/class_lib_home_screen.html#a527b49dcfe581be6275d0eb2236ba37f">call</a>(<span class="stringliteral">&quot;showWindow&quot;</span>, j_obj);</div><div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;}</div><div class="ttc" id="libhomescreen_8cpp_html_a5a89bcb5a83f6b2e5c664a041bd8fd00"><div class="ttname"><a href="../../d0/d8a/libhomescreen_8cpp.html#a5a89bcb5a83f6b2e5c664a041bd8fd00">ApplicationId</a></div><div class="ttdeci">static const char ApplicationId[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00036">libhomescreen.cpp:36</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a527b49dcfe581be6275d0eb2236ba37f"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a527b49dcfe581be6275d0eb2236ba37f">LibHomeScreen::call</a></div><div class="ttdeci">int call(const std::string &amp;verb, struct json_object *arg)</div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="aa4c189807b75d070f567967f0d690738"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
@@ -708,16 +931,14 @@ Static Public Attributes</h2></td></tr>
 <h4>Note</h4>
 <p>This function enables to get an event to your callback function. </p>
 
 <h4>Note</h4>
 <p>This function enables to get an event to your callback function. </p>
 
-<p class="definition">Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00392">392</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
-<div class="fragment"><div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;{</div><div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;    <span class="keywordflow">if</span>(!sp_websock)</div><div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;    {</div><div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;        <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;    }</div><div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;    <span class="keyword">struct </span>json_object* j_obj = json_object_new_object();</div><div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;    json_object_object_add(j_obj, <span class="stringliteral">&quot;event&quot;</span>, json_object_new_string(event_name.c_str()));</div><div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;</div><div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;    <span class="keywordtype">int</span> ret = afb_wsj1_call_j(sp_websock, <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a1e2d6e77dd8f0162f830058579eab42f">API</a>, <span class="stringliteral">&quot;subscribe&quot;</span>, j_obj, <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a7778933bffa862c63fa0a1b8219faa8b">_on_reply_static</a>, <span class="keyword">this</span>);</div><div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;    <span class="keywordflow">if</span> (ret &lt; 0) {</div><div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;        <a class="code" href="../../df/d76/hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>,<span class="stringliteral">&quot;Failed to call verb:%s&quot;</span>,__FUNCTION__);</div><div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;    }</div><div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;}</div><div class="ttc" id="hmi-debug_8h_html_a65bb6c7cfe38f8a724beab5059d36fb2"><div class="ttname"><a href="../../df/d76/hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a></div><div class="ttdeci">#define HMI_ERROR(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d76/hmi-debug_8h_source.html#l00018">hmi-debug.h:18</a></div></div>
-<div class="ttc" id="libhomescreen_8cpp_html_a1e2d6e77dd8f0162f830058579eab42f"><div class="ttname"><a href="../../d0/d8a/libhomescreen_8cpp.html#a1e2d6e77dd8f0162f830058579eab42f">API</a></div><div class="ttdeci">static const char API[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00036">libhomescreen.cpp:36</a></div></div>
-<div class="ttc" id="libhomescreen_8cpp_html_a7778933bffa862c63fa0a1b8219faa8b"><div class="ttname"><a href="../../d0/d8a/libhomescreen_8cpp.html#a7778933bffa862c63fa0a1b8219faa8b">_on_reply_static</a></div><div class="ttdeci">static void _on_reply_static(void *closure, struct afb_wsj1_msg *msg)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00074">libhomescreen.cpp:74</a></div></div>
+<p>Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00409">409</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;{</div><div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;    <span class="keywordflow">if</span>(!sp_websock)</div><div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;    {</div><div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;        <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;    }</div><div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;    <span class="keyword">struct </span>json_object* j_obj = json_object_new_object();</div><div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;    json_object_object_add(j_obj, <span class="stringliteral">&quot;event&quot;</span>, json_object_new_string(event_name.c_str()));</div><div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;</div><div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;    <span class="keywordtype">int</span> ret = afb_wsj1_call_j(sp_websock, <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a1e2d6e77dd8f0162f830058579eab42f">API</a>, <span class="stringliteral">&quot;subscribe&quot;</span>, j_obj, <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a7778933bffa862c63fa0a1b8219faa8b">_on_reply_static</a>, <span class="keyword">this</span>);</div><div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;    <span class="keywordflow">if</span> (ret &lt; 0) {</div><div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>,<span class="stringliteral">&quot;Failed to call verb&quot;</span>);</div><div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;    }</div><div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;}</div><div class="ttc" id="libhomescreen_8cpp_html_a1e2d6e77dd8f0162f830058579eab42f"><div class="ttname"><a href="../../d0/d8a/libhomescreen_8cpp.html#a1e2d6e77dd8f0162f830058579eab42f">API</a></div><div class="ttdeci">static const char API[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00035">libhomescreen.cpp:35</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_a65bb6c7cfe38f8a724beab5059d36fb2"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a></div><div class="ttdeci">#define HMI_ERROR(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00038">hmi-debug.h:38</a></div></div>
+<div class="ttc" id="libhomescreen_8cpp_html_a7778933bffa862c63fa0a1b8219faa8b"><div class="ttname"><a href="../../d0/d8a/libhomescreen_8cpp.html#a7778933bffa862c63fa0a1b8219faa8b">_on_reply_static</a></div><div class="ttdeci">static void _on_reply_static(void *closure, struct afb_wsj1_msg *msg)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00084">libhomescreen.cpp:84</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
 </div><!-- fragment -->
 </div>
 </div>
-<a id="afb571c9577087b47065eb23e7fdbc903"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#afb571c9577087b47065eb23e7fdbc903">&#9670;&nbsp;</a></span>tapShortcut()</h2>
-
+<a class="anchor" id="a6ca8ff4a2aa019a735afaff713e0ef44"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
@@ -725,7 +946,7 @@ Static Public Attributes</h2></td></tr>
           <td class="memname">int LibHomeScreen::tapShortcut </td>
           <td>(</td>
           <td class="paramtype">const char *&#160;</td>
           <td class="memname">int LibHomeScreen::tapShortcut </td>
           <td>(</td>
           <td class="paramtype">const char *&#160;</td>
-          <td class="paramname"><em>application_name</em></td><td>)</td>
+          <td class="paramname"><em>application_id</em></td><td>)</td>
           <td></td>
         </tr>
       </table>
           <td></td>
         </tr>
       </table>
@@ -734,21 +955,19 @@ Static Public Attributes</h2></td></tr>
 <p>When HomeScreen shortcut area is tapped, sending a event</p>
 <h4>Parameters</h4>
 <ul>
 <p>When HomeScreen shortcut area is tapped, sending a event</p>
 <h4>Parameters</h4>
 <ul>
-<li>application_name [in] : Tapped application name (label)</li>
+<li>application_id [in] : Tapped application id (label)</li>
 </ul>
 <h4>Return</h4>
 <ul>
 <li>Returns 0 on success or -1 in case of error. </li>
 </ul>
 
 </ul>
 <h4>Return</h4>
 <ul>
 <li>Returns 0 on success or -1 in case of error. </li>
 </ul>
 
-<p class="definition">Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00220">220</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
-<div class="fragment"><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;{</div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;    <span class="keywordflow">if</span>(!sp_websock)</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;    {</div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;        <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;    }</div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;    <span class="keyword">struct </span>json_object* j_obj = json_object_new_object();</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;    <span class="keyword">struct </span>json_object* val = json_object_new_string(application_name);</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;    json_object_object_add(j_obj, <span class="stringliteral">&quot;application_name&quot;</span>, val);</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;    <span class="keywordflow">return</span> this-&gt;<a class="code" href="../../de/dd0/class_lib_home_screen.html#a527b49dcfe581be6275d0eb2236ba37f">call</a>(<span class="stringliteral">&quot;tap_shortcut&quot;</span>, j_obj);</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;}</div><div class="ttc" id="class_lib_home_screen_html_a527b49dcfe581be6275d0eb2236ba37f"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a527b49dcfe581be6275d0eb2236ba37f">LibHomeScreen::call</a></div><div class="ttdeci">int call(const std::string &amp;verb, struct json_object *arg)</div></div>
+<p>Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00222">222</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;{</div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;    <span class="keyword">struct </span>json_object* obj = json_object_new_object();</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;    <span class="keyword">struct </span>json_object* val = json_object_new_string(<span class="stringliteral">&quot;normal&quot;</span>);</div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;    json_object_object_add(obj, <span class="stringliteral">&quot;area&quot;</span>, val);</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a69fc770cb3f94d30a10c2c8c81eb892f">showWindow</a>(application_id, obj);</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;}</div><div class="ttc" id="class_lib_home_screen_html_a69fc770cb3f94d30a10c2c8c81eb892f"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a69fc770cb3f94d30a10c2c8c81eb892f">LibHomeScreen::showWindow</a></div><div class="ttdeci">int showWindow(const char *application_id, json_object *json)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00467">libhomescreen.cpp:467</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
 </div><!-- fragment -->
 </div>
 </div>
-<a id="aac03a45cbd453ba69ddb00c1016930a6"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aac03a45cbd453ba69ddb00c1016930a6">&#9670;&nbsp;</a></span>unsubscribe()</h2>
-
+<a class="anchor" id="aac03a45cbd453ba69ddb00c1016930a6"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
@@ -773,17 +992,99 @@ Static Public Attributes</h2></td></tr>
 <h4>Note</h4>
 <p>This function disables to get an event to your callback function. </p>
 
 <h4>Note</h4>
 <p>This function disables to get an event to your callback function. </p>
 
-<p class="definition">Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00421">421</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
-<div class="fragment"><div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;{</div><div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;    <span class="keywordflow">if</span>(!sp_websock)</div><div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;    {</div><div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;        <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;    }</div><div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;    <span class="keyword">struct </span>json_object* j_obj = json_object_new_object();</div><div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;    json_object_object_add(j_obj, <span class="stringliteral">&quot;event&quot;</span>, json_object_new_string(event_name.c_str()));</div><div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;</div><div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;    <span class="keywordtype">int</span> ret = afb_wsj1_call_j(sp_websock, <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a1e2d6e77dd8f0162f830058579eab42f">API</a>, <span class="stringliteral">&quot;unsubscribe&quot;</span>, j_obj, <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a7778933bffa862c63fa0a1b8219faa8b">_on_reply_static</a>, <span class="keyword">this</span>);</div><div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;    <span class="keywordflow">if</span> (ret &lt; 0) {</div><div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;        <a class="code" href="../../df/d76/hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>,<span class="stringliteral">&quot;Failed to call verb:%s&quot;</span>,__FUNCTION__);</div><div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;    }</div><div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;}</div><div class="ttc" id="hmi-debug_8h_html_a65bb6c7cfe38f8a724beab5059d36fb2"><div class="ttname"><a href="../../df/d76/hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a></div><div class="ttdeci">#define HMI_ERROR(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d76/hmi-debug_8h_source.html#l00018">hmi-debug.h:18</a></div></div>
-<div class="ttc" id="libhomescreen_8cpp_html_a1e2d6e77dd8f0162f830058579eab42f"><div class="ttname"><a href="../../d0/d8a/libhomescreen_8cpp.html#a1e2d6e77dd8f0162f830058579eab42f">API</a></div><div class="ttdeci">static const char API[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00036">libhomescreen.cpp:36</a></div></div>
-<div class="ttc" id="libhomescreen_8cpp_html_a7778933bffa862c63fa0a1b8219faa8b"><div class="ttname"><a href="../../d0/d8a/libhomescreen_8cpp.html#a7778933bffa862c63fa0a1b8219faa8b">_on_reply_static</a></div><div class="ttdeci">static void _on_reply_static(void *closure, struct afb_wsj1_msg *msg)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00074">libhomescreen.cpp:74</a></div></div>
+<p>Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00438">438</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;{</div><div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;    <span class="keywordflow">if</span>(!sp_websock)</div><div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;    {</div><div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;        <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;    }</div><div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;    <span class="keyword">struct </span>json_object* j_obj = json_object_new_object();</div><div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;    json_object_object_add(j_obj, <span class="stringliteral">&quot;event&quot;</span>, json_object_new_string(event_name.c_str()));</div><div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;</div><div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;    <span class="keywordtype">int</span> ret = afb_wsj1_call_j(sp_websock, <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a1e2d6e77dd8f0162f830058579eab42f">API</a>, <span class="stringliteral">&quot;unsubscribe&quot;</span>, j_obj, <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a7778933bffa862c63fa0a1b8219faa8b">_on_reply_static</a>, <span class="keyword">this</span>);</div><div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;    <span class="keywordflow">if</span> (ret &lt; 0) {</div><div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;        <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>,<span class="stringliteral">&quot;Failed to call verb&quot;</span>);</div><div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;    }</div><div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;}</div><div class="ttc" id="libhomescreen_8cpp_html_a1e2d6e77dd8f0162f830058579eab42f"><div class="ttname"><a href="../../d0/d8a/libhomescreen_8cpp.html#a1e2d6e77dd8f0162f830058579eab42f">API</a></div><div class="ttdeci">static const char API[]</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00035">libhomescreen.cpp:35</a></div></div>
+<div class="ttc" id="include_2hmi-debug_8h_html_a65bb6c7cfe38f8a724beab5059d36fb2"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a></div><div class="ttdeci">#define HMI_ERROR(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00038">hmi-debug.h:38</a></div></div>
+<div class="ttc" id="libhomescreen_8cpp_html_a7778933bffa862c63fa0a1b8219faa8b"><div class="ttname"><a href="../../d0/d8a/libhomescreen_8cpp.html#a7778933bffa862c63fa0a1b8219faa8b">_on_reply_static</a></div><div class="ttdeci">static void _on_reply_static(void *closure, struct afb_wsj1_msg *msg)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00084">libhomescreen.cpp:84</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
 <h2 class="groupheader">Member Data Documentation</h2>
 </div><!-- fragment -->
 </div>
 </div>
 <h2 class="groupheader">Member Data Documentation</h2>
-<a id="a5593ff5ac78f6495ccb649904cf0ab08"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5593ff5ac78f6495ccb649904cf0ab08">&#9670;&nbsp;</a></span>api_list</h2>
+<a class="anchor" id="ad0569f5323ead77a43bd8735377a6f25"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const char* LibHomeScreen::_areaFullScreen = &quot;fullscreen&quot;</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../df/d43/libhomescreen_8hpp_source.html#l00059">59</a> of file <a class="el" href="../../df/d43/libhomescreen_8hpp_source.html">libhomescreen.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aac718b60b83c74e2b061f6f7f7ec3bf5"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const char* LibHomeScreen::_areaNormal = &quot;normal&quot;</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../df/d43/libhomescreen_8hpp_source.html#l00058">58</a> of file <a class="el" href="../../df/d43/libhomescreen_8hpp_source.html">libhomescreen.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a7f201fc366146790520bf8d990f7b2eb"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const char* LibHomeScreen::_areaSplitMain = &quot;split.main&quot;</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../df/d43/libhomescreen_8hpp_source.html#l00060">60</a> of file <a class="el" href="../../df/d43/libhomescreen_8hpp_source.html">libhomescreen.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ab4f54373b0681de11243152f01c48888"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const char* LibHomeScreen::_areaSplitSub = &quot;split.sub&quot;</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
 
+<p>Definition at line <a class="el" href="../../df/d43/libhomescreen_8hpp_source.html#l00061">61</a> of file <a class="el" href="../../df/d43/libhomescreen_8hpp_source.html">libhomescreen.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a8becda1b035ae45f5a11c7e7963091bf"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const char* LibHomeScreen::_keyArea = &quot;area&quot;</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../df/d43/libhomescreen_8hpp_source.html#l00055">55</a> of file <a class="el" href="../../df/d43/libhomescreen_8hpp_source.html">libhomescreen.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a927592eff8e34efbbceaf12522f8897f"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const char* LibHomeScreen::_keyParameter = &quot;parameter&quot;</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="../../df/d43/libhomescreen_8hpp_source.html#l00054">54</a> of file <a class="el" href="../../df/d43/libhomescreen_8hpp_source.html">libhomescreen.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a5593ff5ac78f6495ccb649904cf0ab08"></a>
 <div class="memitem">
 <div class="memproto">
 <table class="mlabels">
 <div class="memitem">
 <div class="memproto">
 <table class="mlabels">
@@ -800,14 +1101,12 @@ Static Public Attributes</h2></td></tr>
   </tr>
 </table>
 </div><div class="memdoc">
   </tr>
 </table>
 </div><div class="memdoc">
-<b>Initial value:</b><div class="fragment"><div class="line">{</div><div class="line">    std::string(<span class="stringliteral">&quot;ping&quot;</span>), </div><div class="line">    std::string(<span class="stringliteral">&quot;tap_shortcut&quot;</span>), </div><div class="line">    std::string(<span class="stringliteral">&quot;on_screen_message&quot;</span>),</div><div class="line">    std::string(<span class="stringliteral">&quot;on_screen_reply&quot;</span>),</div><div class="line">    std::string(<span class="stringliteral">&quot;subscribe&quot;</span>),</div><div class="line">    std::string(<span class="stringliteral">&quot;unsubscribe&quot;</span>)</div><div class="line">}</div></div><!-- fragment -->
-<p class="definition">Definition at line <a class="el" href="../../df/d43/libhomescreen_8hpp_source.html#l00050">50</a> of file <a class="el" href="../../df/d43/libhomescreen_8hpp_source.html">libhomescreen.hpp</a>.</p>
+<b>Initial value:</b><div class="fragment"><div class="line">{</div><div class="line">    std::string(<span class="stringliteral">&quot;ping&quot;</span>), </div><div class="line">    std::string(<span class="stringliteral">&quot;tap_shortcut&quot;</span>), </div><div class="line">    std::string(<span class="stringliteral">&quot;on_screen_message&quot;</span>),</div><div class="line">    std::string(<span class="stringliteral">&quot;on_screen_reply&quot;</span>),</div><div class="line">    std::string(<span class="stringliteral">&quot;subscribe&quot;</span>),</div><div class="line">    std::string(<span class="stringliteral">&quot;unsubscribe&quot;</span>),</div><div class="line">    std::string(<span class="stringliteral">&quot;showWindow&quot;</span>),</div><div class="line">    std::string(<span class="stringliteral">&quot;hideWindow&quot;</span>),</div><div class="line">    std::string(<span class="stringliteral">&quot;replyShowWindow&quot;</span>),</div><div class="line">    std::string(<span class="stringliteral">&quot;showNotification&quot;</span>),</div><div class="line">    std::string(<span class="stringliteral">&quot;showInformation&quot;</span>)</div><div class="line">}</div></div><!-- fragment -->
+<p>Definition at line <a class="el" href="../../df/d43/libhomescreen_8hpp_source.html#l00063">63</a> of file <a class="el" href="../../df/d43/libhomescreen_8hpp_source.html">libhomescreen.hpp</a>.</p>
 
 </div>
 </div>
 
 </div>
 </div>
-<a id="a6a6d8a4d33a006a08652e7377a4c29e9"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6a6d8a4d33a006a08652e7377a4c29e9">&#9670;&nbsp;</a></span>event_list</h2>
-
+<a class="anchor" id="a6a6d8a4d33a006a08652e7377a4c29e9"></a>
 <div class="memitem">
 <div class="memproto">
 <table class="mlabels">
 <div class="memitem">
 <div class="memproto">
 <table class="mlabels">
@@ -824,8 +1123,8 @@ Static Public Attributes</h2></td></tr>
   </tr>
 </table>
 </div><div class="memdoc">
   </tr>
 </table>
 </div><div class="memdoc">
-<b>Initial value:</b><div class="fragment"><div class="line">{</div><div class="line">    std::string(<span class="stringliteral">&quot;tap_shortcut&quot;</span>),</div><div class="line">    std::string(<span class="stringliteral">&quot;on_screen_message&quot;</span>),</div><div class="line">    std::string(<span class="stringliteral">&quot;on_screen_reply&quot;</span>),</div><div class="line">    std::string(<span class="stringliteral">&quot;none&quot;</span>)</div><div class="line">}</div></div><!-- fragment -->
-<p class="definition">Definition at line <a class="el" href="../../df/d43/libhomescreen_8hpp_source.html#l00051">51</a> of file <a class="el" href="../../df/d43/libhomescreen_8hpp_source.html">libhomescreen.hpp</a>.</p>
+<b>Initial value:</b><div class="fragment"><div class="line">{</div><div class="line"></div><div class="line">    std::string(<span class="stringliteral">&quot;showWindow&quot;</span>),</div><div class="line">    std::string(<span class="stringliteral">&quot;on_screen_message&quot;</span>),</div><div class="line">    std::string(<span class="stringliteral">&quot;on_screen_reply&quot;</span>),</div><div class="line">    std::string(<span class="stringliteral">&quot;hideWindow&quot;</span>),</div><div class="line">    std::string(<span class="stringliteral">&quot;replyShowWindow&quot;</span>),</div><div class="line">    std::string(<span class="stringliteral">&quot;showNotification&quot;</span>),</div><div class="line">    std::string(<span class="stringliteral">&quot;showInformation&quot;</span>),</div><div class="line">    std::string(<span class="stringliteral">&quot;none&quot;</span>)</div><div class="line">}</div></div><!-- fragment -->
+<p>Definition at line <a class="el" href="../../df/d43/libhomescreen_8hpp_source.html#l00064">64</a> of file <a class="el" href="../../df/d43/libhomescreen_8hpp_source.html">libhomescreen.hpp</a>.</p>
 
 </div>
 </div>
 
 </div>
 </div>
@@ -838,7 +1137,7 @@ Static Public Attributes</h2></td></tr>
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
-</a> 1.8.13
+</a> 1.8.11
 </small></address>
 </body>
 </html>
 </small></address>
 </body>
 </html>
diff --git a/doc/api-ref/html/df/d37/structwindow-members.html b/doc/api-ref/html/df/d37/structwindow-members.html
new file mode 100644 (file)
index 0000000..c6ccdf7
--- /dev/null
@@ -0,0 +1,116 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<title>HomeScreenBinding: Member List</title>
+<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="../../jquery.js"></script>
+<script type="text/javascript" src="../../dynsections.js"></script>
+<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="../../search/searchdata.js"></script>
+<script type="text/javascript" src="../../search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">HomeScreenBinding
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="../../index.html"><span>Main&#160;Page</span></a></li>
+      <li class="current"><a href="../../annotated.html"><span>Classes</span></a></li>
+      <li><a href="../../files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="../../search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="../../annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="../../functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">window Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="../../d6/de3/structwindow.html">window</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="../../d6/de3/structwindow.html#a72629bf021a361ad900504732a74cb68">benchmark_time</a></td><td class="entry"><a class="el" href="../../d6/de3/structwindow.html">window</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="../../d6/de3/structwindow.html#a0e634038f669aff472012f25ea250b40">buffer_size</a></td><td class="entry"><a class="el" href="../../d6/de3/structwindow.html">window</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="../../d6/de3/structwindow.html#a35ba639556fa19d9273dad0953a6807e">callback</a></td><td class="entry"><a class="el" href="../../d6/de3/structwindow.html">window</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="../../d6/de3/structwindow.html#aef10fe94766ccd4831ee611c5ad0e55c">col</a></td><td class="entry"><a class="el" href="../../d6/de3/structwindow.html">window</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="../../d6/de3/structwindow.html#a129486f2bd23791194f389ca1405cfd4">display</a></td><td class="entry"><a class="el" href="../../d6/de3/structwindow.html">window</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="../../d6/de3/structwindow.html#a8de0059f3f1cb0dec33fba1143b7dee1">egl_surface</a></td><td class="entry"><a class="el" href="../../d6/de3/structwindow.html">window</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="../../d6/de3/structwindow.html#a851bcb65083f5ab5ff768b09522bed70">frame_sync</a></td><td class="entry"><a class="el" href="../../d6/de3/structwindow.html">window</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="../../d6/de3/structwindow.html#a633864bb495ec265bee220a5c70cc98f">frames</a></td><td class="entry"><a class="el" href="../../d6/de3/structwindow.html">window</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="../../d6/de3/structwindow.html#a8da44798a9e1feb7ed3fbd18ec3a28b6">fullscreen</a></td><td class="entry"><a class="el" href="../../d6/de3/structwindow.html">window</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="../../d6/de3/structwindow.html#a6975a930e9a3c166f8201fc4ef5e7728">gl</a></td><td class="entry"><a class="el" href="../../d6/de3/structwindow.html">window</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="../../d6/de3/structwindow.html#a40e2c6fb4178953c820fc1b9f41d4b31">ivi_surface</a></td><td class="entry"><a class="el" href="../../d6/de3/structwindow.html">window</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="../../d6/de3/structwindow.html#ae41be0955d0e73530e1bc13dfeb9d731">native</a></td><td class="entry"><a class="el" href="../../d6/de3/structwindow.html">window</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="../../d6/de3/structwindow.html#a026a50808d8323a5a73d585c19916fa8">opaque</a></td><td class="entry"><a class="el" href="../../d6/de3/structwindow.html">window</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="../../d6/de3/structwindow.html#aaf965f90f9fc938db2315ff62028c362">pos</a></td><td class="entry"><a class="el" href="../../d6/de3/structwindow.html">window</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="../../d6/de3/structwindow.html#a5202f3b60e262a6fa4fcee68dd47cb67">rotation_uniform</a></td><td class="entry"><a class="el" href="../../d6/de3/structwindow.html">window</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="../../d6/de3/structwindow.html#a7d0790cfc7c30621611fa26ab5c1ae97">surface</a></td><td class="entry"><a class="el" href="../../d6/de3/structwindow.html">window</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="../../d6/de3/structwindow.html#ad2b6c8ed8044b41fd1189a0ce26d539a">window_size</a></td><td class="entry"><a class="el" href="../../d6/de3/structwindow.html">window</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="../../doxygen.png" alt="doxygen"/>
+</a> 1.8.11
+</small></address>
+</body>
+</html>
index c164aaf..52673d2 100644 (file)
@@ -3,8 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <title>HomeScreenBinding: include/libhomescreen.hpp File Reference</title>
 <link href="../../tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="../../jquery.js"></script>
 <title>HomeScreenBinding: include/libhomescreen.hpp File Reference</title>
 <link href="../../tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="../../jquery.js"></script>
@@ -12,6 +11,9 @@
 <link href="../../search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="../../search/searchdata.js"></script>
 <script type="text/javascript" src="../../search/search.js"></script>
 <link href="../../search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="../../search/searchdata.js"></script>
 <script type="text/javascript" src="../../search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
 <link href="../../doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
 <link href="../../doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
 </table>
 </div>
 <!-- end header part -->
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.11 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
 </script>
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
 </script>
-<script type="text/javascript" src="../../menudata.js"></script>
-<script type="text/javascript" src="../../menu.js"></script>
-<script type="text/javascript">
-$(function() {
-  initMenu('../../',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-</script>
-<div id="main-nav"></div>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="../../index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="../../annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="../../files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="../../search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="../../files.html"><span>File&#160;List</span></a></li>
+      <li><a href="../../globals.html"><span>File&#160;Members</span></a></li>
+    </ul>
+  </div>
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
      onmouseover="return searchBox.OnSearchSelectShow()"
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
      onmouseover="return searchBox.OnSearchSelectShow()"
@@ -74,7 +96,6 @@ $(function() {
 <code>#include &lt;functional&gt;</code><br />
 <code>#include &lt;json-c/json.h&gt;</code><br />
 <code>#include &lt;systemd/sd-event.h&gt;</code><br />
 <code>#include &lt;functional&gt;</code><br />
 <code>#include &lt;json-c/json.h&gt;</code><br />
 <code>#include &lt;systemd/sd-event.h&gt;</code><br />
-<code>#include &lt;afb/afb-binding.h&gt;</code><br />
 <code>#include &lt;afb/afb-wsj1.h&gt;</code><br />
 <code>#include &lt;afb/afb-ws-client.h&gt;</code><br />
 </div>
 <code>#include &lt;afb/afb-wsj1.h&gt;</code><br />
 <code>#include &lt;afb/afb-ws-client.h&gt;</code><br />
 </div>
@@ -90,7 +111,7 @@ Classes</h2></td></tr>
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
-</a> 1.8.13
+</a> 1.8.11
 </small></address>
 </body>
 </html>
 </small></address>
 </body>
 </html>
index 5e2f196..bb84463 100644 (file)
@@ -3,8 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <title>HomeScreenBinding: include/libhomescreen.hpp Source File</title>
 <link href="../../tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="../../jquery.js"></script>
 <title>HomeScreenBinding: include/libhomescreen.hpp Source File</title>
 <link href="../../tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="../../jquery.js"></script>
@@ -12,6 +11,9 @@
 <link href="../../search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="../../search/searchdata.js"></script>
 <script type="text/javascript" src="../../search/search.js"></script>
 <link href="../../search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="../../search/searchdata.js"></script>
 <script type="text/javascript" src="../../search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
 <link href="../../doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
 <link href="../../doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
 </table>
 </div>
 <!-- end header part -->
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.11 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
 </script>
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
 </script>
-<script type="text/javascript" src="../../menudata.js"></script>
-<script type="text/javascript" src="../../menu.js"></script>
-<script type="text/javascript">
-$(function() {
-  initMenu('../../',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-</script>
-<div id="main-nav"></div>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="../../index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="../../annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="../../files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="../../search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="../../files.html"><span>File&#160;List</span></a></li>
+      <li><a href="../../globals.html"><span>File&#160;Members</span></a></li>
+    </ul>
+  </div>
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
      onmouseover="return searchBox.OnSearchSelectShow()"
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
      onmouseover="return searchBox.OnSearchSelectShow()"
@@ -66,37 +88,54 @@ $(function() {
 <div class="title">libhomescreen.hpp</div>  </div>
 </div><!--header-->
 <div class="contents">
 <div class="title">libhomescreen.hpp</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="../../df/d43/libhomescreen_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * Copyright (c) 2017 TOYOTA MOTOR CORPORATION</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> * Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * you may not use this file except in compliance with the License.</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * You may obtain a copy of the License at</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *      http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * limitations under the License.</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef LIBHOMESCREEN_H</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define LIBHOMESCREEN_H</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;map&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;functional&gt;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;json-c/json.h&gt;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;systemd/sd-event.h&gt;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;{</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;afb/afb-binding.h&gt;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &lt;afb/afb-wsj1.h&gt;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &lt;afb/afb-ws-client.h&gt;</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;}</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html">   32</a></span>&#160;<span class="keyword">class </span><a class="code" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;{</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;    <a class="code" href="../../de/dd0/class_lib_home_screen.html#a724bd949c4154fad041f96a15ef0f5dc">LibHomeScreen</a>();</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;    <a class="code" href="../../de/dd0/class_lib_home_screen.html#a249902aebf71a5383ca8ec6ae558d095">~LibHomeScreen</a>();</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;        <a class="code" href="../../de/dd0/class_lib_home_screen.html#a724bd949c4154fad041f96a15ef0f5dc">LibHomeScreen</a>(<span class="keyword">const</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a> &amp;) = <span class="keyword">delete</span>;</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;        <a class="code" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a> &amp;<a class="code" href="../../de/dd0/class_lib_home_screen.html#a23bc17798453cfca50904562736f6b25">operator=</a>(<span class="keyword">const</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a> &amp;) = <span class="keyword">delete</span>;</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;        <span class="comment">// using handler_func = std::function&lt;void(const char*)&gt;;</span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html#a334f11f81c84c98d18284215dcaada3a">   42</a></span>&#160;        <span class="keyword">using</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a334f11f81c84c98d18284215dcaada3a">handler_func</a> = std::function&lt;void(json_object*)&gt;;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154">   44</a></span>&#160;        <span class="keyword">enum</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154">EventType</a> {</div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f">   45</a></span>&#160;            <a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f">Event_TapShortcut</a> = 1,</div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d">   46</a></span>&#160;            <a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d">Event_OnScreenMessage</a>,</div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd">   47</a></span>&#160;            <a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd">Event_OnScreenReply</a></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;        };</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;</div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html#a5593ff5ac78f6495ccb649904cf0ab08">   50</a></span>&#160;        <span class="keyword">static</span> <span class="keyword">const</span> std::vector&lt;std::string&gt; <a class="code" href="../../de/dd0/class_lib_home_screen.html#a5593ff5ac78f6495ccb649904cf0ab08">api_list</a>;</div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9">   51</a></span>&#160;        <span class="keyword">static</span> <span class="keyword">const</span> std::vector&lt;std::string&gt; <a class="code" href="../../de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9">event_list</a>;</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;    <span class="comment">/* Method */</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;        <span class="keywordtype">int</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a6a57b573cc767725762ba9beab032220">init</a>(<span class="keyword">const</span> <span class="keywordtype">int</span> port, <span class="keyword">const</span> std::string&amp; token);</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;        <span class="keywordtype">int</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#afb571c9577087b47065eb23e7fdbc903">tapShortcut</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* application_name);</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;        <span class="keywordtype">int</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#ac336482036a72b51a822725f1929523c">onScreenMessage</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* display_message);</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;        <span class="keywordtype">int</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a6c065f41f2c5d1f58d2763bfb4da9c37">onScreenReply</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* reply_message);</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#ab1b0e08bf35415de9064afed899e9f85">set_event_handler</a>(<span class="keyword">enum</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154">EventType</a> et, <a class="code" href="../../de/dd0/class_lib_home_screen.html#a334f11f81c84c98d18284215dcaada3a">handler_func</a> f);</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a2789e8a5372202cc36f48e71dbb9b7cf">registerCallback</a>(</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;        <span class="keywordtype">void</span> (*event_cb)(<span class="keyword">const</span> std::string&amp; <a class="code" href="../../df/d7d/structevent.html">event</a>, <span class="keyword">struct</span> json_object* event_contents),</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;        <span class="keywordtype">void</span> (*reply_cb)(<span class="keyword">struct</span> json_object* reply_contents),</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;        <span class="keywordtype">void</span> (*hangup_cb)(<span class="keywordtype">void</span>) = <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;    <span class="keywordtype">int</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a527b49dcfe581be6275d0eb2236ba37f">call</a>(<span class="keyword">const</span> std::string&amp; verb, <span class="keyword">struct</span> json_object* arg);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;    <span class="keywordtype">int</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a527b49dcfe581be6275d0eb2236ba37f">call</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* verb, <span class="keyword">struct</span> json_object* arg);</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;    <span class="keywordtype">int</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#aa4c189807b75d070f567967f0d690738">subscribe</a>(<span class="keyword">const</span> std::string&amp; event_name);</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;    <span class="keywordtype">int</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#aac03a45cbd453ba69ddb00c1016930a6">unsubscribe</a>(<span class="keyword">const</span> std::string&amp; event_name);</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;    <span class="keywordtype">int</span> initialize_websocket();</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;    void (*onEvent)(<span class="keyword">const</span> std::string&amp; event, <span class="keyword">struct </span>json_object* event_contents);</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;    void (*onReply)(<span class="keyword">struct </span>json_object* reply);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;    void (*onHangup)(void);</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;    <span class="keyword">struct </span>afb_wsj1* sp_websock;</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;    <span class="keyword">struct </span>afb_wsj1_itf minterface;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;    sd_event* mploop;</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;    std::string muri;</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;    <span class="keywordtype">int</span> mport = 2000;</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;    std::string mtoken = <span class="stringliteral">&quot;hs&quot;</span>;</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;        std::map&lt;EventType, handler_func&gt; handlers;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;    <span class="comment">/* Don&#39;t use/ Internal only */</span></div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#ab1c1fa69f24b981e824dd9fb810c4b74">on_hangup</a>(<span class="keywordtype">void</span> *closure, <span class="keyword">struct</span> afb_wsj1 *wsj);</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a608638eb87b2772a3dcc92d8ca8f3596">on_call</a>(<span class="keywordtype">void</span> *closure, <span class="keyword">const</span> <span class="keywordtype">char</span> *api, <span class="keyword">const</span> <span class="keywordtype">char</span> *verb, <span class="keyword">struct</span> afb_wsj1_msg *msg);</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a9c4885b51b43ab24a548d49fb3ab2de3">on_event</a>(<span class="keywordtype">void</span> *closure, <span class="keyword">const</span> <span class="keywordtype">char</span> *event, <span class="keyword">struct</span> afb_wsj1_msg *msg);</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a248d9648c6186287a7632ec1c75fc9c5">on_reply</a>(<span class="keywordtype">void</span> *closure, <span class="keyword">struct</span> afb_wsj1_msg *msg);</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;};</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* LIBHOMESCREEN_H */</span><span class="preprocessor"></span></div><div class="ttc" id="class_lib_home_screen_html_a9c4885b51b43ab24a548d49fb3ab2de3"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a9c4885b51b43ab24a548d49fb3ab2de3">LibHomeScreen::on_event</a></div><div class="ttdeci">void on_event(void *closure, const char *event, struct afb_wsj1_msg *msg)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00458">libhomescreen.cpp:458</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html_a248d9648c6186287a7632ec1c75fc9c5"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a248d9648c6186287a7632ec1c75fc9c5">LibHomeScreen::on_reply</a></div><div class="ttdeci">void on_reply(void *closure, struct afb_wsj1_msg *msg)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00506">libhomescreen.cpp:506</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html_a6c065f41f2c5d1f58d2763bfb4da9c37"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a6c065f41f2c5d1f58d2763bfb4da9c37">LibHomeScreen::onScreenReply</a></div><div class="ttdeci">int onScreenReply(const char *reply_message)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00268">libhomescreen.cpp:268</a></div></div>
+<a href="../../df/d43/libhomescreen_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * Copyright (c) 2017 TOYOTA MOTOR CORPORATION</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> * Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * you may not use this file except in compliance with the License.</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * You may obtain a copy of the License at</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *      http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * limitations under the License.</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef LIBHOMESCREEN_H</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define LIBHOMESCREEN_H</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;map&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;functional&gt;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;json-c/json.h&gt;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;systemd/sd-event.h&gt;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;{</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;afb/afb-wsj1.h&gt;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &lt;afb/afb-ws-client.h&gt;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;}</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html">   31</a></span>&#160;<span class="keyword">class </span><a class="code" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;{</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;    <a class="code" href="../../de/dd0/class_lib_home_screen.html#a724bd949c4154fad041f96a15ef0f5dc">LibHomeScreen</a>();</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;    <a class="code" href="../../de/dd0/class_lib_home_screen.html#a249902aebf71a5383ca8ec6ae558d095">~LibHomeScreen</a>();</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;    <a class="code" href="../../de/dd0/class_lib_home_screen.html#a724bd949c4154fad041f96a15ef0f5dc">LibHomeScreen</a>(<span class="keyword">const</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a> &amp;) = <span class="keyword">delete</span>;</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;    <a class="code" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a> &amp;<a class="code" href="../../de/dd0/class_lib_home_screen.html#a23bc17798453cfca50904562736f6b25">operator=</a>(<span class="keyword">const</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a> &amp;) = <span class="keyword">delete</span>;</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html#a334f11f81c84c98d18284215dcaada3a">   40</a></span>&#160;    <span class="keyword">using</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a334f11f81c84c98d18284215dcaada3a">handler_func</a> = std::function&lt;void(json_object*)&gt;;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;</div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154">   42</a></span>&#160;    <span class="keyword">enum</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154">EventType</a> {</div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a3fb3563c64786f1a2ae404df6edffd5c">   43</a></span>&#160;        <a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a3fb3563c64786f1a2ae404df6edffd5c">Event_ShowWindow</a> = 1,</div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f">   44</a></span>&#160;        <a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f">Event_TapShortcut</a> = 1,</div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d">   45</a></span>&#160;        <a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d">Event_OnScreenMessage</a>,</div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd">   46</a></span>&#160;        <a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd">Event_OnScreenReply</a>,</div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aef8bb1086ddbc0a125d77af9da3146a0">   47</a></span>&#160;        <a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aef8bb1086ddbc0a125d77af9da3146a0">Event_HideWindow</a>,</div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aaacb8babce7fac884ab4bf7605da0d9f">   48</a></span>&#160;        <a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aaacb8babce7fac884ab4bf7605da0d9f">Event_ReplyShowWindow</a>,</div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a68119a9c3ff85e807db38d3282e5ca30">   49</a></span>&#160;        <a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a68119a9c3ff85e807db38d3282e5ca30">Event_ShowNotification</a>,</div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a1fad2ac5071a1dae7db9c8e1b522669b">   50</a></span>&#160;        <a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a1fad2ac5071a1dae7db9c8e1b522669b">Event_ShowInformation</a></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;    };</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;    <span class="comment">/* Key for json obejct */</span></div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html#a927592eff8e34efbbceaf12522f8897f">   54</a></span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="../../de/dd0/class_lib_home_screen.html#a927592eff8e34efbbceaf12522f8897f">_keyParameter</a> = <span class="stringliteral">&quot;parameter&quot;</span>;</div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html#a8becda1b035ae45f5a11c7e7963091bf">   55</a></span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="../../de/dd0/class_lib_home_screen.html#a8becda1b035ae45f5a11c7e7963091bf">_keyArea</a> = <span class="stringliteral">&quot;area&quot;</span>;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    <span class="comment">/* display area */</span></div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html#aac718b60b83c74e2b061f6f7f7ec3bf5">   58</a></span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="../../de/dd0/class_lib_home_screen.html#aac718b60b83c74e2b061f6f7f7ec3bf5">_areaNormal</a> = <span class="stringliteral">&quot;normal&quot;</span>;</div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html#ad0569f5323ead77a43bd8735377a6f25">   59</a></span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="../../de/dd0/class_lib_home_screen.html#ad0569f5323ead77a43bd8735377a6f25">_areaFullScreen</a> = <span class="stringliteral">&quot;fullscreen&quot;</span>;</div><div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html#a7f201fc366146790520bf8d990f7b2eb">   60</a></span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="../../de/dd0/class_lib_home_screen.html#a7f201fc366146790520bf8d990f7b2eb">_areaSplitMain</a> = <span class="stringliteral">&quot;split.main&quot;</span>;</div><div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html#ab4f54373b0681de11243152f01c48888">   61</a></span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="../../de/dd0/class_lib_home_screen.html#ab4f54373b0681de11243152f01c48888">_areaSplitSub</a> = <span class="stringliteral">&quot;split.sub&quot;</span>;</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html#a5593ff5ac78f6495ccb649904cf0ab08">   63</a></span>&#160;    <span class="keyword">static</span> <span class="keyword">const</span> std::vector&lt;std::string&gt; <a class="code" href="../../de/dd0/class_lib_home_screen.html#a5593ff5ac78f6495ccb649904cf0ab08">api_list</a>;</div><div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="../../de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9">   64</a></span>&#160;    <span class="keyword">static</span> <span class="keyword">const</span> std::vector&lt;std::string&gt; <a class="code" href="../../de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9">event_list</a>;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    <span class="comment">/* Method */</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;    <span class="keywordtype">int</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a6a57b573cc767725762ba9beab032220">init</a>(<span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="../../de/da4/simple-egl_8cpp.html#a300b6806fe6818927fe4df08f2398124">port</a>, <span class="keyword">const</span> std::string&amp; <a class="code" href="../../de/da4/simple-egl_8cpp.html#a623ef6987ef3bd185c07b28b13e46d34">token</a>);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;    <span class="keywordtype">int</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a6ca8ff4a2aa019a735afaff713e0ef44">tapShortcut</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* application_id);</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;    <span class="keywordtype">int</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#ac336482036a72b51a822725f1929523c">onScreenMessage</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* display_message);</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;    <span class="keywordtype">int</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a6c065f41f2c5d1f58d2763bfb4da9c37">onScreenReply</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* reply_message);</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#ab1b0e08bf35415de9064afed899e9f85">set_event_handler</a>(<span class="keyword">enum</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154">EventType</a> et, <a class="code" href="../../de/dd0/class_lib_home_screen.html#a334f11f81c84c98d18284215dcaada3a">handler_func</a> f);</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a2789e8a5372202cc36f48e71dbb9b7cf">registerCallback</a>(</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;        <span class="keywordtype">void</span> (*event_cb)(<span class="keyword">const</span> std::string&amp; event, <span class="keyword">struct</span> json_object* event_contents),</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;        <span class="keywordtype">void</span> (*reply_cb)(<span class="keyword">struct</span> json_object* reply_contents),</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;        <span class="keywordtype">void</span> (*hangup_cb)(<span class="keywordtype">void</span>) = <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;    <span class="keywordtype">int</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a527b49dcfe581be6275d0eb2236ba37f">call</a>(<span class="keyword">const</span> std::string&amp; verb, <span class="keyword">struct</span> json_object* arg);</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;    <span class="keywordtype">int</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a527b49dcfe581be6275d0eb2236ba37f">call</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* verb, <span class="keyword">struct</span> json_object* arg);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;    <span class="keywordtype">int</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#aa4c189807b75d070f567967f0d690738">subscribe</a>(<span class="keyword">const</span> std::string&amp; event_name);</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;    <span class="keywordtype">int</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#aac03a45cbd453ba69ddb00c1016930a6">unsubscribe</a>(<span class="keyword">const</span> std::string&amp; event_name);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;    <span class="keywordtype">int</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a69fc770cb3f94d30a10c2c8c81eb892f">showWindow</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* application_id, json_object* json);</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;    <span class="keywordtype">int</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a4dbaea6c7b310e8ce7207155ff11b32a">hideWindow</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* application_id);</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;    <span class="keywordtype">int</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a6310b129fc85ef0623e2e2063950cc4b">replyShowWindow</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* application_id, json_object* json);</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;    <span class="keywordtype">int</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a93ad567ed597a80a344ba82457c2bd7f">showNotification</a>(json_object* json);</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;    <span class="keywordtype">int</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#ada999aeb0444c964428bdf1ee236727f">showInformation</a>(json_object* json);</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;    <span class="keywordtype">int</span> initialize_websocket();</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;    void (*onEvent)(<span class="keyword">const</span> std::string&amp; event, <span class="keyword">struct </span>json_object* event_contents);</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;    void (*onReply)(<span class="keyword">struct </span>json_object* reply);</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;    void (*onHangup)(void);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;    <span class="keyword">struct </span>afb_wsj1* sp_websock;</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;    <span class="keyword">struct </span>afb_wsj1_itf minterface;</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;    sd_event* mploop;</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;    std::string muri;</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;    <span class="keywordtype">int</span> mport = 2000;</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;    std::string mtoken = <span class="stringliteral">&quot;hs&quot;</span>;</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;    std::map&lt;EventType, handler_func&gt; handlers;</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;    <span class="comment">/* Don&#39;t use/ Internal only */</span></div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#ab1c1fa69f24b981e824dd9fb810c4b74">on_hangup</a>(<span class="keywordtype">void</span> *closure, <span class="keyword">struct</span> afb_wsj1 *wsj);</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a608638eb87b2772a3dcc92d8ca8f3596">on_call</a>(<span class="keywordtype">void</span> *closure, <span class="keyword">const</span> <span class="keywordtype">char</span> *api, <span class="keyword">const</span> <span class="keywordtype">char</span> *verb, <span class="keyword">struct</span> afb_wsj1_msg *msg);</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a9c4885b51b43ab24a548d49fb3ab2de3">on_event</a>(<span class="keywordtype">void</span> *closure, <span class="keyword">const</span> <span class="keywordtype">char</span> *event, <span class="keyword">struct</span> afb_wsj1_msg *msg);</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html#a248d9648c6186287a7632ec1c75fc9c5">on_reply</a>(<span class="keywordtype">void</span> *closure, <span class="keyword">struct</span> afb_wsj1_msg *msg);</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;};</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* LIBHOMESCREEN_H */</span><span class="preprocessor"></span></div><div class="ttc" id="class_lib_home_screen_html_a9c4885b51b43ab24a548d49fb3ab2de3"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a9c4885b51b43ab24a548d49fb3ab2de3">LibHomeScreen::on_event</a></div><div class="ttdeci">void on_event(void *closure, const char *event, struct afb_wsj1_msg *msg)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00616">libhomescreen.cpp:616</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a248d9648c6186287a7632ec1c75fc9c5"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a248d9648c6186287a7632ec1c75fc9c5">LibHomeScreen::on_reply</a></div><div class="ttdeci">void on_reply(void *closure, struct afb_wsj1_msg *msg)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00695">libhomescreen.cpp:695</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a6c065f41f2c5d1f58d2763bfb4da9c37"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a6c065f41f2c5d1f58d2763bfb4da9c37">LibHomeScreen::onScreenReply</a></div><div class="ttdeci">int onScreenReply(const char *reply_message)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00266">libhomescreen.cpp:266</a></div></div>
 <div class="ttc" id="class_lib_home_screen_html_a23bc17798453cfca50904562736f6b25"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a23bc17798453cfca50904562736f6b25">LibHomeScreen::operator=</a></div><div class="ttdeci">LibHomeScreen &amp; operator=(const LibHomeScreen &amp;)=delete</div></div>
 <div class="ttc" id="class_lib_home_screen_html_a23bc17798453cfca50904562736f6b25"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a23bc17798453cfca50904562736f6b25">LibHomeScreen::operator=</a></div><div class="ttdeci">LibHomeScreen &amp; operator=(const LibHomeScreen &amp;)=delete</div></div>
-<div class="ttc" id="class_lib_home_screen_html_a334f11f81c84c98d18284215dcaada3a"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a334f11f81c84c98d18284215dcaada3a">LibHomeScreen::handler_func</a></div><div class="ttdeci">std::function&lt; void(json_object *)&gt; handler_func</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00042">libhomescreen.hpp:42</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html_a608638eb87b2772a3dcc92d8ca8f3596"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a608638eb87b2772a3dcc92d8ca8f3596">LibHomeScreen::on_call</a></div><div class="ttdeci">void on_call(void *closure, const char *api, const char *verb, struct afb_wsj1_msg *msg)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00448">libhomescreen.cpp:448</a></div></div>
-<div class="ttc" id="structevent_html"><div class="ttname"><a href="../../df/d7d/structevent.html">event</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00035">homescreen.c:35</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html_a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d">LibHomeScreen::Event_OnScreenMessage</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00046">libhomescreen.hpp:46</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html_a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd">LibHomeScreen::Event_OnScreenReply</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00047">libhomescreen.hpp:47</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_ad0569f5323ead77a43bd8735377a6f25"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#ad0569f5323ead77a43bd8735377a6f25">LibHomeScreen::_areaFullScreen</a></div><div class="ttdeci">const char * _areaFullScreen</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00059">libhomescreen.hpp:59</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a334f11f81c84c98d18284215dcaada3a"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a334f11f81c84c98d18284215dcaada3a">LibHomeScreen::handler_func</a></div><div class="ttdeci">std::function&lt; void(json_object *)&gt; handler_func</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00040">libhomescreen.hpp:40</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a608638eb87b2772a3dcc92d8ca8f3596"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a608638eb87b2772a3dcc92d8ca8f3596">LibHomeScreen::on_call</a></div><div class="ttdeci">void on_call(void *closure, const char *api, const char *verb, struct afb_wsj1_msg *msg)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00606">libhomescreen.cpp:606</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_ab4f54373b0681de11243152f01c48888"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#ab4f54373b0681de11243152f01c48888">LibHomeScreen::_areaSplitSub</a></div><div class="ttdeci">const char * _areaSplitSub</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00061">libhomescreen.hpp:61</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a6ca8ff4a2aa019a735afaff713e0ef44"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a6ca8ff4a2aa019a735afaff713e0ef44">LibHomeScreen::tapShortcut</a></div><div class="ttdeci">int tapShortcut(const char *application_id)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00222">libhomescreen.cpp:222</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a4dbaea6c7b310e8ce7207155ff11b32a"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a4dbaea6c7b310e8ce7207155ff11b32a">LibHomeScreen::hideWindow</a></div><div class="ttdeci">int hideWindow(const char *application_id)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00503">libhomescreen.cpp:503</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a69fc770cb3f94d30a10c2c8c81eb892f"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a69fc770cb3f94d30a10c2c8c81eb892f">LibHomeScreen::showWindow</a></div><div class="ttdeci">int showWindow(const char *application_id, json_object *json)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00467">libhomescreen.cpp:467</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a927592eff8e34efbbceaf12522f8897f"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a927592eff8e34efbbceaf12522f8897f">LibHomeScreen::_keyParameter</a></div><div class="ttdeci">const char * _keyParameter</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00054">libhomescreen.hpp:54</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a6310b129fc85ef0623e2e2063950cc4b"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a6310b129fc85ef0623e2e2063950cc4b">LibHomeScreen::replyShowWindow</a></div><div class="ttdeci">int replyShowWindow(const char *application_id, json_object *json)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00530">libhomescreen.cpp:530</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d">LibHomeScreen::Event_OnScreenMessage</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00045">libhomescreen.hpp:45</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd">LibHomeScreen::Event_OnScreenReply</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00046">libhomescreen.hpp:46</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a82616c91ac211d2ad08e709b524bf154aef8bb1086ddbc0a125d77af9da3146a0"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aef8bb1086ddbc0a125d77af9da3146a0">LibHomeScreen::Event_HideWindow</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00047">libhomescreen.hpp:47</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a82616c91ac211d2ad08e709b524bf154a3fb3563c64786f1a2ae404df6edffd5c"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a3fb3563c64786f1a2ae404df6edffd5c">LibHomeScreen::Event_ShowWindow</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00043">libhomescreen.hpp:43</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a623ef6987ef3bd185c07b28b13e46d34"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a623ef6987ef3bd185c07b28b13e46d34">token</a></div><div class="ttdeci">string token</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00061">simple-egl.cpp:61</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a82616c91ac211d2ad08e709b524bf154a68119a9c3ff85e807db38d3282e5ca30"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a68119a9c3ff85e807db38d3282e5ca30">LibHomeScreen::Event_ShowNotification</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00049">libhomescreen.hpp:49</a></div></div>
 <div class="ttc" id="class_lib_home_screen_html_a527b49dcfe581be6275d0eb2236ba37f"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a527b49dcfe581be6275d0eb2236ba37f">LibHomeScreen::call</a></div><div class="ttdeci">int call(const std::string &amp;verb, struct json_object *arg)</div></div>
 <div class="ttc" id="class_lib_home_screen_html_a527b49dcfe581be6275d0eb2236ba37f"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a527b49dcfe581be6275d0eb2236ba37f">LibHomeScreen::call</a></div><div class="ttdeci">int call(const std::string &amp;verb, struct json_object *arg)</div></div>
-<div class="ttc" id="class_lib_home_screen_html_ab1c1fa69f24b981e824dd9fb810c4b74"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#ab1c1fa69f24b981e824dd9fb810c4b74">LibHomeScreen::on_hangup</a></div><div class="ttdeci">void on_hangup(void *closure, struct afb_wsj1 *wsj)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00439">libhomescreen.cpp:439</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html_afb571c9577087b47065eb23e7fdbc903"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#afb571c9577087b47065eb23e7fdbc903">LibHomeScreen::tapShortcut</a></div><div class="ttdeci">int tapShortcut(const char *application_name)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00220">libhomescreen.cpp:220</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html_aa4c189807b75d070f567967f0d690738"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#aa4c189807b75d070f567967f0d690738">LibHomeScreen::subscribe</a></div><div class="ttdeci">int subscribe(const std::string &amp;event_name)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00392">libhomescreen.cpp:392</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html_a82616c91ac211d2ad08e709b524bf154"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154">LibHomeScreen::EventType</a></div><div class="ttdeci">EventType</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00044">libhomescreen.hpp:44</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html_a724bd949c4154fad041f96a15ef0f5dc"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a724bd949c4154fad041f96a15ef0f5dc">LibHomeScreen::LibHomeScreen</a></div><div class="ttdeci">LibHomeScreen()</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00083">libhomescreen.cpp:83</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html_a6a6d8a4d33a006a08652e7377a4c29e9"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9">LibHomeScreen::event_list</a></div><div class="ttdeci">static const std::vector&lt; std::string &gt; event_list</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00051">libhomescreen.hpp:51</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html_a6a57b573cc767725762ba9beab032220"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a6a57b573cc767725762ba9beab032220">LibHomeScreen::init</a></div><div class="ttdeci">int init(const int port, const std::string &amp;token)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00116">libhomescreen.cpp:116</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html_ac336482036a72b51a822725f1929523c"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#ac336482036a72b51a822725f1929523c">LibHomeScreen::onScreenMessage</a></div><div class="ttdeci">int onScreenMessage(const char *display_message)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00244">libhomescreen.cpp:244</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00032">libhomescreen.hpp:32</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html_a249902aebf71a5383ca8ec6ae558d095"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a249902aebf71a5383ca8ec6ae558d095">LibHomeScreen::~LibHomeScreen</a></div><div class="ttdeci">~LibHomeScreen()</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00090">libhomescreen.cpp:90</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html_a5593ff5ac78f6495ccb649904cf0ab08"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a5593ff5ac78f6495ccb649904cf0ab08">LibHomeScreen::api_list</a></div><div class="ttdeci">static const std::vector&lt; std::string &gt; api_list</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00050">libhomescreen.hpp:50</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html_aac03a45cbd453ba69ddb00c1016930a6"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#aac03a45cbd453ba69ddb00c1016930a6">LibHomeScreen::unsubscribe</a></div><div class="ttdeci">int unsubscribe(const std::string &amp;event_name)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00421">libhomescreen.cpp:421</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html_ab1b0e08bf35415de9064afed899e9f85"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#ab1b0e08bf35415de9064afed899e9f85">LibHomeScreen::set_event_handler</a></div><div class="ttdeci">void set_event_handler(enum EventType et, handler_func f)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00293">libhomescreen.cpp:293</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html_a2789e8a5372202cc36f48e71dbb9b7cf"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a2789e8a5372202cc36f48e71dbb9b7cf">LibHomeScreen::registerCallback</a></div><div class="ttdeci">void registerCallback(void(*event_cb)(const std::string &amp;event, struct json_object *event_contents), void(*reply_cb)(struct json_object *reply_contents), void(*hangup_cb)(void)=nullptr)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00155">libhomescreen.cpp:155</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html_a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f">LibHomeScreen::Event_TapShortcut</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00045">libhomescreen.hpp:45</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_ada999aeb0444c964428bdf1ee236727f"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#ada999aeb0444c964428bdf1ee236727f">LibHomeScreen::showInformation</a></div><div class="ttdeci">int showInformation(json_object *json)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00584">libhomescreen.cpp:584</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_ab1c1fa69f24b981e824dd9fb810c4b74"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#ab1c1fa69f24b981e824dd9fb810c4b74">LibHomeScreen::on_hangup</a></div><div class="ttdeci">void on_hangup(void *closure, struct afb_wsj1 *wsj)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00597">libhomescreen.cpp:597</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_aa4c189807b75d070f567967f0d690738"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#aa4c189807b75d070f567967f0d690738">LibHomeScreen::subscribe</a></div><div class="ttdeci">int subscribe(const std::string &amp;event_name)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00409">libhomescreen.cpp:409</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a82616c91ac211d2ad08e709b524bf154aaacb8babce7fac884ab4bf7605da0d9f"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aaacb8babce7fac884ab4bf7605da0d9f">LibHomeScreen::Event_ReplyShowWindow</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00048">libhomescreen.hpp:48</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a82616c91ac211d2ad08e709b524bf154"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154">LibHomeScreen::EventType</a></div><div class="ttdeci">EventType</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00042">libhomescreen.hpp:42</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a8becda1b035ae45f5a11c7e7963091bf"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a8becda1b035ae45f5a11c7e7963091bf">LibHomeScreen::_keyArea</a></div><div class="ttdeci">const char * _keyArea</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00055">libhomescreen.hpp:55</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a724bd949c4154fad041f96a15ef0f5dc"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a724bd949c4154fad041f96a15ef0f5dc">LibHomeScreen::LibHomeScreen</a></div><div class="ttdeci">LibHomeScreen()</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00093">libhomescreen.cpp:93</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a82616c91ac211d2ad08e709b524bf154a1fad2ac5071a1dae7db9c8e1b522669b"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a1fad2ac5071a1dae7db9c8e1b522669b">LibHomeScreen::Event_ShowInformation</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00050">libhomescreen.hpp:50</a></div></div>
+<div class="ttc" id="simple-egl_8cpp_html_a300b6806fe6818927fe4df08f2398124"><div class="ttname"><a href="../../de/da4/simple-egl_8cpp.html#a300b6806fe6818927fe4df08f2398124">port</a></div><div class="ttdeci">long port</div><div class="ttdef"><b>Definition:</b> <a href="../../de/da4/simple-egl_8cpp_source.html#l00060">simple-egl.cpp:60</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a6a6d8a4d33a006a08652e7377a4c29e9"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9">LibHomeScreen::event_list</a></div><div class="ttdeci">static const std::vector&lt; std::string &gt; event_list</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00064">libhomescreen.hpp:64</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a6a57b573cc767725762ba9beab032220"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a6a57b573cc767725762ba9beab032220">LibHomeScreen::init</a></div><div class="ttdeci">int init(const int port, const std::string &amp;token)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00126">libhomescreen.cpp:126</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a7f201fc366146790520bf8d990f7b2eb"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a7f201fc366146790520bf8d990f7b2eb">LibHomeScreen::_areaSplitMain</a></div><div class="ttdeci">const char * _areaSplitMain</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00060">libhomescreen.hpp:60</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_aac718b60b83c74e2b061f6f7f7ec3bf5"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#aac718b60b83c74e2b061f6f7f7ec3bf5">LibHomeScreen::_areaNormal</a></div><div class="ttdeci">const char * _areaNormal</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00058">libhomescreen.hpp:58</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_ac336482036a72b51a822725f1929523c"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#ac336482036a72b51a822725f1929523c">LibHomeScreen::onScreenMessage</a></div><div class="ttdeci">int onScreenMessage(const char *display_message)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00242">libhomescreen.cpp:242</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00031">libhomescreen.hpp:31</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a249902aebf71a5383ca8ec6ae558d095"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a249902aebf71a5383ca8ec6ae558d095">LibHomeScreen::~LibHomeScreen</a></div><div class="ttdeci">~LibHomeScreen()</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00100">libhomescreen.cpp:100</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a5593ff5ac78f6495ccb649904cf0ab08"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a5593ff5ac78f6495ccb649904cf0ab08">LibHomeScreen::api_list</a></div><div class="ttdeci">static const std::vector&lt; std::string &gt; api_list</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00063">libhomescreen.hpp:63</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_aac03a45cbd453ba69ddb00c1016930a6"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#aac03a45cbd453ba69ddb00c1016930a6">LibHomeScreen::unsubscribe</a></div><div class="ttdeci">int unsubscribe(const std::string &amp;event_name)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00438">libhomescreen.cpp:438</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_ab1b0e08bf35415de9064afed899e9f85"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#ab1b0e08bf35415de9064afed899e9f85">LibHomeScreen::set_event_handler</a></div><div class="ttdeci">void set_event_handler(enum EventType et, handler_func f)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00295">libhomescreen.cpp:295</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a2789e8a5372202cc36f48e71dbb9b7cf"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a2789e8a5372202cc36f48e71dbb9b7cf">LibHomeScreen::registerCallback</a></div><div class="ttdeci">void registerCallback(void(*event_cb)(const std::string &amp;event, struct json_object *event_contents), void(*reply_cb)(struct json_object *reply_contents), void(*hangup_cb)(void)=nullptr)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00165">libhomescreen.cpp:165</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f">LibHomeScreen::Event_TapShortcut</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00044">libhomescreen.hpp:44</a></div></div>
+<div class="ttc" id="class_lib_home_screen_html_a93ad567ed597a80a344ba82457c2bd7f"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a93ad567ed597a80a344ba82457c2bd7f">LibHomeScreen::showNotification</a></div><div class="ttdeci">int showNotification(json_object *json)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00562">libhomescreen.cpp:562</a></div></div>
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
-</a> 1.8.13
+</a> 1.8.11
 </small></address>
 </body>
 </html>
 </small></address>
 </body>
 </html>
diff --git a/doc/api-ref/html/df/d66/hs-helper_8cpp.html b/doc/api-ref/html/df/d66/hs-helper_8cpp.html
new file mode 100644 (file)
index 0000000..303434a
--- /dev/null
@@ -0,0 +1,449 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<title>HomeScreenBinding: src/hs-helper.cpp File Reference</title>
+<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="../../jquery.js"></script>
+<script type="text/javascript" src="../../dynsections.js"></script>
+<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="../../search/searchdata.js"></script>
+<script type="text/javascript" src="../../search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">HomeScreenBinding
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="../../index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="../../annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="../../files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="../../search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="../../files.html"><span>File&#160;List</span></a></li>
+      <li><a href="../../globals.html"><span>File&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="../../dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a> &#124;
+<a href="#var-members">Variables</a>  </div>
+  <div class="headertitle">
+<div class="title">hs-helper.cpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &lt;string.h&gt;</code><br />
+<code>#include &lt;cstdarg&gt;</code><br />
+<code>#include &quot;<a class="el" href="../../d3/d3d/hs-helper_8h_source.html">hs-helper.h</a>&quot;</code><br />
+</div>
+<p><a href="../../df/d66/hs-helper_8cpp_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:aba9ca63f68b1991f8650871f4eae8e0b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899">REQ_ERROR</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d66/hs-helper_8cpp.html#aba9ca63f68b1991f8650871f4eae8e0b">get_value_uint16</a> (const afb_req_t request, const char *source, uint16_t *out_id)</td></tr>
+<tr class="separator:aba9ca63f68b1991f8650871f4eae8e0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af3043612cf74bb92cb073e10cacd594a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899">REQ_ERROR</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d66/hs-helper_8cpp.html#af3043612cf74bb92cb073e10cacd594a">get_value_int16</a> (const afb_req_t request, const char *source, int16_t *out_id)</td></tr>
+<tr class="separator:af3043612cf74bb92cb073e10cacd594a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8121d965b6fd795c16b8576ab03dcaf1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899">REQ_ERROR</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d66/hs-helper_8cpp.html#a8121d965b6fd795c16b8576ab03dcaf1">get_value_int32</a> (const afb_req_t request, const char *source, int32_t *out_id)</td></tr>
+<tr class="separator:a8121d965b6fd795c16b8576ab03dcaf1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1ba31a6a94515ff1730ba0043a67d59e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d66/hs-helper_8cpp.html#a1ba31a6a94515ff1730ba0043a67d59e">hs_add_object_to_json_object</a> (struct json_object *j_obj, int count,...)</td></tr>
+<tr class="separator:a1ba31a6a94515ff1730ba0043a67d59e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8777c53f1d4d5412f19b134ad85ffedf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d66/hs-helper_8cpp.html#a8777c53f1d4d5412f19b134ad85ffedf">hs_add_object_to_json_object_str</a> (struct json_object *j_obj, int count,...)</td></tr>
+<tr class="separator:a8777c53f1d4d5412f19b134ad85ffedf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae83604a37134e7bdee3ce4f10bb0b47a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d66/hs-helper_8cpp.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs_add_object_to_json_object_func</a> (struct json_object *j_obj, const char *verb_name, int count,...)</td></tr>
+<tr class="separator:ae83604a37134e7bdee3ce4f10bb0b47a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2ff1b894941c3b461ca8119079c4146a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d66/hs-helper_8cpp.html#a2ff1b894941c3b461ca8119079c4146a">hs_search_event_name_index</a> (const char *value)</td></tr>
+<tr class="separator:a2ff1b894941c3b461ca8119079c4146a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:a0cd84b1a2184c9b84d1b7bf24582f28e"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d66/hs-helper_8cpp.html#a0cd84b1a2184c9b84d1b7bf24582f28e">evlist</a> []</td></tr>
+<tr class="separator:a0cd84b1a2184c9b84d1b7bf24582f28e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="af3043612cf74bb92cb073e10cacd594a"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899">REQ_ERROR</a> get_value_int16 </td>
+          <td>(</td>
+          <td class="paramtype">const afb_req_t&#160;</td>
+          <td class="paramname"><em>request</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>source</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int16_t *&#160;</td>
+          <td class="paramname"><em>out_id</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>get int16 value from source</p>
+<h4>Parameters</h4>
+<ul>
+<li>request : Describes the request by bindings from afb-daemon</li>
+<li>source : input source</li>
+<li>out_id : output int16 value</li>
+</ul>
+<h4>Return</h4>
+<p>error code </p>
+
+<p>Definition at line <a class="el" href="../../df/d66/hs-helper_8cpp_source.html#l00082">82</a> of file <a class="el" href="../../df/d66/hs-helper_8cpp_source.html">hs-helper.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;{</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;    <span class="keywordtype">char</span>* endptr;</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* tmp = afb_req_value (request, source);</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;    <span class="keywordflow">if</span>(!tmp)</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;    {</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1">REQ_FAIL</a>;</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;    }</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;    <span class="keywordtype">long</span> tmp_id = strtol(tmp,&amp;endptr,10);</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;    <span class="comment">/* error check of range */</span></div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;    <span class="keywordflow">if</span>( (tmp_id &gt; INT16_MAX) || (tmp_id &lt; INT16_MIN) )</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;    {</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b">OUT_RANGE</a>;</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;    }</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;    <span class="keywordflow">if</span>(*endptr != <span class="charliteral">&#39;\0&#39;</span>)</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;    {</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a">NOT_NUMBER</a>;</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;    }</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;    *out_id = (int16_t)tmp_id;</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee">REQ_OK</a>;</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;}</div><div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1">REQ_FAIL</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00031">hs-helper.h:31</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b">OUT_RANGE</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00034">hs-helper.h:34</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a">NOT_NUMBER</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00033">hs-helper.h:33</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee">REQ_OK</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00032">hs-helper.h:32</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a8121d965b6fd795c16b8576ab03dcaf1"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899">REQ_ERROR</a> get_value_int32 </td>
+          <td>(</td>
+          <td class="paramtype">const afb_req_t&#160;</td>
+          <td class="paramname"><em>request</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>source</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int32_t *&#160;</td>
+          <td class="paramname"><em>out_id</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>get int32 value from source</p>
+<h4>Parameters</h4>
+<ul>
+<li>request : Describes the request by bindings from afb-daemon</li>
+<li>source : input source</li>
+<li>out_id : output int32 value</li>
+</ul>
+<h4>Return</h4>
+<p>error code </p>
+
+<p>Definition at line <a class="el" href="../../df/d66/hs-helper_8cpp_source.html#l00118">118</a> of file <a class="el" href="../../df/d66/hs-helper_8cpp_source.html">hs-helper.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;{</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;    <span class="keywordtype">char</span>* endptr;</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* tmp = afb_req_value (request, source);</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;    <span class="keywordflow">if</span>(!tmp)</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;    {</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1">REQ_FAIL</a>;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;    }</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;    <span class="keywordtype">long</span> tmp_id = strtol(tmp,&amp;endptr,10);</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;    <span class="comment">/* error check of range */</span></div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;    <span class="keywordflow">if</span>( (tmp_id &gt; INT32_MAX) || (tmp_id &lt; INT32_MIN) )</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;    {</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b">OUT_RANGE</a>;</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;    }</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;    <span class="keywordflow">if</span>(*endptr != <span class="charliteral">&#39;\0&#39;</span>)</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;    {</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a">NOT_NUMBER</a>;</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;    }</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;    *out_id = (int32_t)tmp_id;</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee">REQ_OK</a>;</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;}</div><div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1">REQ_FAIL</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00031">hs-helper.h:31</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b">OUT_RANGE</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00034">hs-helper.h:34</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a">NOT_NUMBER</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00033">hs-helper.h:33</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee">REQ_OK</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00032">hs-helper.h:32</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="aba9ca63f68b1991f8650871f4eae8e0b"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899">REQ_ERROR</a> get_value_uint16 </td>
+          <td>(</td>
+          <td class="paramtype">const afb_req_t&#160;</td>
+          <td class="paramname"><em>request</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>source</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">uint16_t *&#160;</td>
+          <td class="paramname"><em>out_id</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>get uint16 value from source</p>
+<h4>Parameters</h4>
+<ul>
+<li>request : Describes the request by bindings from afb-daemon</li>
+<li>source : input source</li>
+<li>out_id : output uint16 value</li>
+</ul>
+<h4>Return</h4>
+<p>error code </p>
+
+<p>Definition at line <a class="el" href="../../df/d66/hs-helper_8cpp_source.html#l00046">46</a> of file <a class="el" href="../../df/d66/hs-helper_8cpp_source.html">hs-helper.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;{</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    <span class="keywordtype">char</span>* endptr;</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* tmp = afb_req_value (request, source);</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;    <span class="keywordflow">if</span>(!tmp)</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;    {</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1">REQ_FAIL</a>;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;    }</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    <span class="keywordtype">long</span> tmp_id = strtol(tmp,&amp;endptr,10);</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    <span class="comment">/* error check of range */</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    <span class="keywordflow">if</span>( (tmp_id &gt; UINT16_MAX) || (tmp_id &lt; 0) )</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;    {</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b">OUT_RANGE</a>;</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;    }</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;    <span class="keywordflow">if</span>(*endptr != <span class="charliteral">&#39;\0&#39;</span>)</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;    {</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a">NOT_NUMBER</a>;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;    }</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    *out_id = (uint16_t)tmp_id;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee">REQ_OK</a>;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;}</div><div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1">REQ_FAIL</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00031">hs-helper.h:31</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b">OUT_RANGE</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00034">hs-helper.h:34</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a">NOT_NUMBER</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00033">hs-helper.h:33</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee">REQ_OK</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00032">hs-helper.h:32</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a1ba31a6a94515ff1730ba0043a67d59e"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void hs_add_object_to_json_object </td>
+          <td>(</td>
+          <td class="paramtype">struct json_object *&#160;</td>
+          <td class="paramname"><em>j_obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>count</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>...</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>add int object to json object</p>
+<h4>Parameters</h4>
+<ul>
+<li>j_obj : the json object will join in int json object</li>
+<li>count : input parameter number</li>
+<li>... : parameter list</li>
+</ul>
+<h4>Return</h4>
+<p>None </p>
+
+<p>Definition at line <a class="el" href="../../df/d66/hs-helper_8cpp_source.html#l00154">154</a> of file <a class="el" href="../../df/d66/hs-helper_8cpp_source.html">hs-helper.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;{</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;    va_list args;</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;    va_start(args, count);</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;    <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = 0; i &lt; count; ++i )</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;    {</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;        <span class="keywordtype">char</span> *key = va_arg(args, <span class="keywordtype">char</span>*);</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;        <span class="keywordtype">int</span> value = va_arg(args, <span class="keywordtype">int</span>);</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;        json_object_object_add(j_obj, key, json_object_new_int((int32_t)value));</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;        ++i;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;    }</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;    va_end(args);</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;}</div></div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="ae83604a37134e7bdee3ce4f10bb0b47a"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void hs_add_object_to_json_object_func </td>
+          <td>(</td>
+          <td class="paramtype">struct json_object *&#160;</td>
+          <td class="paramname"><em>j_obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>verb_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>count</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>...</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>add new json object to json object</p>
+<h4>Parameters</h4>
+<ul>
+<li>j_obj : the json object will join in new json object</li>
+<li>verb_name : new json object's verb value</li>
+<li>count : input parameter number</li>
+<li>... : parameter list</li>
+</ul>
+<h4>Return</h4>
+<p>None </p>
+
+<p>Definition at line <a class="el" href="../../df/d66/hs-helper_8cpp_source.html#l00207">207</a> of file <a class="el" href="../../df/d66/hs-helper_8cpp_source.html">hs-helper.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;{</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;    va_list args;</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;    va_start(args, count);</div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;    json_object_object_add(j_obj,<span class="stringliteral">&quot;verb&quot;</span>, json_object_new_string(verb_name));</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;    <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = 0; i &lt; count; ++i )</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;    {</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;        <span class="keywordtype">char</span> *key = va_arg(args, <span class="keywordtype">char</span>*);</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;        <span class="keywordtype">int</span> value = va_arg(args, <span class="keywordtype">int</span>);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;        json_object_object_add(j_obj, key, json_object_new_int((int32_t)value));</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;        ++i;</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;    }</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;    va_end(args);</div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;}</div></div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a8777c53f1d4d5412f19b134ad85ffedf"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void hs_add_object_to_json_object_str </td>
+          <td>(</td>
+          <td class="paramtype">struct json_object *&#160;</td>
+          <td class="paramname"><em>j_obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>count</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>...</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>add string object to json object</p>
+<h4>Parameters</h4>
+<ul>
+<li>j_obj : the json object will join in string json object</li>
+<li>count : input parameter number</li>
+<li>... : parameter list</li>
+</ul>
+<h4>Return</h4>
+<p>None </p>
+
+<p>Definition at line <a class="el" href="../../df/d66/hs-helper_8cpp_source.html#l00180">180</a> of file <a class="el" href="../../df/d66/hs-helper_8cpp_source.html">hs-helper.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;{</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;    va_list args;</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;    va_start(args, count);</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;    <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = 0; i &lt; count; ++i )</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;    {</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;        <span class="keywordtype">char</span> *key = va_arg(args, <span class="keywordtype">char</span>*);</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;        <span class="keywordtype">char</span> *value = va_arg(args, <span class="keywordtype">char</span>*);</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;        json_object_object_add(j_obj, key, json_object_new_string(value));</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;        ++i;</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;    }</div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;    va_end(args);</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;}</div></div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a2ff1b894941c3b461ca8119079c4146a"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int hs_search_event_name_index </td>
+          <td>(</td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>value</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>search event position in event list</p>
+<h4>Parameters</h4>
+<ul>
+<li>value : searched event name</li>
+</ul>
+<h4>Return</h4>
+<p>event's index in event list </p>
+
+<p>Definition at line <a class="el" href="../../df/d66/hs-helper_8cpp_source.html#l00234">234</a> of file <a class="el" href="../../df/d66/hs-helper_8cpp_source.html">hs-helper.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;{</div><div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;    <span class="keywordtype">size_t</span> buf_size = 50;</div><div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;    <span class="keywordtype">size_t</span> size = <span class="keyword">sizeof</span> <a class="code" href="../../df/d66/hs-helper_8cpp.html#a0cd84b1a2184c9b84d1b7bf24582f28e">evlist</a> / <span class="keyword">sizeof</span> *<a class="code" href="../../df/d66/hs-helper_8cpp.html#a0cd84b1a2184c9b84d1b7bf24582f28e">evlist</a>;</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;    <span class="keywordtype">int</span> ret = -1;</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;    <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> i = 0 ; i &lt; size ; ++i)</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;    {</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;        <span class="keywordflow">if</span>(!strncmp(value, <a class="code" href="../../df/d66/hs-helper_8cpp.html#a0cd84b1a2184c9b84d1b7bf24582f28e">evlist</a>[i], buf_size))</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;        {</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;            ret = i;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;        }</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;    }</div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;}</div><div class="ttc" id="hs-helper_8cpp_html_a0cd84b1a2184c9b84d1b7bf24582f28e"><div class="ttname"><a href="../../df/d66/hs-helper_8cpp.html#a0cd84b1a2184c9b84d1b7bf24582f28e">evlist</a></div><div class="ttdeci">const char * evlist[]</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d66/hs-helper_8cpp_source.html#l00022">hs-helper.cpp:22</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<h2 class="groupheader">Variable Documentation</h2>
+<a class="anchor" id="a0cd84b1a2184c9b84d1b7bf24582f28e"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const char* evlist[]</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<b>Initial value:</b><div class="fragment"><div class="line">= {</div><div class="line">    <span class="stringliteral">&quot;tap_shortcut&quot;</span>,</div><div class="line">    <span class="stringliteral">&quot;on_screen_message&quot;</span>,</div><div class="line">    <span class="stringliteral">&quot;on_screen_reply&quot;</span>,</div><div class="line">    <span class="stringliteral">&quot;showWindow&quot;</span>,</div><div class="line">    <span class="stringliteral">&quot;hideWindow&quot;</span>,</div><div class="line">    <span class="stringliteral">&quot;replyShowWindow&quot;</span>,</div><div class="line">    <span class="stringliteral">&quot;showNotification&quot;</span>,</div><div class="line">    <span class="stringliteral">&quot;showInformation&quot;</span>,</div><div class="line">    <span class="stringliteral">&quot;reserved&quot;</span></div><div class="line">  }</div></div><!-- fragment -->
+<p>Definition at line <a class="el" href="../../df/d66/hs-helper_8cpp_source.html#l00022">22</a> of file <a class="el" href="../../df/d66/hs-helper_8cpp_source.html">hs-helper.cpp</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="../../doxygen.png" alt="doxygen"/>
+</a> 1.8.11
+</small></address>
+</body>
+</html>
diff --git a/doc/api-ref/html/df/d66/hs-helper_8cpp_source.html b/doc/api-ref/html/df/d66/hs-helper_8cpp_source.html
new file mode 100644 (file)
index 0000000..d0f5e2a
--- /dev/null
@@ -0,0 +1,113 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<title>HomeScreenBinding: src/hs-helper.cpp Source File</title>
+<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="../../jquery.js"></script>
+<script type="text/javascript" src="../../dynsections.js"></script>
+<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="../../search/searchdata.js"></script>
+<script type="text/javascript" src="../../search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">HomeScreenBinding
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="../../index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="../../annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="../../files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="../../search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="../../files.html"><span>File&#160;List</span></a></li>
+      <li><a href="../../globals.html"><span>File&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="../../dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">hs-helper.cpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="../../df/d66/hs-helper_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * Copyright (c) 2017 TOYOTA MOTOR CORPORATION</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> * Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * you may not use this file except in compliance with the License.</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * You may obtain a copy of the License at</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *      http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * limitations under the License.</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#include &lt;string.h&gt;</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#include &lt;cstdarg&gt;</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d3/d3d/hs-helper_8h.html">hs-helper.h</a>&quot;</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno"><a class="line" href="../../d3/d3d/hs-helper_8h.html#a0cd84b1a2184c9b84d1b7bf24582f28e">   22</a></span>&#160;<span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="../../df/d66/hs-helper_8cpp.html#a0cd84b1a2184c9b84d1b7bf24582f28e">evlist</a>[] = {</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    <span class="stringliteral">&quot;tap_shortcut&quot;</span>,</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    <span class="stringliteral">&quot;on_screen_message&quot;</span>,</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    <span class="stringliteral">&quot;on_screen_reply&quot;</span>,</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    <span class="stringliteral">&quot;showWindow&quot;</span>,</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    <span class="stringliteral">&quot;hideWindow&quot;</span>,</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;    <span class="stringliteral">&quot;replyShowWindow&quot;</span>,</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    <span class="stringliteral">&quot;showNotification&quot;</span>,</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;    <span class="stringliteral">&quot;showInformation&quot;</span>,</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;    <span class="stringliteral">&quot;reserved&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;  };</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="../../d3/d3d/hs-helper_8h.html#aba9ca63f68b1991f8650871f4eae8e0b">   46</a></span>&#160;<a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899">REQ_ERROR</a> <a class="code" href="../../df/d66/hs-helper_8cpp.html#aba9ca63f68b1991f8650871f4eae8e0b">get_value_uint16</a>(<span class="keyword">const</span> afb_req_t request, <span class="keyword">const</span> <span class="keywordtype">char</span> *source, uint16_t *out_id)</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;{</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    <span class="keywordtype">char</span>* endptr;</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* tmp = afb_req_value (request, source);</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;    <span class="keywordflow">if</span>(!tmp)</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;    {</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1">REQ_FAIL</a>;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;    }</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    <span class="keywordtype">long</span> tmp_id = strtol(tmp,&amp;endptr,10);</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    <span class="comment">/* error check of range */</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    <span class="keywordflow">if</span>( (tmp_id &gt; UINT16_MAX) || (tmp_id &lt; 0) )</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;    {</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b">OUT_RANGE</a>;</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;    }</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;    <span class="keywordflow">if</span>(*endptr != <span class="charliteral">&#39;\0&#39;</span>)</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;    {</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a">NOT_NUMBER</a>;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;    }</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    *out_id = (uint16_t)tmp_id;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee">REQ_OK</a>;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;}</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="../../d3/d3d/hs-helper_8h.html#af3043612cf74bb92cb073e10cacd594a">   82</a></span>&#160;<a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899">REQ_ERROR</a> <a class="code" href="../../df/d66/hs-helper_8cpp.html#af3043612cf74bb92cb073e10cacd594a">get_value_int16</a>(<span class="keyword">const</span> afb_req_t request, <span class="keyword">const</span> <span class="keywordtype">char</span> *source, int16_t *out_id)</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;{</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;    <span class="keywordtype">char</span>* endptr;</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* tmp = afb_req_value (request, source);</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;    <span class="keywordflow">if</span>(!tmp)</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;    {</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1">REQ_FAIL</a>;</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;    }</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;    <span class="keywordtype">long</span> tmp_id = strtol(tmp,&amp;endptr,10);</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;    <span class="comment">/* error check of range */</span></div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;    <span class="keywordflow">if</span>( (tmp_id &gt; INT16_MAX) || (tmp_id &lt; INT16_MIN) )</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;    {</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b">OUT_RANGE</a>;</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;    }</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;    <span class="keywordflow">if</span>(*endptr != <span class="charliteral">&#39;\0&#39;</span>)</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;    {</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a">NOT_NUMBER</a>;</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;    }</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;    *out_id = (int16_t)tmp_id;</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee">REQ_OK</a>;</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;}</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="../../d3/d3d/hs-helper_8h.html#a8121d965b6fd795c16b8576ab03dcaf1">  118</a></span>&#160;<a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899">REQ_ERROR</a> <a class="code" href="../../df/d66/hs-helper_8cpp.html#a8121d965b6fd795c16b8576ab03dcaf1">get_value_int32</a>(<span class="keyword">const</span> afb_req_t request, <span class="keyword">const</span> <span class="keywordtype">char</span> *source, int32_t *out_id)</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;{</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;    <span class="keywordtype">char</span>* endptr;</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* tmp = afb_req_value (request, source);</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;    <span class="keywordflow">if</span>(!tmp)</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;    {</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1">REQ_FAIL</a>;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;    }</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;    <span class="keywordtype">long</span> tmp_id = strtol(tmp,&amp;endptr,10);</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;    <span class="comment">/* error check of range */</span></div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;    <span class="keywordflow">if</span>( (tmp_id &gt; INT32_MAX) || (tmp_id &lt; INT32_MIN) )</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;    {</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b">OUT_RANGE</a>;</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;    }</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;    <span class="keywordflow">if</span>(*endptr != <span class="charliteral">&#39;\0&#39;</span>)</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;    {</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a">NOT_NUMBER</a>;</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;    }</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;    *out_id = (int32_t)tmp_id;</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee">REQ_OK</a>;</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;}</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;</div><div class="line"><a name="l00154"></a><span class="lineno"><a class="line" href="../../d3/d3d/hs-helper_8h.html#a1ba31a6a94515ff1730ba0043a67d59e">  154</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../df/d66/hs-helper_8cpp.html#a1ba31a6a94515ff1730ba0043a67d59e">hs_add_object_to_json_object</a>(<span class="keyword">struct</span> json_object* j_obj, <span class="keywordtype">int</span> count,...)</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;{</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;    va_list args;</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;    va_start(args, count);</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;    <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = 0; i &lt; count; ++i )</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;    {</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;        <span class="keywordtype">char</span> *key = va_arg(args, <span class="keywordtype">char</span>*);</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;        <span class="keywordtype">int</span> value = va_arg(args, <span class="keywordtype">int</span>);</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;        json_object_object_add(j_obj, key, json_object_new_int((int32_t)value));</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;        ++i;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;    }</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;    va_end(args);</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;}</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno"><a class="line" href="../../d3/d3d/hs-helper_8h.html#a8777c53f1d4d5412f19b134ad85ffedf">  180</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../df/d66/hs-helper_8cpp.html#a8777c53f1d4d5412f19b134ad85ffedf">hs_add_object_to_json_object_str</a>(<span class="keyword">struct</span> json_object* j_obj, <span class="keywordtype">int</span> count,...)</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;{</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;    va_list args;</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;    va_start(args, count);</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;    <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = 0; i &lt; count; ++i )</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;    {</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;        <span class="keywordtype">char</span> *key = va_arg(args, <span class="keywordtype">char</span>*);</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;        <span class="keywordtype">char</span> *value = va_arg(args, <span class="keywordtype">char</span>*);</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;        json_object_object_add(j_obj, key, json_object_new_string(value));</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;        ++i;</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;    }</div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;    va_end(args);</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;}</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;</div><div class="line"><a name="l00207"></a><span class="lineno"><a class="line" href="../../d3/d3d/hs-helper_8h.html#ae83604a37134e7bdee3ce4f10bb0b47a">  207</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../df/d66/hs-helper_8cpp.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs_add_object_to_json_object_func</a>(<span class="keyword">struct</span> json_object* j_obj, <span class="keyword">const</span> <span class="keywordtype">char</span>* verb_name, <span class="keywordtype">int</span> count, ...)</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;{</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;    va_list args;</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;    va_start(args, count);</div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;    json_object_object_add(j_obj,<span class="stringliteral">&quot;verb&quot;</span>, json_object_new_string(verb_name));</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;    <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = 0; i &lt; count; ++i )</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;    {</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;        <span class="keywordtype">char</span> *key = va_arg(args, <span class="keywordtype">char</span>*);</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;        <span class="keywordtype">int</span> value = va_arg(args, <span class="keywordtype">int</span>);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;        json_object_object_add(j_obj, key, json_object_new_int((int32_t)value));</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;        ++i;</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;    }</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;    va_end(args);</div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;}</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno"><a class="line" href="../../d3/d3d/hs-helper_8h.html#a2ff1b894941c3b461ca8119079c4146a">  234</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../df/d66/hs-helper_8cpp.html#a2ff1b894941c3b461ca8119079c4146a">hs_search_event_name_index</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* value)</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;{</div><div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;    <span class="keywordtype">size_t</span> buf_size = 50;</div><div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;    <span class="keywordtype">size_t</span> size = <span class="keyword">sizeof</span> <a class="code" href="../../df/d66/hs-helper_8cpp.html#a0cd84b1a2184c9b84d1b7bf24582f28e">evlist</a> / <span class="keyword">sizeof</span> *<a class="code" href="../../df/d66/hs-helper_8cpp.html#a0cd84b1a2184c9b84d1b7bf24582f28e">evlist</a>;</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;    <span class="keywordtype">int</span> ret = -1;</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;    <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> i = 0 ; i &lt; size ; ++i)</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;    {</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;        <span class="keywordflow">if</span>(!strncmp(value, <a class="code" href="../../df/d66/hs-helper_8cpp.html#a0cd84b1a2184c9b84d1b7bf24582f28e">evlist</a>[i], buf_size))</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;        {</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;            ret = i;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;        }</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;    }</div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;}</div><div class="ttc" id="hs-helper_8cpp_html_aba9ca63f68b1991f8650871f4eae8e0b"><div class="ttname"><a href="../../df/d66/hs-helper_8cpp.html#aba9ca63f68b1991f8650871f4eae8e0b">get_value_uint16</a></div><div class="ttdeci">REQ_ERROR get_value_uint16(const afb_req_t request, const char *source, uint16_t *out_id)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d66/hs-helper_8cpp_source.html#l00046">hs-helper.cpp:46</a></div></div>
+<div class="ttc" id="hs-helper_8h_html"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html">hs-helper.h</a></div></div>
+<div class="ttc" id="hs-helper_8cpp_html_af3043612cf74bb92cb073e10cacd594a"><div class="ttname"><a href="../../df/d66/hs-helper_8cpp.html#af3043612cf74bb92cb073e10cacd594a">get_value_int16</a></div><div class="ttdeci">REQ_ERROR get_value_int16(const afb_req_t request, const char *source, int16_t *out_id)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d66/hs-helper_8cpp_source.html#l00082">hs-helper.cpp:82</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1">REQ_FAIL</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00031">hs-helper.h:31</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b">OUT_RANGE</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00034">hs-helper.h:34</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a">NOT_NUMBER</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00033">hs-helper.h:33</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee">REQ_OK</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00032">hs-helper.h:32</a></div></div>
+<div class="ttc" id="hs-helper_8cpp_html_a8777c53f1d4d5412f19b134ad85ffedf"><div class="ttname"><a href="../../df/d66/hs-helper_8cpp.html#a8777c53f1d4d5412f19b134ad85ffedf">hs_add_object_to_json_object_str</a></div><div class="ttdeci">void hs_add_object_to_json_object_str(struct json_object *j_obj, int count,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d66/hs-helper_8cpp_source.html#l00180">hs-helper.cpp:180</a></div></div>
+<div class="ttc" id="hs-helper_8cpp_html_a1ba31a6a94515ff1730ba0043a67d59e"><div class="ttname"><a href="../../df/d66/hs-helper_8cpp.html#a1ba31a6a94515ff1730ba0043a67d59e">hs_add_object_to_json_object</a></div><div class="ttdeci">void hs_add_object_to_json_object(struct json_object *j_obj, int count,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d66/hs-helper_8cpp_source.html#l00154">hs-helper.cpp:154</a></div></div>
+<div class="ttc" id="hs-helper_8h_html_aa49f1dbbf26f01627a5737cf43aad899"><div class="ttname"><a href="../../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899">REQ_ERROR</a></div><div class="ttdeci">REQ_ERROR</div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d3d/hs-helper_8h_source.html#l00029">hs-helper.h:29</a></div></div>
+<div class="ttc" id="hs-helper_8cpp_html_a0cd84b1a2184c9b84d1b7bf24582f28e"><div class="ttname"><a href="../../df/d66/hs-helper_8cpp.html#a0cd84b1a2184c9b84d1b7bf24582f28e">evlist</a></div><div class="ttdeci">const char * evlist[]</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d66/hs-helper_8cpp_source.html#l00022">hs-helper.cpp:22</a></div></div>
+<div class="ttc" id="hs-helper_8cpp_html_ae83604a37134e7bdee3ce4f10bb0b47a"><div class="ttname"><a href="../../df/d66/hs-helper_8cpp.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs_add_object_to_json_object_func</a></div><div class="ttdeci">void hs_add_object_to_json_object_func(struct json_object *j_obj, const char *verb_name, int count,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d66/hs-helper_8cpp_source.html#l00207">hs-helper.cpp:207</a></div></div>
+<div class="ttc" id="hs-helper_8cpp_html_a8121d965b6fd795c16b8576ab03dcaf1"><div class="ttname"><a href="../../df/d66/hs-helper_8cpp.html#a8121d965b6fd795c16b8576ab03dcaf1">get_value_int32</a></div><div class="ttdeci">REQ_ERROR get_value_int32(const afb_req_t request, const char *source, int32_t *out_id)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d66/hs-helper_8cpp_source.html#l00118">hs-helper.cpp:118</a></div></div>
+<div class="ttc" id="hs-helper_8cpp_html_a2ff1b894941c3b461ca8119079c4146a"><div class="ttname"><a href="../../df/d66/hs-helper_8cpp.html#a2ff1b894941c3b461ca8119079c4146a">hs_search_event_name_index</a></div><div class="ttdeci">int hs_search_event_name_index(const char *value)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d66/hs-helper_8cpp_source.html#l00234">hs-helper.cpp:234</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="../../doxygen.png" alt="doxygen"/>
+</a> 1.8.11
+</small></address>
+</body>
+</html>
diff --git a/doc/api-ref/html/df/d76/hmi-debug_8h.html b/doc/api-ref/html/df/d76/hmi-debug_8h.html
deleted file mode 100644 (file)
index 3931c00..0000000
+++ /dev/null
@@ -1,435 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>HomeScreenBinding: include/hmi-debug.h File Reference</title>
-<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="../../jquery.js"></script>
-<script type="text/javascript" src="../../dynsections.js"></script>
-<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="../../search/searchdata.js"></script>
-<script type="text/javascript" src="../../search/search.js"></script>
-<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td id="projectalign" style="padding-left: 0.5em;">
-   <div id="projectname">HomeScreenBinding
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
-</script>
-<script type="text/javascript" src="../../menudata.js"></script>
-<script type="text/javascript" src="../../menu.js"></script>
-<script type="text/javascript">
-$(function() {
-  initMenu('../../',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-</script>
-<div id="main-nav"></div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-</div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="../../dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#define-members">Macros</a> &#124;
-<a href="#enum-members">Enumerations</a> &#124;
-<a href="#func-members">Functions</a> &#124;
-<a href="#var-members">Variables</a>  </div>
-  <div class="headertitle">
-<div class="title">hmi-debug.h File Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><code>#include &lt;time.h&gt;</code><br />
-<code>#include &lt;stdio.h&gt;</code><br />
-<code>#include &lt;afb/afb-binding.h&gt;</code><br />
-</div>
-<p><a href="../../df/d76/hmi-debug_8h_source.html">Go to the source code of this file.</a></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
-Macros</h2></td></tr>
-<tr class="memitem:a65bb6c7cfe38f8a724beab5059d36fb2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d76/hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a>(prefix,  args, ...)&#160;&#160;&#160;<a class="el" href="../../df/d76/hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a">_HMI_LOG</a>(<a class="el" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f">LOG_LEVEL_ERROR</a>, __FILE__, __FUNCTION__, __LINE__, prefix, args, ##__VA_ARGS__)</td></tr>
-<tr class="separator:a65bb6c7cfe38f8a724beab5059d36fb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a25361812432cd2480bc8f1a8e56ecbf7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d76/hmi-debug_8h.html#a25361812432cd2480bc8f1a8e56ecbf7">HMI_WARNING</a>(prefix,  args, ...)&#160;&#160;&#160;<a class="el" href="../../df/d76/hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a">_HMI_LOG</a>(<a class="el" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef">LOG_LEVEL_WARNING</a>, __FILE__, __FUNCTION__,__LINE__, prefix, args,##__VA_ARGS__)</td></tr>
-<tr class="separator:a25361812432cd2480bc8f1a8e56ecbf7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:abc0d6e0760017d8ae48b836925b2ef15"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d76/hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(prefix,  args, ...)&#160;&#160;&#160;<a class="el" href="../../df/d76/hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a">_HMI_LOG</a>(<a class="el" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e">LOG_LEVEL_NOTICE</a>, __FILE__, __FUNCTION__,__LINE__, prefix, args,##__VA_ARGS__)</td></tr>
-<tr class="separator:abc0d6e0760017d8ae48b836925b2ef15"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a11b249a67108f0f4c50a0fc8a3eb4f5c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d76/hmi-debug_8h.html#a11b249a67108f0f4c50a0fc8a3eb4f5c">HMI_INFO</a>(prefix,  args, ...)&#160;&#160;&#160;<a class="el" href="../../df/d76/hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a">_HMI_LOG</a>(<a class="el" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4">LOG_LEVEL_INFO</a>, __FILE__, __FUNCTION__,__LINE__, prefix, args,##__VA_ARGS__)</td></tr>
-<tr class="separator:a11b249a67108f0f4c50a0fc8a3eb4f5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0d26d8b8201011dade787236519711c0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d76/hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a>(prefix,  args, ...)&#160;&#160;&#160;<a class="el" href="../../df/d76/hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a">_HMI_LOG</a>(<a class="el" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177">LOG_LEVEL_DEBUG</a>, __FILE__, __FUNCTION__,__LINE__, prefix, args,##__VA_ARGS__)</td></tr>
-<tr class="separator:a0d26d8b8201011dade787236519711c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
-Enumerations</h2></td></tr>
-<tr class="memitem:aa5a9053636a30269210c54e734e0d583"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583">LOG_LEVEL</a> { <br />
-&#160;&#160;<a class="el" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848">LOG_LEVEL_NONE</a> = 0, 
-<a class="el" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f">LOG_LEVEL_ERROR</a>, 
-<a class="el" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef">LOG_LEVEL_WARNING</a>, 
-<a class="el" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e">LOG_LEVEL_NOTICE</a>, 
-<br />
-&#160;&#160;<a class="el" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4">LOG_LEVEL_INFO</a>, 
-<a class="el" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177">LOG_LEVEL_DEBUG</a>, 
-<a class="el" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444">LOG_LEVEL_MAX</a> = LOG_LEVEL_ERROR
-<br />
- }</td></tr>
-<tr class="separator:aa5a9053636a30269210c54e734e0d583"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:a0846b9d51e2e0612c4825a9a581aa40a"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d76/hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a">_HMI_LOG</a> (enum <a class="el" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583">LOG_LEVEL</a> level, const char *file, const char *func, const int line, const char *prefix, const char *log,...)</td></tr>
-<tr class="separator:a0846b9d51e2e0612c4825a9a581aa40a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
-Variables</h2></td></tr>
-<tr class="memitem:a13d4c7647aad2e84766f8b48a6caab09"><td class="memItemLeft" align="right" valign="top">static char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d76/hmi-debug_8h.html#a13d4c7647aad2e84766f8b48a6caab09">ERROR_FLAG</a> [6][20] = {&quot;NONE&quot;, &quot;ERROR&quot;, &quot;WARNING&quot;, &quot;NOTICE&quot;, &quot;INFO&quot;, &quot;DEBUG&quot;}</td></tr>
-<tr class="separator:a13d4c7647aad2e84766f8b48a6caab09"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<h2 class="groupheader">Macro Definition Documentation</h2>
-<a id="a0d26d8b8201011dade787236519711c0"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a0d26d8b8201011dade787236519711c0">&#9670;&nbsp;</a></span>HMI_DEBUG</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HMI_DEBUG</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">prefix, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">args, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname"><em>...</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td>&#160;&#160;&#160;<a class="el" href="../../df/d76/hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a">_HMI_LOG</a>(<a class="el" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177">LOG_LEVEL_DEBUG</a>, __FILE__, __FUNCTION__,__LINE__, prefix, args,##__VA_ARGS__)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p class="definition">Definition at line <a class="el" href="../../df/d76/hmi-debug_8h_source.html#l00022">22</a> of file <a class="el" href="../../df/d76/hmi-debug_8h_source.html">hmi-debug.h</a>.</p>
-
-</div>
-</div>
-<a id="a65bb6c7cfe38f8a724beab5059d36fb2"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a65bb6c7cfe38f8a724beab5059d36fb2">&#9670;&nbsp;</a></span>HMI_ERROR</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HMI_ERROR</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">prefix, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">args, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname"><em>...</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td>&#160;&#160;&#160;<a class="el" href="../../df/d76/hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a">_HMI_LOG</a>(<a class="el" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f">LOG_LEVEL_ERROR</a>, __FILE__, __FUNCTION__, __LINE__, prefix, args, ##__VA_ARGS__)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p class="definition">Definition at line <a class="el" href="../../df/d76/hmi-debug_8h_source.html#l00018">18</a> of file <a class="el" href="../../df/d76/hmi-debug_8h_source.html">hmi-debug.h</a>.</p>
-
-</div>
-</div>
-<a id="a11b249a67108f0f4c50a0fc8a3eb4f5c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a11b249a67108f0f4c50a0fc8a3eb4f5c">&#9670;&nbsp;</a></span>HMI_INFO</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HMI_INFO</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">prefix, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">args, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname"><em>...</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td>&#160;&#160;&#160;<a class="el" href="../../df/d76/hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a">_HMI_LOG</a>(<a class="el" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4">LOG_LEVEL_INFO</a>, __FILE__, __FUNCTION__,__LINE__, prefix, args,##__VA_ARGS__)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p class="definition">Definition at line <a class="el" href="../../df/d76/hmi-debug_8h_source.html#l00021">21</a> of file <a class="el" href="../../df/d76/hmi-debug_8h_source.html">hmi-debug.h</a>.</p>
-
-</div>
-</div>
-<a id="abc0d6e0760017d8ae48b836925b2ef15"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#abc0d6e0760017d8ae48b836925b2ef15">&#9670;&nbsp;</a></span>HMI_NOTICE</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HMI_NOTICE</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">prefix, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">args, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname"><em>...</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td>&#160;&#160;&#160;<a class="el" href="../../df/d76/hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a">_HMI_LOG</a>(<a class="el" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e">LOG_LEVEL_NOTICE</a>, __FILE__, __FUNCTION__,__LINE__, prefix, args,##__VA_ARGS__)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p class="definition">Definition at line <a class="el" href="../../df/d76/hmi-debug_8h_source.html#l00020">20</a> of file <a class="el" href="../../df/d76/hmi-debug_8h_source.html">hmi-debug.h</a>.</p>
-
-</div>
-</div>
-<a id="a25361812432cd2480bc8f1a8e56ecbf7"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a25361812432cd2480bc8f1a8e56ecbf7">&#9670;&nbsp;</a></span>HMI_WARNING</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HMI_WARNING</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">prefix, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">args, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname"><em>...</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td>&#160;&#160;&#160;<a class="el" href="../../df/d76/hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a">_HMI_LOG</a>(<a class="el" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef">LOG_LEVEL_WARNING</a>, __FILE__, __FUNCTION__,__LINE__, prefix, args,##__VA_ARGS__)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p class="definition">Definition at line <a class="el" href="../../df/d76/hmi-debug_8h_source.html#l00019">19</a> of file <a class="el" href="../../df/d76/hmi-debug_8h_source.html">hmi-debug.h</a>.</p>
-
-</div>
-</div>
-<h2 class="groupheader">Enumeration Type Documentation</h2>
-<a id="aa5a9053636a30269210c54e734e0d583"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa5a9053636a30269210c54e734e0d583">&#9670;&nbsp;</a></span>LOG_LEVEL</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">enum <a class="el" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583">LOG_LEVEL</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848"></a>LOG_LEVEL_NONE&#160;</td><td class="fielddoc"></td></tr>
-<tr><td class="fieldname"><a id="aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f"></a>LOG_LEVEL_ERROR&#160;</td><td class="fielddoc"></td></tr>
-<tr><td class="fieldname"><a id="aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef"></a>LOG_LEVEL_WARNING&#160;</td><td class="fielddoc"></td></tr>
-<tr><td class="fieldname"><a id="aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e"></a>LOG_LEVEL_NOTICE&#160;</td><td class="fielddoc"></td></tr>
-<tr><td class="fieldname"><a id="aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4"></a>LOG_LEVEL_INFO&#160;</td><td class="fielddoc"></td></tr>
-<tr><td class="fieldname"><a id="aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177"></a>LOG_LEVEL_DEBUG&#160;</td><td class="fielddoc"></td></tr>
-<tr><td class="fieldname"><a id="aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444"></a>LOG_LEVEL_MAX&#160;</td><td class="fielddoc"></td></tr>
-</table>
-
-<p class="definition">Definition at line <a class="el" href="../../df/d76/hmi-debug_8h_source.html#l00008">8</a> of file <a class="el" href="../../df/d76/hmi-debug_8h_source.html">hmi-debug.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;              {</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848">LOG_LEVEL_NONE</a> = 0,</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f">LOG_LEVEL_ERROR</a>,</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef">LOG_LEVEL_WARNING</a>,</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e">LOG_LEVEL_NOTICE</a>,</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4">LOG_LEVEL_INFO</a>,</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177">LOG_LEVEL_DEBUG</a>,</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <a class="code" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444">LOG_LEVEL_MAX</a> = <a class="code" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f">LOG_LEVEL_ERROR</a></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;};</div><div class="ttc" id="hmi-debug_8h_html_aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f"><div class="ttname"><a href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f">LOG_LEVEL_ERROR</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d76/hmi-debug_8h_source.html#l00010">hmi-debug.h:10</a></div></div>
-<div class="ttc" id="hmi-debug_8h_html_aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e"><div class="ttname"><a href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e">LOG_LEVEL_NOTICE</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d76/hmi-debug_8h_source.html#l00012">hmi-debug.h:12</a></div></div>
-<div class="ttc" id="hmi-debug_8h_html_aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177"><div class="ttname"><a href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177">LOG_LEVEL_DEBUG</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d76/hmi-debug_8h_source.html#l00014">hmi-debug.h:14</a></div></div>
-<div class="ttc" id="hmi-debug_8h_html_aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4"><div class="ttname"><a href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4">LOG_LEVEL_INFO</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d76/hmi-debug_8h_source.html#l00013">hmi-debug.h:13</a></div></div>
-<div class="ttc" id="hmi-debug_8h_html_aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444"><div class="ttname"><a href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444">LOG_LEVEL_MAX</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d76/hmi-debug_8h_source.html#l00015">hmi-debug.h:15</a></div></div>
-<div class="ttc" id="hmi-debug_8h_html_aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef"><div class="ttname"><a href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef">LOG_LEVEL_WARNING</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d76/hmi-debug_8h_source.html#l00011">hmi-debug.h:11</a></div></div>
-<div class="ttc" id="hmi-debug_8h_html_aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848"><div class="ttname"><a href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848">LOG_LEVEL_NONE</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d76/hmi-debug_8h_source.html#l00009">hmi-debug.h:9</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<h2 class="groupheader">Function Documentation</h2>
-<a id="a0846b9d51e2e0612c4825a9a581aa40a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a0846b9d51e2e0612c4825a9a581aa40a">&#9670;&nbsp;</a></span>_HMI_LOG()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static void _HMI_LOG </td>
-          <td>(</td>
-          <td class="paramtype">enum <a class="el" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583">LOG_LEVEL</a>&#160;</td>
-          <td class="paramname"><em>level</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&#160;</td>
-          <td class="paramname"><em>file</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&#160;</td>
-          <td class="paramname"><em>func</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const int&#160;</td>
-          <td class="paramname"><em>line</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&#160;</td>
-          <td class="paramname"><em>prefix</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&#160;</td>
-          <td class="paramname"><em>log</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname"><em>...</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p class="definition">Definition at line <a class="el" href="../../df/d76/hmi-debug_8h_source.html#l00026">26</a> of file <a class="el" href="../../df/d76/hmi-debug_8h_source.html">hmi-debug.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;{</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">int</span> log_level = (getenv(<span class="stringliteral">&quot;USE_HMI_DEBUG&quot;</span>) == NULL)?0:atoi(getenv(<span class="stringliteral">&quot;USE_HMI_DEBUG&quot;</span>));</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    <span class="keywordflow">if</span>(log_level &lt; level)</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;    {</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;        <span class="keywordflow">return</span>;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;    }</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;    <span class="keywordtype">char</span> *message;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;    <span class="keyword">struct </span>timespec tp;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> time;</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;    clock_gettime(CLOCK_REALTIME, &amp;tp);</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;    time = (tp.tv_sec * 1000000L) + (tp.tv_nsec / 1000);</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;    va_list args;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;    va_start(args, log);</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;    <span class="keywordflow">if</span> (log == NULL || vasprintf(&amp;message, log, args) &lt; 0)</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;        message = NULL;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;    fprintf(stderr,  <span class="stringliteral">&quot;[%10.3f] [%s %s] [%s:%d] &gt;&gt;&gt; %s \n&quot;</span>, time / 1000.0, prefix, <a class="code" href="../../df/d76/hmi-debug_8h.html#a13d4c7647aad2e84766f8b48a6caab09">ERROR_FLAG</a>[level], func, line, message);</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;    va_end(args);</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;    free(message);</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;}</div><div class="ttc" id="hmi-debug_8h_html_a13d4c7647aad2e84766f8b48a6caab09"><div class="ttname"><a href="../../df/d76/hmi-debug_8h.html#a13d4c7647aad2e84766f8b48a6caab09">ERROR_FLAG</a></div><div class="ttdeci">static char ERROR_FLAG[6][20]</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d76/hmi-debug_8h_source.html#l00024">hmi-debug.h:24</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<h2 class="groupheader">Variable Documentation</h2>
-<a id="a13d4c7647aad2e84766f8b48a6caab09"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a13d4c7647aad2e84766f8b48a6caab09">&#9670;&nbsp;</a></span>ERROR_FLAG</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">char ERROR_FLAG[6][20] = {&quot;NONE&quot;, &quot;ERROR&quot;, &quot;WARNING&quot;, &quot;NOTICE&quot;, &quot;INFO&quot;, &quot;DEBUG&quot;}</td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p class="definition">Definition at line <a class="el" href="../../df/d76/hmi-debug_8h_source.html#l00024">24</a> of file <a class="el" href="../../df/d76/hmi-debug_8h_source.html">hmi-debug.h</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="../../doxygen.png" alt="doxygen"/>
-</a> 1.8.13
-</small></address>
-</body>
-</html>
diff --git a/doc/api-ref/html/df/d76/hmi-debug_8h_source.html b/doc/api-ref/html/df/d76/hmi-debug_8h_source.html
deleted file mode 100644 (file)
index 80b0c61..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>HomeScreenBinding: include/hmi-debug.h Source File</title>
-<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="../../jquery.js"></script>
-<script type="text/javascript" src="../../dynsections.js"></script>
-<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="../../search/searchdata.js"></script>
-<script type="text/javascript" src="../../search/search.js"></script>
-<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td id="projectalign" style="padding-left: 0.5em;">
-   <div id="projectname">HomeScreenBinding
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
-</script>
-<script type="text/javascript" src="../../menudata.js"></script>
-<script type="text/javascript" src="../../menu.js"></script>
-<script type="text/javascript">
-$(function() {
-  initMenu('../../',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-</script>
-<div id="main-nav"></div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-</div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="../../dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="headertitle">
-<div class="title">hmi-debug.h</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="../../df/d76/hmi-debug_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#ifndef __HMI_DEBUG_H__</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="preprocessor">#define __HMI_DEBUG_H__</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="preprocessor">#include &lt;time.h&gt;</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="preprocessor">#include &lt;stdio.h&gt;</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="preprocessor">#include &lt;afb/afb-binding.h&gt;</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;</div><div class="line"><a name="l00008"></a><span class="lineno"><a class="line" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583">    8</a></span>&#160;<span class="keyword">enum</span> <a class="code" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583">LOG_LEVEL</a>{</div><div class="line"><a name="l00009"></a><span class="lineno"><a class="line" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848">    9</a></span>&#160;    <a class="code" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848">LOG_LEVEL_NONE</a> = 0,</div><div class="line"><a name="l00010"></a><span class="lineno"><a class="line" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f">   10</a></span>&#160;    <a class="code" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f">LOG_LEVEL_ERROR</a>,</div><div class="line"><a name="l00011"></a><span class="lineno"><a class="line" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef">   11</a></span>&#160;    <a class="code" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef">LOG_LEVEL_WARNING</a>,</div><div class="line"><a name="l00012"></a><span class="lineno"><a class="line" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e">   12</a></span>&#160;    <a class="code" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e">LOG_LEVEL_NOTICE</a>,</div><div class="line"><a name="l00013"></a><span class="lineno"><a class="line" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4">   13</a></span>&#160;    <a class="code" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4">LOG_LEVEL_INFO</a>,</div><div class="line"><a name="l00014"></a><span class="lineno"><a class="line" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177">   14</a></span>&#160;    <a class="code" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177">LOG_LEVEL_DEBUG</a>,</div><div class="line"><a name="l00015"></a><span class="lineno"><a class="line" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444">   15</a></span>&#160;    <a class="code" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444">LOG_LEVEL_MAX</a> = <a class="code" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f">LOG_LEVEL_ERROR</a></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;};</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;</div><div class="line"><a name="l00018"></a><span class="lineno"><a class="line" href="../../df/d76/hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">   18</a></span>&#160;<span class="preprocessor">#define HMI_ERROR(prefix, args,...) _HMI_LOG(LOG_LEVEL_ERROR, __FILE__, __FUNCTION__, __LINE__, prefix, args, ##__VA_ARGS__)</span></div><div class="line"><a name="l00019"></a><span class="lineno"><a class="line" href="../../df/d76/hmi-debug_8h.html#a25361812432cd2480bc8f1a8e56ecbf7">   19</a></span>&#160;<span class="preprocessor">#define HMI_WARNING(prefix, args,...) _HMI_LOG(LOG_LEVEL_WARNING, __FILE__, __FUNCTION__,__LINE__, prefix, args,##__VA_ARGS__)</span></div><div class="line"><a name="l00020"></a><span class="lineno"><a class="line" href="../../df/d76/hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">   20</a></span>&#160;<span class="preprocessor">#define HMI_NOTICE(prefix, args,...) _HMI_LOG(LOG_LEVEL_NOTICE, __FILE__, __FUNCTION__,__LINE__, prefix, args,##__VA_ARGS__)</span></div><div class="line"><a name="l00021"></a><span class="lineno"><a class="line" href="../../df/d76/hmi-debug_8h.html#a11b249a67108f0f4c50a0fc8a3eb4f5c">   21</a></span>&#160;<span class="preprocessor">#define HMI_INFO(prefix, args,...)  _HMI_LOG(LOG_LEVEL_INFO, __FILE__, __FUNCTION__,__LINE__, prefix, args,##__VA_ARGS__)</span></div><div class="line"><a name="l00022"></a><span class="lineno"><a class="line" href="../../df/d76/hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">   22</a></span>&#160;<span class="preprocessor">#define HMI_DEBUG(prefix, args,...) _HMI_LOG(LOG_LEVEL_DEBUG, __FILE__, __FUNCTION__,__LINE__, prefix, args,##__VA_ARGS__)</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno"><a class="line" href="../../df/d76/hmi-debug_8h.html#a13d4c7647aad2e84766f8b48a6caab09">   24</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">char</span> <a class="code" href="../../df/d76/hmi-debug_8h.html#a13d4c7647aad2e84766f8b48a6caab09">ERROR_FLAG</a>[6][20] = {<span class="stringliteral">&quot;NONE&quot;</span>, <span class="stringliteral">&quot;ERROR&quot;</span>, <span class="stringliteral">&quot;WARNING&quot;</span>, <span class="stringliteral">&quot;NOTICE&quot;</span>, <span class="stringliteral">&quot;INFO&quot;</span>, <span class="stringliteral">&quot;DEBUG&quot;</span>};</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno"><a class="line" href="../../df/d76/hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a">   26</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="../../df/d76/hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a">_HMI_LOG</a>(<span class="keyword">enum</span> <a class="code" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583">LOG_LEVEL</a> level, <span class="keyword">const</span> <span class="keywordtype">char</span>* file, <span class="keyword">const</span> <span class="keywordtype">char</span>* func, <span class="keyword">const</span> <span class="keywordtype">int</span> line, <span class="keyword">const</span> <span class="keywordtype">char</span>* prefix, <span class="keyword">const</span> <span class="keywordtype">char</span>* log, ...)</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;{</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">int</span> log_level = (getenv(<span class="stringliteral">&quot;USE_HMI_DEBUG&quot;</span>) == NULL)?0:atoi(getenv(<span class="stringliteral">&quot;USE_HMI_DEBUG&quot;</span>));</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    <span class="keywordflow">if</span>(log_level &lt; level)</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;    {</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;        <span class="keywordflow">return</span>;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;    }</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;    <span class="keywordtype">char</span> *message;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;    <span class="keyword">struct </span>timespec tp;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> time;</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;    clock_gettime(CLOCK_REALTIME, &amp;tp);</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;    time = (tp.tv_sec * 1000000L) + (tp.tv_nsec / 1000);</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;    va_list args;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;    va_start(args, log);</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;    <span class="keywordflow">if</span> (log == NULL || vasprintf(&amp;message, log, args) &lt; 0)</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;        message = NULL;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;    fprintf(stderr,  <span class="stringliteral">&quot;[%10.3f] [%s %s] [%s:%d] &gt;&gt;&gt; %s \n&quot;</span>, time / 1000.0, prefix, <a class="code" href="../../df/d76/hmi-debug_8h.html#a13d4c7647aad2e84766f8b48a6caab09">ERROR_FLAG</a>[level], func, line, message);</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;    va_end(args);</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;    free(message);</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;}</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#endif  //__HMI_DEBUG_H__</span></div><div class="ttc" id="hmi-debug_8h_html_aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f"><div class="ttname"><a href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f">LOG_LEVEL_ERROR</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d76/hmi-debug_8h_source.html#l00010">hmi-debug.h:10</a></div></div>
-<div class="ttc" id="hmi-debug_8h_html_aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e"><div class="ttname"><a href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e">LOG_LEVEL_NOTICE</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d76/hmi-debug_8h_source.html#l00012">hmi-debug.h:12</a></div></div>
-<div class="ttc" id="hmi-debug_8h_html_aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177"><div class="ttname"><a href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177">LOG_LEVEL_DEBUG</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d76/hmi-debug_8h_source.html#l00014">hmi-debug.h:14</a></div></div>
-<div class="ttc" id="hmi-debug_8h_html_aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4"><div class="ttname"><a href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4">LOG_LEVEL_INFO</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d76/hmi-debug_8h_source.html#l00013">hmi-debug.h:13</a></div></div>
-<div class="ttc" id="hmi-debug_8h_html_a13d4c7647aad2e84766f8b48a6caab09"><div class="ttname"><a href="../../df/d76/hmi-debug_8h.html#a13d4c7647aad2e84766f8b48a6caab09">ERROR_FLAG</a></div><div class="ttdeci">static char ERROR_FLAG[6][20]</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d76/hmi-debug_8h_source.html#l00024">hmi-debug.h:24</a></div></div>
-<div class="ttc" id="hmi-debug_8h_html_aa5a9053636a30269210c54e734e0d583"><div class="ttname"><a href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583">LOG_LEVEL</a></div><div class="ttdeci">LOG_LEVEL</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d76/hmi-debug_8h_source.html#l00008">hmi-debug.h:8</a></div></div>
-<div class="ttc" id="hmi-debug_8h_html_aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444"><div class="ttname"><a href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444">LOG_LEVEL_MAX</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d76/hmi-debug_8h_source.html#l00015">hmi-debug.h:15</a></div></div>
-<div class="ttc" id="hmi-debug_8h_html_aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef"><div class="ttname"><a href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef">LOG_LEVEL_WARNING</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d76/hmi-debug_8h_source.html#l00011">hmi-debug.h:11</a></div></div>
-<div class="ttc" id="hmi-debug_8h_html_a0846b9d51e2e0612c4825a9a581aa40a"><div class="ttname"><a href="../../df/d76/hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a">_HMI_LOG</a></div><div class="ttdeci">static void _HMI_LOG(enum LOG_LEVEL level, const char *file, const char *func, const int line, const char *prefix, const char *log,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d76/hmi-debug_8h_source.html#l00026">hmi-debug.h:26</a></div></div>
-<div class="ttc" id="hmi-debug_8h_html_aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848"><div class="ttname"><a href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848">LOG_LEVEL_NONE</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d76/hmi-debug_8h_source.html#l00009">hmi-debug.h:9</a></div></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="../../doxygen.png" alt="doxygen"/>
-</a> 1.8.13
-</small></address>
-</body>
-</html>
diff --git a/doc/api-ref/html/df/d7d/structevent.html b/doc/api-ref/html/df/d7d/structevent.html
deleted file mode 100644 (file)
index 2fcc0eb..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>HomeScreenBinding: event Struct Reference</title>
-<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="../../jquery.js"></script>
-<script type="text/javascript" src="../../dynsections.js"></script>
-<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="../../search/searchdata.js"></script>
-<script type="text/javascript" src="../../search/search.js"></script>
-<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td id="projectalign" style="padding-left: 0.5em;">
-   <div id="projectname">HomeScreenBinding
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
-</script>
-<script type="text/javascript" src="../../menudata.js"></script>
-<script type="text/javascript" src="../../menu.js"></script>
-<script type="text/javascript">
-$(function() {
-  initMenu('../../',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-</script>
-<div id="main-nav"></div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-</div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#pub-attribs">Public Attributes</a> &#124;
-<a href="../../dd/d86/structevent-members.html">List of all members</a>  </div>
-  <div class="headertitle">
-<div class="title">event Struct Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
-Public Attributes</h2></td></tr>
-<tr class="memitem:a45c6cfb7961a21a3366db067e4cc59ab"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d7d/structevent.html#a45c6cfb7961a21a3366db067e4cc59ab">name</a></td></tr>
-<tr class="separator:a45c6cfb7961a21a3366db067e4cc59ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a58726ebc551d36562ac3f9e1fe293214"><td class="memItemLeft" align="right" valign="top">struct afb_event *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d7d/structevent.html#a58726ebc551d36562ac3f9e1fe293214">event</a></td></tr>
-<tr class="separator:a58726ebc551d36562ac3f9e1fe293214"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock">
-<p class="definition">Definition at line <a class="el" href="../../d0/d1e/homescreen_8c_source.html#l00035">35</a> of file <a class="el" href="../../d0/d1e/homescreen_8c_source.html">homescreen.c</a>.</p>
-</div><h2 class="groupheader">Member Data Documentation</h2>
-<a id="a58726ebc551d36562ac3f9e1fe293214"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a58726ebc551d36562ac3f9e1fe293214">&#9670;&nbsp;</a></span>event</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">struct afb_event* event::event</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p class="definition">Definition at line <a class="el" href="../../d0/d1e/homescreen_8c_source.html#l00037">37</a> of file <a class="el" href="../../d0/d1e/homescreen_8c_source.html">homescreen.c</a>.</p>
-
-</div>
-</div>
-<a id="a45c6cfb7961a21a3366db067e4cc59ab"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a45c6cfb7961a21a3366db067e4cc59ab">&#9670;&nbsp;</a></span>name</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">const char* event::name</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p class="definition">Definition at line <a class="el" href="../../d0/d1e/homescreen_8c_source.html#l00036">36</a> of file <a class="el" href="../../d0/d1e/homescreen_8c_source.html">homescreen.c</a>.</p>
-
-</div>
-</div>
-<hr/>The documentation for this struct was generated from the following file:<ul>
-<li>src/<a class="el" href="../../d0/d1e/homescreen_8c_source.html">homescreen.c</a></li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="../../doxygen.png" alt="doxygen"/>
-</a> 1.8.13
-</small></address>
-</body>
-</html>
diff --git a/doc/api-ref/html/df/dac/test_8cpp.html b/doc/api-ref/html/df/dac/test_8cpp.html
deleted file mode 100644 (file)
index 00f9515..0000000
+++ /dev/null
@@ -1,334 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>HomeScreenBinding: libhomescreen/test.cpp File Reference</title>
-<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="../../jquery.js"></script>
-<script type="text/javascript" src="../../dynsections.js"></script>
-<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="../../search/searchdata.js"></script>
-<script type="text/javascript" src="../../search/search.js"></script>
-<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td id="projectalign" style="padding-left: 0.5em;">
-   <div id="projectname">HomeScreenBinding
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
-</script>
-<script type="text/javascript" src="../../menudata.js"></script>
-<script type="text/javascript" src="../../menu.js"></script>
-<script type="text/javascript">
-$(function() {
-  initMenu('../../',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-</script>
-<div id="main-nav"></div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-</div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="../../dir_65f76d62445e9e84c0450b12bf77c3bc.html">libhomescreen</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#func-members">Functions</a> &#124;
-<a href="#var-members">Variables</a>  </div>
-  <div class="headertitle">
-<div class="title">test.cpp File Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><code>#include &lt;<a class="el" href="../../df/d43/libhomescreen_8hpp_source.html">libhomescreen.hpp</a>&gt;</code><br />
-<code>#include &lt;iostream&gt;</code><br />
-<code>#include &lt;glib-2.0/glib.h&gt;</code><br />
-<code>#include &lt;fcntl.h&gt;</code><br />
-<code>#include &lt;string&gt;</code><br />
-<code>#include &lt;sys/types.h&gt;</code><br />
-<code>#include &lt;sys/stat.h&gt;</code><br />
-<code>#include &lt;thread&gt;</code><br />
-<code>#include &lt;exception&gt;</code><br />
-<code>#include &lt;vector&gt;</code><br />
-<code>#include &lt;sstream&gt;</code><br />
-<code>#include &lt;functional&gt;</code><br />
-</div>
-<p><a href="../../df/dac/test_8cpp_source.html">Go to the source code of this file.</a></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:aafb7f182b8bb6ba92354dde1658d86a4"><td class="memItemLeft" align="right" valign="top">static vector&lt; string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dac/test_8cpp.html#aafb7f182b8bb6ba92354dde1658d86a4">split</a> (const string &amp;str, char sep)</td></tr>
-<tr class="separator:aafb7f182b8bb6ba92354dde1658d86a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a64a6014565bb3e03294ec4a952d5add0"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dac/test_8cpp.html#a64a6014565bb3e03294ec4a952d5add0">usage</a> ()</td></tr>
-<tr class="separator:a64a6014565bb3e03294ec4a952d5add0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa9b3c43c212b49edee82ac30a11aa255"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dac/test_8cpp.html#aa9b3c43c212b49edee82ac30a11aa255">call_test</a> ()</td></tr>
-<tr class="separator:aa9b3c43c212b49edee82ac30a11aa255"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6d3cb4886e7afd45bd56b49800da932d"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dac/test_8cpp.html#a6d3cb4886e7afd45bd56b49800da932d">onRep</a> (struct json_object *reply_contents)</td></tr>
-<tr class="separator:a6d3cb4886e7afd45bd56b49800da932d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6a2874c419fe5936fcccadc7e6cf268e"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dac/test_8cpp.html#a6a2874c419fe5936fcccadc7e6cf268e">onEv</a> (const string &amp;<a class="el" href="../../df/d7d/structevent.html">event</a>, struct json_object *event_contents)</td></tr>
-<tr class="separator:a6a2874c419fe5936fcccadc7e6cf268e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3c04138a5bfe5d72780bb7e82a18e627"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dac/test_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">main</a> (int argc, char **argv)</td></tr>
-<tr class="separator:a3c04138a5bfe5d72780bb7e82a18e627"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
-Variables</h2></td></tr>
-<tr class="memitem:a529acbd1fed9d98a587edfa62309fa8d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dac/test_8cpp.html#a529acbd1fed9d98a587edfa62309fa8d">hs</a></td></tr>
-<tr class="separator:a529acbd1fed9d98a587edfa62309fa8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<h2 class="groupheader">Function Documentation</h2>
-<a id="aa9b3c43c212b49edee82ac30a11aa255"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa9b3c43c212b49edee82ac30a11aa255">&#9670;&nbsp;</a></span>call_test()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static void call_test </td>
-          <td>(</td>
-          <td class="paramname"></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p class="definition">Definition at line <a class="el" href="../../df/dac/test_8cpp_source.html#l00051">51</a> of file <a class="el" href="../../df/dac/test_8cpp_source.html">test.cpp</a>.</p>
-<div class="fragment"><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;{</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;    <span class="keywordtype">string</span> command;</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;    cout &lt;&lt; <span class="stringliteral">&quot;input verb and argments&quot;</span> &lt;&lt; endl;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    <span class="comment">/* read the buffer */</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;    <span class="keywordflow">for</span>(;;){</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;        <span class="keywordtype">char</span> line[1023];</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;        cin.getline(line, <span class="keyword">sizeof</span>(line));</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;        command = line;</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;        <span class="keywordflow">if</span>(command.empty()){</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;            <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;        }</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;        vector&lt;string&gt; v_command = <a class="code" href="../../df/dac/test_8cpp.html#aafb7f182b8bb6ba92354dde1658d86a4">split</a>(command, <span class="charliteral">&#39; &#39;</span>);</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;        <span class="comment">/*for(auto itr = v_command.begin(); itr != v_command.end(); ++itr)</span></div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="comment">        {</span></div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="comment">            cout &lt;&lt; *itr &lt;&lt;endl;</span></div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="comment">        }*/</span></div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;        <span class="keywordtype">size_t</span> num = v_command.size();</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;        <span class="keywordflow">if</span>(num % 2 == 0){</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;            cout &lt;&lt; <span class="stringliteral">&quot;If command contains args, please input &lt;key,value&gt; in argument part&quot;</span> &lt;&lt; endl;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;            <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;        }</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;        <span class="comment">/* create json object */</span></div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;        <span class="keyword">struct </span>json_object* j_obj = json_object_new_object();</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;        <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = 1;i &lt; (v_command.size()) ;++i){</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;            <span class="keyword">struct </span>json_object* val     = json_object_new_string(v_command[i+1].c_str());</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;            json_object_object_add(j_obj, v_command[i].c_str(), val);</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;            ++i;</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;        }</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;        <span class="comment">/* call verb via LibHomeScreen */</span></div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;        <a class="code" href="../../df/dac/test_8cpp.html#a529acbd1fed9d98a587edfa62309fa8d">hs</a>-&gt;<a class="code" href="../../de/dd0/class_lib_home_screen.html#a527b49dcfe581be6275d0eb2236ba37f">call</a>(v_command[0], j_obj);</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;        <span class="comment">/* free vector */</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;        vector&lt;string&gt;().swap(v_command);</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;        string().swap(command);</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;    }</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;}</div><div class="ttc" id="test_8cpp_html_aafb7f182b8bb6ba92354dde1658d86a4"><div class="ttname"><a href="../../df/dac/test_8cpp.html#aafb7f182b8bb6ba92354dde1658d86a4">split</a></div><div class="ttdeci">static vector&lt; string &gt; split(const string &amp;str, char sep)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dac/test_8cpp_source.html#l00105">test.cpp:105</a></div></div>
-<div class="ttc" id="test_8cpp_html_a529acbd1fed9d98a587edfa62309fa8d"><div class="ttname"><a href="../../df/dac/test_8cpp.html#a529acbd1fed9d98a587edfa62309fa8d">hs</a></div><div class="ttdeci">LibHomeScreen * hs</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dac/test_8cpp_source.html#l00033">test.cpp:33</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html_a527b49dcfe581be6275d0eb2236ba37f"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a527b49dcfe581be6275d0eb2236ba37f">LibHomeScreen::call</a></div><div class="ttdeci">int call(const std::string &amp;verb, struct json_object *arg)</div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a id="a3c04138a5bfe5d72780bb7e82a18e627"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3c04138a5bfe5d72780bb7e82a18e627">&#9670;&nbsp;</a></span>main()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int main </td>
-          <td>(</td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>argc</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">char **&#160;</td>
-          <td class="paramname"><em>argv</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p class="definition">Definition at line <a class="el" href="../../df/dac/test_8cpp_source.html#l00117">117</a> of file <a class="el" href="../../df/dac/test_8cpp_source.html">test.cpp</a>.</p>
-<div class="fragment"><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;{</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;    <span class="keywordtype">int</span> ret;</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;    <span class="keywordflow">if</span>(argc == 1)</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;    {</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;        printf(<span class="stringliteral">&quot;Please input port num in first argument, and token in second argument&quot;</span>);</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;        <a class="code" href="../../df/dac/test_8cpp.html#a64a6014565bb3e03294ec4a952d5add0">usage</a>();</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;        <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;    }</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;    <span class="keywordflow">if</span>(argc == 2)</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;    {</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;        <span class="keywordtype">string</span> av(argv[1]);</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;        <span class="keywordflow">if</span>( (av == <span class="stringliteral">&quot;-h&quot;</span>) || (av == <span class="stringliteral">&quot;--help&quot;</span>))</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;        {</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;            <a class="code" href="../../df/dac/test_8cpp.html#a64a6014565bb3e03294ec4a952d5add0">usage</a>();</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;            <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;        }</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;    }</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;    <span class="keywordtype">string</span> port_string(argv[1]);</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;    <span class="keywordtype">string</span> token(argv[2]);</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;    <span class="keywordtype">char</span>* endptr;</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;    <span class="keywordtype">long</span> port = strtol(port_string.c_str(),&amp;endptr,10);</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;    <span class="comment">/* error check of range */</span></div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;    <span class="keywordflow">if</span>( (port &gt; 20000) || (port &lt; 0) )</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;    {</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;        printf(<span class="stringliteral">&quot;input under 20000(temporary number)&quot;</span>);</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;        <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;    }</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;    <span class="keywordflow">if</span>(*endptr != <span class="charliteral">&#39;\0&#39;</span>)</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;    {</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;        printf(<span class="stringliteral">&quot;not number&quot;</span>);</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;        <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;    }</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;  cout &lt;&lt; <span class="stringliteral">&quot;Call test for LibHomeScreen&quot;</span> &lt;&lt; endl;</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;    <a class="code" href="../../df/dac/test_8cpp.html#a529acbd1fed9d98a587edfa62309fa8d">hs</a> = <span class="keyword">new</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a>();</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;  <a class="code" href="../../df/dac/test_8cpp.html#a529acbd1fed9d98a587edfa62309fa8d">hs</a>-&gt;<a class="code" href="../../de/dd0/class_lib_home_screen.html#a6a57b573cc767725762ba9beab032220">init</a>(port, token);</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;    <span class="comment">// hs-&gt;registerCallback(&amp;onEv, &amp;onRep);</span></div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;  <span class="comment">//</span></div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;  <span class="comment">// hs-&gt;subscribe(event_list[0]); // tap_shortcut event subscribe</span></div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;  <span class="comment">// hs-&gt;subscribe(event_list[1]);</span></div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;  <a class="code" href="../../df/dac/test_8cpp.html#a529acbd1fed9d98a587edfa62309fa8d">hs</a>-&gt;<a class="code" href="../../de/dd0/class_lib_home_screen.html#ab1b0e08bf35415de9064afed899e9f85">set_event_handler</a>(<a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f">LibHomeScreen::Event_TapShortcut</a>, [](json_object *<span class="keywordtype">object</span>){</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> *application_name = json_object_get_string(</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;        json_object_object_get(<span class="keywordtype">object</span>, <span class="stringliteral">&quot;application_name&quot;</span>));</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;    cout &lt;&lt; <span class="stringliteral">&quot;set_event_handler Event_TapShortcut application_name = &quot;</span> &lt;&lt; application_name &lt;&lt; endl;</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;  });</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;  <a class="code" href="../../df/dac/test_8cpp.html#a529acbd1fed9d98a587edfa62309fa8d">hs</a>-&gt;<a class="code" href="../../de/dd0/class_lib_home_screen.html#ab1b0e08bf35415de9064afed899e9f85">set_event_handler</a>(<a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d">LibHomeScreen::Event_OnScreenMessage</a>, [](json_object *<span class="keywordtype">object</span>){</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> *display_message = json_object_get_string(</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;        json_object_object_get(<span class="keywordtype">object</span>, <span class="stringliteral">&quot;display_message&quot;</span>));</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;    cout &lt;&lt; <span class="stringliteral">&quot;set_event_handler Event_OnScreenMessage display_message = &quot;</span> &lt;&lt; display_message &lt;&lt; endl;</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;  });</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;  <a class="code" href="../../df/dac/test_8cpp.html#a529acbd1fed9d98a587edfa62309fa8d">hs</a>-&gt;<a class="code" href="../../de/dd0/class_lib_home_screen.html#ab1b0e08bf35415de9064afed899e9f85">set_event_handler</a>(<a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd">LibHomeScreen::Event_OnScreenReply</a>, [](json_object *<span class="keywordtype">object</span>){</div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> *reply_message = json_object_get_string(</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;        json_object_object_get(<span class="keywordtype">object</span>, <span class="stringliteral">&quot;reply_message&quot;</span>));</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;    cout &lt;&lt; <span class="stringliteral">&quot;set_event_handler Event_OnScreenReply reply_message = &quot;</span> &lt;&lt; reply_message &lt;&lt; endl;</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;  });</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;    <span class="keywordflow">if</span> (ret &lt; 0) {</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;        printf(<span class="stringliteral">&quot;failed to create event loop&quot;</span>);</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;        <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;    }</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;    <a class="code" href="../../df/dac/test_8cpp.html#aa9b3c43c212b49edee82ac30a11aa255">call_test</a>();</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;}</div><div class="ttc" id="test_8cpp_html_a64a6014565bb3e03294ec4a952d5add0"><div class="ttname"><a href="../../df/dac/test_8cpp.html#a64a6014565bb3e03294ec4a952d5add0">usage</a></div><div class="ttdeci">static void usage()</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dac/test_8cpp_source.html#l00035">test.cpp:35</a></div></div>
-<div class="ttc" id="test_8cpp_html_a529acbd1fed9d98a587edfa62309fa8d"><div class="ttname"><a href="../../df/dac/test_8cpp.html#a529acbd1fed9d98a587edfa62309fa8d">hs</a></div><div class="ttdeci">LibHomeScreen * hs</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dac/test_8cpp_source.html#l00033">test.cpp:33</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html_a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d">LibHomeScreen::Event_OnScreenMessage</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00046">libhomescreen.hpp:46</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html_a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd">LibHomeScreen::Event_OnScreenReply</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00047">libhomescreen.hpp:47</a></div></div>
-<div class="ttc" id="test_8cpp_html_aa9b3c43c212b49edee82ac30a11aa255"><div class="ttname"><a href="../../df/dac/test_8cpp.html#aa9b3c43c212b49edee82ac30a11aa255">call_test</a></div><div class="ttdeci">static void call_test()</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dac/test_8cpp_source.html#l00051">test.cpp:51</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html_a6a57b573cc767725762ba9beab032220"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a6a57b573cc767725762ba9beab032220">LibHomeScreen::init</a></div><div class="ttdeci">int init(const int port, const std::string &amp;token)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00116">libhomescreen.cpp:116</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00032">libhomescreen.hpp:32</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html_ab1b0e08bf35415de9064afed899e9f85"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#ab1b0e08bf35415de9064afed899e9f85">LibHomeScreen::set_event_handler</a></div><div class="ttdeci">void set_event_handler(enum EventType et, handler_func f)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00293">libhomescreen.cpp:293</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html_a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f">LibHomeScreen::Event_TapShortcut</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00045">libhomescreen.hpp:45</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a id="a6a2874c419fe5936fcccadc7e6cf268e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6a2874c419fe5936fcccadc7e6cf268e">&#9670;&nbsp;</a></span>onEv()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static void onEv </td>
-          <td>(</td>
-          <td class="paramtype">const string &amp;&#160;</td>
-          <td class="paramname"><em>event</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">struct json_object *&#160;</td>
-          <td class="paramname"><em>event_contents</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p class="definition">Definition at line <a class="el" href="../../df/dac/test_8cpp_source.html#l00098">98</a> of file <a class="el" href="../../df/dac/test_8cpp_source.html">test.cpp</a>.</p>
-<div class="fragment"><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;{</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* str = json_object_to_json_string(event_contents);</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;    cout &lt;&lt; <span class="stringliteral">&quot;test.cpp [CB onEvent]: event:  &quot;</span> &lt;&lt; <span class="keyword">event</span>.c_str() &lt;&lt; <span class="stringliteral">&quot;  contents: &quot;</span> &lt;&lt; str &lt;&lt; endl;</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;    <span class="comment">//json_object_put(event_contents); do not release!!!</span></div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;}</div></div><!-- fragment -->
-</div>
-</div>
-<a id="a6d3cb4886e7afd45bd56b49800da932d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6d3cb4886e7afd45bd56b49800da932d">&#9670;&nbsp;</a></span>onRep()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static void onRep </td>
-          <td>(</td>
-          <td class="paramtype">struct json_object *&#160;</td>
-          <td class="paramname"><em>reply_contents</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p class="definition">Definition at line <a class="el" href="../../df/dac/test_8cpp_source.html#l00091">91</a> of file <a class="el" href="../../df/dac/test_8cpp_source.html">test.cpp</a>.</p>
-<div class="fragment"><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;{</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* str = json_object_to_json_string(reply_contents);</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;    cout &lt;&lt; <span class="stringliteral">&quot;test.cpp [CB onRep]: &quot;</span> &lt;&lt; str &lt;&lt; endl;</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;    <span class="comment">//json_object_put(reply_contents); do not release!!!</span></div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;}</div></div><!-- fragment -->
-</div>
-</div>
-<a id="aafb7f182b8bb6ba92354dde1658d86a4"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aafb7f182b8bb6ba92354dde1658d86a4">&#9670;&nbsp;</a></span>split()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static vector&lt; string &gt; split </td>
-          <td>(</td>
-          <td class="paramtype">const string &amp;&#160;</td>
-          <td class="paramname"><em>str</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">char&#160;</td>
-          <td class="paramname"><em>sep</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p class="definition">Definition at line <a class="el" href="../../df/dac/test_8cpp_source.html#l00105">105</a> of file <a class="el" href="../../df/dac/test_8cpp_source.html">test.cpp</a>.</p>
-<div class="fragment"><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;{</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;    vector&lt;string&gt; v;</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;    stringstream ss(str);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;    <span class="keywordtype">string</span> buffer;</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;    <span class="keywordflow">while</span>( getline(ss, buffer, sep) ) {</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;        <span class="keywordflow">if</span>(!buffer.empty())</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;            v.push_back(buffer);</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;    }</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;    <span class="keywordflow">return</span> v;</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;}</div></div><!-- fragment -->
-</div>
-</div>
-<a id="a64a6014565bb3e03294ec4a952d5add0"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a64a6014565bb3e03294ec4a952d5add0">&#9670;&nbsp;</a></span>usage()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static void usage </td>
-          <td>(</td>
-          <td class="paramname"></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p class="definition">Definition at line <a class="el" href="../../df/dac/test_8cpp_source.html#l00035">35</a> of file <a class="el" href="../../df/dac/test_8cpp_source.html">test.cpp</a>.</p>
-<div class="fragment"><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;{</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;    cout &lt;&lt; <span class="stringliteral">&quot;verb &quot;</span>&lt;&lt; <span class="stringliteral">&quot;key:arg&quot;</span> &lt;&lt; endl;</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;    cout &lt;&lt; <span class="stringliteral">&quot;example:&quot;</span> &lt;&lt; endl;</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;    cout &lt;&lt; <span class="stringliteral">&quot;ping&quot;</span> &lt;&lt; endl;</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;    cout &lt;&lt; <span class="stringliteral">&quot;------- -------- --- &quot;</span> &lt;&lt; endl;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;    cout &lt;&lt; <span class="stringliteral">&quot;  verb    key    value&quot;</span> &lt;&lt; endl;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;    cout &lt;&lt; <span class="stringliteral">&quot;verb list:&quot;</span> &lt;&lt; endl;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;    <span class="keywordflow">for</span>(<span class="keyword">auto</span> itr = <a class="code" href="../../de/dd0/class_lib_home_screen.html#a5593ff5ac78f6495ccb649904cf0ab08">LibHomeScreen::api_list</a>.begin(); itr != <a class="code" href="../../de/dd0/class_lib_home_screen.html#a5593ff5ac78f6495ccb649904cf0ab08">LibHomeScreen::api_list</a>.end(); ++itr)</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;    {</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;        cout &lt;&lt; <span class="stringliteral">&quot;  &quot;</span> &lt;&lt; *itr &lt;&lt; endl;</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;    }</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;    <span class="comment">// Todo output api list</span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    exit(0);</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;}</div><div class="ttc" id="class_lib_home_screen_html_a5593ff5ac78f6495ccb649904cf0ab08"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a5593ff5ac78f6495ccb649904cf0ab08">LibHomeScreen::api_list</a></div><div class="ttdeci">static const std::vector&lt; std::string &gt; api_list</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00050">libhomescreen.hpp:50</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<h2 class="groupheader">Variable Documentation</h2>
-<a id="a529acbd1fed9d98a587edfa62309fa8d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a529acbd1fed9d98a587edfa62309fa8d">&#9670;&nbsp;</a></span>hs</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a>* hs</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p class="definition">Definition at line <a class="el" href="../../df/dac/test_8cpp_source.html#l00033">33</a> of file <a class="el" href="../../df/dac/test_8cpp_source.html">test.cpp</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="../../doxygen.png" alt="doxygen"/>
-</a> 1.8.13
-</small></address>
-</body>
-</html>
diff --git a/doc/api-ref/html/df/dac/test_8cpp_source.html b/doc/api-ref/html/df/dac/test_8cpp_source.html
deleted file mode 100644 (file)
index 2a5c650..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>HomeScreenBinding: libhomescreen/test.cpp Source File</title>
-<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="../../jquery.js"></script>
-<script type="text/javascript" src="../../dynsections.js"></script>
-<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="../../search/searchdata.js"></script>
-<script type="text/javascript" src="../../search/search.js"></script>
-<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td id="projectalign" style="padding-left: 0.5em;">
-   <div id="projectname">HomeScreenBinding
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
-</script>
-<script type="text/javascript" src="../../menudata.js"></script>
-<script type="text/javascript" src="../../menu.js"></script>
-<script type="text/javascript">
-$(function() {
-  initMenu('../../',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-</script>
-<div id="main-nav"></div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-</div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="../../dir_65f76d62445e9e84c0450b12bf77c3bc.html">libhomescreen</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="headertitle">
-<div class="title">test.cpp</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="../../df/dac/test_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * Copyright (c) 2017 TOYOTA MOTOR CORPORATION</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> * Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * you may not use this file except in compliance with the License.</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * You may obtain a copy of the License at</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *      http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * limitations under the License.</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="../../df/d43/libhomescreen_8hpp.html">libhomescreen.hpp</a>&gt;</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#include &lt;iostream&gt;</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#include &lt;glib-2.0/glib.h&gt;</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;fcntl.h&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;sys/types.h&gt;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;sys/stat.h&gt;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;thread&gt;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &lt;exception&gt;</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;sstream&gt;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &lt;functional&gt;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="keyword">using namespace </span><a class="code" href="../../d8/dcc/namespacestd.html">std</a>;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="keyword">static</span> vector&lt;string&gt; <a class="code" href="../../df/dac/test_8cpp.html#aafb7f182b8bb6ba92354dde1658d86a4">split</a>(<span class="keyword">const</span> <span class="keywordtype">string</span>&amp; str, <span class="keywordtype">char</span> sep);</div><div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="../../df/dac/test_8cpp.html#a529acbd1fed9d98a587edfa62309fa8d">   33</a></span>&#160;<a class="code" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a>* <a class="code" href="../../df/dac/test_8cpp.html#a529acbd1fed9d98a587edfa62309fa8d">hs</a>;</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="../../df/dac/test_8cpp.html#a64a6014565bb3e03294ec4a952d5add0">   35</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="../../df/dac/test_8cpp.html#a64a6014565bb3e03294ec4a952d5add0">usage</a>()</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;{</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;    cout &lt;&lt; <span class="stringliteral">&quot;verb &quot;</span>&lt;&lt; <span class="stringliteral">&quot;key:arg&quot;</span> &lt;&lt; endl;</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;    cout &lt;&lt; <span class="stringliteral">&quot;example:&quot;</span> &lt;&lt; endl;</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;    cout &lt;&lt; <span class="stringliteral">&quot;ping&quot;</span> &lt;&lt; endl;</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;    cout &lt;&lt; <span class="stringliteral">&quot;------- -------- --- &quot;</span> &lt;&lt; endl;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;    cout &lt;&lt; <span class="stringliteral">&quot;  verb    key    value&quot;</span> &lt;&lt; endl;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;    cout &lt;&lt; <span class="stringliteral">&quot;verb list:&quot;</span> &lt;&lt; endl;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;    <span class="keywordflow">for</span>(<span class="keyword">auto</span> itr = <a class="code" href="../../de/dd0/class_lib_home_screen.html#a5593ff5ac78f6495ccb649904cf0ab08">LibHomeScreen::api_list</a>.begin(); itr != <a class="code" href="../../de/dd0/class_lib_home_screen.html#a5593ff5ac78f6495ccb649904cf0ab08">LibHomeScreen::api_list</a>.end(); ++itr)</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;    {</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;        cout &lt;&lt; <span class="stringliteral">&quot;  &quot;</span> &lt;&lt; *itr &lt;&lt; endl;</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;    }</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;    <span class="comment">// Todo output api list</span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    exit(0);</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;}</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;</div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="../../df/dac/test_8cpp.html#aa9b3c43c212b49edee82ac30a11aa255">   51</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="../../df/dac/test_8cpp.html#aa9b3c43c212b49edee82ac30a11aa255">call_test</a>()</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;{</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;    <span class="keywordtype">string</span> command;</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;    cout &lt;&lt; <span class="stringliteral">&quot;input verb and argments&quot;</span> &lt;&lt; endl;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    <span class="comment">/* read the buffer */</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;    <span class="keywordflow">for</span>(;;){</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;        <span class="keywordtype">char</span> line[1023];</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;        cin.getline(line, <span class="keyword">sizeof</span>(line));</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;        command = line;</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;        <span class="keywordflow">if</span>(command.empty()){</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;            <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;        }</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;        vector&lt;string&gt; v_command = <a class="code" href="../../df/dac/test_8cpp.html#aafb7f182b8bb6ba92354dde1658d86a4">split</a>(command, <span class="charliteral">&#39; &#39;</span>);</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;        <span class="comment">/*for(auto itr = v_command.begin(); itr != v_command.end(); ++itr)</span></div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="comment">        {</span></div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="comment">            cout &lt;&lt; *itr &lt;&lt;endl;</span></div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="comment">        }*/</span></div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;        <span class="keywordtype">size_t</span> num = v_command.size();</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;        <span class="keywordflow">if</span>(num % 2 == 0){</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;            cout &lt;&lt; <span class="stringliteral">&quot;If command contains args, please input &lt;key,value&gt; in argument part&quot;</span> &lt;&lt; endl;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;            <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;        }</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;        <span class="comment">/* create json object */</span></div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;        <span class="keyword">struct </span>json_object* j_obj = json_object_new_object();</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;        <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = 1;i &lt; (v_command.size()) ;++i){</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;            <span class="keyword">struct </span>json_object* val     = json_object_new_string(v_command[i+1].c_str());</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;            json_object_object_add(j_obj, v_command[i].c_str(), val);</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;            ++i;</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;        }</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;        <span class="comment">/* call verb via LibHomeScreen */</span></div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;        hs-&gt;<a class="code" href="../../de/dd0/class_lib_home_screen.html#a527b49dcfe581be6275d0eb2236ba37f">call</a>(v_command[0], j_obj);</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;        <span class="comment">/* free vector */</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;        vector&lt;string&gt;().swap(v_command);</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;        string().swap(command);</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;    }</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;}</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="../../df/dac/test_8cpp.html#a6d3cb4886e7afd45bd56b49800da932d">   91</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="../../df/dac/test_8cpp.html#a6d3cb4886e7afd45bd56b49800da932d">onRep</a>(<span class="keyword">struct</span> json_object* reply_contents)</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;{</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* str = json_object_to_json_string(reply_contents);</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;    cout &lt;&lt; <span class="stringliteral">&quot;test.cpp [CB onRep]: &quot;</span> &lt;&lt; str &lt;&lt; endl;</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;    <span class="comment">//json_object_put(reply_contents); do not release!!!</span></div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;}</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;</div><div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="../../df/dac/test_8cpp.html#a6a2874c419fe5936fcccadc7e6cf268e">   98</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="../../df/dac/test_8cpp.html#a6a2874c419fe5936fcccadc7e6cf268e">onEv</a>(<span class="keyword">const</span> <span class="keywordtype">string</span>&amp; <a class="code" href="../../df/d7d/structevent.html">event</a>, <span class="keyword">struct</span> json_object* event_contents)</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;{</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* str = json_object_to_json_string(event_contents);</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;    cout &lt;&lt; <span class="stringliteral">&quot;test.cpp [CB onEvent]: event:  &quot;</span> &lt;&lt; <span class="keyword">event</span>.c_str() &lt;&lt; <span class="stringliteral">&quot;  contents: &quot;</span> &lt;&lt; str &lt;&lt; endl;</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;    <span class="comment">//json_object_put(event_contents); do not release!!!</span></div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;}</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;</div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="../../df/dac/test_8cpp.html#aafb7f182b8bb6ba92354dde1658d86a4">  105</a></span>&#160;<span class="keyword">static</span> vector&lt;string&gt; <a class="code" href="../../df/dac/test_8cpp.html#aafb7f182b8bb6ba92354dde1658d86a4">split</a>(<span class="keyword">const</span> <span class="keywordtype">string</span>&amp; str, <span class="keywordtype">char</span> sep)</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;{</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;    vector&lt;string&gt; v;</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;    stringstream ss(str);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;    <span class="keywordtype">string</span> buffer;</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;    <span class="keywordflow">while</span>( getline(ss, buffer, sep) ) {</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;        <span class="keywordflow">if</span>(!buffer.empty())</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;            v.push_back(buffer);</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;    }</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;    <span class="keywordflow">return</span> v;</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;}</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;</div><div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="../../df/dac/test_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">  117</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../df/dac/test_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">main</a>(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> **argv)</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;{</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;    <span class="keywordtype">int</span> ret;</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;    <span class="keywordflow">if</span>(argc == 1)</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;    {</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;        printf(<span class="stringliteral">&quot;Please input port num in first argument, and token in second argument&quot;</span>);</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;        <a class="code" href="../../df/dac/test_8cpp.html#a64a6014565bb3e03294ec4a952d5add0">usage</a>();</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;        <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;    }</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;    <span class="keywordflow">if</span>(argc == 2)</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;    {</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;        <span class="keywordtype">string</span> av(argv[1]);</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;        <span class="keywordflow">if</span>( (av == <span class="stringliteral">&quot;-h&quot;</span>) || (av == <span class="stringliteral">&quot;--help&quot;</span>))</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;        {</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;            <a class="code" href="../../df/dac/test_8cpp.html#a64a6014565bb3e03294ec4a952d5add0">usage</a>();</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;            <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;        }</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;    }</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;    <span class="keywordtype">string</span> port_string(argv[1]);</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;    <span class="keywordtype">string</span> token(argv[2]);</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;    <span class="keywordtype">char</span>* endptr;</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;    <span class="keywordtype">long</span> port = strtol(port_string.c_str(),&amp;endptr,10);</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;    <span class="comment">/* error check of range */</span></div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;    <span class="keywordflow">if</span>( (port &gt; 20000) || (port &lt; 0) )</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;    {</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;        printf(<span class="stringliteral">&quot;input under 20000(temporary number)&quot;</span>);</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;        <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;    }</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;    <span class="keywordflow">if</span>(*endptr != <span class="charliteral">&#39;\0&#39;</span>)</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;    {</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;        printf(<span class="stringliteral">&quot;not number&quot;</span>);</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;        <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;    }</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;  cout &lt;&lt; <span class="stringliteral">&quot;Call test for LibHomeScreen&quot;</span> &lt;&lt; endl;</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;    hs = <span class="keyword">new</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a>();</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;  hs-&gt;<a class="code" href="../../de/dd0/class_lib_home_screen.html#a6a57b573cc767725762ba9beab032220">init</a>(port, token);</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;    <span class="comment">// hs-&gt;registerCallback(&amp;onEv, &amp;onRep);</span></div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;  <span class="comment">//</span></div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;  <span class="comment">// hs-&gt;subscribe(event_list[0]); // tap_shortcut event subscribe</span></div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;  <span class="comment">// hs-&gt;subscribe(event_list[1]);</span></div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;  hs-&gt;<a class="code" href="../../de/dd0/class_lib_home_screen.html#ab1b0e08bf35415de9064afed899e9f85">set_event_handler</a>(<a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f">LibHomeScreen::Event_TapShortcut</a>, [](json_object *<span class="keywordtype">object</span>){</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> *application_name = json_object_get_string(</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;        json_object_object_get(<span class="keywordtype">object</span>, <span class="stringliteral">&quot;application_name&quot;</span>));</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;    cout &lt;&lt; <span class="stringliteral">&quot;set_event_handler Event_TapShortcut application_name = &quot;</span> &lt;&lt; application_name &lt;&lt; endl;</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;  });</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;  hs-&gt;<a class="code" href="../../de/dd0/class_lib_home_screen.html#ab1b0e08bf35415de9064afed899e9f85">set_event_handler</a>(<a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d">LibHomeScreen::Event_OnScreenMessage</a>, [](json_object *<span class="keywordtype">object</span>){</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> *display_message = json_object_get_string(</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;        json_object_object_get(<span class="keywordtype">object</span>, <span class="stringliteral">&quot;display_message&quot;</span>));</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;    cout &lt;&lt; <span class="stringliteral">&quot;set_event_handler Event_OnScreenMessage display_message = &quot;</span> &lt;&lt; display_message &lt;&lt; endl;</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;  });</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;  hs-&gt;<a class="code" href="../../de/dd0/class_lib_home_screen.html#ab1b0e08bf35415de9064afed899e9f85">set_event_handler</a>(<a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd">LibHomeScreen::Event_OnScreenReply</a>, [](json_object *<span class="keywordtype">object</span>){</div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> *reply_message = json_object_get_string(</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;        json_object_object_get(<span class="keywordtype">object</span>, <span class="stringliteral">&quot;reply_message&quot;</span>));</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;    cout &lt;&lt; <span class="stringliteral">&quot;set_event_handler Event_OnScreenReply reply_message = &quot;</span> &lt;&lt; reply_message &lt;&lt; endl;</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;  });</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;    <span class="keywordflow">if</span> (ret &lt; 0) {</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;        printf(<span class="stringliteral">&quot;failed to create event loop&quot;</span>);</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;        <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;    }</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;    <a class="code" href="../../df/dac/test_8cpp.html#aa9b3c43c212b49edee82ac30a11aa255">call_test</a>();</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;}</div><div class="ttc" id="test_8cpp_html_a64a6014565bb3e03294ec4a952d5add0"><div class="ttname"><a href="../../df/dac/test_8cpp.html#a64a6014565bb3e03294ec4a952d5add0">usage</a></div><div class="ttdeci">static void usage()</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dac/test_8cpp_source.html#l00035">test.cpp:35</a></div></div>
-<div class="ttc" id="test_8cpp_html_aafb7f182b8bb6ba92354dde1658d86a4"><div class="ttname"><a href="../../df/dac/test_8cpp.html#aafb7f182b8bb6ba92354dde1658d86a4">split</a></div><div class="ttdeci">static vector&lt; string &gt; split(const string &amp;str, char sep)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dac/test_8cpp_source.html#l00105">test.cpp:105</a></div></div>
-<div class="ttc" id="structevent_html"><div class="ttname"><a href="../../df/d7d/structevent.html">event</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00035">homescreen.c:35</a></div></div>
-<div class="ttc" id="namespacestd_html"><div class="ttname"><a href="../../d8/dcc/namespacestd.html">std</a></div></div>
-<div class="ttc" id="test_8cpp_html_a529acbd1fed9d98a587edfa62309fa8d"><div class="ttname"><a href="../../df/dac/test_8cpp.html#a529acbd1fed9d98a587edfa62309fa8d">hs</a></div><div class="ttdeci">LibHomeScreen * hs</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dac/test_8cpp_source.html#l00033">test.cpp:33</a></div></div>
-<div class="ttc" id="libhomescreen_8hpp_html"><div class="ttname"><a href="../../df/d43/libhomescreen_8hpp.html">libhomescreen.hpp</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html_a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d">LibHomeScreen::Event_OnScreenMessage</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00046">libhomescreen.hpp:46</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html_a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd">LibHomeScreen::Event_OnScreenReply</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00047">libhomescreen.hpp:47</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html_a527b49dcfe581be6275d0eb2236ba37f"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a527b49dcfe581be6275d0eb2236ba37f">LibHomeScreen::call</a></div><div class="ttdeci">int call(const std::string &amp;verb, struct json_object *arg)</div></div>
-<div class="ttc" id="test_8cpp_html_a6a2874c419fe5936fcccadc7e6cf268e"><div class="ttname"><a href="../../df/dac/test_8cpp.html#a6a2874c419fe5936fcccadc7e6cf268e">onEv</a></div><div class="ttdeci">static void onEv(const string &amp;event, struct json_object *event_contents)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dac/test_8cpp_source.html#l00098">test.cpp:98</a></div></div>
-<div class="ttc" id="test_8cpp_html_a3c04138a5bfe5d72780bb7e82a18e627"><div class="ttname"><a href="../../df/dac/test_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">main</a></div><div class="ttdeci">int main(int argc, char **argv)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dac/test_8cpp_source.html#l00117">test.cpp:117</a></div></div>
-<div class="ttc" id="test_8cpp_html_aa9b3c43c212b49edee82ac30a11aa255"><div class="ttname"><a href="../../df/dac/test_8cpp.html#aa9b3c43c212b49edee82ac30a11aa255">call_test</a></div><div class="ttdeci">static void call_test()</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dac/test_8cpp_source.html#l00051">test.cpp:51</a></div></div>
-<div class="ttc" id="test_8cpp_html_a6d3cb4886e7afd45bd56b49800da932d"><div class="ttname"><a href="../../df/dac/test_8cpp.html#a6d3cb4886e7afd45bd56b49800da932d">onRep</a></div><div class="ttdeci">static void onRep(struct json_object *reply_contents)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dac/test_8cpp_source.html#l00091">test.cpp:91</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html_a6a57b573cc767725762ba9beab032220"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a6a57b573cc767725762ba9beab032220">LibHomeScreen::init</a></div><div class="ttdeci">int init(const int port, const std::string &amp;token)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00116">libhomescreen.cpp:116</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00032">libhomescreen.hpp:32</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html_a5593ff5ac78f6495ccb649904cf0ab08"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a5593ff5ac78f6495ccb649904cf0ab08">LibHomeScreen::api_list</a></div><div class="ttdeci">static const std::vector&lt; std::string &gt; api_list</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00050">libhomescreen.hpp:50</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html_ab1b0e08bf35415de9064afed899e9f85"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#ab1b0e08bf35415de9064afed899e9f85">LibHomeScreen::set_event_handler</a></div><div class="ttdeci">void set_event_handler(enum EventType et, handler_func f)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00293">libhomescreen.cpp:293</a></div></div>
-<div class="ttc" id="class_lib_home_screen_html_a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f">LibHomeScreen::Event_TapShortcut</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00045">libhomescreen.hpp:45</a></div></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="../../doxygen.png" alt="doxygen"/>
-</a> 1.8.13
-</small></address>
-</body>
-</html>
diff --git a/doc/api-ref/html/dir_0f70dc74e67ded1ed6ea12b5a24cac83.html b/doc/api-ref/html/dir_0f70dc74e67ded1ed6ea12b5a24cac83.html
deleted file mode 100644 (file)
index 00ae245..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>HomeScreenBinding: include/libhomescreen Directory Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/searchdata.js"></script>
-<script type="text/javascript" src="search/search.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td id="projectalign" style="padding-left: 0.5em;">
-   <div id="projectname">HomeScreenBinding
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-$(function() {
-  initMenu('',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-</script>
-<div id="main-nav"></div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-</div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_0f70dc74e67ded1ed6ea12b5a24cac83.html">libhomescreen</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="headertitle">
-<div class="title">libhomescreen Directory Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
-Files</h2></td></tr>
-<tr class="memitem:df/d43/libhomescreen_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="df/d43/libhomescreen_8hpp.html">libhomescreen.hpp</a> <a href="df/d43/libhomescreen_8hpp_source.html">[code]</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.13
-</small></address>
-</body>
-</html>
index ff64d77..e6ce462 100644 (file)
@@ -3,8 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <title>HomeScreenBinding: libhomescreen Directory Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="jquery.js"></script>
 <title>HomeScreenBinding: libhomescreen Directory Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="jquery.js"></script>
@@ -12,6 +11,9 @@
 <link href="search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="search/searchdata.js"></script>
 <script type="text/javascript" src="search/search.js"></script>
 <link href="search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="search/searchdata.js"></script>
 <script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
 <link href="doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
 <link href="doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
 </table>
 </div>
 <!-- end header part -->
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.11 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </script>
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-$(function() {
-  initMenu('',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-</script>
-<div id="main-nav"></div>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="files.html"><span>File&#160;List</span></a></li>
+      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
+    </ul>
+  </div>
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
      onmouseover="return searchBox.OnSearchSelectShow()"
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
      onmouseover="return searchBox.OnSearchSelectShow()"
@@ -71,7 +93,7 @@ $(function() {
 Files</h2></td></tr>
 <tr class="memitem:d0/d8a/libhomescreen_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="d0/d8a/libhomescreen_8cpp.html">libhomescreen.cpp</a> <a href="d0/d8a/libhomescreen_8cpp_source.html">[code]</a></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 Files</h2></td></tr>
 <tr class="memitem:d0/d8a/libhomescreen_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="d0/d8a/libhomescreen_8cpp.html">libhomescreen.cpp</a> <a href="d0/d8a/libhomescreen_8cpp_source.html">[code]</a></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:df/dac/test_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="df/dac/test_8cpp.html">test.cpp</a> <a href="df/dac/test_8cpp_source.html">[code]</a></td></tr>
+<tr class="memitem:de/da4/simple-egl_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="de/da4/simple-egl_8cpp.html">simple-egl.cpp</a> <a href="de/da4/simple-egl_8cpp_source.html">[code]</a></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 </div><!-- contents -->
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 </div><!-- contents -->
@@ -79,7 +101,7 @@ Files</h2></td></tr>
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.13
+</a> 1.8.11
 </small></address>
 </body>
 </html>
 </small></address>
 </body>
 </html>
index 167382f..b5ca08e 100644 (file)
@@ -3,8 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <title>HomeScreenBinding: src Directory Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="jquery.js"></script>
 <title>HomeScreenBinding: src Directory Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="jquery.js"></script>
@@ -12,6 +11,9 @@
 <link href="search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="search/searchdata.js"></script>
 <script type="text/javascript" src="search/search.js"></script>
 <link href="search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="search/searchdata.js"></script>
 <script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
 <link href="doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
 <link href="doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
 </table>
 </div>
 <!-- end header part -->
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.11 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </script>
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-$(function() {
-  initMenu('',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-</script>
-<div id="main-nav"></div>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="files.html"><span>File&#160;List</span></a></li>
+      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
+    </ul>
+  </div>
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
      onmouseover="return searchBox.OnSearchSelectShow()"
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
      onmouseover="return searchBox.OnSearchSelectShow()"
@@ -69,9 +91,19 @@ $(function() {
 <table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
 Files</h2></td></tr>
 <table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
 Files</h2></td></tr>
-<tr class="memitem:d0/d1e/homescreen_8c"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="d0/d1e/homescreen_8c.html">homescreen.c</a> <a href="d0/d1e/homescreen_8c_source.html">[code]</a></td></tr>
+<tr class="memitem:d6/dff/src_2hmi-debug_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="d6/dff/src_2hmi-debug_8h.html">hmi-debug.h</a> <a href="d6/dff/src_2hmi-debug_8h_source.html">[code]</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:d6/dda/homescreen_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="d6/dda/homescreen_8cpp.html">homescreen.cpp</a> <a href="d6/dda/homescreen_8cpp_source.html">[code]</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:d8/d55/hs-client_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="d8/d55/hs-client_8cpp.html">hs-client.cpp</a> <a href="d8/d55/hs-client_8cpp_source.html">[code]</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:da/dd3/hs-client_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="da/dd3/hs-client_8h.html">hs-client.h</a> <a href="da/dd3/hs-client_8h_source.html">[code]</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:dd/d30/hs-clientmanager_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dd/d30/hs-clientmanager_8cpp.html">hs-clientmanager.cpp</a> <a href="dd/d30/hs-clientmanager_8cpp_source.html">[code]</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:de/dca/hs-clientmanager_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="de/dca/hs-clientmanager_8h.html">hs-clientmanager.h</a> <a href="de/dca/hs-clientmanager_8h_source.html">[code]</a></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:dd/d1d/hs-helper_8c"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dd/d1d/hs-helper_8c.html">hs-helper.c</a> <a href="dd/d1d/hs-helper_8c_source.html">[code]</a></td></tr>
+<tr class="memitem:df/d66/hs-helper_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="df/d66/hs-helper_8cpp.html">hs-helper.cpp</a> <a href="df/d66/hs-helper_8cpp_source.html">[code]</a></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:d3/d3d/hs-helper_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="d3/d3d/hs-helper_8h.html">hs-helper.h</a> <a href="d3/d3d/hs-helper_8h_source.html">[code]</a></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:d3/d3d/hs-helper_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="d3/d3d/hs-helper_8h.html">hs-helper.h</a> <a href="d3/d3d/hs-helper_8h_source.html">[code]</a></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -81,7 +113,7 @@ Files</h2></td></tr>
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.13
+</a> 1.8.11
 </small></address>
 </body>
 </html>
 </small></address>
 </body>
 </html>
diff --git a/doc/api-ref/html/dir_a01af9eb3c502936dfd53c3f8e45721d.html b/doc/api-ref/html/dir_a01af9eb3c502936dfd53c3f8e45721d.html
deleted file mode 100644 (file)
index 925bba0..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>HomeScreenBinding: homescreen_service Directory Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/searchdata.js"></script>
-<script type="text/javascript" src="search/search.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td id="projectalign" style="padding-left: 0.5em;">
-   <div id="projectname">HomeScreenBinding
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-$(function() {
-  initMenu('',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-</script>
-<div id="main-nav"></div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-</div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="dir_a01af9eb3c502936dfd53c3f8e45721d.html">homescreen_service</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="headertitle">
-<div class="title">homescreen_service Directory Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
-Files</h2></td></tr>
-<tr class="memitem:d0/d1e/homescreen_8c"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="d0/d1e/homescreen_8c.html">homescreen.c</a> <a href="d0/d1e/homescreen_8c_source.html">[code]</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:dd/d1d/hs-helper_8c"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dd/d1d/hs-helper_8c.html">hs-helper.c</a> <a href="dd/d1d/hs-helper_8c_source.html">[code]</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:d3/d3d/hs-helper_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="d3/d3d/hs-helper_8h.html">hs-helper.h</a> <a href="d3/d3d/hs-helper_8h_source.html">[code]</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.13
-</small></address>
-</body>
-</html>
index a25c052..934d1e0 100644 (file)
@@ -3,8 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <title>HomeScreenBinding: include Directory Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="jquery.js"></script>
 <title>HomeScreenBinding: include Directory Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="jquery.js"></script>
@@ -12,6 +11,9 @@
 <link href="search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="search/searchdata.js"></script>
 <script type="text/javascript" src="search/search.js"></script>
 <link href="search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="search/searchdata.js"></script>
 <script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
 <link href="doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
 <link href="doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
 </table>
 </div>
 <!-- end header part -->
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.11 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </script>
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-$(function() {
-  initMenu('',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-</script>
-<div id="main-nav"></div>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="files.html"><span>File&#160;List</span></a></li>
+      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
+    </ul>
+  </div>
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
      onmouseover="return searchBox.OnSearchSelectShow()"
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
      onmouseover="return searchBox.OnSearchSelectShow()"
@@ -69,7 +91,7 @@ $(function() {
 <table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
 Files</h2></td></tr>
 <table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
 Files</h2></td></tr>
-<tr class="memitem:df/d76/hmi-debug_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="df/d76/hmi-debug_8h.html">hmi-debug.h</a> <a href="df/d76/hmi-debug_8h_source.html">[code]</a></td></tr>
+<tr class="memitem:d2/d66/include_2hmi-debug_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="d2/d66/include_2hmi-debug_8h.html">hmi-debug.h</a> <a href="d2/d66/include_2hmi-debug_8h_source.html">[code]</a></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:df/d43/libhomescreen_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="df/d43/libhomescreen_8hpp.html">libhomescreen.hpp</a> <a href="df/d43/libhomescreen_8hpp_source.html">[code]</a></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:df/d43/libhomescreen_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="df/d43/libhomescreen_8hpp.html">libhomescreen.hpp</a> <a href="df/d43/libhomescreen_8hpp_source.html">[code]</a></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -79,7 +101,7 @@ Files</h2></td></tr>
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.13
+</a> 1.8.11
 </small></address>
 </body>
 </html>
 </small></address>
 </body>
 </html>
index 4f1ab91..1425ec5 100644 (file)
@@ -1,13 +1,9 @@
-/* The standard CSS for doxygen 1.8.13 */
+/* The standard CSS for doxygen 1.8.11 */
 
 body, table, div, p, dl {
        font: 400 14px/22px Roboto,sans-serif;
 }
 
 
 body, table, div, p, dl {
        font: 400 14px/22px Roboto,sans-serif;
 }
 
-p.reference, p.definition {
-       font: 400 14px/22px Roboto,sans-serif;
-}
-
 /* @group Heading Levels */
 
 h1.groupheader {
 /* @group Heading Levels */
 
 h1.groupheader {
@@ -177,7 +173,7 @@ pre.fragment {
 }
 
 div.fragment {
 }
 
 div.fragment {
-        padding: 0px;
+        padding: 4px 6px;
         margin: 4px 8px 4px 2px;
        background-color: #FBFCFD;
        border: 1px solid #C4CFE5;
         margin: 4px 8px 4px 2px;
        background-color: #FBFCFD;
        border: 1px solid #C4CFE5;
@@ -236,15 +232,6 @@ span.lineno a:hover {
        background-color: #C8C8C8;
 }
 
        background-color: #C8C8C8;
 }
 
-.lineno {
-       -webkit-touch-callout: none;
-       -webkit-user-select: none;
-       -khtml-user-select: none;
-       -moz-user-select: none;
-       -ms-user-select: none;
-       user-select: none;
-}
-
 div.ah, span.ah {
        background-color: black;
        font-weight: bold;
 div.ah, span.ah {
        background-color: black;
        font-weight: bold;
@@ -514,29 +501,6 @@ table.memberdecls {
 
 /* Styles for detailed member documentation */
 
 
 /* Styles for detailed member documentation */
 
-.memtitle {
-       padding: 8px;
-       border-top: 1px solid #A8B8D9;
-       border-left: 1px solid #A8B8D9;
-       border-right: 1px solid #A8B8D9;
-       border-top-right-radius: 4px;
-       border-top-left-radius: 4px;
-       margin-bottom: -1px;
-       background-image: url('nav_f.png');
-       background-repeat: repeat-x;
-       background-color: #E2E8F2;
-       line-height: 1.25;
-       font-weight: 300;
-       float:left;
-}
-
-.permalink
-{
-        font-size: 65%;
-        display: inline-block;
-        vertical-align: middle;
-}
-
 .memtemplate {
        font-size: 80%;
        color: #4665A2;
 .memtemplate {
        font-size: 80%;
        color: #4665A2;
@@ -575,7 +539,7 @@ table.memberdecls {
 }
 
 .memname {
 }
 
 .memname {
-        font-weight: 400;
+        font-weight: bold;
         margin-left: 6px;
 }
 
         margin-left: 6px;
 }
 
@@ -591,24 +555,24 @@ table.memberdecls {
         color: #253555;
         font-weight: bold;
         text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
         color: #253555;
         font-weight: bold;
         text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
-        background-color: #DFE5F1;
+        background-image:url('nav_f.png');
+        background-repeat:repeat-x;
+        background-color: #E2E8F2;
         /* opera specific markup */
         box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
         border-top-right-radius: 4px;
         /* opera specific markup */
         box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
         border-top-right-radius: 4px;
+        border-top-left-radius: 4px;
         /* firefox specific markup */
         -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
         -moz-border-radius-topright: 4px;
         /* firefox specific markup */
         -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
         -moz-border-radius-topright: 4px;
+        -moz-border-radius-topleft: 4px;
         /* webkit specific markup */
         -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
         -webkit-border-top-right-radius: 4px;
         /* webkit specific markup */
         -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
         -webkit-border-top-right-radius: 4px;
+        -webkit-border-top-left-radius: 4px;
 
 }
 
 
 }
 
-.overload {
-        font-family: "courier new",courier,monospace;
-       font-size: 65%;
-}
-
 .memdoc, dl.reflist dd {
         border-bottom: 1px solid #A8B8D9;      
         border-left: 1px solid #A8B8D9;      
 .memdoc, dl.reflist dd {
         border-bottom: 1px solid #A8B8D9;      
         border-left: 1px solid #A8B8D9;      
@@ -950,7 +914,6 @@ table.fieldtable {
         padding-bottom: 4px;
         padding-top: 5px;
         text-align:left;
         padding-bottom: 4px;
         padding-top: 5px;
         text-align:left;
-        font-weight: 400;
         -moz-border-radius-topleft: 4px;
         -moz-border-radius-topright: 4px;
         -webkit-border-top-left-radius: 4px;
         -moz-border-radius-topleft: 4px;
         -moz-border-radius-topright: 4px;
         -webkit-border-top-left-radius: 4px;
@@ -1215,11 +1178,6 @@ dl.section dd {
         text-align: center;
 }
 
         text-align: center;
 }
 
-.plantumlgraph
-{
-        text-align: center;
-}
-
 .diagraph
 {
         text-align: center;
 .diagraph
 {
         text-align: center;
@@ -1515,82 +1473,3 @@ tr.heading h2 {
   }
 }
 
   }
 }
 
-/* @group Markdown */
-
-/*
-table.markdownTable {
-       border-collapse:collapse;
-        margin-top: 4px;
-        margin-bottom: 4px;
-}
-
-table.markdownTable td, table.markdownTable th {
-       border: 1px solid #2D4068;
-       padding: 3px 7px 2px;
-}
-
-table.markdownTableHead tr {
-}
-
-table.markdownTableBodyLeft td, table.markdownTable th {
-       border: 1px solid #2D4068;
-       padding: 3px 7px 2px;
-}
-
-th.markdownTableHeadLeft th.markdownTableHeadRight th.markdownTableHeadCenter th.markdownTableHeadNone {
-       background-color: #374F7F;
-       color: #FFFFFF;
-       font-size: 110%;
-       padding-bottom: 4px;
-       padding-top: 5px;
-}
-
-th.markdownTableHeadLeft {
-       text-align: left
-}
-
-th.markdownTableHeadRight {
-       text-align: right
-}
-
-th.markdownTableHeadCenter {
-       text-align: center
-}
-*/
-
-table.markdownTable {
-       border-collapse:collapse;
-        margin-top: 4px;
-        margin-bottom: 4px;
-}
-
-table.markdownTable td, table.markdownTable th {
-       border: 1px solid #2D4068;
-       padding: 3px 7px 2px;
-}
-
-table.markdownTable tr {
-}
-
-th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone {
-       background-color: #374F7F;
-       color: #FFFFFF;
-       font-size: 110%;
-       padding-bottom: 4px;
-       padding-top: 5px;
-}
-
-th.markdownTableHeadLeft, td.markdownTableBodyLeft {
-       text-align: left
-}
-
-th.markdownTableHeadRight, td.markdownTableBodyRight {
-       text-align: right
-}
-
-th.markdownTableHeadCenter, td.markdownTableBodyCenter {
-       text-align: center
-}
-
-
-/* @end */
index 821231f..822468b 100644 (file)
@@ -3,8 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <title>HomeScreenBinding: File List</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="jquery.js"></script>
 <title>HomeScreenBinding: File List</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="jquery.js"></script>
@@ -12,6 +11,9 @@
 <link href="search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="search/searchdata.js"></script>
 <script type="text/javascript" src="search/search.js"></script>
 <link href="search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="search/searchdata.js"></script>
 <script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
 <link href="doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
 <link href="doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
 </table>
 </div>
 <!-- end header part -->
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.11 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </script>
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-$(function() {
-  initMenu('',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-</script>
-<div id="main-nav"></div>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="files.html"><span>File&#160;List</span></a></li>
+      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
+    </ul>
+  </div>
 </div><!-- top -->
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
 </div><!-- top -->
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
@@ -65,15 +87,20 @@ $(function() {
 <div class="textblock">Here is a list of all files with brief descriptions:</div><div class="directory">
 <div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span>]</div><table class="directory">
 <tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">&#9660;</span><span id="img_0_" class="iconfopen" onclick="toggleFolder('0_')">&#160;</span><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html" target="_self">include</a></td><td class="desc"></td></tr>
 <div class="textblock">Here is a list of all files with brief descriptions:</div><div class="directory">
 <div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span>]</div><table class="directory">
 <tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">&#9660;</span><span id="img_0_" class="iconfopen" onclick="toggleFolder('0_')">&#160;</span><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html" target="_self">include</a></td><td class="desc"></td></tr>
-<tr id="row_0_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="df/d76/hmi-debug_8h_source.html"><span class="icondoc"></span></a><a class="el" href="df/d76/hmi-debug_8h.html" target="_self">hmi-debug.h</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="d2/d66/include_2hmi-debug_8h_source.html"><span class="icondoc"></span></a><a class="el" href="d2/d66/include_2hmi-debug_8h.html" target="_self">hmi-debug.h</a></td><td class="desc"></td></tr>
 <tr id="row_0_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="df/d43/libhomescreen_8hpp_source.html"><span class="icondoc"></span></a><a class="el" href="df/d43/libhomescreen_8hpp.html" target="_self">libhomescreen.hpp</a></td><td class="desc"></td></tr>
 <tr id="row_1_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_1_" class="arrow" onclick="toggleFolder('1_')">&#9660;</span><span id="img_1_" class="iconfopen" onclick="toggleFolder('1_')">&#160;</span><a class="el" href="dir_65f76d62445e9e84c0450b12bf77c3bc.html" target="_self">libhomescreen</a></td><td class="desc"></td></tr>
 <tr id="row_1_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="d0/d8a/libhomescreen_8cpp_source.html"><span class="icondoc"></span></a><a class="el" href="d0/d8a/libhomescreen_8cpp.html" target="_self">libhomescreen.cpp</a></td><td class="desc"></td></tr>
 <tr id="row_0_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="df/d43/libhomescreen_8hpp_source.html"><span class="icondoc"></span></a><a class="el" href="df/d43/libhomescreen_8hpp.html" target="_self">libhomescreen.hpp</a></td><td class="desc"></td></tr>
 <tr id="row_1_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_1_" class="arrow" onclick="toggleFolder('1_')">&#9660;</span><span id="img_1_" class="iconfopen" onclick="toggleFolder('1_')">&#160;</span><a class="el" href="dir_65f76d62445e9e84c0450b12bf77c3bc.html" target="_self">libhomescreen</a></td><td class="desc"></td></tr>
 <tr id="row_1_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="d0/d8a/libhomescreen_8cpp_source.html"><span class="icondoc"></span></a><a class="el" href="d0/d8a/libhomescreen_8cpp.html" target="_self">libhomescreen.cpp</a></td><td class="desc"></td></tr>
-<tr id="row_1_1_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="df/dac/test_8cpp_source.html"><span class="icondoc"></span></a><a class="el" href="df/dac/test_8cpp.html" target="_self">test.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_1_1_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="de/da4/simple-egl_8cpp_source.html"><span class="icondoc"></span></a><a class="el" href="de/da4/simple-egl_8cpp.html" target="_self">simple-egl.cpp</a></td><td class="desc"></td></tr>
 <tr id="row_2_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_2_" class="arrow" onclick="toggleFolder('2_')">&#9660;</span><span id="img_2_" class="iconfopen" onclick="toggleFolder('2_')">&#160;</span><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html" target="_self">src</a></td><td class="desc"></td></tr>
 <tr id="row_2_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_2_" class="arrow" onclick="toggleFolder('2_')">&#9660;</span><span id="img_2_" class="iconfopen" onclick="toggleFolder('2_')">&#160;</span><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html" target="_self">src</a></td><td class="desc"></td></tr>
-<tr id="row_2_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="d0/d1e/homescreen_8c_source.html"><span class="icondoc"></span></a><a class="el" href="d0/d1e/homescreen_8c.html" target="_self">homescreen.c</a></td><td class="desc"></td></tr>
-<tr id="row_2_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="dd/d1d/hs-helper_8c_source.html"><span class="icondoc"></span></a><a class="el" href="dd/d1d/hs-helper_8c.html" target="_self">hs-helper.c</a></td><td class="desc"></td></tr>
-<tr id="row_2_2_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="d3/d3d/hs-helper_8h_source.html"><span class="icondoc"></span></a><a class="el" href="d3/d3d/hs-helper_8h.html" target="_self">hs-helper.h</a></td><td class="desc"></td></tr>
+<tr id="row_2_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="d6/dff/src_2hmi-debug_8h_source.html"><span class="icondoc"></span></a><a class="el" href="d6/dff/src_2hmi-debug_8h.html" target="_self">hmi-debug.h</a></td><td class="desc"></td></tr>
+<tr id="row_2_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="d6/dda/homescreen_8cpp_source.html"><span class="icondoc"></span></a><a class="el" href="d6/dda/homescreen_8cpp.html" target="_self">homescreen.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_2_2_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="d8/d55/hs-client_8cpp_source.html"><span class="icondoc"></span></a><a class="el" href="d8/d55/hs-client_8cpp.html" target="_self">hs-client.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_2_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="da/dd3/hs-client_8h_source.html"><span class="icondoc"></span></a><a class="el" href="da/dd3/hs-client_8h.html" target="_self">hs-client.h</a></td><td class="desc"></td></tr>
+<tr id="row_2_4_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="dd/d30/hs-clientmanager_8cpp_source.html"><span class="icondoc"></span></a><a class="el" href="dd/d30/hs-clientmanager_8cpp.html" target="_self">hs-clientmanager.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_2_5_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="de/dca/hs-clientmanager_8h_source.html"><span class="icondoc"></span></a><a class="el" href="de/dca/hs-clientmanager_8h.html" target="_self">hs-clientmanager.h</a></td><td class="desc"></td></tr>
+<tr id="row_2_6_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="df/d66/hs-helper_8cpp_source.html"><span class="icondoc"></span></a><a class="el" href="df/d66/hs-helper_8cpp.html" target="_self">hs-helper.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_2_7_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="d3/d3d/hs-helper_8h_source.html"><span class="icondoc"></span></a><a class="el" href="d3/d3d/hs-helper_8h.html" target="_self">hs-helper.h</a></td><td class="desc"></td></tr>
 </table>
 </div><!-- directory -->
 </div><!-- contents -->
 </table>
 </div><!-- directory -->
 </div><!-- contents -->
@@ -81,7 +108,7 @@ $(function() {
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.13
+</a> 1.8.11
 </small></address>
 </body>
 </html>
 </small></address>
 </body>
 </html>
index 4aa87d0..8675686 100644 (file)
@@ -3,8 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <title>HomeScreenBinding: Class Members</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="jquery.js"></script>
 <title>HomeScreenBinding: Class Members</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="jquery.js"></script>
@@ -12,6 +11,9 @@
 <link href="search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="search/searchdata.js"></script>
 <script type="text/javascript" src="search/search.js"></script>
 <link href="search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="search/searchdata.js"></script>
 <script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
 <link href="doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
 <link href="doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
 </table>
 </div>
 <!-- end header part -->
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.11 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </script>
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-$(function() {
-  initMenu('',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-</script>
-<div id="main-nav"></div>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="functions.html"><span>All</span></a></li>
+      <li><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_type.html"><span>Typedefs</span></a></li>
+      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow4" class="tabs3">
+    <ul class="tablist">
+      <li><a href="#index__"><span>_</span></a></li>
+      <li><a href="#index_a"><span>a</span></a></li>
+      <li><a href="#index_b"><span>b</span></a></li>
+      <li><a href="#index_c"><span>c</span></a></li>
+      <li><a href="#index_d"><span>d</span></a></li>
+      <li><a href="#index_e"><span>e</span></a></li>
+      <li><a href="#index_f"><span>f</span></a></li>
+      <li><a href="#index_g"><span>g</span></a></li>
+      <li><a href="#index_h"><span>h</span></a></li>
+      <li><a href="#index_i"><span>i</span></a></li>
+      <li><a href="#index_l"><span>l</span></a></li>
+      <li><a href="#index_n"><span>n</span></a></li>
+      <li><a href="#index_o"><span>o</span></a></li>
+      <li><a href="#index_p"><span>p</span></a></li>
+      <li><a href="#index_r"><span>r</span></a></li>
+      <li><a href="#index_s"><span>s</span></a></li>
+      <li><a href="#index_t"><span>t</span></a></li>
+      <li><a href="#index_u"><span>u</span></a></li>
+      <li><a href="#index_w"><span>w</span></a></li>
+      <li class="current"><a href="#index_0x7e"><span>~</span></a></li>
+    </ul>
+  </div>
 </div><!-- top -->
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
 </div><!-- top -->
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
@@ -58,15 +115,89 @@ $(function() {
 </div>
 
 <div class="contents">
 </div>
 
 <div class="contents">
-<div class="textblock">Here is a list of all class members with links to the classes they belong to:</div><ul>
+<div class="textblock">Here is a list of all class members with links to the classes they belong to:</div>
+
+<h3><a class="anchor" id="index__"></a>- _ -</h3><ul>
+<li>_areaFullScreen
+: <a class="el" href="de/dd0/class_lib_home_screen.html#ad0569f5323ead77a43bd8735377a6f25">LibHomeScreen</a>
+</li>
+<li>_areaNormal
+: <a class="el" href="de/dd0/class_lib_home_screen.html#aac718b60b83c74e2b061f6f7f7ec3bf5">LibHomeScreen</a>
+</li>
+<li>_areaSplitMain
+: <a class="el" href="de/dd0/class_lib_home_screen.html#a7f201fc366146790520bf8d990f7b2eb">LibHomeScreen</a>
+</li>
+<li>_areaSplitSub
+: <a class="el" href="de/dd0/class_lib_home_screen.html#ab4f54373b0681de11243152f01c48888">LibHomeScreen</a>
+</li>
+<li>_keyArea
+: <a class="el" href="de/dd0/class_lib_home_screen.html#a8becda1b035ae45f5a11c7e7963091bf">LibHomeScreen</a>
+</li>
+<li>_keyParameter
+: <a class="el" href="de/dd0/class_lib_home_screen.html#a927592eff8e34efbbceaf12522f8897f">LibHomeScreen</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_a"></a>- a -</h3><ul>
 <li>api_list
 : <a class="el" href="de/dd0/class_lib_home_screen.html#a5593ff5ac78f6495ccb649904cf0ab08">LibHomeScreen</a>
 </li>
 <li>api_list
 : <a class="el" href="de/dd0/class_lib_home_screen.html#a5593ff5ac78f6495ccb649904cf0ab08">LibHomeScreen</a>
 </li>
+</ul>
+
+
+<h3><a class="anchor" id="index_b"></a>- b -</h3><ul>
+<li>benchmark_time
+: <a class="el" href="d6/de3/structwindow.html#a72629bf021a361ad900504732a74cb68">window</a>
+</li>
+<li>buffer_size
+: <a class="el" href="d6/de3/structwindow.html#a0e634038f669aff472012f25ea250b40">window</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_c"></a>- c -</h3><ul>
 <li>call()
 : <a class="el" href="de/dd0/class_lib_home_screen.html#a527b49dcfe581be6275d0eb2236ba37f">LibHomeScreen</a>
 </li>
 <li>call()
 : <a class="el" href="de/dd0/class_lib_home_screen.html#a527b49dcfe581be6275d0eb2236ba37f">LibHomeScreen</a>
 </li>
-<li>event
-: <a class="el" href="df/d7d/structevent.html#a58726ebc551d36562ac3f9e1fe293214">event</a>
+<li>callback
+: <a class="el" href="d6/de3/structwindow.html#a35ba639556fa19d9273dad0953a6807e">window</a>
+</li>
+<li>col
+: <a class="el" href="d6/de3/structwindow.html#aef10fe94766ccd4831ee611c5ad0e55c">window</a>
+</li>
+<li>compositor
+: <a class="el" href="d6/df5/structdisplay.html#a41ba32dfde812165dda5b62885000c78">display</a>
+</li>
+<li>conf
+: <a class="el" href="d6/df5/structdisplay.html#a880aef9408b499f5b749541dc6e396c3">display</a>
+</li>
+<li>ctx
+: <a class="el" href="d6/df5/structdisplay.html#a3420940a29a710e0e5ebd41ba462cc00">display</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_d"></a>- d -</h3><ul>
+<li>display
+: <a class="el" href="d6/df5/structdisplay.html#aa8faf09631925e9221fd8a0c086ce75a">display</a>
+, <a class="el" href="d6/de3/structwindow.html#a129486f2bd23791194f389ca1405cfd4">window</a>
+</li>
+<li>dpy
+: <a class="el" href="d6/df5/structdisplay.html#a8a1cbda15a286e41e89a85f158ce9311">display</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_e"></a>- e -</h3><ul>
+<li>egl
+: <a class="el" href="d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">display</a>
+</li>
+<li>egl_surface
+: <a class="el" href="d6/de3/structwindow.html#a8de0059f3f1cb0dec33fba1143b7dee1">window</a>
+</li>
+<li>Event_HideWindow
+: <a class="el" href="de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aef8bb1086ddbc0a125d77af9da3146a0">LibHomeScreen</a>
 </li>
 <li>event_list
 : <a class="el" href="de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9">LibHomeScreen</a>
 </li>
 <li>event_list
 : <a class="el" href="de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9">LibHomeScreen</a>
@@ -77,24 +208,106 @@ $(function() {
 <li>Event_OnScreenReply
 : <a class="el" href="de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd">LibHomeScreen</a>
 </li>
 <li>Event_OnScreenReply
 : <a class="el" href="de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd">LibHomeScreen</a>
 </li>
+<li>Event_ReplyShowWindow
+: <a class="el" href="de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aaacb8babce7fac884ab4bf7605da0d9f">LibHomeScreen</a>
+</li>
+<li>Event_ShowInformation
+: <a class="el" href="de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a1fad2ac5071a1dae7db9c8e1b522669b">LibHomeScreen</a>
+</li>
+<li>Event_ShowNotification
+: <a class="el" href="de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a68119a9c3ff85e807db38d3282e5ca30">LibHomeScreen</a>
+</li>
+<li>Event_ShowWindow
+: <a class="el" href="de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a3fb3563c64786f1a2ae404df6edffd5c">LibHomeScreen</a>
+</li>
 <li>Event_TapShortcut
 : <a class="el" href="de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f">LibHomeScreen</a>
 </li>
 <li>EventType
 : <a class="el" href="de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154">LibHomeScreen</a>
 </li>
 <li>Event_TapShortcut
 : <a class="el" href="de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f">LibHomeScreen</a>
 </li>
 <li>EventType
 : <a class="el" href="de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154">LibHomeScreen</a>
 </li>
+</ul>
+
+
+<h3><a class="anchor" id="index_f"></a>- f -</h3><ul>
+<li>frame_sync
+: <a class="el" href="d6/de3/structwindow.html#a851bcb65083f5ab5ff768b09522bed70">window</a>
+</li>
+<li>frames
+: <a class="el" href="d6/de3/structwindow.html#a633864bb495ec265bee220a5c70cc98f">window</a>
+</li>
+<li>fullscreen
+: <a class="el" href="d6/de3/structwindow.html#a8da44798a9e1feb7ed3fbd18ec3a28b6">window</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_g"></a>- g -</h3><ul>
+<li>gl
+: <a class="el" href="d6/de3/structwindow.html#a6975a930e9a3c166f8201fc4ef5e7728">window</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_h"></a>- h -</h3><ul>
 <li>handler_func
 : <a class="el" href="de/dd0/class_lib_home_screen.html#a334f11f81c84c98d18284215dcaada3a">LibHomeScreen</a>
 </li>
 <li>handler_func
 : <a class="el" href="de/dd0/class_lib_home_screen.html#a334f11f81c84c98d18284215dcaada3a">LibHomeScreen</a>
 </li>
+<li>height
+: <a class="el" href="dd/ddc/structgeometry.html#a6968ae18c72699d1c164399bf0e5cf14">geometry</a>
+</li>
+<li>hideWindow()
+: <a class="el" href="d5/d20/class_h_s___client.html#ac29482ffdf1b27733247ba0ffcc28b76">HS_Client</a>
+, <a class="el" href="d2/d8e/class_h_s___client_manager.html#a6195694d281a3b97b0345b96c0add1fd">HS_ClientManager</a>
+, <a class="el" href="de/dd0/class_lib_home_screen.html#a4dbaea6c7b310e8ce7207155ff11b32a">LibHomeScreen</a>
+</li>
+<li>HS_Client()
+: <a class="el" href="d5/d20/class_h_s___client.html#a0afac6b86b9a72e74846e47e435f5f90">HS_Client</a>
+</li>
+<li>HS_ClientCtxt()
+: <a class="el" href="d0/d53/struct_h_s___client_ctxt.html#a9ff4dcc7b8c6061940a0ee79b5d15459">HS_ClientCtxt</a>
+</li>
+<li>HS_ClientManager()
+: <a class="el" href="d2/d8e/class_h_s___client_manager.html#a0033db6b552f9de818789e76735c1ebc">HS_ClientManager</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_i"></a>- i -</h3><ul>
+<li>id
+: <a class="el" href="d0/d53/struct_h_s___client_ctxt.html#a04929d7d5f583a821d3d594815f77d1c">HS_ClientCtxt</a>
+</li>
 <li>init()
 <li>init()
-: <a class="el" href="de/dd0/class_lib_home_screen.html#a6a57b573cc767725762ba9beab032220">LibHomeScreen</a>
+: <a class="el" href="d2/d8e/class_h_s___client_manager.html#ae0b9b18adeffca7822b060ad4ea8a7a1">HS_ClientManager</a>
+, <a class="el" href="de/dd0/class_lib_home_screen.html#a6a57b573cc767725762ba9beab032220">LibHomeScreen</a>
+</li>
+<li>instance()
+: <a class="el" href="d2/d8e/class_h_s___client_manager.html#ad86c1fea7d107d52cbf0466fb7a2658b">HS_ClientManager</a>
+</li>
+<li>ivi_application
+: <a class="el" href="d6/df5/structdisplay.html#a24c073faff3bb4799c2d46291f27ab89">display</a>
 </li>
 </li>
+<li>ivi_surface
+: <a class="el" href="d6/de3/structwindow.html#a40e2c6fb4178953c820fc1b9f41d4b31">window</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_l"></a>- l -</h3><ul>
 <li>LibHomeScreen()
 : <a class="el" href="de/dd0/class_lib_home_screen.html#a724bd949c4154fad041f96a15ef0f5dc">LibHomeScreen</a>
 </li>
 <li>LibHomeScreen()
 : <a class="el" href="de/dd0/class_lib_home_screen.html#a724bd949c4154fad041f96a15ef0f5dc">LibHomeScreen</a>
 </li>
-<li>name
-: <a class="el" href="df/d7d/structevent.html#a45c6cfb7961a21a3366db067e4cc59ab">event</a>
+</ul>
+
+
+<h3><a class="anchor" id="index_n"></a>- n -</h3><ul>
+<li>native
+: <a class="el" href="d6/de3/structwindow.html#ae41be0955d0e73530e1bc13dfeb9d731">window</a>
 </li>
 </li>
+</ul>
+
+
+<h3><a class="anchor" id="index_o"></a>- o -</h3><ul>
 <li>on_call()
 : <a class="el" href="de/dd0/class_lib_home_screen.html#a608638eb87b2772a3dcc92d8ca8f3596">LibHomeScreen</a>
 </li>
 <li>on_call()
 : <a class="el" href="de/dd0/class_lib_home_screen.html#a608638eb87b2772a3dcc92d8ca8f3596">LibHomeScreen</a>
 </li>
@@ -107,29 +320,134 @@ $(function() {
 <li>on_reply()
 : <a class="el" href="de/dd0/class_lib_home_screen.html#a248d9648c6186287a7632ec1c75fc9c5">LibHomeScreen</a>
 </li>
 <li>on_reply()
 : <a class="el" href="de/dd0/class_lib_home_screen.html#a248d9648c6186287a7632ec1c75fc9c5">LibHomeScreen</a>
 </li>
+<li>on_screen_message()
+: <a class="el" href="d5/d20/class_h_s___client.html#a274301617c9ab629d6916c0dde8c40b9">HS_Client</a>
+, <a class="el" href="d2/d8e/class_h_s___client_manager.html#a58ce4a013d3694265dd69f481bf88510">HS_ClientManager</a>
+</li>
+<li>on_screen_reply()
+: <a class="el" href="d5/d20/class_h_s___client.html#a9f7a30840c95b1348bcce4cd4626b2ae">HS_Client</a>
+, <a class="el" href="d2/d8e/class_h_s___client_manager.html#aa78f992287e3b8fe93422b331dc9edc5">HS_ClientManager</a>
+</li>
 <li>onScreenMessage()
 : <a class="el" href="de/dd0/class_lib_home_screen.html#ac336482036a72b51a822725f1929523c">LibHomeScreen</a>
 </li>
 <li>onScreenReply()
 : <a class="el" href="de/dd0/class_lib_home_screen.html#a6c065f41f2c5d1f58d2763bfb4da9c37">LibHomeScreen</a>
 </li>
 <li>onScreenMessage()
 : <a class="el" href="de/dd0/class_lib_home_screen.html#ac336482036a72b51a822725f1929523c">LibHomeScreen</a>
 </li>
 <li>onScreenReply()
 : <a class="el" href="de/dd0/class_lib_home_screen.html#a6c065f41f2c5d1f58d2763bfb4da9c37">LibHomeScreen</a>
 </li>
+<li>opaque
+: <a class="el" href="d6/de3/structwindow.html#a026a50808d8323a5a73d585c19916fa8">window</a>
+</li>
 <li>operator=()
 <li>operator=()
-: <a class="el" href="de/dd0/class_lib_home_screen.html#a23bc17798453cfca50904562736f6b25">LibHomeScreen</a>
+: <a class="el" href="d5/d20/class_h_s___client.html#a3e3d8fa1c8746d6d1b1650fe1fcc56a8">HS_Client</a>
+, <a class="el" href="d2/d8e/class_h_s___client_manager.html#ac8e02cffc79d4530b06e1143abb18891">HS_ClientManager</a>
+, <a class="el" href="de/dd0/class_lib_home_screen.html#a23bc17798453cfca50904562736f6b25">LibHomeScreen</a>
 </li>
 </li>
+</ul>
+
+
+<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
+<li>pos
+: <a class="el" href="d6/de3/structwindow.html#aaf965f90f9fc938db2315ff62028c362">window</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_r"></a>- r -</h3><ul>
 <li>registerCallback()
 : <a class="el" href="de/dd0/class_lib_home_screen.html#a2789e8a5372202cc36f48e71dbb9b7cf">LibHomeScreen</a>
 </li>
 <li>registerCallback()
 : <a class="el" href="de/dd0/class_lib_home_screen.html#a2789e8a5372202cc36f48e71dbb9b7cf">LibHomeScreen</a>
 </li>
+<li>registry
+: <a class="el" href="d6/df5/structdisplay.html#a925781323f5c8eb84ef2225ed129de4b">display</a>
+</li>
+<li>removeClientCtxt()
+: <a class="el" href="d2/d8e/class_h_s___client_manager.html#adc23f8b3f5cc06eeab39fb24098af3e2">HS_ClientManager</a>
+</li>
+<li>replyShowWindow()
+: <a class="el" href="d5/d20/class_h_s___client.html#a294e461500ef02aed17ed5d91479f6b9">HS_Client</a>
+, <a class="el" href="d2/d8e/class_h_s___client_manager.html#a59b1c1e115b5a257a585c41f854f5fdd">HS_ClientManager</a>
+, <a class="el" href="de/dd0/class_lib_home_screen.html#a6310b129fc85ef0623e2e2063950cc4b">LibHomeScreen</a>
+</li>
+<li>rotation_uniform
+: <a class="el" href="d6/de3/structwindow.html#a5202f3b60e262a6fa4fcee68dd47cb67">window</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
+<li>seat
+: <a class="el" href="d6/df5/structdisplay.html#a9dd8fd9967beb6b3767bd93011373bb8">display</a>
+</li>
 <li>set_event_handler()
 : <a class="el" href="de/dd0/class_lib_home_screen.html#ab1b0e08bf35415de9064afed899e9f85">LibHomeScreen</a>
 </li>
 <li>set_event_handler()
 : <a class="el" href="de/dd0/class_lib_home_screen.html#ab1b0e08bf35415de9064afed899e9f85">LibHomeScreen</a>
 </li>
+<li>showInformation()
+: <a class="el" href="d5/d20/class_h_s___client.html#a7145c14a7a971b45f647a82e3390ce9c">HS_Client</a>
+, <a class="el" href="d2/d8e/class_h_s___client_manager.html#a0645294f89c67fd3c9b0cce62a900f69">HS_ClientManager</a>
+, <a class="el" href="de/dd0/class_lib_home_screen.html#ada999aeb0444c964428bdf1ee236727f">LibHomeScreen</a>
+</li>
+<li>showNotification()
+: <a class="el" href="d5/d20/class_h_s___client.html#a77b41c1bc6f2c939410108d821a0b456">HS_Client</a>
+, <a class="el" href="d2/d8e/class_h_s___client_manager.html#a857934af280081ca6ac61d9f2cac37c5">HS_ClientManager</a>
+, <a class="el" href="de/dd0/class_lib_home_screen.html#a93ad567ed597a80a344ba82457c2bd7f">LibHomeScreen</a>
+</li>
+<li>showWindow()
+: <a class="el" href="d5/d20/class_h_s___client.html#af0f2be967a5b6ee81932c73b101184f7">HS_Client</a>
+, <a class="el" href="d2/d8e/class_h_s___client_manager.html#afed8158f276d1d22c32b0d89e970d442">HS_ClientManager</a>
+, <a class="el" href="de/dd0/class_lib_home_screen.html#a69fc770cb3f94d30a10c2c8c81eb892f">LibHomeScreen</a>
+</li>
 <li>subscribe()
 <li>subscribe()
-: <a class="el" href="de/dd0/class_lib_home_screen.html#aa4c189807b75d070f567967f0d690738">LibHomeScreen</a>
+: <a class="el" href="d5/d20/class_h_s___client.html#a3d000ca70bd4a8af7c4895d95bc7d0d0">HS_Client</a>
+, <a class="el" href="d2/d8e/class_h_s___client_manager.html#a1b8a4e42342c4bcdc4e7dc4934e02469">HS_ClientManager</a>
+, <a class="el" href="de/dd0/class_lib_home_screen.html#aa4c189807b75d070f567967f0d690738">LibHomeScreen</a>
+</li>
+<li>surface
+: <a class="el" href="d6/de3/structwindow.html#a7d0790cfc7c30621611fa26ab5c1ae97">window</a>
+</li>
+<li>swap_buffers_with_damage
+: <a class="el" href="d6/df5/structdisplay.html#a48c46c118e4765ef06596f6341c8f23f">display</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_t"></a>- t -</h3><ul>
+<li>tap_shortcut()
+: <a class="el" href="d5/d20/class_h_s___client.html#a0d7fb8316248e8946dcb73a6612f21bb">HS_Client</a>
+, <a class="el" href="d2/d8e/class_h_s___client_manager.html#a9910fc27c412530b5b9854b00bd16c07">HS_ClientManager</a>
 </li>
 <li>tapShortcut()
 </li>
 <li>tapShortcut()
-: <a class="el" href="de/dd0/class_lib_home_screen.html#afb571c9577087b47065eb23e7fdbc903">LibHomeScreen</a>
+: <a class="el" href="de/dd0/class_lib_home_screen.html#a6ca8ff4a2aa019a735afaff713e0ef44">LibHomeScreen</a>
 </li>
 </li>
+</ul>
+
+
+<h3><a class="anchor" id="index_u"></a>- u -</h3><ul>
 <li>unsubscribe()
 <li>unsubscribe()
-: <a class="el" href="de/dd0/class_lib_home_screen.html#aac03a45cbd453ba69ddb00c1016930a6">LibHomeScreen</a>
+: <a class="el" href="d5/d20/class_h_s___client.html#a3da3b5662f918e11773da75f8f971d9c">HS_Client</a>
+, <a class="el" href="d2/d8e/class_h_s___client_manager.html#ac86314afbb90116e2f02ce071166226e">HS_ClientManager</a>
+, <a class="el" href="de/dd0/class_lib_home_screen.html#aac03a45cbd453ba69ddb00c1016930a6">LibHomeScreen</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_w"></a>- w -</h3><ul>
+<li>width
+: <a class="el" href="dd/ddc/structgeometry.html#a854a87ce277335591f06958a2363c3e1">geometry</a>
+</li>
+<li>window
+: <a class="el" href="d6/df5/structdisplay.html#a9974d560bec291487ae2440f897ffc58">display</a>
+</li>
+<li>window_size
+: <a class="el" href="d6/de3/structwindow.html#ad2b6c8ed8044b41fd1189a0ce26d539a">window</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_0x7e"></a>- ~ -</h3><ul>
+<li>~HS_Client()
+: <a class="el" href="d5/d20/class_h_s___client.html#ab29a9e899aaec3c21983c24ec6e5ee70">HS_Client</a>
+</li>
+<li>~HS_ClientManager()
+: <a class="el" href="d2/d8e/class_h_s___client_manager.html#a50733274a93293fef892fdd453d74cae">HS_ClientManager</a>
 </li>
 <li>~LibHomeScreen()
 : <a class="el" href="de/dd0/class_lib_home_screen.html#a249902aebf71a5383ca8ec6ae558d095">LibHomeScreen</a>
 </li>
 <li>~LibHomeScreen()
 : <a class="el" href="de/dd0/class_lib_home_screen.html#a249902aebf71a5383ca8ec6ae558d095">LibHomeScreen</a>
@@ -140,7 +458,7 @@ $(function() {
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.13
+</a> 1.8.11
 </small></address>
 </body>
 </html>
 </small></address>
 </body>
 </html>
index 77795ff..d1f4dca 100644 (file)
@@ -3,8 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <title>HomeScreenBinding: Class Members - Enumerations</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="jquery.js"></script>
 <title>HomeScreenBinding: Class Members - Enumerations</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="jquery.js"></script>
@@ -12,6 +11,9 @@
 <link href="search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="search/searchdata.js"></script>
 <script type="text/javascript" src="search/search.js"></script>
 <link href="search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="search/searchdata.js"></script>
 <script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
 <link href="doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
 <link href="doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
 </table>
 </div>
 <!-- end header part -->
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.11 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </script>
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-$(function() {
-  initMenu('',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-</script>
-<div id="main-nav"></div>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li><a href="functions.html"><span>All</span></a></li>
+      <li><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_type.html"><span>Typedefs</span></a></li>
+      <li class="current"><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+    </ul>
+  </div>
 </div><!-- top -->
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
 </div><!-- top -->
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
@@ -68,7 +101,7 @@ $(function() {
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.13
+</a> 1.8.11
 </small></address>
 </body>
 </html>
 </small></address>
 </body>
 </html>
index 9cbcc1b..4df2397 100644 (file)
@@ -3,8 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <title>HomeScreenBinding: Class Members - Enumerator</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="jquery.js"></script>
 <title>HomeScreenBinding: Class Members - Enumerator</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="jquery.js"></script>
@@ -12,6 +11,9 @@
 <link href="search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="search/searchdata.js"></script>
 <script type="text/javascript" src="search/search.js"></script>
 <link href="search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="search/searchdata.js"></script>
 <script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
 <link href="doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
 <link href="doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
 </table>
 </div>
 <!-- end header part -->
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.11 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </script>
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-$(function() {
-  initMenu('',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-</script>
-<div id="main-nav"></div>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li><a href="functions.html"><span>All</span></a></li>
+      <li><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_type.html"><span>Typedefs</span></a></li>
+      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li class="current"><a href="functions_eval.html"><span>Enumerator</span></a></li>
+    </ul>
+  </div>
 </div><!-- top -->
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
 </div><!-- top -->
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
@@ -59,12 +92,27 @@ $(function() {
 
 <div class="contents">
 &#160;<ul>
 
 <div class="contents">
 &#160;<ul>
+<li>Event_HideWindow
+: <a class="el" href="de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aef8bb1086ddbc0a125d77af9da3146a0">LibHomeScreen</a>
+</li>
 <li>Event_OnScreenMessage
 : <a class="el" href="de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d">LibHomeScreen</a>
 </li>
 <li>Event_OnScreenReply
 : <a class="el" href="de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd">LibHomeScreen</a>
 </li>
 <li>Event_OnScreenMessage
 : <a class="el" href="de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d">LibHomeScreen</a>
 </li>
 <li>Event_OnScreenReply
 : <a class="el" href="de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd">LibHomeScreen</a>
 </li>
+<li>Event_ReplyShowWindow
+: <a class="el" href="de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aaacb8babce7fac884ab4bf7605da0d9f">LibHomeScreen</a>
+</li>
+<li>Event_ShowInformation
+: <a class="el" href="de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a1fad2ac5071a1dae7db9c8e1b522669b">LibHomeScreen</a>
+</li>
+<li>Event_ShowNotification
+: <a class="el" href="de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a68119a9c3ff85e807db38d3282e5ca30">LibHomeScreen</a>
+</li>
+<li>Event_ShowWindow
+: <a class="el" href="de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a3fb3563c64786f1a2ae404df6edffd5c">LibHomeScreen</a>
+</li>
 <li>Event_TapShortcut
 : <a class="el" href="de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f">LibHomeScreen</a>
 </li>
 <li>Event_TapShortcut
 : <a class="el" href="de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f">LibHomeScreen</a>
 </li>
@@ -74,7 +122,7 @@ $(function() {
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.13
+</a> 1.8.11
 </small></address>
 </body>
 </html>
 </small></address>
 </body>
 </html>
index 500e2d4..eee39df 100644 (file)
@@ -3,8 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <title>HomeScreenBinding: Class Members - Functions</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="jquery.js"></script>
 <title>HomeScreenBinding: Class Members - Functions</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="jquery.js"></script>
@@ -12,6 +11,9 @@
 <link href="search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="search/searchdata.js"></script>
 <script type="text/javascript" src="search/search.js"></script>
 <link href="search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="search/searchdata.js"></script>
 <script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
 <link href="doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
 <link href="doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
 </table>
 </div>
 <!-- end header part -->
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.11 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </script>
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-$(function() {
-  initMenu('',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-</script>
-<div id="main-nav"></div>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li><a href="functions.html"><span>All</span></a></li>
+      <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_type.html"><span>Typedefs</span></a></li>
+      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow4" class="tabs3">
+    <ul class="tablist">
+      <li><a href="#index_c"><span>c</span></a></li>
+      <li><a href="#index_h"><span>h</span></a></li>
+      <li><a href="#index_i"><span>i</span></a></li>
+      <li><a href="#index_l"><span>l</span></a></li>
+      <li><a href="#index_o"><span>o</span></a></li>
+      <li><a href="#index_r"><span>r</span></a></li>
+      <li><a href="#index_s"><span>s</span></a></li>
+      <li><a href="#index_t"><span>t</span></a></li>
+      <li><a href="#index_u"><span>u</span></a></li>
+      <li class="current"><a href="#index_0x7e"><span>~</span></a></li>
+    </ul>
+  </div>
 </div><!-- top -->
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
 </div><!-- top -->
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
@@ -58,16 +105,52 @@ $(function() {
 </div>
 
 <div class="contents">
 </div>
 
 <div class="contents">
-&#160;<ul>
+&#160;
+
+<h3><a class="anchor" id="index_c"></a>- c -</h3><ul>
 <li>call()
 : <a class="el" href="de/dd0/class_lib_home_screen.html#a527b49dcfe581be6275d0eb2236ba37f">LibHomeScreen</a>
 </li>
 <li>call()
 : <a class="el" href="de/dd0/class_lib_home_screen.html#a527b49dcfe581be6275d0eb2236ba37f">LibHomeScreen</a>
 </li>
+</ul>
+
+
+<h3><a class="anchor" id="index_h"></a>- h -</h3><ul>
+<li>hideWindow()
+: <a class="el" href="d5/d20/class_h_s___client.html#ac29482ffdf1b27733247ba0ffcc28b76">HS_Client</a>
+, <a class="el" href="d2/d8e/class_h_s___client_manager.html#a6195694d281a3b97b0345b96c0add1fd">HS_ClientManager</a>
+, <a class="el" href="de/dd0/class_lib_home_screen.html#a4dbaea6c7b310e8ce7207155ff11b32a">LibHomeScreen</a>
+</li>
+<li>HS_Client()
+: <a class="el" href="d5/d20/class_h_s___client.html#a0afac6b86b9a72e74846e47e435f5f90">HS_Client</a>
+</li>
+<li>HS_ClientCtxt()
+: <a class="el" href="d0/d53/struct_h_s___client_ctxt.html#a9ff4dcc7b8c6061940a0ee79b5d15459">HS_ClientCtxt</a>
+</li>
+<li>HS_ClientManager()
+: <a class="el" href="d2/d8e/class_h_s___client_manager.html#adac35e476e559cc89bc39363525268bf">HS_ClientManager</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_i"></a>- i -</h3><ul>
 <li>init()
 <li>init()
-: <a class="el" href="de/dd0/class_lib_home_screen.html#a6a57b573cc767725762ba9beab032220">LibHomeScreen</a>
+: <a class="el" href="d2/d8e/class_h_s___client_manager.html#ae0b9b18adeffca7822b060ad4ea8a7a1">HS_ClientManager</a>
+, <a class="el" href="de/dd0/class_lib_home_screen.html#a6a57b573cc767725762ba9beab032220">LibHomeScreen</a>
+</li>
+<li>instance()
+: <a class="el" href="d2/d8e/class_h_s___client_manager.html#ad86c1fea7d107d52cbf0466fb7a2658b">HS_ClientManager</a>
 </li>
 </li>
+</ul>
+
+
+<h3><a class="anchor" id="index_l"></a>- l -</h3><ul>
 <li>LibHomeScreen()
 : <a class="el" href="de/dd0/class_lib_home_screen.html#a724bd949c4154fad041f96a15ef0f5dc">LibHomeScreen</a>
 </li>
 <li>LibHomeScreen()
 : <a class="el" href="de/dd0/class_lib_home_screen.html#a724bd949c4154fad041f96a15ef0f5dc">LibHomeScreen</a>
 </li>
+</ul>
+
+
+<h3><a class="anchor" id="index_o"></a>- o -</h3><ul>
 <li>on_call()
 : <a class="el" href="de/dd0/class_lib_home_screen.html#a608638eb87b2772a3dcc92d8ca8f3596">LibHomeScreen</a>
 </li>
 <li>on_call()
 : <a class="el" href="de/dd0/class_lib_home_screen.html#a608638eb87b2772a3dcc92d8ca8f3596">LibHomeScreen</a>
 </li>
@@ -80,6 +163,14 @@ $(function() {
 <li>on_reply()
 : <a class="el" href="de/dd0/class_lib_home_screen.html#a248d9648c6186287a7632ec1c75fc9c5">LibHomeScreen</a>
 </li>
 <li>on_reply()
 : <a class="el" href="de/dd0/class_lib_home_screen.html#a248d9648c6186287a7632ec1c75fc9c5">LibHomeScreen</a>
 </li>
+<li>on_screen_message()
+: <a class="el" href="d5/d20/class_h_s___client.html#a274301617c9ab629d6916c0dde8c40b9">HS_Client</a>
+, <a class="el" href="d2/d8e/class_h_s___client_manager.html#a58ce4a013d3694265dd69f481bf88510">HS_ClientManager</a>
+</li>
+<li>on_screen_reply()
+: <a class="el" href="d5/d20/class_h_s___client.html#a9f7a30840c95b1348bcce4cd4626b2ae">HS_Client</a>
+, <a class="el" href="d2/d8e/class_h_s___client_manager.html#aa78f992287e3b8fe93422b331dc9edc5">HS_ClientManager</a>
+</li>
 <li>onScreenMessage()
 : <a class="el" href="de/dd0/class_lib_home_screen.html#ac336482036a72b51a822725f1929523c">LibHomeScreen</a>
 </li>
 <li>onScreenMessage()
 : <a class="el" href="de/dd0/class_lib_home_screen.html#ac336482036a72b51a822725f1929523c">LibHomeScreen</a>
 </li>
@@ -87,22 +178,81 @@ $(function() {
 : <a class="el" href="de/dd0/class_lib_home_screen.html#a6c065f41f2c5d1f58d2763bfb4da9c37">LibHomeScreen</a>
 </li>
 <li>operator=()
 : <a class="el" href="de/dd0/class_lib_home_screen.html#a6c065f41f2c5d1f58d2763bfb4da9c37">LibHomeScreen</a>
 </li>
 <li>operator=()
-: <a class="el" href="de/dd0/class_lib_home_screen.html#a23bc17798453cfca50904562736f6b25">LibHomeScreen</a>
+: <a class="el" href="d5/d20/class_h_s___client.html#a3e3d8fa1c8746d6d1b1650fe1fcc56a8">HS_Client</a>
+, <a class="el" href="d2/d8e/class_h_s___client_manager.html#ac8e02cffc79d4530b06e1143abb18891">HS_ClientManager</a>
+, <a class="el" href="de/dd0/class_lib_home_screen.html#a23bc17798453cfca50904562736f6b25">LibHomeScreen</a>
 </li>
 </li>
+</ul>
+
+
+<h3><a class="anchor" id="index_r"></a>- r -</h3><ul>
 <li>registerCallback()
 : <a class="el" href="de/dd0/class_lib_home_screen.html#a2789e8a5372202cc36f48e71dbb9b7cf">LibHomeScreen</a>
 </li>
 <li>registerCallback()
 : <a class="el" href="de/dd0/class_lib_home_screen.html#a2789e8a5372202cc36f48e71dbb9b7cf">LibHomeScreen</a>
 </li>
+<li>removeClientCtxt()
+: <a class="el" href="d2/d8e/class_h_s___client_manager.html#adc23f8b3f5cc06eeab39fb24098af3e2">HS_ClientManager</a>
+</li>
+<li>replyShowWindow()
+: <a class="el" href="d5/d20/class_h_s___client.html#a294e461500ef02aed17ed5d91479f6b9">HS_Client</a>
+, <a class="el" href="d2/d8e/class_h_s___client_manager.html#a59b1c1e115b5a257a585c41f854f5fdd">HS_ClientManager</a>
+, <a class="el" href="de/dd0/class_lib_home_screen.html#a6310b129fc85ef0623e2e2063950cc4b">LibHomeScreen</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
 <li>set_event_handler()
 : <a class="el" href="de/dd0/class_lib_home_screen.html#ab1b0e08bf35415de9064afed899e9f85">LibHomeScreen</a>
 </li>
 <li>set_event_handler()
 : <a class="el" href="de/dd0/class_lib_home_screen.html#ab1b0e08bf35415de9064afed899e9f85">LibHomeScreen</a>
 </li>
+<li>showInformation()
+: <a class="el" href="d5/d20/class_h_s___client.html#a7145c14a7a971b45f647a82e3390ce9c">HS_Client</a>
+, <a class="el" href="d2/d8e/class_h_s___client_manager.html#a0645294f89c67fd3c9b0cce62a900f69">HS_ClientManager</a>
+, <a class="el" href="de/dd0/class_lib_home_screen.html#ada999aeb0444c964428bdf1ee236727f">LibHomeScreen</a>
+</li>
+<li>showNotification()
+: <a class="el" href="d5/d20/class_h_s___client.html#a77b41c1bc6f2c939410108d821a0b456">HS_Client</a>
+, <a class="el" href="d2/d8e/class_h_s___client_manager.html#a857934af280081ca6ac61d9f2cac37c5">HS_ClientManager</a>
+, <a class="el" href="de/dd0/class_lib_home_screen.html#a93ad567ed597a80a344ba82457c2bd7f">LibHomeScreen</a>
+</li>
+<li>showWindow()
+: <a class="el" href="d5/d20/class_h_s___client.html#af0f2be967a5b6ee81932c73b101184f7">HS_Client</a>
+, <a class="el" href="d2/d8e/class_h_s___client_manager.html#afed8158f276d1d22c32b0d89e970d442">HS_ClientManager</a>
+, <a class="el" href="de/dd0/class_lib_home_screen.html#a69fc770cb3f94d30a10c2c8c81eb892f">LibHomeScreen</a>
+</li>
 <li>subscribe()
 <li>subscribe()
-: <a class="el" href="de/dd0/class_lib_home_screen.html#aa4c189807b75d070f567967f0d690738">LibHomeScreen</a>
+: <a class="el" href="d5/d20/class_h_s___client.html#a3d000ca70bd4a8af7c4895d95bc7d0d0">HS_Client</a>
+, <a class="el" href="d2/d8e/class_h_s___client_manager.html#a1b8a4e42342c4bcdc4e7dc4934e02469">HS_ClientManager</a>
+, <a class="el" href="de/dd0/class_lib_home_screen.html#aa4c189807b75d070f567967f0d690738">LibHomeScreen</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_t"></a>- t -</h3><ul>
+<li>tap_shortcut()
+: <a class="el" href="d5/d20/class_h_s___client.html#a0d7fb8316248e8946dcb73a6612f21bb">HS_Client</a>
+, <a class="el" href="d2/d8e/class_h_s___client_manager.html#a9910fc27c412530b5b9854b00bd16c07">HS_ClientManager</a>
 </li>
 <li>tapShortcut()
 </li>
 <li>tapShortcut()
-: <a class="el" href="de/dd0/class_lib_home_screen.html#afb571c9577087b47065eb23e7fdbc903">LibHomeScreen</a>
+: <a class="el" href="de/dd0/class_lib_home_screen.html#a6ca8ff4a2aa019a735afaff713e0ef44">LibHomeScreen</a>
 </li>
 </li>
+</ul>
+
+
+<h3><a class="anchor" id="index_u"></a>- u -</h3><ul>
 <li>unsubscribe()
 <li>unsubscribe()
-: <a class="el" href="de/dd0/class_lib_home_screen.html#aac03a45cbd453ba69ddb00c1016930a6">LibHomeScreen</a>
+: <a class="el" href="d5/d20/class_h_s___client.html#a3da3b5662f918e11773da75f8f971d9c">HS_Client</a>
+, <a class="el" href="d2/d8e/class_h_s___client_manager.html#ac86314afbb90116e2f02ce071166226e">HS_ClientManager</a>
+, <a class="el" href="de/dd0/class_lib_home_screen.html#aac03a45cbd453ba69ddb00c1016930a6">LibHomeScreen</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_0x7e"></a>- ~ -</h3><ul>
+<li>~HS_Client()
+: <a class="el" href="d5/d20/class_h_s___client.html#ab29a9e899aaec3c21983c24ec6e5ee70">HS_Client</a>
+</li>
+<li>~HS_ClientManager()
+: <a class="el" href="d2/d8e/class_h_s___client_manager.html#a50733274a93293fef892fdd453d74cae">HS_ClientManager</a>
 </li>
 <li>~LibHomeScreen()
 : <a class="el" href="de/dd0/class_lib_home_screen.html#a249902aebf71a5383ca8ec6ae558d095">LibHomeScreen</a>
 </li>
 <li>~LibHomeScreen()
 : <a class="el" href="de/dd0/class_lib_home_screen.html#a249902aebf71a5383ca8ec6ae558d095">LibHomeScreen</a>
@@ -113,7 +263,7 @@ $(function() {
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.13
+</a> 1.8.11
 </small></address>
 </body>
 </html>
 </small></address>
 </body>
 </html>
index f9914d4..e9e0af5 100644 (file)
@@ -3,8 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <title>HomeScreenBinding: Class Members - Typedefs</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="jquery.js"></script>
 <title>HomeScreenBinding: Class Members - Typedefs</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="jquery.js"></script>
@@ -12,6 +11,9 @@
 <link href="search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="search/searchdata.js"></script>
 <script type="text/javascript" src="search/search.js"></script>
 <link href="search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="search/searchdata.js"></script>
 <script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
 <link href="doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
 <link href="doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
 </table>
 </div>
 <!-- end header part -->
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.11 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </script>
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-$(function() {
-  initMenu('',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-</script>
-<div id="main-nav"></div>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li><a href="functions.html"><span>All</span></a></li>
+      <li><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li class="current"><a href="functions_type.html"><span>Typedefs</span></a></li>
+      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+    </ul>
+  </div>
 </div><!-- top -->
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
 </div><!-- top -->
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
@@ -68,7 +101,7 @@ $(function() {
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.13
+</a> 1.8.11
 </small></address>
 </body>
 </html>
 </small></address>
 </body>
 </html>
index 8926b79..dbe2ca3 100644 (file)
@@ -3,8 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <title>HomeScreenBinding: Class Members - Variables</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="jquery.js"></script>
 <title>HomeScreenBinding: Class Members - Variables</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="jquery.js"></script>
@@ -12,6 +11,9 @@
 <link href="search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="search/searchdata.js"></script>
 <script type="text/javascript" src="search/search.js"></script>
 <link href="search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="search/searchdata.js"></script>
 <script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
 <link href="doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
 <link href="doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
 </table>
 </div>
 <!-- end header part -->
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.11 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </script>
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-$(function() {
-  initMenu('',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-</script>
-<div id="main-nav"></div>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li><a href="functions.html"><span>All</span></a></li>
+      <li><a href="functions_func.html"><span>Functions</span></a></li>
+      <li class="current"><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_type.html"><span>Typedefs</span></a></li>
+      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow4" class="tabs3">
+    <ul class="tablist">
+      <li><a href="#index__"><span>_</span></a></li>
+      <li><a href="#index_a"><span>a</span></a></li>
+      <li><a href="#index_b"><span>b</span></a></li>
+      <li><a href="#index_c"><span>c</span></a></li>
+      <li><a href="#index_d"><span>d</span></a></li>
+      <li><a href="#index_e"><span>e</span></a></li>
+      <li><a href="#index_f"><span>f</span></a></li>
+      <li><a href="#index_g"><span>g</span></a></li>
+      <li><a href="#index_h"><span>h</span></a></li>
+      <li><a href="#index_i"><span>i</span></a></li>
+      <li><a href="#index_n"><span>n</span></a></li>
+      <li><a href="#index_o"><span>o</span></a></li>
+      <li><a href="#index_p"><span>p</span></a></li>
+      <li><a href="#index_r"><span>r</span></a></li>
+      <li><a href="#index_s"><span>s</span></a></li>
+      <li class="current"><a href="#index_w"><span>w</span></a></li>
+    </ul>
+  </div>
 </div><!-- top -->
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
 </div><!-- top -->
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
@@ -58,18 +111,183 @@ $(function() {
 </div>
 
 <div class="contents">
 </div>
 
 <div class="contents">
-&#160;<ul>
+&#160;
+
+<h3><a class="anchor" id="index__"></a>- _ -</h3><ul>
+<li>_areaFullScreen
+: <a class="el" href="de/dd0/class_lib_home_screen.html#ad0569f5323ead77a43bd8735377a6f25">LibHomeScreen</a>
+</li>
+<li>_areaNormal
+: <a class="el" href="de/dd0/class_lib_home_screen.html#aac718b60b83c74e2b061f6f7f7ec3bf5">LibHomeScreen</a>
+</li>
+<li>_areaSplitMain
+: <a class="el" href="de/dd0/class_lib_home_screen.html#a7f201fc366146790520bf8d990f7b2eb">LibHomeScreen</a>
+</li>
+<li>_areaSplitSub
+: <a class="el" href="de/dd0/class_lib_home_screen.html#ab4f54373b0681de11243152f01c48888">LibHomeScreen</a>
+</li>
+<li>_keyArea
+: <a class="el" href="de/dd0/class_lib_home_screen.html#a8becda1b035ae45f5a11c7e7963091bf">LibHomeScreen</a>
+</li>
+<li>_keyParameter
+: <a class="el" href="de/dd0/class_lib_home_screen.html#a927592eff8e34efbbceaf12522f8897f">LibHomeScreen</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_a"></a>- a -</h3><ul>
 <li>api_list
 : <a class="el" href="de/dd0/class_lib_home_screen.html#a5593ff5ac78f6495ccb649904cf0ab08">LibHomeScreen</a>
 </li>
 <li>api_list
 : <a class="el" href="de/dd0/class_lib_home_screen.html#a5593ff5ac78f6495ccb649904cf0ab08">LibHomeScreen</a>
 </li>
-<li>event
-: <a class="el" href="df/d7d/structevent.html#a58726ebc551d36562ac3f9e1fe293214">event</a>
+</ul>
+
+
+<h3><a class="anchor" id="index_b"></a>- b -</h3><ul>
+<li>benchmark_time
+: <a class="el" href="d6/de3/structwindow.html#a72629bf021a361ad900504732a74cb68">window</a>
+</li>
+<li>buffer_size
+: <a class="el" href="d6/de3/structwindow.html#a0e634038f669aff472012f25ea250b40">window</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_c"></a>- c -</h3><ul>
+<li>callback
+: <a class="el" href="d6/de3/structwindow.html#a35ba639556fa19d9273dad0953a6807e">window</a>
+</li>
+<li>col
+: <a class="el" href="d6/de3/structwindow.html#aef10fe94766ccd4831ee611c5ad0e55c">window</a>
+</li>
+<li>compositor
+: <a class="el" href="d6/df5/structdisplay.html#a41ba32dfde812165dda5b62885000c78">display</a>
+</li>
+<li>conf
+: <a class="el" href="d6/df5/structdisplay.html#a880aef9408b499f5b749541dc6e396c3">display</a>
+</li>
+<li>ctx
+: <a class="el" href="d6/df5/structdisplay.html#a3420940a29a710e0e5ebd41ba462cc00">display</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_d"></a>- d -</h3><ul>
+<li>display
+: <a class="el" href="d6/df5/structdisplay.html#aa8faf09631925e9221fd8a0c086ce75a">display</a>
+, <a class="el" href="d6/de3/structwindow.html#a129486f2bd23791194f389ca1405cfd4">window</a>
+</li>
+<li>dpy
+: <a class="el" href="d6/df5/structdisplay.html#a8a1cbda15a286e41e89a85f158ce9311">display</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_e"></a>- e -</h3><ul>
+<li>egl
+: <a class="el" href="d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7">display</a>
+</li>
+<li>egl_surface
+: <a class="el" href="d6/de3/structwindow.html#a8de0059f3f1cb0dec33fba1143b7dee1">window</a>
 </li>
 <li>event_list
 : <a class="el" href="de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9">LibHomeScreen</a>
 </li>
 </li>
 <li>event_list
 : <a class="el" href="de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9">LibHomeScreen</a>
 </li>
-<li>name
-: <a class="el" href="df/d7d/structevent.html#a45c6cfb7961a21a3366db067e4cc59ab">event</a>
+</ul>
+
+
+<h3><a class="anchor" id="index_f"></a>- f -</h3><ul>
+<li>frame_sync
+: <a class="el" href="d6/de3/structwindow.html#a851bcb65083f5ab5ff768b09522bed70">window</a>
+</li>
+<li>frames
+: <a class="el" href="d6/de3/structwindow.html#a633864bb495ec265bee220a5c70cc98f">window</a>
+</li>
+<li>fullscreen
+: <a class="el" href="d6/de3/structwindow.html#a8da44798a9e1feb7ed3fbd18ec3a28b6">window</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_g"></a>- g -</h3><ul>
+<li>gl
+: <a class="el" href="d6/de3/structwindow.html#a6975a930e9a3c166f8201fc4ef5e7728">window</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_h"></a>- h -</h3><ul>
+<li>height
+: <a class="el" href="dd/ddc/structgeometry.html#a6968ae18c72699d1c164399bf0e5cf14">geometry</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_i"></a>- i -</h3><ul>
+<li>id
+: <a class="el" href="d0/d53/struct_h_s___client_ctxt.html#a04929d7d5f583a821d3d594815f77d1c">HS_ClientCtxt</a>
+</li>
+<li>ivi_application
+: <a class="el" href="d6/df5/structdisplay.html#a24c073faff3bb4799c2d46291f27ab89">display</a>
+</li>
+<li>ivi_surface
+: <a class="el" href="d6/de3/structwindow.html#a40e2c6fb4178953c820fc1b9f41d4b31">window</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_n"></a>- n -</h3><ul>
+<li>native
+: <a class="el" href="d6/de3/structwindow.html#ae41be0955d0e73530e1bc13dfeb9d731">window</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_o"></a>- o -</h3><ul>
+<li>opaque
+: <a class="el" href="d6/de3/structwindow.html#a026a50808d8323a5a73d585c19916fa8">window</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
+<li>pos
+: <a class="el" href="d6/de3/structwindow.html#aaf965f90f9fc938db2315ff62028c362">window</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_r"></a>- r -</h3><ul>
+<li>registry
+: <a class="el" href="d6/df5/structdisplay.html#a925781323f5c8eb84ef2225ed129de4b">display</a>
+</li>
+<li>rotation_uniform
+: <a class="el" href="d6/de3/structwindow.html#a5202f3b60e262a6fa4fcee68dd47cb67">window</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
+<li>seat
+: <a class="el" href="d6/df5/structdisplay.html#a9dd8fd9967beb6b3767bd93011373bb8">display</a>
+</li>
+<li>surface
+: <a class="el" href="d6/de3/structwindow.html#a7d0790cfc7c30621611fa26ab5c1ae97">window</a>
+</li>
+<li>swap_buffers_with_damage
+: <a class="el" href="d6/df5/structdisplay.html#a48c46c118e4765ef06596f6341c8f23f">display</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_w"></a>- w -</h3><ul>
+<li>width
+: <a class="el" href="dd/ddc/structgeometry.html#a854a87ce277335591f06958a2363c3e1">geometry</a>
+</li>
+<li>window
+: <a class="el" href="d6/df5/structdisplay.html#a9974d560bec291487ae2440f897ffc58">display</a>
+</li>
+<li>window_size
+: <a class="el" href="d6/de3/structwindow.html#ad2b6c8ed8044b41fd1189a0ce26d539a">window</a>
 </li>
 </ul>
 </div><!-- contents -->
 </li>
 </ul>
 </div><!-- contents -->
@@ -77,7 +295,7 @@ $(function() {
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.13
+</a> 1.8.11
 </small></address>
 </body>
 </html>
 </small></address>
 </body>
 </html>
index 1498f7c..8d129dd 100644 (file)
@@ -3,8 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <title>HomeScreenBinding: File Members</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="jquery.js"></script>
 <title>HomeScreenBinding: File Members</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="jquery.js"></script>
@@ -12,6 +11,9 @@
 <link href="search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="search/searchdata.js"></script>
 <script type="text/javascript" src="search/search.js"></script>
 <link href="search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="search/searchdata.js"></script>
 <script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
 <link href="doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
 <link href="doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
 </table>
 </div>
 <!-- end header part -->
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.11 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </script>
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-$(function() {
-  initMenu('',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-</script>
-<div id="main-nav"></div>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+      <li class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="globals.html"><span>All</span></a></li>
+      <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_vars.html"><span>Variables</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Macros</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow4" class="tabs3">
+    <ul class="tablist">
+      <li><a href="#index__"><span>_</span></a></li>
+      <li><a href="#index_a"><span>a</span></a></li>
+      <li><a href="#index_c"><span>c</span></a></li>
+      <li><a href="#index_d"><span>d</span></a></li>
+      <li><a href="#index_e"><span>e</span></a></li>
+      <li><a href="#index_f"><span>f</span></a></li>
+      <li><a href="#index_g"><span>g</span></a></li>
+      <li><a href="#index_h"><span>h</span></a></li>
+      <li><a href="#index_i"><span>i</span></a></li>
+      <li><a href="#index_l"><span>l</span></a></li>
+      <li><a href="#index_m"><span>m</span></a></li>
+      <li><a href="#index_n"><span>n</span></a></li>
+      <li><a href="#index_o"><span>o</span></a></li>
+      <li><a href="#index_p"><span>p</span></a></li>
+      <li><a href="#index_r"><span>r</span></a></li>
+      <li><a href="#index_s"><span>s</span></a></li>
+      <li><a href="#index_t"><span>t</span></a></li>
+      <li><a href="#index_u"><span>u</span></a></li>
+      <li><a href="#index_v"><span>v</span></a></li>
+      <li class="current"><a href="#index_w"><span>w</span></a></li>
+    </ul>
+  </div>
 </div><!-- top -->
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
 </div><!-- top -->
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
@@ -60,21 +117,36 @@ $(function() {
 <div class="contents">
 <div class="textblock">Here is a list of all file members with links to the files they belong to:</div>
 
 <div class="contents">
 <div class="textblock">Here is a list of all file members with links to the files they belong to:</div>
 
-<h3><a id="index__"></a>- _ -</h3><ul>
-<li>_application_name
-: <a class="el" href="d0/d1e/homescreen_8c.html#a1f2c79fa6801b63751e270d67994fe81">homescreen.c</a>
+<h3><a class="anchor" id="index__"></a>- _ -</h3><ul>
+<li>__FILENAME__
+: <a class="el" href="d2/d66/include_2hmi-debug_8h.html#a5fccb4fc71e44089a1b1a77fc76c0b68">hmi-debug.h</a>
+</li>
+<li>_application_id
+: <a class="el" href="d6/dda/homescreen_8cpp.html#a6a0e1db2562b442f8131ddf64b61d1ba">homescreen.cpp</a>
+, <a class="el" href="d3/d3d/hs-helper_8h.html#a6a0e1db2562b442f8131ddf64b61d1ba">hs-helper.h</a>
 </li>
 <li>_display_message
 </li>
 <li>_display_message
-: <a class="el" href="d0/d1e/homescreen_8c.html#abfd6c1d6f316fa952b11553f8f275e92">homescreen.c</a>
+: <a class="el" href="d6/dda/homescreen_8cpp.html#abfd6c1d6f316fa952b11553f8f275e92">homescreen.cpp</a>
+, <a class="el" href="d3/d3d/hs-helper_8h.html#abfd6c1d6f316fa952b11553f8f275e92">hs-helper.h</a>
 </li>
 <li>_error
 </li>
 <li>_error
-: <a class="el" href="d0/d1e/homescreen_8c.html#aed1c5296a2e6d34945507a0fca17a376">homescreen.c</a>
+: <a class="el" href="d6/dda/homescreen_8cpp.html#aed1c5296a2e6d34945507a0fca17a376">homescreen.cpp</a>
+, <a class="el" href="d3/d3d/hs-helper_8h.html#aed1c5296a2e6d34945507a0fca17a376">hs-helper.h</a>
 </li>
 <li>_GNU_SOURCE
 </li>
 <li>_GNU_SOURCE
-: <a class="el" href="d0/d1e/homescreen_8c.html#a369266c24eacffb87046522897a570d5">homescreen.c</a>
+: <a class="el" href="d6/dda/homescreen_8cpp.html#a369266c24eacffb87046522897a570d5">homescreen.cpp</a>
 </li>
 <li>_HMI_LOG()
 </li>
 <li>_HMI_LOG()
-: <a class="el" href="df/d76/hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a">hmi-debug.h</a>
+: <a class="el" href="d2/d66/include_2hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a">hmi-debug.h</a>
+</li>
+<li>_homescreen
+: <a class="el" href="dd/d30/hs-clientmanager_8cpp.html#a8bbab9002543614eacdc7a319d13a476">hs-clientmanager.cpp</a>
+</li>
+<li>_icon
+: <a class="el" href="d8/d55/hs-client_8cpp.html#a5476c8a51997c773220bec9fc02eeaf5">hs-client.cpp</a>
+</li>
+<li>_info
+: <a class="el" href="d8/d55/hs-client_8cpp.html#ae125cd80cb98582684636e46ecf33cac">hs-client.cpp</a>
 </li>
 <li>_on_call_static()
 : <a class="el" href="d0/d8a/libhomescreen_8cpp.html#a782a05fde0f1c17e0c4c8f972a3f53c8">libhomescreen.cpp</a>
 </li>
 <li>_on_call_static()
 : <a class="el" href="d0/d8a/libhomescreen_8cpp.html#a782a05fde0f1c17e0c4c8f972a3f53c8">libhomescreen.cpp</a>
@@ -88,188 +160,278 @@ $(function() {
 <li>_on_reply_static()
 : <a class="el" href="d0/d8a/libhomescreen_8cpp.html#a7778933bffa862c63fa0a1b8219faa8b">libhomescreen.cpp</a>
 </li>
 <li>_on_reply_static()
 : <a class="el" href="d0/d8a/libhomescreen_8cpp.html#a7778933bffa862c63fa0a1b8219faa8b">libhomescreen.cpp</a>
 </li>
+<li>_parameter
+: <a class="el" href="d8/d55/hs-client_8cpp.html#ae3fc16098a2461f2f1ae0ac8561437c6">hs-client.cpp</a>
+</li>
 <li>_reply_message
 <li>_reply_message
-: <a class="el" href="d0/d1e/homescreen_8c.html#a79b0f0b481161527ccb80e83da143219">homescreen.c</a>
+: <a class="el" href="d6/dda/homescreen_8cpp.html#a79b0f0b481161527ccb80e83da143219">homescreen.cpp</a>
+, <a class="el" href="d3/d3d/hs-helper_8h.html#a79b0f0b481161527ccb80e83da143219">hs-helper.h</a>
+</li>
+<li>_replyto
+: <a class="el" href="d8/d55/hs-client_8cpp.html#ac5b722c0d87d2b0e3dfc527b44a1f5db">hs-client.cpp</a>
+</li>
+<li>_text
+: <a class="el" href="d8/d55/hs-client_8cpp.html#ad177811d47939fe9404de88672a980ab">hs-client.cpp</a>
+</li>
+<li>_type
+: <a class="el" href="d8/d55/hs-client_8cpp.html#a1c24b43242df87f75631175c75afdcda">hs-client.cpp</a>
 </li>
 </ul>
 
 
 </li>
 </ul>
 
 
-<h3><a id="index_a"></a>- a -</h3><ul>
+<h3><a class="anchor" id="index_a"></a>- a -</h3><ul>
 <li>AFB_BINDING_VERSION
 <li>AFB_BINDING_VERSION
-: <a class="el" href="d0/d1e/homescreen_8c.html#ad2c1fbc92ba364fcf83f15e6d0af66f0">homescreen.c</a>
-, <a class="el" href="d3/d3d/hs-helper_8h.html#ad2c1fbc92ba364fcf83f15e6d0af66f0">hs-helper.h</a>
+: <a class="el" href="d3/d3d/hs-helper_8h.html#ad2c1fbc92ba364fcf83f15e6d0af66f0">hs-helper.h</a>
+</li>
+<li>AFB_EVENT_BAD_REQUEST
+: <a class="el" href="d3/d3d/hs-helper_8h.html#aa611e2ec24ef295bd87825889fe2ce5e">hs-helper.h</a>
+</li>
+<li>AFB_REQ_SHOWINFORMATION_ERROR
+: <a class="el" href="d3/d3d/hs-helper_8h.html#aefe0d7ff8202f954693c235c1fb8e310">hs-helper.h</a>
+</li>
+<li>AFB_REQ_SHOWNOTIFICATION_ERROR
+: <a class="el" href="d3/d3d/hs-helper_8h.html#a057fc88b8445828c261305cf9107d99d">hs-helper.h</a>
+</li>
+<li>AFB_REQ_SUBSCRIBE_ERROR
+: <a class="el" href="d3/d3d/hs-helper_8h.html#a995612de89db4df1483c16e4b9b70571">hs-helper.h</a>
 </li>
 </li>
-<li>afbBindingV2
-: <a class="el" href="d0/d1e/homescreen_8c.html#ae2a62ab481a2922cbfc788193857a12e">homescreen.c</a>
+<li>AFB_REQ_UNSUBSCRIBE_ERROR
+: <a class="el" href="d3/d3d/hs-helper_8h.html#a78e930a97920b821706a80ca8f430034">hs-helper.h</a>
+</li>
+<li>afbBindingExport
+: <a class="el" href="d6/dda/homescreen_8cpp.html#a970e7864dba290a0371534ad4961bcc5">homescreen.cpp</a>
 </li>
 <li>API
 : <a class="el" href="d0/d8a/libhomescreen_8cpp.html#a1e2d6e77dd8f0162f830058579eab42f">libhomescreen.cpp</a>
 </li>
 </li>
 <li>API
 : <a class="el" href="d0/d8a/libhomescreen_8cpp.html#a1e2d6e77dd8f0162f830058579eab42f">libhomescreen.cpp</a>
 </li>
+<li>app_name
+: <a class="el" href="de/da4/simple-egl_8cpp.html#a0da928eccfc57d1dfadfd29d4ac4854c">simple-egl.cpp</a>
+</li>
+<li>ApplicationId
+: <a class="el" href="d0/d8a/libhomescreen_8cpp.html#a5a89bcb5a83f6b2e5c664a041bd8fd00">libhomescreen.cpp</a>
+</li>
 </ul>
 
 
 </ul>
 
 
-<h3><a id="index_c"></a>- c -</h3><ul>
-<li>call_test()
-: <a class="el" href="df/dac/test_8cpp.html#aa9b3c43c212b49edee82ac30a11aa255">test.cpp</a>
+<h3><a class="anchor" id="index_c"></a>- c -</h3><ul>
+<li>cbRemoveClientCtxt()
+: <a class="el" href="dd/d30/hs-clientmanager_8cpp.html#a2e9d0e1086eba0a016056dc43bc90a73">hs-clientmanager.cpp</a>
+</li>
+<li>create_ivi_surface()
+: <a class="el" href="de/da4/simple-egl_8cpp.html#a0122201fe28a7f35b0fbd362fff7094e">simple-egl.cpp</a>
+</li>
+<li>create_shader()
+: <a class="el" href="de/da4/simple-egl_8cpp.html#ab72c580e4d6d47c2fb49c72cc76b85bb">simple-egl.cpp</a>
 </li>
 </li>
-<li>COMMAND_EVENT_NUM
-: <a class="el" href="d0/d1e/homescreen_8c.html#a09f43d9e7e1c5d2198c0d66024b4500e">homescreen.c</a>
+<li>create_surface()
+: <a class="el" href="de/da4/simple-egl_8cpp.html#a83c7f2e34bbc715d97f0642def708293">simple-egl.cpp</a>
 </li>
 </ul>
 
 
 </li>
 </ul>
 
 
-<h3><a id="index_e"></a>- e -</h3><ul>
-<li>ERROR_FLAG
-: <a class="el" href="df/d76/hmi-debug_8h.html#a13d4c7647aad2e84766f8b48a6caab09">hmi-debug.h</a>
+<h3><a class="anchor" id="index_d"></a>- d -</h3><ul>
+<li>destroy_surface()
+: <a class="el" href="de/da4/simple-egl_8cpp.html#aba2ea9aa51701e52d4f36b4f34cecf7a">simple-egl.cpp</a>
 </li>
 </li>
-<li>ev_on_screen_message
-: <a class="el" href="d0/d1e/homescreen_8c.html#af7cfc4f688bb898c09291252c4cb832c">homescreen.c</a>
+</ul>
+
+
+<h3><a class="anchor" id="index_e"></a>- e -</h3><ul>
+<li>EGL_BUFFER_AGE_EXT
+: <a class="el" href="de/da4/simple-egl_8cpp.html#a7045d8a6b4857f268a62fab2de2021fd">simple-egl.cpp</a>
 </li>
 </li>
-<li>ev_on_screen_reply
-: <a class="el" href="d0/d1e/homescreen_8c.html#a5c225341e0ecbae0585302ef754a55ec">homescreen.c</a>
+<li>EGL_EXT_buffer_age
+: <a class="el" href="de/da4/simple-egl_8cpp.html#a0792e3d8b2bc978f95917a234b0c81df">simple-egl.cpp</a>
 </li>
 </li>
-<li>ev_reserved
-: <a class="el" href="d0/d1e/homescreen_8c.html#a25fbdcc4e5787e3f41d99f4a71e86611">homescreen.c</a>
+<li>EGL_EXT_swap_buffers_with_damage
+: <a class="el" href="de/da4/simple-egl_8cpp.html#a083d37f289b99270e0391419178d458f">simple-egl.cpp</a>
 </li>
 </li>
-<li>ev_tap_shortcut
-: <a class="el" href="d0/d1e/homescreen_8c.html#a2af1ff5a4cbf03125e61e903832035f5">homescreen.c</a>
+<li>EGLBoolean()
+: <a class="el" href="de/da4/simple-egl_8cpp.html#ab4ad070d3bf82abe5e70330578f67893">simple-egl.cpp</a>
 </li>
 </li>
-<li>event_list
-: <a class="el" href="d0/d1e/homescreen_8c.html#a1c3c5bfa861dcb58d9e9d216d893864c">homescreen.c</a>
+<li>ERROR_FLAG
+: <a class="el" href="d2/d66/include_2hmi-debug_8h.html#a13d4c7647aad2e84766f8b48a6caab09">hmi-debug.h</a>
 </li>
 </li>
-<li>event_loop_run()
-: <a class="el" href="d0/d8a/libhomescreen_8cpp.html#aa73353e1bf62c68b6b0aba7a1e4e275e">libhomescreen.cpp</a>
+<li>evlist
+: <a class="el" href="df/d66/hs-helper_8cpp.html#a0cd84b1a2184c9b84d1b7bf24582f28e">hs-helper.cpp</a>
+, <a class="el" href="d3/d3d/hs-helper_8h.html#a0cd84b1a2184c9b84d1b7bf24582f28e">hs-helper.h</a>
 </li>
 </li>
-<li>EVENT_SUBSCRIBE_ERROR_CODE
-: <a class="el" href="d0/d1e/homescreen_8c.html#a9a68ed04201d9390bb85b2c6ab1d7250">homescreen.c</a>
+</ul>
+
+
+<h3><a class="anchor" id="index_f"></a>- f -</h3><ul>
+<li>fini_egl()
+: <a class="el" href="de/da4/simple-egl_8cpp.html#a4f71f46ede5b73bd7c770c973826f771">simple-egl.cpp</a>
 </li>
 </li>
-<li>evlist
-: <a class="el" href="d3/d3d/hs-helper_8h.html#a0cd84b1a2184c9b84d1b7bf24582f28e">hs-helper.h</a>
+<li>frag_shader_text
+: <a class="el" href="de/da4/simple-egl_8cpp.html#ab5a6a2a26ac23f79b1687daa4b0d8980">simple-egl.cpp</a>
 </li>
 </ul>
 
 
 </li>
 </ul>
 
 
-<h3><a id="index_g"></a>- g -</h3><ul>
+<h3><a class="anchor" id="index_g"></a>- g -</h3><ul>
+<li>g_client_manager
+: <a class="el" href="d6/dda/homescreen_8cpp.html#a501f5bca8425de3171d46e0723f466ec">homescreen.cpp</a>
+</li>
+<li>g_id_ivisurf
+: <a class="el" href="de/da4/simple-egl_8cpp.html#a28f56c9f01ed9f108201950645317cc9">simple-egl.cpp</a>
+</li>
 <li>get_value_int16()
 <li>get_value_int16()
-: <a class="el" href="dd/d1d/hs-helper_8c.html#a2e62366684e39ea94436bf017e416827">hs-helper.c</a>
-, <a class="el" href="d3/d3d/hs-helper_8h.html#a2e62366684e39ea94436bf017e416827">hs-helper.h</a>
+: <a class="el" href="df/d66/hs-helper_8cpp.html#af3043612cf74bb92cb073e10cacd594a">hs-helper.cpp</a>
+, <a class="el" href="d3/d3d/hs-helper_8h.html#af3043612cf74bb92cb073e10cacd594a">hs-helper.h</a>
 </li>
 <li>get_value_int32()
 </li>
 <li>get_value_int32()
-: <a class="el" href="d3/d3d/hs-helper_8h.html#ac5b0370643c520377afd3fd4891918d2">hs-helper.h</a>
-, <a class="el" href="dd/d1d/hs-helper_8c.html#ac5b0370643c520377afd3fd4891918d2">hs-helper.c</a>
+: <a class="el" href="df/d66/hs-helper_8cpp.html#a8121d965b6fd795c16b8576ab03dcaf1">hs-helper.cpp</a>
+, <a class="el" href="d3/d3d/hs-helper_8h.html#a8121d965b6fd795c16b8576ab03dcaf1">hs-helper.h</a>
 </li>
 <li>get_value_uint16()
 </li>
 <li>get_value_uint16()
-: <a class="el" href="d3/d3d/hs-helper_8h.html#a649900645417f2df3a70b9ad67529f53">hs-helper.h</a>
-, <a class="el" href="dd/d1d/hs-helper_8c.html#a649900645417f2df3a70b9ad67529f53">hs-helper.c</a>
+: <a class="el" href="df/d66/hs-helper_8cpp.html#aba9ca63f68b1991f8650871f4eae8e0b">hs-helper.cpp</a>
+, <a class="el" href="d3/d3d/hs-helper_8h.html#aba9ca63f68b1991f8650871f4eae8e0b">hs-helper.h</a>
 </li>
 </ul>
 
 
 </li>
 </ul>
 
 
-<h3><a id="index_h"></a>- h -</h3><ul>
+<h3><a class="anchor" id="index_h"></a>- h -</h3><ul>
 <li>has_verb()
 : <a class="el" href="d0/d8a/libhomescreen_8cpp.html#a7a2176c3d71fec0f09dcb2aa0866b17e">libhomescreen.cpp</a>
 </li>
 <li>has_verb()
 : <a class="el" href="d0/d8a/libhomescreen_8cpp.html#a7a2176c3d71fec0f09dcb2aa0866b17e">libhomescreen.cpp</a>
 </li>
+<li>hideWindow()
+: <a class="el" href="d6/dda/homescreen_8cpp.html#a057c380ea38cfba4e2fbccc40fc21798">homescreen.cpp</a>
+</li>
 <li>HMI_DEBUG
 <li>HMI_DEBUG
-: <a class="el" href="df/d76/hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">hmi-debug.h</a>
+: <a class="el" href="d2/d66/include_2hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">hmi-debug.h</a>
 </li>
 <li>HMI_ERROR
 </li>
 <li>HMI_ERROR
-: <a class="el" href="df/d76/hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">hmi-debug.h</a>
+: <a class="el" href="d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">hmi-debug.h</a>
 </li>
 <li>HMI_INFO
 </li>
 <li>HMI_INFO
-: <a class="el" href="df/d76/hmi-debug_8h.html#a11b249a67108f0f4c50a0fc8a3eb4f5c">hmi-debug.h</a>
+: <a class="el" href="d2/d66/include_2hmi-debug_8h.html#a11b249a67108f0f4c50a0fc8a3eb4f5c">hmi-debug.h</a>
 </li>
 <li>HMI_NOTICE
 </li>
 <li>HMI_NOTICE
-: <a class="el" href="df/d76/hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">hmi-debug.h</a>
+: <a class="el" href="d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">hmi-debug.h</a>
 </li>
 <li>HMI_WARNING
 </li>
 <li>HMI_WARNING
-: <a class="el" href="df/d76/hmi-debug_8h.html#a25361812432cd2480bc8f1a8e56ecbf7">hmi-debug.h</a>
+: <a class="el" href="d2/d66/include_2hmi-debug_8h.html#a25361812432cd2480bc8f1a8e56ecbf7">hmi-debug.h</a>
 </li>
 <li>hs
 </li>
 <li>hs
-: <a class="el" href="df/dac/test_8cpp.html#a529acbd1fed9d98a587edfa62309fa8d">test.cpp</a>
+: <a class="el" href="de/da4/simple-egl_8cpp.html#a529acbd1fed9d98a587edfa62309fa8d">simple-egl.cpp</a>
 </li>
 <li>hs_add_object_to_json_object()
 </li>
 <li>hs_add_object_to_json_object()
-: <a class="el" href="dd/d1d/hs-helper_8c.html#a1ba31a6a94515ff1730ba0043a67d59e">hs-helper.c</a>
+: <a class="el" href="df/d66/hs-helper_8cpp.html#a1ba31a6a94515ff1730ba0043a67d59e">hs-helper.cpp</a>
 , <a class="el" href="d3/d3d/hs-helper_8h.html#a1ba31a6a94515ff1730ba0043a67d59e">hs-helper.h</a>
 </li>
 <li>hs_add_object_to_json_object_func()
 , <a class="el" href="d3/d3d/hs-helper_8h.html#a1ba31a6a94515ff1730ba0043a67d59e">hs-helper.h</a>
 </li>
 <li>hs_add_object_to_json_object_func()
-: <a class="el" href="dd/d1d/hs-helper_8c.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs-helper.c</a>
+: <a class="el" href="df/d66/hs-helper_8cpp.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs-helper.cpp</a>
 , <a class="el" href="d3/d3d/hs-helper_8h.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs-helper.h</a>
 </li>
 <li>hs_add_object_to_json_object_str()
 , <a class="el" href="d3/d3d/hs-helper_8h.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs-helper.h</a>
 </li>
 <li>hs_add_object_to_json_object_str()
-: <a class="el" href="d3/d3d/hs-helper_8h.html#a8777c53f1d4d5412f19b134ad85ffedf">hs-helper.h</a>
-, <a class="el" href="dd/d1d/hs-helper_8c.html#a8777c53f1d4d5412f19b134ad85ffedf">hs-helper.c</a>
+: <a class="el" href="df/d66/hs-helper_8cpp.html#a8777c53f1d4d5412f19b134ad85ffedf">hs-helper.cpp</a>
+, <a class="el" href="d3/d3d/hs-helper_8h.html#a8777c53f1d4d5412f19b134ad85ffedf">hs-helper.h</a>
+</li>
+<li>HS_ClientCtxt
+: <a class="el" href="de/dca/hs-clientmanager_8h.html#a58a145d17337b835ab3fe17b50163040">hs-clientmanager.h</a>
 </li>
 <li>hs_search_event_name_index()
 </li>
 <li>hs_search_event_name_index()
-: <a class="el" href="dd/d1d/hs-helper_8c.html#a2ff1b894941c3b461ca8119079c4146a">hs-helper.c</a>
+: <a class="el" href="df/d66/hs-helper_8cpp.html#a2ff1b894941c3b461ca8119079c4146a">hs-helper.cpp</a>
 , <a class="el" href="d3/d3d/hs-helper_8h.html#a2ff1b894941c3b461ca8119079c4146a">hs-helper.h</a>
 </li>
 </ul>
 
 
 , <a class="el" href="d3/d3d/hs-helper_8h.html#a2ff1b894941c3b461ca8119079c4146a">hs-helper.h</a>
 </li>
 </ul>
 
 
-<h3><a id="index_i"></a>- i -</h3><ul>
+<h3><a class="anchor" id="index_i"></a>- i -</h3><ul>
 <li>init()
 <li>init()
-: <a class="el" href="d0/d1e/homescreen_8c.html#a00cbbc0f3f4452db078ae511684a6adc">homescreen.c</a>
+: <a class="el" href="d6/dda/homescreen_8cpp.html#a5d7de3437d5dcb79fa035959d95878db">homescreen.cpp</a>
+</li>
+<li>init_egl()
+: <a class="el" href="de/da4/simple-egl_8cpp.html#a1073d4aca1838d3877fe577d813700fc">simple-egl.cpp</a>
+</li>
+<li>init_gl()
+: <a class="el" href="de/da4/simple-egl_8cpp.html#ab3ee863fa45f4026f78f592d6f6e34ff">simple-egl.cpp</a>
+</li>
+<li>init_hs()
+: <a class="el" href="de/da4/simple-egl_8cpp.html#a79aafeb99915566dd3970246f465f306">simple-egl.cpp</a>
+</li>
+<li>init_wm()
+: <a class="el" href="de/da4/simple-egl_8cpp.html#a644e25276ecdea04f2aa3412c1973927">simple-egl.cpp</a>
+</li>
+<li>ivi_application_interface
+: <a class="el" href="de/da4/simple-egl_8cpp.html#a769b65b7b0e834f732f1f45e835890d5">simple-egl.cpp</a>
+</li>
+<li>ivi_application_requests
+: <a class="el" href="de/da4/simple-egl_8cpp.html#a21a39b7c6cf5f6d10a62a70b3ebc9bad">simple-egl.cpp</a>
+</li>
+<li>ivi_surface_events
+: <a class="el" href="de/da4/simple-egl_8cpp.html#ac848f4fbf712a9ba414272fa85577791">simple-egl.cpp</a>
+</li>
+<li>ivi_surface_interface
+: <a class="el" href="de/da4/simple-egl_8cpp.html#adf384de8d12d2edd7265ab85fd16b11c">simple-egl.cpp</a>
+</li>
+<li>ivi_surface_requests
+: <a class="el" href="de/da4/simple-egl_8cpp.html#ada80120c5590d2821da9babef808b98d">simple-egl.cpp</a>
 </li>
 </ul>
 
 
 </li>
 </ul>
 
 
-<h3><a id="index_l"></a>- l -</h3><ul>
+<h3><a class="anchor" id="index_l"></a>- l -</h3><ul>
 <li>LOG_LEVEL
 <li>LOG_LEVEL
-: <a class="el" href="df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583">hmi-debug.h</a>
+: <a class="el" href="d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583">hmi-debug.h</a>
 </li>
 <li>LOG_LEVEL_DEBUG
 </li>
 <li>LOG_LEVEL_DEBUG
-: <a class="el" href="df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177">hmi-debug.h</a>
+: <a class="el" href="d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177">hmi-debug.h</a>
 </li>
 <li>LOG_LEVEL_ERROR
 </li>
 <li>LOG_LEVEL_ERROR
-: <a class="el" href="df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f">hmi-debug.h</a>
+: <a class="el" href="d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f">hmi-debug.h</a>
 </li>
 <li>LOG_LEVEL_INFO
 </li>
 <li>LOG_LEVEL_INFO
-: <a class="el" href="df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4">hmi-debug.h</a>
+: <a class="el" href="d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4">hmi-debug.h</a>
 </li>
 <li>LOG_LEVEL_MAX
 </li>
 <li>LOG_LEVEL_MAX
-: <a class="el" href="df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444">hmi-debug.h</a>
+: <a class="el" href="d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444">hmi-debug.h</a>
 </li>
 <li>LOG_LEVEL_NONE
 </li>
 <li>LOG_LEVEL_NONE
-: <a class="el" href="df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848">hmi-debug.h</a>
+: <a class="el" href="d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848">hmi-debug.h</a>
 </li>
 <li>LOG_LEVEL_NOTICE
 </li>
 <li>LOG_LEVEL_NOTICE
-: <a class="el" href="df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e">hmi-debug.h</a>
+: <a class="el" href="d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e">hmi-debug.h</a>
 </li>
 <li>LOG_LEVEL_WARNING
 </li>
 <li>LOG_LEVEL_WARNING
-: <a class="el" href="df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef">hmi-debug.h</a>
+: <a class="el" href="d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef">hmi-debug.h</a>
+</li>
+<li>log_prefix
+: <a class="el" href="de/da4/simple-egl_8cpp.html#a894f18168fa25101d792262f59846938">simple-egl.cpp</a>
 </li>
 </ul>
 
 
 </li>
 </ul>
 
 
-<h3><a id="index_m"></a>- m -</h3><ul>
+<h3><a class="anchor" id="index_m"></a>- m -</h3><ul>
 <li>main()
 <li>main()
-: <a class="el" href="df/dac/test_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">test.cpp</a>
+: <a class="el" href="de/da4/simple-egl_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">simple-egl.cpp</a>
+</li>
+<li>main_role
+: <a class="el" href="de/da4/simple-egl_8cpp.html#a332251aa739a56836cd4fbf3ecbb8bb2">simple-egl.cpp</a>
 </li>
 </ul>
 
 
 </li>
 </ul>
 
 
-<h3><a id="index_n"></a>- n -</h3><ul>
+<h3><a class="anchor" id="index_n"></a>- n -</h3><ul>
+<li>n_rects
+: <a class="el" href="de/da4/simple-egl_8cpp.html#aa6a11810244355f89e6c4961b9dd3b53">simple-egl.cpp</a>
+</li>
 <li>NOT_NUMBER
 : <a class="el" href="d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a">hs-helper.h</a>
 </li>
 </ul>
 
 
 <li>NOT_NUMBER
 : <a class="el" href="d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a">hs-helper.h</a>
 </li>
 </ul>
 
 
-<h3><a id="index_o"></a>- o -</h3><ul>
+<h3><a class="anchor" id="index_o"></a>- o -</h3><ul>
 <li>on_screen_message()
 <li>on_screen_message()
-: <a class="el" href="d0/d1e/homescreen_8c.html#a640cf8ed97d804c5ed1c09a349056338">homescreen.c</a>
+: <a class="el" href="d6/dda/homescreen_8cpp.html#a0df2b60ff6cd56b53dc87b36bfee2b91">homescreen.cpp</a>
 </li>
 <li>on_screen_reply()
 </li>
 <li>on_screen_reply()
-: <a class="el" href="d0/d1e/homescreen_8c.html#a2f380055d7d69828115d2a8951634933">homescreen.c</a>
-</li>
-<li>onEv()
-: <a class="el" href="df/dac/test_8cpp.html#a6a2874c419fe5936fcccadc7e6cf268e">test.cpp</a>
+: <a class="el" href="d6/dda/homescreen_8cpp.html#a7443596f6ddf459824ecd8138c681532">homescreen.cpp</a>
 </li>
 <li>onevent()
 </li>
 <li>onevent()
-: <a class="el" href="d0/d1e/homescreen_8c.html#a1279893c0fe937311a81e0a98fb4cf1c">homescreen.c</a>
-</li>
-<li>onRep()
-: <a class="el" href="df/dac/test_8cpp.html#a6d3cb4886e7afd45bd56b49800da932d">test.cpp</a>
+: <a class="el" href="d6/dda/homescreen_8cpp.html#a60665935681c76d38b3833912109cdd3">homescreen.cpp</a>
 </li>
 <li>OUT_RANGE
 : <a class="el" href="d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b">hs-helper.h</a>
 </li>
 <li>OUT_RANGE
 : <a class="el" href="d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b">hs-helper.h</a>
@@ -277,17 +439,38 @@ $(function() {
 </ul>
 
 
 </ul>
 
 
-<h3><a id="index_p"></a>- p -</h3><ul>
+<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
 <li>pingSample()
 <li>pingSample()
-: <a class="el" href="d0/d1e/homescreen_8c.html#af48cab759d4ae0ddbfcdd60f4051ba05">homescreen.c</a>
+: <a class="el" href="d6/dda/homescreen_8cpp.html#ace65cfe6008848a3cd66581f536cc4c9">homescreen.cpp</a>
+</li>
+<li>port
+: <a class="el" href="de/da4/simple-egl_8cpp.html#a300b6806fe6818927fe4df08f2398124">simple-egl.cpp</a>
 </li>
 <li>preinit()
 </li>
 <li>preinit()
-: <a class="el" href="d0/d1e/homescreen_8c.html#a83d646edf54a6a082f69121bc89a08de">homescreen.c</a>
+: <a class="el" href="d6/dda/homescreen_8cpp.html#ab3b1914acb53dcc038c1cf86c2975785">homescreen.cpp</a>
 </li>
 </ul>
 
 
 </li>
 </ul>
 
 
-<h3><a id="index_r"></a>- r -</h3><ul>
+<h3><a class="anchor" id="index_r"></a>- r -</h3><ul>
+<li>rects
+: <a class="el" href="de/da4/simple-egl_8cpp.html#a56616f7ca3fc53c0da41d05de9330b11">simple-egl.cpp</a>
+</li>
+<li>redraw()
+: <a class="el" href="de/da4/simple-egl_8cpp.html#a927502f6103ec35422eead39e62ab7ba">simple-egl.cpp</a>
+</li>
+<li>registry_handle_global()
+: <a class="el" href="de/da4/simple-egl_8cpp.html#af288e02a94c196a68b327fc55c049932">simple-egl.cpp</a>
+</li>
+<li>registry_handle_global_remove()
+: <a class="el" href="de/da4/simple-egl_8cpp.html#a59a731b9efa9d6a2015cdc8ccae1db80">simple-egl.cpp</a>
+</li>
+<li>registry_listener
+: <a class="el" href="de/da4/simple-egl_8cpp.html#a8998c87c94cd7d185e8f0cdafab4b1c4">simple-egl.cpp</a>
+</li>
+<li>replyShowWindow()
+: <a class="el" href="d6/dda/homescreen_8cpp.html#a710bcc84a61e11dbd4517def2764ff95">homescreen.cpp</a>
+</li>
 <li>REQ_ERROR
 : <a class="el" href="d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899">hs-helper.h</a>
 </li>
 <li>REQ_ERROR
 : <a class="el" href="d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899">hs-helper.h</a>
 </li>
@@ -297,39 +480,67 @@ $(function() {
 <li>REQ_OK
 : <a class="el" href="d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee">hs-helper.h</a>
 </li>
 <li>REQ_OK
 : <a class="el" href="d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee">hs-helper.h</a>
 </li>
+<li>running
+: <a class="el" href="de/da4/simple-egl_8cpp.html#a2f45113638a0b749a8a205d2cd7fb42b">simple-egl.cpp</a>
+</li>
 </ul>
 
 
 </ul>
 
 
-<h3><a id="index_s"></a>- s -</h3><ul>
-<li>split()
-: <a class="el" href="df/dac/test_8cpp.html#aafb7f182b8bb6ba92354dde1658d86a4">test.cpp</a>
+<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
+<li>showInformation()
+: <a class="el" href="d6/dda/homescreen_8cpp.html#a916c8dd31373222ee2b6ef89aca91978">homescreen.cpp</a>
+</li>
+<li>showNotification()
+: <a class="el" href="d6/dda/homescreen_8cpp.html#ad96a84455e8676abb4486e48ef67b1ad">homescreen.cpp</a>
+</li>
+<li>showWindow()
+: <a class="el" href="d6/dda/homescreen_8cpp.html#ae475c69e7ca2a539ae0fb40a82963ac1">homescreen.cpp</a>
+</li>
+<li>signal_int()
+: <a class="el" href="de/da4/simple-egl_8cpp.html#a2cfc8c2d3fc1273ba8f811d2e639aec8">simple-egl.cpp</a>
 </li>
 <li>subscribe()
 </li>
 <li>subscribe()
-: <a class="el" href="d0/d1e/homescreen_8c.html#a4ff0c8b506669e5622a6ee168134d8f1">homescreen.c</a>
+: <a class="el" href="d6/dda/homescreen_8cpp.html#a6e942ab2b7207d2aef9adce71a4574e8">homescreen.cpp</a>
+</li>
+<li>surface
+: <a class="el" href="de/da4/simple-egl_8cpp.html#a0720952aa1caded45b5bcdce589663a9">simple-egl.cpp</a>
 </li>
 </ul>
 
 
 </li>
 </ul>
 
 
-<h3><a id="index_t"></a>- t -</h3><ul>
+<h3><a class="anchor" id="index_t"></a>- t -</h3><ul>
 <li>tap_shortcut()
 <li>tap_shortcut()
-: <a class="el" href="d0/d1e/homescreen_8c.html#a096eae5c8f297f9df142a406eea56227">homescreen.c</a>
+: <a class="el" href="d6/dda/homescreen_8cpp.html#ab8abb667377924d5c073611738febbd3">homescreen.cpp</a>
+</li>
+<li>token
+: <a class="el" href="de/da4/simple-egl_8cpp.html#a623ef6987ef3bd185c07b28b13e46d34">simple-egl.cpp</a>
+</li>
+<li>types
+: <a class="el" href="de/da4/simple-egl_8cpp.html#aea3203db9e218d3e5d60bdb4ebe2fa1f">simple-egl.cpp</a>
 </li>
 </ul>
 
 
 </li>
 </ul>
 
 
-<h3><a id="index_u"></a>- u -</h3><ul>
+<h3><a class="anchor" id="index_u"></a>- u -</h3><ul>
 <li>unsubscribe()
 <li>unsubscribe()
-: <a class="el" href="d0/d1e/homescreen_8c.html#ab92621255d7370c6dd8a0f1a8e376ad3">homescreen.c</a>
-</li>
-<li>usage()
-: <a class="el" href="df/dac/test_8cpp.html#a64a6014565bb3e03294ec4a952d5add0">test.cpp</a>
+: <a class="el" href="d6/dda/homescreen_8cpp.html#a3b162ab1856a8fa4284cb2c5c35ea748">homescreen.cpp</a>
 </li>
 </ul>
 
 
 </li>
 </ul>
 
 
-<h3><a id="index_v"></a>- v -</h3><ul>
+<h3><a class="anchor" id="index_v"></a>- v -</h3><ul>
 <li>verbs
 <li>verbs
-: <a class="el" href="d0/d1e/homescreen_8c.html#acad6dadf60fac3d701e488e4fcd11c89">homescreen.c</a>
+: <a class="el" href="d6/dda/homescreen_8cpp.html#a01e06b6317acebc1d5686386b15f0872">homescreen.cpp</a>
+</li>
+<li>vert_shader_text
+: <a class="el" href="de/da4/simple-egl_8cpp.html#a717575939a37d84dcd4cf0447a630834">simple-egl.cpp</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_w"></a>- w -</h3><ul>
+<li>wm
+: <a class="el" href="de/da4/simple-egl_8cpp.html#ad1513698e07197206c290f94d7669d85">simple-egl.cpp</a>
 </li>
 </ul>
 </div><!-- contents -->
 </li>
 </ul>
 </div><!-- contents -->
@@ -337,7 +548,7 @@ $(function() {
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.13
+</a> 1.8.11
 </small></address>
 </body>
 </html>
 </small></address>
 </body>
 </html>
index 24c615c..d645915 100644 (file)
@@ -3,8 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <title>HomeScreenBinding: File Members</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="jquery.js"></script>
 <title>HomeScreenBinding: File Members</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="jquery.js"></script>
@@ -12,6 +11,9 @@
 <link href="search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="search/searchdata.js"></script>
 <script type="text/javascript" src="search/search.js"></script>
 <link href="search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="search/searchdata.js"></script>
 <script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
 <link href="doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
 <link href="doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
 </table>
 </div>
 <!-- end header part -->
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.11 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </script>
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-$(function() {
-  initMenu('',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-</script>
-<div id="main-nav"></div>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+      <li class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li><a href="globals.html"><span>All</span></a></li>
+      <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_vars.html"><span>Variables</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li class="current"><a href="globals_defs.html"><span>Macros</span></a></li>
+    </ul>
+  </div>
 </div><!-- top -->
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
 </div><!-- top -->
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
@@ -59,33 +92,53 @@ $(function() {
 
 <div class="contents">
 &#160;<ul>
 
 <div class="contents">
 &#160;<ul>
+<li>__FILENAME__
+: <a class="el" href="d2/d66/include_2hmi-debug_8h.html#a5fccb4fc71e44089a1b1a77fc76c0b68">hmi-debug.h</a>
+</li>
 <li>_GNU_SOURCE
 <li>_GNU_SOURCE
-: <a class="el" href="d0/d1e/homescreen_8c.html#a369266c24eacffb87046522897a570d5">homescreen.c</a>
+: <a class="el" href="d6/dda/homescreen_8cpp.html#a369266c24eacffb87046522897a570d5">homescreen.cpp</a>
 </li>
 <li>AFB_BINDING_VERSION
 </li>
 <li>AFB_BINDING_VERSION
-: <a class="el" href="d0/d1e/homescreen_8c.html#ad2c1fbc92ba364fcf83f15e6d0af66f0">homescreen.c</a>
-, <a class="el" href="d3/d3d/hs-helper_8h.html#ad2c1fbc92ba364fcf83f15e6d0af66f0">hs-helper.h</a>
+: <a class="el" href="d3/d3d/hs-helper_8h.html#ad2c1fbc92ba364fcf83f15e6d0af66f0">hs-helper.h</a>
+</li>
+<li>AFB_EVENT_BAD_REQUEST
+: <a class="el" href="d3/d3d/hs-helper_8h.html#aa611e2ec24ef295bd87825889fe2ce5e">hs-helper.h</a>
+</li>
+<li>AFB_REQ_SHOWINFORMATION_ERROR
+: <a class="el" href="d3/d3d/hs-helper_8h.html#aefe0d7ff8202f954693c235c1fb8e310">hs-helper.h</a>
+</li>
+<li>AFB_REQ_SHOWNOTIFICATION_ERROR
+: <a class="el" href="d3/d3d/hs-helper_8h.html#a057fc88b8445828c261305cf9107d99d">hs-helper.h</a>
+</li>
+<li>AFB_REQ_SUBSCRIBE_ERROR
+: <a class="el" href="d3/d3d/hs-helper_8h.html#a995612de89db4df1483c16e4b9b70571">hs-helper.h</a>
+</li>
+<li>AFB_REQ_UNSUBSCRIBE_ERROR
+: <a class="el" href="d3/d3d/hs-helper_8h.html#a78e930a97920b821706a80ca8f430034">hs-helper.h</a>
+</li>
+<li>EGL_BUFFER_AGE_EXT
+: <a class="el" href="de/da4/simple-egl_8cpp.html#a7045d8a6b4857f268a62fab2de2021fd">simple-egl.cpp</a>
 </li>
 </li>
-<li>COMMAND_EVENT_NUM
-: <a class="el" href="d0/d1e/homescreen_8c.html#a09f43d9e7e1c5d2198c0d66024b4500e">homescreen.c</a>
+<li>EGL_EXT_buffer_age
+: <a class="el" href="de/da4/simple-egl_8cpp.html#a0792e3d8b2bc978f95917a234b0c81df">simple-egl.cpp</a>
 </li>
 </li>
-<li>EVENT_SUBSCRIBE_ERROR_CODE
-: <a class="el" href="d0/d1e/homescreen_8c.html#a9a68ed04201d9390bb85b2c6ab1d7250">homescreen.c</a>
+<li>EGL_EXT_swap_buffers_with_damage
+: <a class="el" href="de/da4/simple-egl_8cpp.html#a083d37f289b99270e0391419178d458f">simple-egl.cpp</a>
 </li>
 <li>HMI_DEBUG
 </li>
 <li>HMI_DEBUG
-: <a class="el" href="df/d76/hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">hmi-debug.h</a>
+: <a class="el" href="d2/d66/include_2hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">hmi-debug.h</a>
 </li>
 <li>HMI_ERROR
 </li>
 <li>HMI_ERROR
-: <a class="el" href="df/d76/hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">hmi-debug.h</a>
+: <a class="el" href="d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">hmi-debug.h</a>
 </li>
 <li>HMI_INFO
 </li>
 <li>HMI_INFO
-: <a class="el" href="df/d76/hmi-debug_8h.html#a11b249a67108f0f4c50a0fc8a3eb4f5c">hmi-debug.h</a>
+: <a class="el" href="d2/d66/include_2hmi-debug_8h.html#a11b249a67108f0f4c50a0fc8a3eb4f5c">hmi-debug.h</a>
 </li>
 <li>HMI_NOTICE
 </li>
 <li>HMI_NOTICE
-: <a class="el" href="df/d76/hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">hmi-debug.h</a>
+: <a class="el" href="d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">hmi-debug.h</a>
 </li>
 <li>HMI_WARNING
 </li>
 <li>HMI_WARNING
-: <a class="el" href="df/d76/hmi-debug_8h.html#a25361812432cd2480bc8f1a8e56ecbf7">hmi-debug.h</a>
+: <a class="el" href="d2/d66/include_2hmi-debug_8h.html#a25361812432cd2480bc8f1a8e56ecbf7">hmi-debug.h</a>
 </li>
 </ul>
 </div><!-- contents -->
 </li>
 </ul>
 </div><!-- contents -->
@@ -93,7 +146,7 @@ $(function() {
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.13
+</a> 1.8.11
 </small></address>
 </body>
 </html>
 </small></address>
 </body>
 </html>
index 6acaf5d..ecf263b 100644 (file)
@@ -3,8 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <title>HomeScreenBinding: File Members</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="jquery.js"></script>
 <title>HomeScreenBinding: File Members</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="jquery.js"></script>
@@ -12,6 +11,9 @@
 <link href="search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="search/searchdata.js"></script>
 <script type="text/javascript" src="search/search.js"></script>
 <link href="search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="search/searchdata.js"></script>
 <script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
 <link href="doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
 <link href="doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
 </table>
 </div>
 <!-- end header part -->
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.11 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </script>
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-$(function() {
-  initMenu('',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-</script>
-<div id="main-nav"></div>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+      <li class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li><a href="globals.html"><span>All</span></a></li>
+      <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_vars.html"><span>Variables</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li class="current"><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Macros</span></a></li>
+    </ul>
+  </div>
 </div><!-- top -->
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
 </div><!-- top -->
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
@@ -60,7 +93,7 @@ $(function() {
 <div class="contents">
 &#160;<ul>
 <li>LOG_LEVEL
 <div class="contents">
 &#160;<ul>
 <li>LOG_LEVEL
-: <a class="el" href="df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583">hmi-debug.h</a>
+: <a class="el" href="d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583">hmi-debug.h</a>
 </li>
 <li>REQ_ERROR
 : <a class="el" href="d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899">hs-helper.h</a>
 </li>
 <li>REQ_ERROR
 : <a class="el" href="d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899">hs-helper.h</a>
@@ -71,7 +104,7 @@ $(function() {
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.13
+</a> 1.8.11
 </small></address>
 </body>
 </html>
 </small></address>
 </body>
 </html>
index 6619ccf..a0832f1 100644 (file)
@@ -3,8 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <title>HomeScreenBinding: File Members</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="jquery.js"></script>
 <title>HomeScreenBinding: File Members</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="jquery.js"></script>
@@ -12,6 +11,9 @@
 <link href="search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="search/searchdata.js"></script>
 <script type="text/javascript" src="search/search.js"></script>
 <link href="search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="search/searchdata.js"></script>
 <script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
 <link href="doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
 <link href="doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
 </table>
 </div>
 <!-- end header part -->
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.11 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </script>
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-$(function() {
-  initMenu('',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-</script>
-<div id="main-nav"></div>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+      <li class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li><a href="globals.html"><span>All</span></a></li>
+      <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_vars.html"><span>Variables</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li class="current"><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Macros</span></a></li>
+    </ul>
+  </div>
 </div><!-- top -->
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
 </div><!-- top -->
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
@@ -60,25 +93,25 @@ $(function() {
 <div class="contents">
 &#160;<ul>
 <li>LOG_LEVEL_DEBUG
 <div class="contents">
 &#160;<ul>
 <li>LOG_LEVEL_DEBUG
-: <a class="el" href="df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177">hmi-debug.h</a>
+: <a class="el" href="d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177">hmi-debug.h</a>
 </li>
 <li>LOG_LEVEL_ERROR
 </li>
 <li>LOG_LEVEL_ERROR
-: <a class="el" href="df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f">hmi-debug.h</a>
+: <a class="el" href="d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f">hmi-debug.h</a>
 </li>
 <li>LOG_LEVEL_INFO
 </li>
 <li>LOG_LEVEL_INFO
-: <a class="el" href="df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4">hmi-debug.h</a>
+: <a class="el" href="d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4">hmi-debug.h</a>
 </li>
 <li>LOG_LEVEL_MAX
 </li>
 <li>LOG_LEVEL_MAX
-: <a class="el" href="df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444">hmi-debug.h</a>
+: <a class="el" href="d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444">hmi-debug.h</a>
 </li>
 <li>LOG_LEVEL_NONE
 </li>
 <li>LOG_LEVEL_NONE
-: <a class="el" href="df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848">hmi-debug.h</a>
+: <a class="el" href="d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848">hmi-debug.h</a>
 </li>
 <li>LOG_LEVEL_NOTICE
 </li>
 <li>LOG_LEVEL_NOTICE
-: <a class="el" href="df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e">hmi-debug.h</a>
+: <a class="el" href="d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e">hmi-debug.h</a>
 </li>
 <li>LOG_LEVEL_WARNING
 </li>
 <li>LOG_LEVEL_WARNING
-: <a class="el" href="df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef">hmi-debug.h</a>
+: <a class="el" href="d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef">hmi-debug.h</a>
 </li>
 <li>NOT_NUMBER
 : <a class="el" href="d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a">hs-helper.h</a>
 </li>
 <li>NOT_NUMBER
 : <a class="el" href="d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a">hs-helper.h</a>
@@ -98,7 +131,7 @@ $(function() {
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.13
+</a> 1.8.11
 </small></address>
 </body>
 </html>
 </small></address>
 </body>
 </html>
index 3d662e8..f33e6b1 100644 (file)
@@ -3,8 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <title>HomeScreenBinding: File Members</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="jquery.js"></script>
 <title>HomeScreenBinding: File Members</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="jquery.js"></script>
@@ -12,6 +11,9 @@
 <link href="search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="search/searchdata.js"></script>
 <script type="text/javascript" src="search/search.js"></script>
 <link href="search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="search/searchdata.js"></script>
 <script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
 <link href="doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
 <link href="doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
 </table>
 </div>
 <!-- end header part -->
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.11 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </script>
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-$(function() {
-  initMenu('',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-</script>
-<div id="main-nav"></div>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+      <li class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li><a href="globals.html"><span>All</span></a></li>
+      <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_vars.html"><span>Variables</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Macros</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow4" class="tabs3">
+    <ul class="tablist">
+      <li><a href="#index__"><span>_</span></a></li>
+      <li><a href="#index_c"><span>c</span></a></li>
+      <li><a href="#index_d"><span>d</span></a></li>
+      <li><a href="#index_e"><span>e</span></a></li>
+      <li><a href="#index_f"><span>f</span></a></li>
+      <li><a href="#index_g"><span>g</span></a></li>
+      <li><a href="#index_h"><span>h</span></a></li>
+      <li><a href="#index_i"><span>i</span></a></li>
+      <li><a href="#index_m"><span>m</span></a></li>
+      <li><a href="#index_o"><span>o</span></a></li>
+      <li><a href="#index_p"><span>p</span></a></li>
+      <li><a href="#index_r"><span>r</span></a></li>
+      <li><a href="#index_s"><span>s</span></a></li>
+      <li><a href="#index_t"><span>t</span></a></li>
+      <li class="current"><a href="#index_u"><span>u</span></a></li>
+    </ul>
+  </div>
 </div><!-- top -->
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
 </div><!-- top -->
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
@@ -60,9 +112,9 @@ $(function() {
 <div class="contents">
 &#160;
 
 <div class="contents">
 &#160;
 
-<h3><a id="index__"></a>- _ -</h3><ul>
+<h3><a class="anchor" id="index__"></a>- _ -</h3><ul>
 <li>_HMI_LOG()
 <li>_HMI_LOG()
-: <a class="el" href="df/d76/hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a">hmi-debug.h</a>
+: <a class="el" href="d2/d66/include_2hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a">hmi-debug.h</a>
 </li>
 <li>_on_call_static()
 : <a class="el" href="d0/d8a/libhomescreen_8cpp.html#a782a05fde0f1c17e0c4c8f972a3f53c8">libhomescreen.cpp</a>
 </li>
 <li>_on_call_static()
 : <a class="el" href="d0/d8a/libhomescreen_8cpp.html#a782a05fde0f1c17e0c4c8f972a3f53c8">libhomescreen.cpp</a>
@@ -79,125 +131,179 @@ $(function() {
 </ul>
 
 
 </ul>
 
 
-<h3><a id="index_c"></a>- c -</h3><ul>
-<li>call_test()
-: <a class="el" href="df/dac/test_8cpp.html#aa9b3c43c212b49edee82ac30a11aa255">test.cpp</a>
+<h3><a class="anchor" id="index_c"></a>- c -</h3><ul>
+<li>cbRemoveClientCtxt()
+: <a class="el" href="dd/d30/hs-clientmanager_8cpp.html#a2e9d0e1086eba0a016056dc43bc90a73">hs-clientmanager.cpp</a>
+</li>
+<li>create_ivi_surface()
+: <a class="el" href="de/da4/simple-egl_8cpp.html#a0122201fe28a7f35b0fbd362fff7094e">simple-egl.cpp</a>
+</li>
+<li>create_shader()
+: <a class="el" href="de/da4/simple-egl_8cpp.html#ab72c580e4d6d47c2fb49c72cc76b85bb">simple-egl.cpp</a>
+</li>
+<li>create_surface()
+: <a class="el" href="de/da4/simple-egl_8cpp.html#a83c7f2e34bbc715d97f0642def708293">simple-egl.cpp</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_d"></a>- d -</h3><ul>
+<li>destroy_surface()
+: <a class="el" href="de/da4/simple-egl_8cpp.html#aba2ea9aa51701e52d4f36b4f34cecf7a">simple-egl.cpp</a>
 </li>
 </ul>
 
 
 </li>
 </ul>
 
 
-<h3><a id="index_e"></a>- e -</h3><ul>
-<li>event_loop_run()
-: <a class="el" href="d0/d8a/libhomescreen_8cpp.html#aa73353e1bf62c68b6b0aba7a1e4e275e">libhomescreen.cpp</a>
+<h3><a class="anchor" id="index_e"></a>- e -</h3><ul>
+<li>EGLBoolean()
+: <a class="el" href="de/da4/simple-egl_8cpp.html#ab4ad070d3bf82abe5e70330578f67893">simple-egl.cpp</a>
 </li>
 </ul>
 
 
 </li>
 </ul>
 
 
-<h3><a id="index_g"></a>- g -</h3><ul>
+<h3><a class="anchor" id="index_f"></a>- f -</h3><ul>
+<li>fini_egl()
+: <a class="el" href="de/da4/simple-egl_8cpp.html#a4f71f46ede5b73bd7c770c973826f771">simple-egl.cpp</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_g"></a>- g -</h3><ul>
 <li>get_value_int16()
 <li>get_value_int16()
-: <a class="el" href="dd/d1d/hs-helper_8c.html#a2e62366684e39ea94436bf017e416827">hs-helper.c</a>
-, <a class="el" href="d3/d3d/hs-helper_8h.html#a2e62366684e39ea94436bf017e416827">hs-helper.h</a>
+: <a class="el" href="df/d66/hs-helper_8cpp.html#af3043612cf74bb92cb073e10cacd594a">hs-helper.cpp</a>
+, <a class="el" href="d3/d3d/hs-helper_8h.html#af3043612cf74bb92cb073e10cacd594a">hs-helper.h</a>
 </li>
 <li>get_value_int32()
 </li>
 <li>get_value_int32()
-: <a class="el" href="dd/d1d/hs-helper_8c.html#ac5b0370643c520377afd3fd4891918d2">hs-helper.c</a>
-, <a class="el" href="d3/d3d/hs-helper_8h.html#ac5b0370643c520377afd3fd4891918d2">hs-helper.h</a>
+: <a class="el" href="d3/d3d/hs-helper_8h.html#a8121d965b6fd795c16b8576ab03dcaf1">hs-helper.h</a>
+, <a class="el" href="df/d66/hs-helper_8cpp.html#a8121d965b6fd795c16b8576ab03dcaf1">hs-helper.cpp</a>
 </li>
 <li>get_value_uint16()
 </li>
 <li>get_value_uint16()
-: <a class="el" href="dd/d1d/hs-helper_8c.html#a649900645417f2df3a70b9ad67529f53">hs-helper.c</a>
-, <a class="el" href="d3/d3d/hs-helper_8h.html#a649900645417f2df3a70b9ad67529f53">hs-helper.h</a>
+: <a class="el" href="d3/d3d/hs-helper_8h.html#aba9ca63f68b1991f8650871f4eae8e0b">hs-helper.h</a>
+, <a class="el" href="df/d66/hs-helper_8cpp.html#aba9ca63f68b1991f8650871f4eae8e0b">hs-helper.cpp</a>
 </li>
 </ul>
 
 
 </li>
 </ul>
 
 
-<h3><a id="index_h"></a>- h -</h3><ul>
+<h3><a class="anchor" id="index_h"></a>- h -</h3><ul>
 <li>has_verb()
 : <a class="el" href="d0/d8a/libhomescreen_8cpp.html#a7a2176c3d71fec0f09dcb2aa0866b17e">libhomescreen.cpp</a>
 </li>
 <li>has_verb()
 : <a class="el" href="d0/d8a/libhomescreen_8cpp.html#a7a2176c3d71fec0f09dcb2aa0866b17e">libhomescreen.cpp</a>
 </li>
+<li>hideWindow()
+: <a class="el" href="d6/dda/homescreen_8cpp.html#a057c380ea38cfba4e2fbccc40fc21798">homescreen.cpp</a>
+</li>
 <li>hs_add_object_to_json_object()
 <li>hs_add_object_to_json_object()
-: <a class="el" href="dd/d1d/hs-helper_8c.html#a1ba31a6a94515ff1730ba0043a67d59e">hs-helper.c</a>
-, <a class="el" href="d3/d3d/hs-helper_8h.html#a1ba31a6a94515ff1730ba0043a67d59e">hs-helper.h</a>
+: <a class="el" href="d3/d3d/hs-helper_8h.html#a1ba31a6a94515ff1730ba0043a67d59e">hs-helper.h</a>
+, <a class="el" href="df/d66/hs-helper_8cpp.html#a1ba31a6a94515ff1730ba0043a67d59e">hs-helper.cpp</a>
 </li>
 <li>hs_add_object_to_json_object_func()
 </li>
 <li>hs_add_object_to_json_object_func()
-: <a class="el" href="dd/d1d/hs-helper_8c.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs-helper.c</a>
+: <a class="el" href="df/d66/hs-helper_8cpp.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs-helper.cpp</a>
 , <a class="el" href="d3/d3d/hs-helper_8h.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs-helper.h</a>
 </li>
 <li>hs_add_object_to_json_object_str()
 , <a class="el" href="d3/d3d/hs-helper_8h.html#ae83604a37134e7bdee3ce4f10bb0b47a">hs-helper.h</a>
 </li>
 <li>hs_add_object_to_json_object_str()
-: <a class="el" href="dd/d1d/hs-helper_8c.html#a8777c53f1d4d5412f19b134ad85ffedf">hs-helper.c</a>
+: <a class="el" href="df/d66/hs-helper_8cpp.html#a8777c53f1d4d5412f19b134ad85ffedf">hs-helper.cpp</a>
 , <a class="el" href="d3/d3d/hs-helper_8h.html#a8777c53f1d4d5412f19b134ad85ffedf">hs-helper.h</a>
 </li>
 <li>hs_search_event_name_index()
 , <a class="el" href="d3/d3d/hs-helper_8h.html#a8777c53f1d4d5412f19b134ad85ffedf">hs-helper.h</a>
 </li>
 <li>hs_search_event_name_index()
-: <a class="el" href="dd/d1d/hs-helper_8c.html#a2ff1b894941c3b461ca8119079c4146a">hs-helper.c</a>
-, <a class="el" href="d3/d3d/hs-helper_8h.html#a2ff1b894941c3b461ca8119079c4146a">hs-helper.h</a>
+: <a class="el" href="d3/d3d/hs-helper_8h.html#a2ff1b894941c3b461ca8119079c4146a">hs-helper.h</a>
+, <a class="el" href="df/d66/hs-helper_8cpp.html#a2ff1b894941c3b461ca8119079c4146a">hs-helper.cpp</a>
 </li>
 </ul>
 
 
 </li>
 </ul>
 
 
-<h3><a id="index_i"></a>- i -</h3><ul>
+<h3><a class="anchor" id="index_i"></a>- i -</h3><ul>
 <li>init()
 <li>init()
-: <a class="el" href="d0/d1e/homescreen_8c.html#a00cbbc0f3f4452db078ae511684a6adc">homescreen.c</a>
+: <a class="el" href="d6/dda/homescreen_8cpp.html#a5d7de3437d5dcb79fa035959d95878db">homescreen.cpp</a>
+</li>
+<li>init_egl()
+: <a class="el" href="de/da4/simple-egl_8cpp.html#a1073d4aca1838d3877fe577d813700fc">simple-egl.cpp</a>
+</li>
+<li>init_gl()
+: <a class="el" href="de/da4/simple-egl_8cpp.html#ab3ee863fa45f4026f78f592d6f6e34ff">simple-egl.cpp</a>
+</li>
+<li>init_hs()
+: <a class="el" href="de/da4/simple-egl_8cpp.html#a79aafeb99915566dd3970246f465f306">simple-egl.cpp</a>
+</li>
+<li>init_wm()
+: <a class="el" href="de/da4/simple-egl_8cpp.html#a644e25276ecdea04f2aa3412c1973927">simple-egl.cpp</a>
 </li>
 </ul>
 
 
 </li>
 </ul>
 
 
-<h3><a id="index_m"></a>- m -</h3><ul>
+<h3><a class="anchor" id="index_m"></a>- m -</h3><ul>
 <li>main()
 <li>main()
-: <a class="el" href="df/dac/test_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">test.cpp</a>
+: <a class="el" href="de/da4/simple-egl_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">simple-egl.cpp</a>
 </li>
 </ul>
 
 
 </li>
 </ul>
 
 
-<h3><a id="index_o"></a>- o -</h3><ul>
+<h3><a class="anchor" id="index_o"></a>- o -</h3><ul>
 <li>on_screen_message()
 <li>on_screen_message()
-: <a class="el" href="d0/d1e/homescreen_8c.html#a640cf8ed97d804c5ed1c09a349056338">homescreen.c</a>
+: <a class="el" href="d6/dda/homescreen_8cpp.html#a0df2b60ff6cd56b53dc87b36bfee2b91">homescreen.cpp</a>
 </li>
 <li>on_screen_reply()
 </li>
 <li>on_screen_reply()
-: <a class="el" href="d0/d1e/homescreen_8c.html#a2f380055d7d69828115d2a8951634933">homescreen.c</a>
-</li>
-<li>onEv()
-: <a class="el" href="df/dac/test_8cpp.html#a6a2874c419fe5936fcccadc7e6cf268e">test.cpp</a>
+: <a class="el" href="d6/dda/homescreen_8cpp.html#a7443596f6ddf459824ecd8138c681532">homescreen.cpp</a>
 </li>
 <li>onevent()
 </li>
 <li>onevent()
-: <a class="el" href="d0/d1e/homescreen_8c.html#a1279893c0fe937311a81e0a98fb4cf1c">homescreen.c</a>
-</li>
-<li>onRep()
-: <a class="el" href="df/dac/test_8cpp.html#a6d3cb4886e7afd45bd56b49800da932d">test.cpp</a>
+: <a class="el" href="d6/dda/homescreen_8cpp.html#a60665935681c76d38b3833912109cdd3">homescreen.cpp</a>
 </li>
 </ul>
 
 
 </li>
 </ul>
 
 
-<h3><a id="index_p"></a>- p -</h3><ul>
+<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
 <li>pingSample()
 <li>pingSample()
-: <a class="el" href="d0/d1e/homescreen_8c.html#af48cab759d4ae0ddbfcdd60f4051ba05">homescreen.c</a>
+: <a class="el" href="d6/dda/homescreen_8cpp.html#ace65cfe6008848a3cd66581f536cc4c9">homescreen.cpp</a>
 </li>
 <li>preinit()
 </li>
 <li>preinit()
-: <a class="el" href="d0/d1e/homescreen_8c.html#a83d646edf54a6a082f69121bc89a08de">homescreen.c</a>
+: <a class="el" href="d6/dda/homescreen_8cpp.html#ab3b1914acb53dcc038c1cf86c2975785">homescreen.cpp</a>
 </li>
 </ul>
 
 
 </li>
 </ul>
 
 
-<h3><a id="index_s"></a>- s -</h3><ul>
-<li>split()
-: <a class="el" href="df/dac/test_8cpp.html#aafb7f182b8bb6ba92354dde1658d86a4">test.cpp</a>
+<h3><a class="anchor" id="index_r"></a>- r -</h3><ul>
+<li>redraw()
+: <a class="el" href="de/da4/simple-egl_8cpp.html#a927502f6103ec35422eead39e62ab7ba">simple-egl.cpp</a>
+</li>
+<li>registry_handle_global()
+: <a class="el" href="de/da4/simple-egl_8cpp.html#af288e02a94c196a68b327fc55c049932">simple-egl.cpp</a>
+</li>
+<li>registry_handle_global_remove()
+: <a class="el" href="de/da4/simple-egl_8cpp.html#a59a731b9efa9d6a2015cdc8ccae1db80">simple-egl.cpp</a>
+</li>
+<li>replyShowWindow()
+: <a class="el" href="d6/dda/homescreen_8cpp.html#a710bcc84a61e11dbd4517def2764ff95">homescreen.cpp</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
+<li>showInformation()
+: <a class="el" href="d6/dda/homescreen_8cpp.html#a916c8dd31373222ee2b6ef89aca91978">homescreen.cpp</a>
+</li>
+<li>showNotification()
+: <a class="el" href="d6/dda/homescreen_8cpp.html#ad96a84455e8676abb4486e48ef67b1ad">homescreen.cpp</a>
+</li>
+<li>showWindow()
+: <a class="el" href="d6/dda/homescreen_8cpp.html#ae475c69e7ca2a539ae0fb40a82963ac1">homescreen.cpp</a>
+</li>
+<li>signal_int()
+: <a class="el" href="de/da4/simple-egl_8cpp.html#a2cfc8c2d3fc1273ba8f811d2e639aec8">simple-egl.cpp</a>
 </li>
 <li>subscribe()
 </li>
 <li>subscribe()
-: <a class="el" href="d0/d1e/homescreen_8c.html#a4ff0c8b506669e5622a6ee168134d8f1">homescreen.c</a>
+: <a class="el" href="d6/dda/homescreen_8cpp.html#a6e942ab2b7207d2aef9adce71a4574e8">homescreen.cpp</a>
 </li>
 </ul>
 
 
 </li>
 </ul>
 
 
-<h3><a id="index_t"></a>- t -</h3><ul>
+<h3><a class="anchor" id="index_t"></a>- t -</h3><ul>
 <li>tap_shortcut()
 <li>tap_shortcut()
-: <a class="el" href="d0/d1e/homescreen_8c.html#a096eae5c8f297f9df142a406eea56227">homescreen.c</a>
+: <a class="el" href="d6/dda/homescreen_8cpp.html#ab8abb667377924d5c073611738febbd3">homescreen.cpp</a>
 </li>
 </ul>
 
 
 </li>
 </ul>
 
 
-<h3><a id="index_u"></a>- u -</h3><ul>
+<h3><a class="anchor" id="index_u"></a>- u -</h3><ul>
 <li>unsubscribe()
 <li>unsubscribe()
-: <a class="el" href="d0/d1e/homescreen_8c.html#ab92621255d7370c6dd8a0f1a8e376ad3">homescreen.c</a>
-</li>
-<li>usage()
-: <a class="el" href="df/dac/test_8cpp.html#a64a6014565bb3e03294ec4a952d5add0">test.cpp</a>
+: <a class="el" href="d6/dda/homescreen_8cpp.html#a3b162ab1856a8fa4284cb2c5c35ea748">homescreen.cpp</a>
 </li>
 </ul>
 </div><!-- contents -->
 </li>
 </ul>
 </div><!-- contents -->
@@ -205,7 +311,7 @@ $(function() {
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.13
+</a> 1.8.11
 </small></address>
 </body>
 </html>
 </small></address>
 </body>
 </html>
index e873bff..32bde21 100644 (file)
@@ -3,8 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <title>HomeScreenBinding: File Members</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="jquery.js"></script>
 <title>HomeScreenBinding: File Members</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="jquery.js"></script>
@@ -12,6 +11,9 @@
 <link href="search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="search/searchdata.js"></script>
 <script type="text/javascript" src="search/search.js"></script>
 <link href="search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="search/searchdata.js"></script>
 <script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
 <link href="doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
 <link href="doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
 </table>
 </div>
 <!-- end header part -->
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.11 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </script>
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-$(function() {
-  initMenu('',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-</script>
-<div id="main-nav"></div>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+      <li class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li><a href="globals.html"><span>All</span></a></li>
+      <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_vars.html"><span>Variables</span></a></li>
+      <li class="current"><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Macros</span></a></li>
+    </ul>
+  </div>
 </div><!-- top -->
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
 </div><!-- top -->
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
@@ -59,16 +92,28 @@ $(function() {
 
 <div class="contents">
 &#160;<ul>
 
 <div class="contents">
 &#160;<ul>
+<li>HS_ClientCtxt
+: <a class="el" href="de/dca/hs-clientmanager_8h.html#a58a145d17337b835ab3fe17b50163040">hs-clientmanager.h</a>
+</li>
+<li>n_rects
+: <a class="el" href="de/da4/simple-egl_8cpp.html#aa6a11810244355f89e6c4961b9dd3b53">simple-egl.cpp</a>
+</li>
+<li>rects
+: <a class="el" href="de/da4/simple-egl_8cpp.html#a56616f7ca3fc53c0da41d05de9330b11">simple-egl.cpp</a>
+</li>
 <li>REQ_ERROR
 : <a class="el" href="d3/d3d/hs-helper_8h.html#ab0d62ccfa9c3ab87f090f67c3d50adce">hs-helper.h</a>
 </li>
 <li>REQ_ERROR
 : <a class="el" href="d3/d3d/hs-helper_8h.html#ab0d62ccfa9c3ab87f090f67c3d50adce">hs-helper.h</a>
 </li>
+<li>surface
+: <a class="el" href="de/da4/simple-egl_8cpp.html#a0720952aa1caded45b5bcdce589663a9">simple-egl.cpp</a>
+</li>
 </ul>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </ul>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.13
+</a> 1.8.11
 </small></address>
 </body>
 </html>
 </small></address>
 </body>
 </html>
index 364ae73..fe6dfd3 100644 (file)
@@ -3,8 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <title>HomeScreenBinding: File Members</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="jquery.js"></script>
 <title>HomeScreenBinding: File Members</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="jquery.js"></script>
@@ -12,6 +11,9 @@
 <link href="search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="search/searchdata.js"></script>
 <script type="text/javascript" src="search/search.js"></script>
 <link href="search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="search/searchdata.js"></script>
 <script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
 <link href="doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
 <link href="doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
 </table>
 </div>
 <!-- end header part -->
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.11 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </script>
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-$(function() {
-  initMenu('',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-</script>
-<div id="main-nav"></div>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+      <li class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li><a href="globals.html"><span>All</span></a></li>
+      <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li class="current"><a href="globals_vars.html"><span>Variables</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Macros</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow4" class="tabs3">
+    <ul class="tablist">
+      <li><a href="#index__"><span>_</span></a></li>
+      <li><a href="#index_a"><span>a</span></a></li>
+      <li><a href="#index_e"><span>e</span></a></li>
+      <li><a href="#index_f"><span>f</span></a></li>
+      <li><a href="#index_g"><span>g</span></a></li>
+      <li><a href="#index_h"><span>h</span></a></li>
+      <li><a href="#index_i"><span>i</span></a></li>
+      <li><a href="#index_l"><span>l</span></a></li>
+      <li><a href="#index_m"><span>m</span></a></li>
+      <li><a href="#index_p"><span>p</span></a></li>
+      <li><a href="#index_r"><span>r</span></a></li>
+      <li><a href="#index_t"><span>t</span></a></li>
+      <li><a href="#index_v"><span>v</span></a></li>
+      <li class="current"><a href="#index_w"><span>w</span></a></li>
+    </ul>
+  </div>
 </div><!-- top -->
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
 </div><!-- top -->
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
@@ -58,51 +109,173 @@ $(function() {
 </div>
 
 <div class="contents">
 </div>
 
 <div class="contents">
-&#160;<ul>
-<li>_application_name
-: <a class="el" href="d0/d1e/homescreen_8c.html#a1f2c79fa6801b63751e270d67994fe81">homescreen.c</a>
+&#160;
+
+<h3><a class="anchor" id="index__"></a>- _ -</h3><ul>
+<li>_application_id
+: <a class="el" href="d6/dda/homescreen_8cpp.html#a6a0e1db2562b442f8131ddf64b61d1ba">homescreen.cpp</a>
+, <a class="el" href="d3/d3d/hs-helper_8h.html#a6a0e1db2562b442f8131ddf64b61d1ba">hs-helper.h</a>
 </li>
 <li>_display_message
 </li>
 <li>_display_message
-: <a class="el" href="d0/d1e/homescreen_8c.html#abfd6c1d6f316fa952b11553f8f275e92">homescreen.c</a>
+: <a class="el" href="d6/dda/homescreen_8cpp.html#abfd6c1d6f316fa952b11553f8f275e92">homescreen.cpp</a>
+, <a class="el" href="d3/d3d/hs-helper_8h.html#abfd6c1d6f316fa952b11553f8f275e92">hs-helper.h</a>
 </li>
 <li>_error
 </li>
 <li>_error
-: <a class="el" href="d0/d1e/homescreen_8c.html#aed1c5296a2e6d34945507a0fca17a376">homescreen.c</a>
+: <a class="el" href="d6/dda/homescreen_8cpp.html#aed1c5296a2e6d34945507a0fca17a376">homescreen.cpp</a>
+, <a class="el" href="d3/d3d/hs-helper_8h.html#aed1c5296a2e6d34945507a0fca17a376">hs-helper.h</a>
+</li>
+<li>_homescreen
+: <a class="el" href="dd/d30/hs-clientmanager_8cpp.html#a8bbab9002543614eacdc7a319d13a476">hs-clientmanager.cpp</a>
+</li>
+<li>_icon
+: <a class="el" href="d8/d55/hs-client_8cpp.html#a5476c8a51997c773220bec9fc02eeaf5">hs-client.cpp</a>
+</li>
+<li>_info
+: <a class="el" href="d8/d55/hs-client_8cpp.html#ae125cd80cb98582684636e46ecf33cac">hs-client.cpp</a>
+</li>
+<li>_parameter
+: <a class="el" href="d8/d55/hs-client_8cpp.html#ae3fc16098a2461f2f1ae0ac8561437c6">hs-client.cpp</a>
 </li>
 <li>_reply_message
 </li>
 <li>_reply_message
-: <a class="el" href="d0/d1e/homescreen_8c.html#a79b0f0b481161527ccb80e83da143219">homescreen.c</a>
+: <a class="el" href="d6/dda/homescreen_8cpp.html#a79b0f0b481161527ccb80e83da143219">homescreen.cpp</a>
+, <a class="el" href="d3/d3d/hs-helper_8h.html#a79b0f0b481161527ccb80e83da143219">hs-helper.h</a>
+</li>
+<li>_replyto
+: <a class="el" href="d8/d55/hs-client_8cpp.html#ac5b722c0d87d2b0e3dfc527b44a1f5db">hs-client.cpp</a>
 </li>
 </li>
-<li>afbBindingV2
-: <a class="el" href="d0/d1e/homescreen_8c.html#ae2a62ab481a2922cbfc788193857a12e">homescreen.c</a>
+<li>_text
+: <a class="el" href="d8/d55/hs-client_8cpp.html#ad177811d47939fe9404de88672a980ab">hs-client.cpp</a>
+</li>
+<li>_type
+: <a class="el" href="d8/d55/hs-client_8cpp.html#a1c24b43242df87f75631175c75afdcda">hs-client.cpp</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_a"></a>- a -</h3><ul>
+<li>afbBindingExport
+: <a class="el" href="d6/dda/homescreen_8cpp.html#a970e7864dba290a0371534ad4961bcc5">homescreen.cpp</a>
 </li>
 <li>API
 : <a class="el" href="d0/d8a/libhomescreen_8cpp.html#a1e2d6e77dd8f0162f830058579eab42f">libhomescreen.cpp</a>
 </li>
 </li>
 <li>API
 : <a class="el" href="d0/d8a/libhomescreen_8cpp.html#a1e2d6e77dd8f0162f830058579eab42f">libhomescreen.cpp</a>
 </li>
-<li>ERROR_FLAG
-: <a class="el" href="df/d76/hmi-debug_8h.html#a13d4c7647aad2e84766f8b48a6caab09">hmi-debug.h</a>
+<li>app_name
+: <a class="el" href="de/da4/simple-egl_8cpp.html#a0da928eccfc57d1dfadfd29d4ac4854c">simple-egl.cpp</a>
 </li>
 </li>
-<li>ev_on_screen_message
-: <a class="el" href="d0/d1e/homescreen_8c.html#af7cfc4f688bb898c09291252c4cb832c">homescreen.c</a>
+<li>ApplicationId
+: <a class="el" href="d0/d8a/libhomescreen_8cpp.html#a5a89bcb5a83f6b2e5c664a041bd8fd00">libhomescreen.cpp</a>
 </li>
 </li>
-<li>ev_on_screen_reply
-: <a class="el" href="d0/d1e/homescreen_8c.html#a5c225341e0ecbae0585302ef754a55ec">homescreen.c</a>
+</ul>
+
+
+<h3><a class="anchor" id="index_e"></a>- e -</h3><ul>
+<li>ERROR_FLAG
+: <a class="el" href="d2/d66/include_2hmi-debug_8h.html#a13d4c7647aad2e84766f8b48a6caab09">hmi-debug.h</a>
 </li>
 </li>
-<li>ev_reserved
-: <a class="el" href="d0/d1e/homescreen_8c.html#a25fbdcc4e5787e3f41d99f4a71e86611">homescreen.c</a>
+<li>evlist
+: <a class="el" href="df/d66/hs-helper_8cpp.html#a0cd84b1a2184c9b84d1b7bf24582f28e">hs-helper.cpp</a>
+, <a class="el" href="d3/d3d/hs-helper_8h.html#a0cd84b1a2184c9b84d1b7bf24582f28e">hs-helper.h</a>
 </li>
 </li>
-<li>ev_tap_shortcut
-: <a class="el" href="d0/d1e/homescreen_8c.html#a2af1ff5a4cbf03125e61e903832035f5">homescreen.c</a>
+</ul>
+
+
+<h3><a class="anchor" id="index_f"></a>- f -</h3><ul>
+<li>frag_shader_text
+: <a class="el" href="de/da4/simple-egl_8cpp.html#ab5a6a2a26ac23f79b1687daa4b0d8980">simple-egl.cpp</a>
 </li>
 </li>
-<li>event_list
-: <a class="el" href="d0/d1e/homescreen_8c.html#a1c3c5bfa861dcb58d9e9d216d893864c">homescreen.c</a>
+</ul>
+
+
+<h3><a class="anchor" id="index_g"></a>- g -</h3><ul>
+<li>g_client_manager
+: <a class="el" href="d6/dda/homescreen_8cpp.html#a501f5bca8425de3171d46e0723f466ec">homescreen.cpp</a>
 </li>
 </li>
-<li>evlist
-: <a class="el" href="d3/d3d/hs-helper_8h.html#a0cd84b1a2184c9b84d1b7bf24582f28e">hs-helper.h</a>
+<li>g_id_ivisurf
+: <a class="el" href="de/da4/simple-egl_8cpp.html#a28f56c9f01ed9f108201950645317cc9">simple-egl.cpp</a>
 </li>
 </li>
+</ul>
+
+
+<h3><a class="anchor" id="index_h"></a>- h -</h3><ul>
 <li>hs
 <li>hs
-: <a class="el" href="df/dac/test_8cpp.html#a529acbd1fed9d98a587edfa62309fa8d">test.cpp</a>
+: <a class="el" href="de/da4/simple-egl_8cpp.html#a529acbd1fed9d98a587edfa62309fa8d">simple-egl.cpp</a>
 </li>
 </li>
+</ul>
+
+
+<h3><a class="anchor" id="index_i"></a>- i -</h3><ul>
+<li>ivi_application_interface
+: <a class="el" href="de/da4/simple-egl_8cpp.html#a769b65b7b0e834f732f1f45e835890d5">simple-egl.cpp</a>
+</li>
+<li>ivi_application_requests
+: <a class="el" href="de/da4/simple-egl_8cpp.html#a21a39b7c6cf5f6d10a62a70b3ebc9bad">simple-egl.cpp</a>
+</li>
+<li>ivi_surface_events
+: <a class="el" href="de/da4/simple-egl_8cpp.html#ac848f4fbf712a9ba414272fa85577791">simple-egl.cpp</a>
+</li>
+<li>ivi_surface_interface
+: <a class="el" href="de/da4/simple-egl_8cpp.html#adf384de8d12d2edd7265ab85fd16b11c">simple-egl.cpp</a>
+</li>
+<li>ivi_surface_requests
+: <a class="el" href="de/da4/simple-egl_8cpp.html#ada80120c5590d2821da9babef808b98d">simple-egl.cpp</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_l"></a>- l -</h3><ul>
+<li>log_prefix
+: <a class="el" href="de/da4/simple-egl_8cpp.html#a894f18168fa25101d792262f59846938">simple-egl.cpp</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_m"></a>- m -</h3><ul>
+<li>main_role
+: <a class="el" href="de/da4/simple-egl_8cpp.html#a332251aa739a56836cd4fbf3ecbb8bb2">simple-egl.cpp</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
+<li>port
+: <a class="el" href="de/da4/simple-egl_8cpp.html#a300b6806fe6818927fe4df08f2398124">simple-egl.cpp</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_r"></a>- r -</h3><ul>
+<li>registry_listener
+: <a class="el" href="de/da4/simple-egl_8cpp.html#a8998c87c94cd7d185e8f0cdafab4b1c4">simple-egl.cpp</a>
+</li>
+<li>running
+: <a class="el" href="de/da4/simple-egl_8cpp.html#a2f45113638a0b749a8a205d2cd7fb42b">simple-egl.cpp</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_t"></a>- t -</h3><ul>
+<li>token
+: <a class="el" href="de/da4/simple-egl_8cpp.html#a623ef6987ef3bd185c07b28b13e46d34">simple-egl.cpp</a>
+</li>
+<li>types
+: <a class="el" href="de/da4/simple-egl_8cpp.html#aea3203db9e218d3e5d60bdb4ebe2fa1f">simple-egl.cpp</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_v"></a>- v -</h3><ul>
 <li>verbs
 <li>verbs
-: <a class="el" href="d0/d1e/homescreen_8c.html#acad6dadf60fac3d701e488e4fcd11c89">homescreen.c</a>
+: <a class="el" href="d6/dda/homescreen_8cpp.html#a01e06b6317acebc1d5686386b15f0872">homescreen.cpp</a>
+</li>
+<li>vert_shader_text
+: <a class="el" href="de/da4/simple-egl_8cpp.html#a717575939a37d84dcd4cf0447a630834">simple-egl.cpp</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_w"></a>- w -</h3><ul>
+<li>wm
+: <a class="el" href="de/da4/simple-egl_8cpp.html#ad1513698e07197206c290f94d7669d85">simple-egl.cpp</a>
 </li>
 </ul>
 </div><!-- contents -->
 </li>
 </ul>
 </div><!-- contents -->
@@ -110,7 +283,7 @@ $(function() {
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.13
+</a> 1.8.11
 </small></address>
 </body>
 </html>
 </small></address>
 </body>
 </html>
index 9766905..ec4dbce 100644 (file)
@@ -3,8 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <title>HomeScreenBinding: Main Page</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="jquery.js"></script>
 <title>HomeScreenBinding: Main Page</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="jquery.js"></script>
@@ -12,6 +11,9 @@
 <link href="search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="search/searchdata.js"></script>
 <script type="text/javascript" src="search/search.js"></script>
 <link href="search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="search/searchdata.js"></script>
 <script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
 <link href="doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
 <link href="doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
 </table>
 </div>
 <!-- end header part -->
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.11 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </script>
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-$(function() {
-  initMenu('',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-</script>
-<div id="main-nav"></div>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li class="current"><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
 </div><!-- top -->
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
 </div><!-- top -->
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
@@ -67,7 +83,7 @@ $(function() {
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.13
+</a> 1.8.11
 </small></address>
 </body>
 </html>
 </small></address>
 </body>
 </html>
index f5343ed..d52a1c7 100644 (file)
@@ -1,4 +1,4 @@
-/*!
+/*
  * jQuery JavaScript Library v1.7.1
  * http://jquery.com/
  *
  * jQuery JavaScript Library v1.7.1
  * http://jquery.com/
  *
  * Date: Mon Nov 21 21:11:03 2011 -0500
  */
 (function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b4<b3;b4++){if((b9=arguments[b4])!=null){for(b2 in b9){b0=b5[b2];b1=b9[b2];if(b5===b1){continue}if(b8&&b1&&(bF.isPlainObject(b1)||(b6=bF.isArray(b1)))){if(b6){b6=false;b7=b0&&bF.isArray(b0)?b0:[]}else{b7=b0&&bF.isPlainObject(b0)?b0:{}}b5[b2]=bF.extend(b8,b7,b1)}else{if(b1!==L){b5[b2]=b1}}}}}return b5};bF.extend({noConflict:function(b0){if(bb.$===bF){bb.$=bH}if(b0&&bb.jQuery===bF){bb.jQuery=bU}return bF},isReady:false,readyWait:1,holdReady:function(b0){if(b0){bF.readyWait++}else{bF.ready(true)}},ready:function(b0){if((b0===true&&!--bF.readyWait)||(b0!==true&&!bF.isReady)){if(!av.body){return setTimeout(bF.ready,1)}bF.isReady=true;if(b0!==true&&--bF.readyWait>0){return}bC.fireWith(av,[bF]);if(bF.fn.trigger){bF(av).trigger("ready").off("ready")}}},bindReady:function(){if(bC){return}bC=bF.Callbacks("once memory");if(av.readyState==="complete"){return setTimeout(bF.ready,1)}if(av.addEventListener){av.addEventListener("DOMContentLoaded",e,false);bb.addEventListener("load",bF.ready,false)}else{if(av.attachEvent){av.attachEvent("onreadystatechange",e);bb.attachEvent("onload",bF.ready);var b0=false;try{b0=bb.frameElement==null}catch(b1){}if(av.documentElement.doScroll&&b0){bw()}}}},isFunction:function(b0){return bF.type(b0)==="function"},isArray:Array.isArray||function(b0){return bF.type(b0)==="array"},isWindow:function(b0){return b0&&typeof b0==="object"&&"setInterval" in b0},isNumeric:function(b0){return !isNaN(parseFloat(b0))&&isFinite(b0)},type:function(b0){return b0==null?String(b0):bx[bL.call(b0)]||"object"},isPlainObject:function(b2){if(!b2||bF.type(b2)!=="object"||b2.nodeType||bF.isWindow(b2)){return false}try{if(b2.constructor&&!bG.call(b2,"constructor")&&!bG.call(b2.constructor.prototype,"isPrototypeOf")){return false}}catch(b1){return false}var b0;for(b0 in b2){}return b0===L||bG.call(b2,b0)},isEmptyObject:function(b1){for(var b0 in b1){return false}return true},error:function(b0){throw new Error(b0)},parseJSON:function(b0){if(typeof b0!=="string"||!b0){return null}b0=bF.trim(b0);if(bb.JSON&&bb.JSON.parse){return bb.JSON.parse(b0)}if(bN.test(b0.replace(bW,"@").replace(bP,"]").replace(bJ,""))){return(new Function("return "+b0))()}bF.error("Invalid JSON: "+b0)},parseXML:function(b2){var b0,b1;try{if(bb.DOMParser){b1=new DOMParser();b0=b1.parseFromString(b2,"text/xml")}else{b0=new ActiveXObject("Microsoft.XMLDOM");b0.async="false";b0.loadXML(b2)}}catch(b3){b0=L}if(!b0||!b0.documentElement||b0.getElementsByTagName("parsererror").length){bF.error("Invalid XML: "+b2)}return b0},noop:function(){},globalEval:function(b0){if(b0&&bM.test(b0)){(bb.execScript||function(b1){bb["eval"].call(bb,b1)})(b0)}},camelCase:function(b0){return b0.replace(bZ,"ms-").replace(bB,bT)},nodeName:function(b1,b0){return b1.nodeName&&b1.nodeName.toUpperCase()===b0.toUpperCase()},each:function(b3,b6,b2){var b1,b4=0,b5=b3.length,b0=b5===L||bF.isFunction(b3);if(b2){if(b0){for(b1 in b3){if(b6.apply(b3[b1],b2)===false){break}}}else{for(;b4<b5;){if(b6.apply(b3[b4++],b2)===false){break}}}}else{if(b0){for(b1 in b3){if(b6.call(b3[b1],b1,b3[b1])===false){break}}}else{for(;b4<b5;){if(b6.call(b3[b4],b4,b3[b4++])===false){break}}}}return b3},trim:bO?function(b0){return b0==null?"":bO.call(b0)}:function(b0){return b0==null?"":b0.toString().replace(bI,"").replace(bE,"")},makeArray:function(b3,b1){var b0=b1||[];if(b3!=null){var b2=bF.type(b3);if(b3.length==null||b2==="string"||b2==="function"||b2==="regexp"||bF.isWindow(b3)){bz.call(b0,b3)}else{bF.merge(b0,b3)}}return b0},inArray:function(b2,b3,b1){var b0;if(b3){if(bv){return bv.call(b3,b2,b1)}b0=b3.length;b1=b1?b1<0?Math.max(0,b0+b1):b1:0;for(;b1<b0;b1++){if(b1 in b3&&b3[b1]===b2){return b1}}}return -1},merge:function(b4,b2){var b3=b4.length,b1=0;if(typeof b2.length==="number"){for(var b0=b2.length;b1<b0;b1++){b4[b3++]=b2[b1]}}else{while(b2[b1]!==L){b4[b3++]=b2[b1++]}}b4.length=b3;return b4},grep:function(b1,b6,b0){var b2=[],b5;b0=!!b0;for(var b3=0,b4=b1.length;b3<b4;b3++){b5=!!b6(b1[b3],b3);if(b0!==b5){b2.push(b1[b3])}}return b2},map:function(b0,b7,b8){var b5,b6,b4=[],b2=0,b1=b0.length,b3=b0 instanceof bF||b1!==L&&typeof b1==="number"&&((b1>0&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b2<b1;b2++){b5=b7(b0[b2],b2,b8);if(b5!=null){b4[b4.length]=b5}}}else{for(b6 in b0){b5=b7(b0[b6],b6,b8);if(b5!=null){b4[b4.length]=b5}}}return b4.concat.apply([],b4)},guid:1,proxy:function(b4,b3){if(typeof b3==="string"){var b2=b4[b3];b3=b4;b4=b2}if(!bF.isFunction(b4)){return L}var b0=bK.call(arguments,2),b1=function(){return b4.apply(b3,b0.concat(bK.call(arguments)))};b1.guid=b4.guid=b4.guid||b1.guid||bF.guid++;return b1},access:function(b0,b8,b6,b2,b5,b7){var b1=b0.length;if(typeof b8==="object"){for(var b3 in b8){bF.access(b0,b3,b8[b3],b2,b5,b6)}return b0}if(b6!==L){b2=!b7&&b2&&bF.isFunction(b6);for(var b4=0;b4<b1;b4++){b5(b0[b4],b8,b2?b6.call(b0[b4],b4,b5(b0[b4],b8)):b6,b7)}return b0}return b1?b5(b0[0],b8):L},now:function(){return(new Date()).getTime()},uaMatch:function(b1){b1=b1.toLowerCase();var b0=by.exec(b1)||bR.exec(b1)||bQ.exec(b1)||b1.indexOf("compatible")<0&&bS.exec(b1)||[];return{browser:b0[1]||"",version:b0[2]||"0"}},sub:function(){function b0(b3,b4){return new b0.fn.init(b3,b4)}bF.extend(true,b0,this);b0.superclass=this;b0.fn=b0.prototype=this();b0.fn.constructor=b0;b0.sub=this.sub;b0.fn.init=function b2(b3,b4){if(b4&&b4 instanceof bF&&!(b4 instanceof b0)){b4=b0(b4)}return bF.fn.init.call(this,b3,b4,b1)};b0.fn.init.prototype=b0.fn;var b1=b0(av);return b0},browser:{}});bF.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(b1,b0){bx["[object "+b0+"]"]=b0.toLowerCase()});bV=bF.uaMatch(bX);if(bV.browser){bF.browser[bV.browser]=true;bF.browser.version=bV.version}if(bF.browser.webkit){bF.browser.safari=true}if(bM.test("\xA0")){bI=/^[\s\xA0]+/;bE=/[\s\xA0]+$/}bD=bF(av);if(av.addEventListener){e=function(){av.removeEventListener("DOMContentLoaded",e,false);bF.ready()}}else{if(av.attachEvent){e=function(){if(av.readyState==="complete"){av.detachEvent("onreadystatechange",e);bF.ready()}}}}function bw(){if(bF.isReady){return}try{av.documentElement.doScroll("left")}catch(b0){setTimeout(bw,1);return}bF.ready()}return bF})();var a2={};function X(e){var bv=a2[e]={},bw,bx;e=e.split(/\s+/);for(bw=0,bx=e.length;bw<bx;bw++){bv[e[bw]]=true}return bv}b.Callbacks=function(bw){bw=bw?(a2[bw]||X(bw)):{};var bB=[],bC=[],bx,by,bv,bz,bA,bE=function(bF){var bG,bJ,bI,bH,bK;for(bG=0,bJ=bF.length;bG<bJ;bG++){bI=bF[bG];bH=b.type(bI);if(bH==="array"){bE(bI)}else{if(bH==="function"){if(!bw.unique||!bD.has(bI)){bB.push(bI)}}}}},e=function(bG,bF){bF=bF||[];bx=!bw.memory||[bG,bF];by=true;bA=bv||0;bv=0;bz=bB.length;for(;bB&&bA<bz;bA++){if(bB[bA].apply(bG,bF)===false&&bw.stopOnFalse){bx=true;break}}by=false;if(bB){if(!bw.once){if(bC&&bC.length){bx=bC.shift();bD.fireWith(bx[0],bx[1])}}else{if(bx===true){bD.disable()}else{bB=[]}}}},bD={add:function(){if(bB){var bF=bB.length;bE(arguments);if(by){bz=bB.length}else{if(bx&&bx!==true){bv=bF;e(bx[0],bx[1])}}}return this},remove:function(){if(bB){var bF=arguments,bH=0,bI=bF.length;for(;bH<bI;bH++){for(var bG=0;bG<bB.length;bG++){if(bF[bH]===bB[bG]){if(by){if(bG<=bz){bz--;if(bG<=bA){bA--}}}bB.splice(bG--,1);if(bw.unique){break}}}}}return this},has:function(bG){if(bB){var bF=0,bH=bB.length;for(;bF<bH;bF++){if(bG===bB[bF]){return true}}}return false},empty:function(){bB=[];return this},disable:function(){bB=bC=bx=L;return this},disabled:function(){return !bB},lock:function(){bC=L;if(!bx||bx===true){bD.disable()}return this},locked:function(){return !bC},fireWith:function(bG,bF){if(bC){if(by){if(!bw.once){bC.push([bG,bF])}}else{if(!(bw.once&&bx)){e(bG,bF)}}}return this},fire:function(){bD.fireWith(this,arguments);return this},fired:function(){return !!bx}};return bD};var aJ=[].slice;b.extend({Deferred:function(by){var bx=b.Callbacks("once memory"),bw=b.Callbacks("once memory"),bv=b.Callbacks("memory"),e="pending",bA={resolve:bx,reject:bw,notify:bv},bC={done:bx.add,fail:bw.add,progress:bv.add,state:function(){return e},isResolved:bx.fired,isRejected:bw.fired,then:function(bE,bD,bF){bB.done(bE).fail(bD).progress(bF);return this},always:function(){bB.done.apply(bB,arguments).fail.apply(bB,arguments);return this},pipe:function(bF,bE,bD){return b.Deferred(function(bG){b.each({done:[bF,"resolve"],fail:[bE,"reject"],progress:[bD,"notify"]},function(bI,bL){var bH=bL[0],bK=bL[1],bJ;if(b.isFunction(bH)){bB[bI](function(){bJ=bH.apply(this,arguments);if(bJ&&b.isFunction(bJ.promise)){bJ.promise().then(bG.resolve,bG.reject,bG.notify)}else{bG[bK+"With"](this===bB?bG:this,[bJ])}})}else{bB[bI](bG[bK])}})}).promise()},promise:function(bE){if(bE==null){bE=bC}else{for(var bD in bC){bE[bD]=bC[bD]}}return bE}},bB=bC.promise({}),bz;for(bz in bA){bB[bz]=bA[bz].fire;bB[bz+"With"]=bA[bz].fireWith}bB.done(function(){e="resolved"},bw.disable,bv.lock).fail(function(){e="rejected"},bx.disable,bv.lock);if(by){by.call(bB,bB)}return bB},when:function(bA){var bx=aJ.call(arguments,0),bv=0,e=bx.length,bB=new Array(e),bw=e,by=e,bC=e<=1&&bA&&b.isFunction(bA.promise)?bA:b.Deferred(),bE=bC.promise();function bD(bF){return function(bG){bx[bF]=arguments.length>1?aJ.call(arguments,0):bG;if(!(--bw)){bC.resolveWith(bC,bx)}}}function bz(bF){return function(bG){bB[bF]=arguments.length>1?aJ.call(arguments,0):bG;bC.notifyWith(bE,bB)}}if(e>1){for(;bv<e;bv++){if(bx[bv]&&bx[bv].promise&&b.isFunction(bx[bv].promise)){bx[bv].promise().then(bD(bv),bC.reject,bz(bv))}else{--bw}}if(!bw){bC.resolveWith(bC,bx)}}else{if(bC!==bA){bC.resolveWith(bC,e?[bA]:[])}}return bE}});b.support=(function(){var bJ,bI,bF,bG,bx,bE,bA,bD,bz,bK,bB,by,bw,bv=av.createElement("div"),bH=av.documentElement;bv.setAttribute("className","t");bv.innerHTML="   <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>";bI=bv.getElementsByTagName("*");bF=bv.getElementsByTagName("a")[0];if(!bI||!bI.length||!bF){return{}}bG=av.createElement("select");bx=bG.appendChild(av.createElement("option"));bE=bv.getElementsByTagName("input")[0];bJ={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bF.getAttribute("style")),hrefNormalized:(bF.getAttribute("href")==="/a"),opacity:/^0.55/.test(bF.style.opacity),cssFloat:!!bF.style.cssFloat,checkOn:(bE.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!av.createElement("form").enctype,html5Clone:av.createElement("nav").cloneNode(true).outerHTML!=="<:nav></:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true};bE.checked=true;bJ.noCloneChecked=bE.cloneNode(true).checked;bG.disabled=true;bJ.optDisabled=!bx.disabled;try{delete bv.test}catch(bC){bJ.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",function(){bJ.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick")}bE=av.createElement("input");bE.value="t";bE.setAttribute("type","radio");bJ.radioValue=bE.value==="t";bE.setAttribute("checked","checked");bv.appendChild(bE);bD=av.createDocumentFragment();bD.appendChild(bv.lastChild);bJ.checkClone=bD.cloneNode(true).cloneNode(true).lastChild.checked;bJ.appendChecked=bE.checked;bD.removeChild(bE);bD.appendChild(bv);bv.innerHTML="";if(bb.getComputedStyle){bA=av.createElement("div");bA.style.width="0";bA.style.marginRight="0";bv.style.width="2px";bv.appendChild(bA);bJ.reliableMarginRight=(parseInt((bb.getComputedStyle(bA,null)||{marginRight:0}).marginRight,10)||0)===0}if(bv.attachEvent){for(by in {submit:1,change:1,focusin:1}){bB="on"+by;bw=(bB in bv);if(!bw){bv.setAttribute(bB,"return;");bw=(typeof bv[bB]==="function")}bJ[by+"Bubbles"]=bw}}bD.removeChild(bv);bD=bG=bx=bA=bv=bE=null;b(function(){var bM,bU,bV,bT,bN,bO,bL,bS,bR,e,bP,bQ=av.getElementsByTagName("body")[0];if(!bQ){return}bL=1;bS="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;";bR="visibility:hidden;border:0;";e="style='"+bS+"border:5px solid #000;padding:0;'";bP="<div "+e+"><div></div></div><table "+e+" cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";bM=av.createElement("div");bM.style.cssText=bR+"width:0;height:0;position:static;top:0;margin-top:"+bL+"px";bQ.insertBefore(bM,bQ.firstChild);bv=av.createElement("div");bM.appendChild(bv);bv.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>";bz=bv.getElementsByTagName("td");bw=(bz[0].offsetHeight===0);bz[0].style.display="";bz[1].style.display="none";bJ.reliableHiddenOffsets=bw&&(bz[0].offsetHeight===0);bv.innerHTML="";bv.style.width=bv.style.paddingLeft="1px";b.boxModel=bJ.boxModel=bv.offsetWidth===2;if(typeof bv.style.zoom!=="undefined"){bv.style.display="inline";bv.style.zoom=1;bJ.inlineBlockNeedsLayout=(bv.offsetWidth===2);bv.style.display="";bv.innerHTML="<div style='width:4px;'></div>";bJ.shrinkWrapBlocks=(bv.offsetWidth!==2)}bv.style.cssText=bS+bR;bv.innerHTML=bP;bU=bv.firstChild;bV=bU.firstChild;bN=bU.nextSibling.firstChild.firstChild;bO={doesNotAddBorder:(bV.offsetTop!==5),doesAddBorderForTableAndCells:(bN.offsetTop===5)};bV.style.position="fixed";bV.style.top="20px";bO.fixedPosition=(bV.offsetTop===20||bV.offsetTop===15);bV.style.position=bV.style.top="";bU.style.overflow="hidden";bU.style.position="relative";bO.subtractsBorderForOverflowNotVisible=(bV.offsetTop===-5);bO.doesNotIncludeMarginInBodyOffset=(bQ.offsetTop!==bL);bQ.removeChild(bM);bv=bM=null;b.extend(bJ,bO)});return bJ})();var aS=/^(?:\{.*\}|\[.*\])$/,aA=/([A-Z])/g;b.extend({cache:{},uuid:0,expando:"jQuery"+(b.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?b.cache[e[b.expando]]:e[b.expando];return !!e&&!S(e)},data:function(bx,bv,bz,by){if(!b.acceptData(bx)){return}var bG,bA,bD,bE=b.expando,bC=typeof bv==="string",bF=bx.nodeType,e=bF?b.cache:bx,bw=bF?bx[bE]:bx[bE]&&bE,bB=bv==="events";if((!bw||!e[bw]||(!bB&&!by&&!e[bw].data))&&bC&&bz===L){return}if(!bw){if(bF){bx[bE]=bw=++b.uuid}else{bw=bE}}if(!e[bw]){e[bw]={};if(!bF){e[bw].toJSON=b.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){e[bw]=b.extend(e[bw],bv)}else{e[bw].data=b.extend(e[bw].data,bv)}}bG=bA=e[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==L){bA[b.camelCase(bv)]=bz}if(bB&&!bA[bv]){return bG.events}if(bC){bD=bA[bv];if(bD==null){bD=bA[b.camelCase(bv)]}}else{bD=bA}return bD},removeData:function(bx,bv,by){if(!b.acceptData(bx)){return}var bB,bA,bz,bC=b.expando,bD=bx.nodeType,e=bD?b.cache:bx,bw=bD?bx[bC]:bC;if(!e[bw]){return}if(bv){bB=by?e[bw]:e[bw].data;if(bB){if(!b.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=b.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA<bz;bA++){delete bB[bv[bA]]}if(!(by?S:b.isEmptyObject)(bB)){return}}}if(!by){delete e[bw].data;if(!S(e[bw])){return}}if(b.support.deleteExpando||!e.setInterval){delete e[bw]}else{e[bw]=null}if(bD){if(b.support.deleteExpando){delete bx[bC]}else{if(bx.removeAttribute){bx.removeAttribute(bC)}else{bx[bC]=null}}}},_data:function(bv,e,bw){return b.data(bv,e,bw,true)},acceptData:function(bv){if(bv.nodeName){var e=b.noData[bv.nodeName.toLowerCase()];if(e){return !(e===true||bv.getAttribute("classid")!==e)}}return true}});b.fn.extend({data:function(by,bA){var bB,e,bw,bz=null;if(typeof by==="undefined"){if(this.length){bz=b.data(this[0]);if(this[0].nodeType===1&&!b._data(this[0],"parsedAttrs")){e=this[0].attributes;for(var bx=0,bv=e.length;bx<bv;bx++){bw=e[bx].name;if(bw.indexOf("data-")===0){bw=b.camelCase(bw.substring(5));a5(this[0],bw,bz[bw])}}b._data(this[0],"parsedAttrs",true)}}return bz}else{if(typeof by==="object"){return this.each(function(){b.data(this,by)})}}bB=by.split(".");bB[1]=bB[1]?"."+bB[1]:"";if(bA===L){bz=this.triggerHandler("getData"+bB[1]+"!",[bB[0]]);if(bz===L&&this.length){bz=b.data(this[0],by);bz=a5(this[0],by,bz)}return bz===L&&bB[1]?this.data(bB[0]):bz}else{return this.each(function(){var bC=b(this),bD=[bB[0],bA];bC.triggerHandler("setData"+bB[1]+"!",bD);b.data(this,by,bA);bC.triggerHandler("changeData"+bB[1]+"!",bD)})}},removeData:function(e){return this.each(function(){b.removeData(this,e)})}});function a5(bx,bw,by){if(by===L&&bx.nodeType===1){var bv="data-"+bw.replace(aA,"-$1").toLowerCase();by=bx.getAttribute(bv);if(typeof by==="string"){try{by=by==="true"?true:by==="false"?false:by==="null"?null:b.isNumeric(by)?parseFloat(by):aS.test(by)?b.parseJSON(by):by}catch(bz){}b.data(bx,bw,by)}else{by=L}}return by}function S(bv){for(var e in bv){if(e==="data"&&b.isEmptyObject(bv[e])){continue}if(e!=="toJSON"){return false}}return true}function bi(by,bx,bA){var bw=bx+"defer",bv=bx+"queue",e=bx+"mark",bz=b._data(by,bw);if(bz&&(bA==="queue"||!b._data(by,bv))&&(bA==="mark"||!b._data(by,e))){setTimeout(function(){if(!b._data(by,bv)&&!b._data(by,e)){b.removeData(by,bw,true);bz.fire()}},0)}}b.extend({_mark:function(bv,e){if(bv){e=(e||"fx")+"mark";b._data(bv,e,(b._data(bv,e)||0)+1)}},_unmark:function(by,bx,bv){if(by!==true){bv=bx;bx=by;by=false}if(bx){bv=bv||"fx";var e=bv+"mark",bw=by?0:((b._data(bx,e)||1)-1);if(bw){b._data(bx,e,bw)}else{b.removeData(bx,e,true);bi(bx,bv,"mark")}}},queue:function(bv,e,bx){var bw;if(bv){e=(e||"fx")+"queue";bw=b._data(bv,e);if(bx){if(!bw||b.isArray(bx)){bw=b._data(bv,e,b.makeArray(bx))}else{bw.push(bx)}}return bw||[]}},dequeue:function(by,bx){bx=bx||"fx";var bv=b.queue(by,bx),bw=bv.shift(),e={};if(bw==="inprogress"){bw=bv.shift()}if(bw){if(bx==="fx"){bv.unshift("inprogress")}b._data(by,bx+".run",e);bw.call(by,function(){b.dequeue(by,bx)},e)}if(!bv.length){b.removeData(by,bx+"queue "+bx+".run",true);bi(by,bx,"queue")}}});b.fn.extend({queue:function(e,bv){if(typeof e!=="string"){bv=e;e="fx"}if(bv===L){return b.queue(this[0],e)}return this.each(function(){var bw=b.queue(this,e,bv);if(e==="fx"&&bw[0]!=="inprogress"){b.dequeue(this,e)}})},dequeue:function(e){return this.each(function(){b.dequeue(this,e)})},delay:function(bv,e){bv=b.fx?b.fx.speeds[bv]||bv:bv;e=e||"fx";return this.queue(e,function(bx,bw){var by=setTimeout(bx,bv);bw.stop=function(){clearTimeout(by)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(bD,bw){if(typeof bD!=="string"){bw=bD;bD=L}bD=bD||"fx";var e=b.Deferred(),bv=this,by=bv.length,bB=1,bz=bD+"defer",bA=bD+"queue",bC=bD+"mark",bx;function bE(){if(!(--bB)){e.resolveWith(bv,[bv])}}while(by--){if((bx=b.data(bv[by],bz,L,true)||(b.data(bv[by],bA,L,true)||b.data(bv[by],bC,L,true))&&b.data(bv[by],bz,b.Callbacks("once memory"),true))){bB++;bx.add(bE)}}bE();return e.promise()}});var aP=/[\n\t\r]/g,af=/\s+/,aU=/\r/g,g=/^(?:button|input)$/i,D=/^(?:button|input|object|select|textarea)$/i,l=/^a(?:rea)?$/i,ao=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,F=b.support.getSetAttribute,be,aY,aF;b.fn.extend({attr:function(e,bv){return b.access(this,e,bv,true,b.attr)},removeAttr:function(e){return this.each(function(){b.removeAttr(this,e)})},prop:function(e,bv){return b.access(this,e,bv,true,b.prop)},removeProp:function(e){e=b.propFix[e]||e;return this.each(function(){try{this[e]=L;delete this[e]}catch(bv){}})},addClass:function(by){var bA,bw,bv,bx,bz,bB,e;if(b.isFunction(by)){return this.each(function(bC){b(this).addClass(by.call(this,bC,this.className))})}if(by&&typeof by==="string"){bA=by.split(af);for(bw=0,bv=this.length;bw<bv;bw++){bx=this[bw];if(bx.nodeType===1){if(!bx.className&&bA.length===1){bx.className=by}else{bz=" "+bx.className+" ";for(bB=0,e=bA.length;bB<e;bB++){if(!~bz.indexOf(" "+bA[bB]+" ")){bz+=bA[bB]+" "}}bx.className=b.trim(bz)}}}}return this},removeClass:function(bz){var bA,bw,bv,by,bx,bB,e;if(b.isFunction(bz)){return this.each(function(bC){b(this).removeClass(bz.call(this,bC,this.className))})}if((bz&&typeof bz==="string")||bz===L){bA=(bz||"").split(af);for(bw=0,bv=this.length;bw<bv;bw++){by=this[bw];if(by.nodeType===1&&by.className){if(bz){bx=(" "+by.className+" ").replace(aP," ");for(bB=0,e=bA.length;bB<e;bB++){bx=bx.replace(" "+bA[bB]+" "," ")}by.className=b.trim(bx)}else{by.className=""}}}}return this},toggleClass:function(bx,bv){var bw=typeof bx,e=typeof bv==="boolean";if(b.isFunction(bx)){return this.each(function(by){b(this).toggleClass(bx.call(this,by,this.className,bv),bv)})}return this.each(function(){if(bw==="string"){var bA,bz=0,by=b(this),bB=bv,bC=bx.split(af);while((bA=bC[bz++])){bB=e?bB:!by.hasClass(bA);by[bB?"addClass":"removeClass"](bA)}}else{if(bw==="undefined"||bw==="boolean"){if(this.className){b._data(this,"__className__",this.className)}this.className=this.className||bx===false?"":b._data(this,"__className__")||""}}})},hasClass:function(e){var bx=" "+e+" ",bw=0,bv=this.length;for(;bw<bv;bw++){if(this[bw].nodeType===1&&(" "+this[bw].className+" ").replace(aP," ").indexOf(bx)>-1){return true}}return false},val:function(bx){var e,bv,by,bw=this[0];if(!arguments.length){if(bw){e=b.valHooks[bw.nodeName.toLowerCase()]||b.valHooks[bw.type];if(e&&"get" in e&&(bv=e.get(bw,"value"))!==L){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aU,""):bv==null?"":bv}return}by=b.isFunction(bx);return this.each(function(bA){var bz=b(this),bB;if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(b.isArray(bB)){bB=b.map(bB,function(bC){return bC==null?"":bC+""})}}}e=b.valHooks[this.nodeName.toLowerCase()]||b.valHooks[this.type];if(!e||!("set" in e)||e.set(this,bB,"value")===L){this.value=bB}})}});b.extend({valHooks:{option:{get:function(e){var bv=e.attributes.value;return !bv||bv.specified?e.value:e.text}},select:{get:function(e){var bA,bv,bz,bx,by=e.selectedIndex,bB=[],bC=e.options,bw=e.type==="select-one";if(by<0){return null}bv=bw?by:0;bz=bw?by+1:bC.length;for(;bv<bz;bv++){bx=bC[bv];if(bx.selected&&(b.support.optDisabled?!bx.disabled:bx.getAttribute("disabled")===null)&&(!bx.parentNode.disabled||!b.nodeName(bx.parentNode,"optgroup"))){bA=b(bx).val();if(bw){return bA}bB.push(bA)}}if(bw&&!bB.length&&bC.length){return b(bC[by]).val()}return bB},set:function(bv,bw){var e=b.makeArray(bw);b(bv).find("option").each(function(){this.selected=b.inArray(b(this).val(),e)>=0});if(!e.length){bv.selectedIndex=-1}return e}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bA,bx,bB,bz){var bw,e,by,bv=bA.nodeType;if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aY:be)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&"set" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,""+bB);return bB}}}else{if(e&&"get" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?L:bw}}},removeAttr:function(bx,bz){var by,bA,bv,e,bw=0;if(bz&&bx.nodeType===1){bA=bz.toLowerCase().split(af);e=bA.length;for(;bw<e;bw++){bv=bA[bw];if(bv){by=b.propFix[bv]||bv;b.attr(bx,bv,"");bx.removeAttribute(F?bv:by);if(ao.test(bv)&&by in bx){bx[by]=false}}}}},attrHooks:{type:{set:function(e,bv){if(g.test(e.nodeName)&&e.parentNode){b.error("type property can't be changed")}else{if(!b.support.radioValue&&bv==="radio"&&b.nodeName(e,"input")){var bw=e.value;e.setAttribute("type",bv);if(bw){e.value=bw}return bv}}}},value:{get:function(bv,e){if(be&&b.nodeName(bv,"button")){return be.get(bv,e)}return e in bv?bv.value:null},set:function(bv,bw,e){if(be&&b.nodeName(bv,"button")){return be.set(bv,bw,e)}bv.value=bw}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(bz,bx,bA){var bw,e,by,bv=bz.nodeType;if(!bz||bv===3||bv===8||bv===2){return}by=bv!==1||!b.isXMLDoc(bz);if(by){bx=b.propFix[bx]||bx;e=b.propHooks[bx]}if(bA!==L){if(e&&"set" in e&&(bw=e.set(bz,bA,bx))!==L){return bw}else{return(bz[bx]=bA)}}else{if(e&&"get" in e&&(bw=e.get(bz,bx))!==null){return bw}else{return bz[bx]}}},propHooks:{tabIndex:{get:function(bv){var e=bv.getAttributeNode("tabindex");return e&&e.specified?parseInt(e.value,10):D.test(bv.nodeName)||l.test(bv.nodeName)&&bv.href?0:L}}}});b.attrHooks.tabindex=b.propHooks.tabIndex;aY={get:function(bv,e){var bx,bw=b.prop(bv,e);return bw===true||typeof bw!=="boolean"&&(bx=bv.getAttributeNode(e))&&bx.nodeValue!==false?e.toLowerCase():L},set:function(bv,bx,e){var bw;if(bx===false){b.removeAttr(bv,e)}else{bw=b.propFix[e]||e;if(bw in bv){bv[bw]=true}bv.setAttribute(e,e.toLowerCase())}return e}};if(!F){aF={name:true,id:true};be=b.valHooks.button={get:function(bw,bv){var e;e=bw.getAttributeNode(bv);return e&&(aF[bv]?e.nodeValue!=="":e.specified)?e.nodeValue:L},set:function(bw,bx,bv){var e=bw.getAttributeNode(bv);if(!e){e=av.createAttribute(bv);bw.setAttributeNode(e)}return(e.nodeValue=bx+"")}};b.attrHooks.tabindex.set=be.set;b.each(["width","height"],function(bv,e){b.attrHooks[e]=b.extend(b.attrHooks[e],{set:function(bw,bx){if(bx===""){bw.setAttribute(e,"auto");return bx}}})});b.attrHooks.contenteditable={get:be.get,set:function(bv,bw,e){if(bw===""){bw="false"}be.set(bv,bw,e)}}}if(!b.support.hrefNormalized){b.each(["href","src","width","height"],function(bv,e){b.attrHooks[e]=b.extend(b.attrHooks[e],{get:function(bx){var bw=bx.getAttribute(e,2);return bw===null?L:bw}})})}if(!b.support.style){b.attrHooks.style={get:function(e){return e.style.cssText.toLowerCase()||L},set:function(e,bv){return(e.style.cssText=""+bv)}}}if(!b.support.optSelected){b.propHooks.selected=b.extend(b.propHooks.selected,{get:function(bv){var e=bv.parentNode;if(e){e.selectedIndex;if(e.parentNode){e.parentNode.selectedIndex}}return null}})}if(!b.support.enctype){b.propFix.enctype="encoding"}if(!b.support.checkOn){b.each(["radio","checkbox"],function(){b.valHooks[this]={get:function(e){return e.getAttribute("value")===null?"on":e.value}}})}b.each(["radio","checkbox"],function(){b.valHooks[this]=b.extend(b.valHooks[this],{set:function(e,bv){if(b.isArray(bv)){return(e.checked=b.inArray(b(e).val(),bv)>=0)}}})});var bd=/^(?:textarea|input|select)$/i,n=/^([^\.]*)?(?:\.(.+))?$/,J=/\bhover(\.\S+)?\b/,aO=/^key/,bf=/^(?:mouse|contextmenu)|click/,T=/^(?:focusinfocus|focusoutblur)$/,U=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,Y=function(e){var bv=U.exec(e);if(bv){bv[1]=(bv[1]||"").toLowerCase();bv[3]=bv[3]&&new RegExp("(?:^|\\s)"+bv[3]+"(?:\\s|$)")}return bv},j=function(bw,e){var bv=bw.attributes||{};return((!e[1]||bw.nodeName.toLowerCase()===e[1])&&(!e[2]||(bv.id||{}).value===e[2])&&(!e[3]||e[3].test((bv["class"]||{}).value)))},bt=function(e){return b.event.special.hover?e:e.replace(J,"mouseenter$1 mouseleave$1")};b.event={add:function(bx,bC,bJ,bA,by){var bD,bB,bK,bI,bH,bF,e,bG,bv,bz,bw,bE;if(bx.nodeType===3||bx.nodeType===8||!bC||!bJ||!(bD=b._data(bx))){return}if(bJ.handler){bv=bJ;bJ=bv.handler}if(!bJ.guid){bJ.guid=b.guid++}bK=bD.events;if(!bK){bD.events=bK={}}bB=bD.handle;if(!bB){bD.handle=bB=function(bL){return typeof b!=="undefined"&&(!bL||b.event.triggered!==bL.type)?b.event.dispatch.apply(bB.elem,arguments):L};bB.elem=bx}bC=b.trim(bt(bC)).split(" ");for(bI=0;bI<bC.length;bI++){bH=n.exec(bC[bI])||[];bF=bH[1];e=(bH[2]||"").split(".").sort();bE=b.event.special[bF]||{};bF=(by?bE.delegateType:bE.bindType)||bF;bE=b.event.special[bF]||{};bG=b.extend({type:bF,origType:bH[1],data:bA,handler:bJ,guid:bJ.guid,selector:by,quick:Y(by),namespace:e.join(".")},bv);bw=bK[bF];if(!bw){bw=bK[bF]=[];bw.delegateCount=0;if(!bE.setup||bE.setup.call(bx,bA,e,bB)===false){if(bx.addEventListener){bx.addEventListener(bF,bB,false)}else{if(bx.attachEvent){bx.attachEvent("on"+bF,bB)}}}}if(bE.add){bE.add.call(bx,bG);if(!bG.handler.guid){bG.handler.guid=bJ.guid}}if(by){bw.splice(bw.delegateCount++,0,bG)}else{bw.push(bG)}b.event.global[bF]=true}bx=null},global:{},remove:function(bJ,bE,bv,bH,bB){var bI=b.hasData(bJ)&&b._data(bJ),bF,bx,bz,bL,bC,bA,bG,bw,by,bK,bD,e;if(!bI||!(bw=bI.events)){return}bE=b.trim(bt(bE||"")).split(" ");for(bF=0;bF<bE.length;bF++){bx=n.exec(bE[bF])||[];bz=bL=bx[1];bC=bx[2];if(!bz){for(bz in bw){b.event.remove(bJ,bz+bE[bF],bv,bH,true)}continue}by=b.event.special[bz]||{};bz=(bH?by.delegateType:by.bindType)||bz;bD=bw[bz]||[];bA=bD.length;bC=bC?new RegExp("(^|\\.)"+bC.split(".").sort().join("\\.(?:.*\\.)?")+"(\\.|$)"):null;for(bG=0;bG<bD.length;bG++){e=bD[bG];if((bB||bL===e.origType)&&(!bv||bv.guid===e.guid)&&(!bC||bC.test(e.namespace))&&(!bH||bH===e.selector||bH==="**"&&e.selector)){bD.splice(bG--,1);if(e.selector){bD.delegateCount--}if(by.remove){by.remove.call(bJ,e)}}}if(bD.length===0&&bA!==bD.length){if(!by.teardown||by.teardown.call(bJ,bC)===false){b.removeEvent(bJ,bz,bI.handle)}delete bw[bz]}}if(b.isEmptyObject(bw)){bK=bI.handle;if(bK){bK.elem=null}b.removeData(bJ,["events","handle"],true)}},customEvent:{getData:true,setData:true,changeData:true},trigger:function(bv,bD,bA,bJ){if(bA&&(bA.nodeType===3||bA.nodeType===8)){return}var bG=bv.type||bv,bx=[],e,bw,bC,bH,bz,by,bF,bE,bB,bI;if(T.test(bG+b.event.triggered)){return}if(bG.indexOf("!")>=0){bG=bG.slice(0,-1);bw=true}if(bG.indexOf(".")>=0){bx=bG.split(".");bG=bx.shift();bx.sort()}if((!bA||b.event.customEvent[bG])&&!b.event.global[bG]){return}bv=typeof bv==="object"?bv[b.expando]?bv:new b.Event(bG,bv):new b.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bw;bv.namespace=bx.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bx.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){e=b.cache;for(bC in e){if(e[bC].events&&e[bC].events[bG]){b.event.trigger(bv,bD,e[bC].handle.elem,true)}}return}bv.result=L;if(!bv.target){bv.target=bA}bD=bD!=null?b.makeArray(bD):[];bD.unshift(bv);bF=b.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bD)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!b.isWindow(bA)){bI=bF.delegateType||bG;bH=T.test(bI+bG)?bA:bA.parentNode;bz=null;for(;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz&&bz===bA.ownerDocument){bB.push([bz.defaultView||bz.parentWindow||bb,bI])}}for(bC=0;bC<bB.length&&!bv.isPropagationStopped();bC++){bH=bB[bC][0];bv.type=bB[bC][1];bE=(b._data(bH,"events")||{})[bv.type]&&b._data(bH,"handle");if(bE){bE.apply(bH,bD)}bE=by&&bH[by];if(bE&&b.acceptData(bH)&&bE.apply(bH,bD)===false){bv.preventDefault()}}bv.type=bG;if(!bJ&&!bv.isDefaultPrevented()){if((!bF._default||bF._default.apply(bA.ownerDocument,bD)===false)&&!(bG==="click"&&b.nodeName(bA,"a"))&&b.acceptData(bA)){if(by&&bA[bG]&&((bG!=="focus"&&bG!=="blur")||bv.target.offsetWidth!==0)&&!b.isWindow(bA)){bz=bA[by];if(bz){bA[by]=null}b.event.triggered=bG;bA[bG]();b.event.triggered=L;if(bz){bA[by]=bz}}}}return bv.result},dispatch:function(e){e=b.event.fix(e||bb.event);var bz=((b._data(this,"events")||{})[e.type]||[]),bA=bz.delegateCount,bG=[].slice.call(arguments,0),by=!e.exclusive&&!e.namespace,bH=[],bC,bB,bK,bx,bF,bE,bv,bD,bI,bw,bJ;bG[0]=e;e.delegateTarget=this;if(bA&&!e.target.disabled&&!(e.button&&e.type==="click")){bx=b(this);bx.context=this.ownerDocument||this;for(bK=e.target;bK!=this;bK=bK.parentNode||this){bE={};bD=[];bx[0]=bK;for(bC=0;bC<bA;bC++){bI=bz[bC];bw=bI.selector;if(bE[bw]===L){bE[bw]=(bI.quick?j(bK,bI.quick):bx.is(bw))}if(bE[bw]){bD.push(bI)}}if(bD.length){bH.push({elem:bK,matches:bD})}}}if(bz.length>bA){bH.push({elem:this,matches:bz.slice(bA)})}for(bC=0;bC<bH.length&&!e.isPropagationStopped();bC++){bv=bH[bC];e.currentTarget=bv.elem;for(bB=0;bB<bv.matches.length&&!e.isImmediatePropagationStopped();bB++){bI=bv.matches[bB];if(by||(!e.namespace&&!bI.namespace)||e.namespace_re&&e.namespace_re.test(bI.namespace)){e.data=bI.data;e.handleObj=bI;bF=((b.event.special[bI.origType]||{}).handle||bI.handler).apply(bv.elem,bG);if(bF!==L){e.result=bF;if(bF===false){e.preventDefault();e.stopPropagation()}}}}}return e.result},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(bv,e){if(bv.which==null){bv.which=e.charCode!=null?e.charCode:e.keyCode}return bv}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(bx,bw){var by,bz,e,bv=bw.button,bA=bw.fromElement;if(bx.pageX==null&&bw.clientX!=null){by=bx.target.ownerDocument||av;bz=by.documentElement;e=by.body;bx.pageX=bw.clientX+(bz&&bz.scrollLeft||e&&e.scrollLeft||0)-(bz&&bz.clientLeft||e&&e.clientLeft||0);bx.pageY=bw.clientY+(bz&&bz.scrollTop||e&&e.scrollTop||0)-(bz&&bz.clientTop||e&&e.clientTop||0)}if(!bx.relatedTarget&&bA){bx.relatedTarget=bA===bx.target?bw.toElement:bA}if(!bx.which&&bv!==L){bx.which=(bv&1?1:(bv&2?3:(bv&4?2:0)))}return bx}},fix:function(bw){if(bw[b.expando]){return bw}var bv,bz,e=bw,bx=b.event.fixHooks[bw.type]||{},by=bx.props?this.props.concat(bx.props):this.props;bw=b.Event(e);for(bv=by.length;bv;){bz=by[--bv];bw[bz]=e[bz]}if(!bw.target){bw.target=e.srcElement||av}if(bw.target.nodeType===3){bw.target=bw.target.parentNode}if(bw.metaKey===L){bw.metaKey=bw.ctrlKey}return bx.filter?bx.filter(bw,e):bw},special:{ready:{setup:b.bindReady},load:{noBubble:true},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(bw,bv,e){if(b.isWindow(this)){this.onbeforeunload=e}},teardown:function(bv,e){if(this.onbeforeunload===e){this.onbeforeunload=null}}}},simulate:function(bw,by,bx,bv){var bz=b.extend(new b.Event(),bx,{type:bw,isSimulated:true,originalEvent:{}});if(bv){b.event.trigger(bz,null,by)}else{b.event.dispatch.call(by,bz)}if(bz.isDefaultPrevented()){bx.preventDefault()}}};b.event.handle=b.event.dispatch;b.removeEvent=av.removeEventListener?function(bv,e,bw){if(bv.removeEventListener){bv.removeEventListener(e,bw,false)}}:function(bv,e,bw){if(bv.detachEvent){bv.detachEvent("on"+e,bw)}};b.Event=function(bv,e){if(!(this instanceof b.Event)){return new b.Event(bv,e)}if(bv&&bv.type){this.originalEvent=bv;this.type=bv.type;this.isDefaultPrevented=(bv.defaultPrevented||bv.returnValue===false||bv.getPreventDefault&&bv.getPreventDefault())?i:bk}else{this.type=bv}if(e){b.extend(this,e)}this.timeStamp=bv&&bv.timeStamp||b.now();this[b.expando]=true};function bk(){return false}function i(){return true}b.Event.prototype={preventDefault:function(){this.isDefaultPrevented=i;var bv=this.originalEvent;if(!bv){return}if(bv.preventDefault){bv.preventDefault()}else{bv.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=i;var bv=this.originalEvent;if(!bv){return}if(bv.stopPropagation){bv.stopPropagation()}bv.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=i;this.stopPropagation()},isDefaultPrevented:bk,isPropagationStopped:bk,isImmediatePropagationStopped:bk};b.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(bv,e){b.event.special[bv]={delegateType:e,bindType:e,handle:function(bz){var bB=this,bA=bz.relatedTarget,by=bz.handleObj,bw=by.selector,bx;if(!bA||(bA!==bB&&!b.contains(bB,bA))){bz.type=by.origType;bx=by.handler.apply(this,arguments);bz.type=e}return bx}}});if(!b.support.submitBubbles){b.event.special.submit={setup:function(){if(b.nodeName(this,"form")){return false}b.event.add(this,"click._submit keypress._submit",function(bx){var bw=bx.target,bv=b.nodeName(bw,"input")||b.nodeName(bw,"button")?bw.form:L;if(bv&&!bv._submit_attached){b.event.add(bv,"submit._submit",function(e){if(this.parentNode&&!e.isTrigger){b.event.simulate("submit",this.parentNode,e,true)}});bv._submit_attached=true}})},teardown:function(){if(b.nodeName(this,"form")){return false}b.event.remove(this,"._submit")}}}if(!b.support.changeBubbles){b.event.special.change={setup:function(){if(bd.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio"){b.event.add(this,"propertychange._change",function(e){if(e.originalEvent.propertyName==="checked"){this._just_changed=true}});b.event.add(this,"click._change",function(e){if(this._just_changed&&!e.isTrigger){this._just_changed=false;b.event.simulate("change",this,e,true)}})}return false}b.event.add(this,"beforeactivate._change",function(bw){var bv=bw.target;if(bd.test(bv.nodeName)&&!bv._change_attached){b.event.add(bv,"change._change",function(e){if(this.parentNode&&!e.isSimulated&&!e.isTrigger){b.event.simulate("change",this.parentNode,e,true)}});bv._change_attached=true}})},handle:function(bv){var e=bv.target;if(this!==e||bv.isSimulated||bv.isTrigger||(e.type!=="radio"&&e.type!=="checkbox")){return bv.handleObj.handler.apply(this,arguments)}},teardown:function(){b.event.remove(this,"._change");return bd.test(this.nodeName)}}}if(!b.support.focusinBubbles){b.each({focus:"focusin",blur:"focusout"},function(bx,e){var bv=0,bw=function(by){b.event.simulate(e,by.target,b.event.fix(by),true)};b.event.special[e]={setup:function(){if(bv++===0){av.addEventListener(bx,bw,true)}},teardown:function(){if(--bv===0){av.removeEventListener(bx,bw,true)}}}})}b.fn.extend({on:function(bw,e,bz,by,bv){var bA,bx;if(typeof bw==="object"){if(typeof e!=="string"){bz=e;e=L}for(bx in bw){this.on(bx,e,bz,bw[bx],bv)}return this}if(bz==null&&by==null){by=e;bz=e=L}else{if(by==null){if(typeof e==="string"){by=bz;bz=L}else{by=bz;bz=e;e=L}}}if(by===false){by=bk}else{if(!by){return this}}if(bv===1){bA=by;by=function(bB){b().off(bB);return bA.apply(this,arguments)};by.guid=bA.guid||(bA.guid=b.guid++)}return this.each(function(){b.event.add(this,bw,by,bz,e)})},one:function(bv,e,bx,bw){return this.on.call(this,bv,e,bx,bw,1)},off:function(bw,e,by){if(bw&&bw.preventDefault&&bw.handleObj){var bv=bw.handleObj;b(bw.delegateTarget).off(bv.namespace?bv.type+"."+bv.namespace:bv.type,bv.selector,bv.handler);return this}if(typeof bw==="object"){for(var bx in bw){this.off(bx,e,bw[bx])}return this}if(e===false||typeof e==="function"){by=e;e=L}if(by===false){by=bk}return this.each(function(){b.event.remove(this,bw,by,e)})},bind:function(e,bw,bv){return this.on(e,null,bw,bv)},unbind:function(e,bv){return this.off(e,null,bv)},live:function(e,bw,bv){b(this.context).on(e,this.selector,bw,bv);return this},die:function(e,bv){b(this.context).off(e,this.selector||"**",bv);return this},delegate:function(e,bv,bx,bw){return this.on(bv,e,bx,bw)},undelegate:function(e,bv,bw){return arguments.length==1?this.off(e,"**"):this.off(bv,e,bw)},trigger:function(e,bv){return this.each(function(){b.event.trigger(e,bv,this)})},triggerHandler:function(e,bv){if(this[0]){return b.event.trigger(e,bv,this[0],true)}},toggle:function(bx){var bv=arguments,e=bx.guid||b.guid++,bw=0,by=function(bz){var bA=(b._data(this,"lastToggle"+bx.guid)||0)%bw;b._data(this,"lastToggle"+bx.guid,bA+1);bz.preventDefault();return bv[bA].apply(this,arguments)||false};by.guid=e;while(bw<bv.length){bv[bw++].guid=e}return this.click(by)},hover:function(e,bv){return this.mouseenter(e).mouseleave(bv||e)}});b.each(("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu").split(" "),function(bv,e){b.fn[e]=function(bx,bw){if(bw==null){bw=bx;bx=null}return arguments.length>0?this.on(e,null,bx,bw):this.trigger(e)};if(b.attrFn){b.attrFn[e]=true}if(aO.test(e)){b.event.fixHooks[e]=b.event.keyHooks}if(bf.test(e)){b.event.fixHooks[e]=b.event.mouseHooks}});
  * Date: Mon Nov 21 21:11:03 2011 -0500
  */
 (function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b4<b3;b4++){if((b9=arguments[b4])!=null){for(b2 in b9){b0=b5[b2];b1=b9[b2];if(b5===b1){continue}if(b8&&b1&&(bF.isPlainObject(b1)||(b6=bF.isArray(b1)))){if(b6){b6=false;b7=b0&&bF.isArray(b0)?b0:[]}else{b7=b0&&bF.isPlainObject(b0)?b0:{}}b5[b2]=bF.extend(b8,b7,b1)}else{if(b1!==L){b5[b2]=b1}}}}}return b5};bF.extend({noConflict:function(b0){if(bb.$===bF){bb.$=bH}if(b0&&bb.jQuery===bF){bb.jQuery=bU}return bF},isReady:false,readyWait:1,holdReady:function(b0){if(b0){bF.readyWait++}else{bF.ready(true)}},ready:function(b0){if((b0===true&&!--bF.readyWait)||(b0!==true&&!bF.isReady)){if(!av.body){return setTimeout(bF.ready,1)}bF.isReady=true;if(b0!==true&&--bF.readyWait>0){return}bC.fireWith(av,[bF]);if(bF.fn.trigger){bF(av).trigger("ready").off("ready")}}},bindReady:function(){if(bC){return}bC=bF.Callbacks("once memory");if(av.readyState==="complete"){return setTimeout(bF.ready,1)}if(av.addEventListener){av.addEventListener("DOMContentLoaded",e,false);bb.addEventListener("load",bF.ready,false)}else{if(av.attachEvent){av.attachEvent("onreadystatechange",e);bb.attachEvent("onload",bF.ready);var b0=false;try{b0=bb.frameElement==null}catch(b1){}if(av.documentElement.doScroll&&b0){bw()}}}},isFunction:function(b0){return bF.type(b0)==="function"},isArray:Array.isArray||function(b0){return bF.type(b0)==="array"},isWindow:function(b0){return b0&&typeof b0==="object"&&"setInterval" in b0},isNumeric:function(b0){return !isNaN(parseFloat(b0))&&isFinite(b0)},type:function(b0){return b0==null?String(b0):bx[bL.call(b0)]||"object"},isPlainObject:function(b2){if(!b2||bF.type(b2)!=="object"||b2.nodeType||bF.isWindow(b2)){return false}try{if(b2.constructor&&!bG.call(b2,"constructor")&&!bG.call(b2.constructor.prototype,"isPrototypeOf")){return false}}catch(b1){return false}var b0;for(b0 in b2){}return b0===L||bG.call(b2,b0)},isEmptyObject:function(b1){for(var b0 in b1){return false}return true},error:function(b0){throw new Error(b0)},parseJSON:function(b0){if(typeof b0!=="string"||!b0){return null}b0=bF.trim(b0);if(bb.JSON&&bb.JSON.parse){return bb.JSON.parse(b0)}if(bN.test(b0.replace(bW,"@").replace(bP,"]").replace(bJ,""))){return(new Function("return "+b0))()}bF.error("Invalid JSON: "+b0)},parseXML:function(b2){var b0,b1;try{if(bb.DOMParser){b1=new DOMParser();b0=b1.parseFromString(b2,"text/xml")}else{b0=new ActiveXObject("Microsoft.XMLDOM");b0.async="false";b0.loadXML(b2)}}catch(b3){b0=L}if(!b0||!b0.documentElement||b0.getElementsByTagName("parsererror").length){bF.error("Invalid XML: "+b2)}return b0},noop:function(){},globalEval:function(b0){if(b0&&bM.test(b0)){(bb.execScript||function(b1){bb["eval"].call(bb,b1)})(b0)}},camelCase:function(b0){return b0.replace(bZ,"ms-").replace(bB,bT)},nodeName:function(b1,b0){return b1.nodeName&&b1.nodeName.toUpperCase()===b0.toUpperCase()},each:function(b3,b6,b2){var b1,b4=0,b5=b3.length,b0=b5===L||bF.isFunction(b3);if(b2){if(b0){for(b1 in b3){if(b6.apply(b3[b1],b2)===false){break}}}else{for(;b4<b5;){if(b6.apply(b3[b4++],b2)===false){break}}}}else{if(b0){for(b1 in b3){if(b6.call(b3[b1],b1,b3[b1])===false){break}}}else{for(;b4<b5;){if(b6.call(b3[b4],b4,b3[b4++])===false){break}}}}return b3},trim:bO?function(b0){return b0==null?"":bO.call(b0)}:function(b0){return b0==null?"":b0.toString().replace(bI,"").replace(bE,"")},makeArray:function(b3,b1){var b0=b1||[];if(b3!=null){var b2=bF.type(b3);if(b3.length==null||b2==="string"||b2==="function"||b2==="regexp"||bF.isWindow(b3)){bz.call(b0,b3)}else{bF.merge(b0,b3)}}return b0},inArray:function(b2,b3,b1){var b0;if(b3){if(bv){return bv.call(b3,b2,b1)}b0=b3.length;b1=b1?b1<0?Math.max(0,b0+b1):b1:0;for(;b1<b0;b1++){if(b1 in b3&&b3[b1]===b2){return b1}}}return -1},merge:function(b4,b2){var b3=b4.length,b1=0;if(typeof b2.length==="number"){for(var b0=b2.length;b1<b0;b1++){b4[b3++]=b2[b1]}}else{while(b2[b1]!==L){b4[b3++]=b2[b1++]}}b4.length=b3;return b4},grep:function(b1,b6,b0){var b2=[],b5;b0=!!b0;for(var b3=0,b4=b1.length;b3<b4;b3++){b5=!!b6(b1[b3],b3);if(b0!==b5){b2.push(b1[b3])}}return b2},map:function(b0,b7,b8){var b5,b6,b4=[],b2=0,b1=b0.length,b3=b0 instanceof bF||b1!==L&&typeof b1==="number"&&((b1>0&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b2<b1;b2++){b5=b7(b0[b2],b2,b8);if(b5!=null){b4[b4.length]=b5}}}else{for(b6 in b0){b5=b7(b0[b6],b6,b8);if(b5!=null){b4[b4.length]=b5}}}return b4.concat.apply([],b4)},guid:1,proxy:function(b4,b3){if(typeof b3==="string"){var b2=b4[b3];b3=b4;b4=b2}if(!bF.isFunction(b4)){return L}var b0=bK.call(arguments,2),b1=function(){return b4.apply(b3,b0.concat(bK.call(arguments)))};b1.guid=b4.guid=b4.guid||b1.guid||bF.guid++;return b1},access:function(b0,b8,b6,b2,b5,b7){var b1=b0.length;if(typeof b8==="object"){for(var b3 in b8){bF.access(b0,b3,b8[b3],b2,b5,b6)}return b0}if(b6!==L){b2=!b7&&b2&&bF.isFunction(b6);for(var b4=0;b4<b1;b4++){b5(b0[b4],b8,b2?b6.call(b0[b4],b4,b5(b0[b4],b8)):b6,b7)}return b0}return b1?b5(b0[0],b8):L},now:function(){return(new Date()).getTime()},uaMatch:function(b1){b1=b1.toLowerCase();var b0=by.exec(b1)||bR.exec(b1)||bQ.exec(b1)||b1.indexOf("compatible")<0&&bS.exec(b1)||[];return{browser:b0[1]||"",version:b0[2]||"0"}},sub:function(){function b0(b3,b4){return new b0.fn.init(b3,b4)}bF.extend(true,b0,this);b0.superclass=this;b0.fn=b0.prototype=this();b0.fn.constructor=b0;b0.sub=this.sub;b0.fn.init=function b2(b3,b4){if(b4&&b4 instanceof bF&&!(b4 instanceof b0)){b4=b0(b4)}return bF.fn.init.call(this,b3,b4,b1)};b0.fn.init.prototype=b0.fn;var b1=b0(av);return b0},browser:{}});bF.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(b1,b0){bx["[object "+b0+"]"]=b0.toLowerCase()});bV=bF.uaMatch(bX);if(bV.browser){bF.browser[bV.browser]=true;bF.browser.version=bV.version}if(bF.browser.webkit){bF.browser.safari=true}if(bM.test("\xA0")){bI=/^[\s\xA0]+/;bE=/[\s\xA0]+$/}bD=bF(av);if(av.addEventListener){e=function(){av.removeEventListener("DOMContentLoaded",e,false);bF.ready()}}else{if(av.attachEvent){e=function(){if(av.readyState==="complete"){av.detachEvent("onreadystatechange",e);bF.ready()}}}}function bw(){if(bF.isReady){return}try{av.documentElement.doScroll("left")}catch(b0){setTimeout(bw,1);return}bF.ready()}return bF})();var a2={};function X(e){var bv=a2[e]={},bw,bx;e=e.split(/\s+/);for(bw=0,bx=e.length;bw<bx;bw++){bv[e[bw]]=true}return bv}b.Callbacks=function(bw){bw=bw?(a2[bw]||X(bw)):{};var bB=[],bC=[],bx,by,bv,bz,bA,bE=function(bF){var bG,bJ,bI,bH,bK;for(bG=0,bJ=bF.length;bG<bJ;bG++){bI=bF[bG];bH=b.type(bI);if(bH==="array"){bE(bI)}else{if(bH==="function"){if(!bw.unique||!bD.has(bI)){bB.push(bI)}}}}},e=function(bG,bF){bF=bF||[];bx=!bw.memory||[bG,bF];by=true;bA=bv||0;bv=0;bz=bB.length;for(;bB&&bA<bz;bA++){if(bB[bA].apply(bG,bF)===false&&bw.stopOnFalse){bx=true;break}}by=false;if(bB){if(!bw.once){if(bC&&bC.length){bx=bC.shift();bD.fireWith(bx[0],bx[1])}}else{if(bx===true){bD.disable()}else{bB=[]}}}},bD={add:function(){if(bB){var bF=bB.length;bE(arguments);if(by){bz=bB.length}else{if(bx&&bx!==true){bv=bF;e(bx[0],bx[1])}}}return this},remove:function(){if(bB){var bF=arguments,bH=0,bI=bF.length;for(;bH<bI;bH++){for(var bG=0;bG<bB.length;bG++){if(bF[bH]===bB[bG]){if(by){if(bG<=bz){bz--;if(bG<=bA){bA--}}}bB.splice(bG--,1);if(bw.unique){break}}}}}return this},has:function(bG){if(bB){var bF=0,bH=bB.length;for(;bF<bH;bF++){if(bG===bB[bF]){return true}}}return false},empty:function(){bB=[];return this},disable:function(){bB=bC=bx=L;return this},disabled:function(){return !bB},lock:function(){bC=L;if(!bx||bx===true){bD.disable()}return this},locked:function(){return !bC},fireWith:function(bG,bF){if(bC){if(by){if(!bw.once){bC.push([bG,bF])}}else{if(!(bw.once&&bx)){e(bG,bF)}}}return this},fire:function(){bD.fireWith(this,arguments);return this},fired:function(){return !!bx}};return bD};var aJ=[].slice;b.extend({Deferred:function(by){var bx=b.Callbacks("once memory"),bw=b.Callbacks("once memory"),bv=b.Callbacks("memory"),e="pending",bA={resolve:bx,reject:bw,notify:bv},bC={done:bx.add,fail:bw.add,progress:bv.add,state:function(){return e},isResolved:bx.fired,isRejected:bw.fired,then:function(bE,bD,bF){bB.done(bE).fail(bD).progress(bF);return this},always:function(){bB.done.apply(bB,arguments).fail.apply(bB,arguments);return this},pipe:function(bF,bE,bD){return b.Deferred(function(bG){b.each({done:[bF,"resolve"],fail:[bE,"reject"],progress:[bD,"notify"]},function(bI,bL){var bH=bL[0],bK=bL[1],bJ;if(b.isFunction(bH)){bB[bI](function(){bJ=bH.apply(this,arguments);if(bJ&&b.isFunction(bJ.promise)){bJ.promise().then(bG.resolve,bG.reject,bG.notify)}else{bG[bK+"With"](this===bB?bG:this,[bJ])}})}else{bB[bI](bG[bK])}})}).promise()},promise:function(bE){if(bE==null){bE=bC}else{for(var bD in bC){bE[bD]=bC[bD]}}return bE}},bB=bC.promise({}),bz;for(bz in bA){bB[bz]=bA[bz].fire;bB[bz+"With"]=bA[bz].fireWith}bB.done(function(){e="resolved"},bw.disable,bv.lock).fail(function(){e="rejected"},bx.disable,bv.lock);if(by){by.call(bB,bB)}return bB},when:function(bA){var bx=aJ.call(arguments,0),bv=0,e=bx.length,bB=new Array(e),bw=e,by=e,bC=e<=1&&bA&&b.isFunction(bA.promise)?bA:b.Deferred(),bE=bC.promise();function bD(bF){return function(bG){bx[bF]=arguments.length>1?aJ.call(arguments,0):bG;if(!(--bw)){bC.resolveWith(bC,bx)}}}function bz(bF){return function(bG){bB[bF]=arguments.length>1?aJ.call(arguments,0):bG;bC.notifyWith(bE,bB)}}if(e>1){for(;bv<e;bv++){if(bx[bv]&&bx[bv].promise&&b.isFunction(bx[bv].promise)){bx[bv].promise().then(bD(bv),bC.reject,bz(bv))}else{--bw}}if(!bw){bC.resolveWith(bC,bx)}}else{if(bC!==bA){bC.resolveWith(bC,e?[bA]:[])}}return bE}});b.support=(function(){var bJ,bI,bF,bG,bx,bE,bA,bD,bz,bK,bB,by,bw,bv=av.createElement("div"),bH=av.documentElement;bv.setAttribute("className","t");bv.innerHTML="   <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>";bI=bv.getElementsByTagName("*");bF=bv.getElementsByTagName("a")[0];if(!bI||!bI.length||!bF){return{}}bG=av.createElement("select");bx=bG.appendChild(av.createElement("option"));bE=bv.getElementsByTagName("input")[0];bJ={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bF.getAttribute("style")),hrefNormalized:(bF.getAttribute("href")==="/a"),opacity:/^0.55/.test(bF.style.opacity),cssFloat:!!bF.style.cssFloat,checkOn:(bE.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!av.createElement("form").enctype,html5Clone:av.createElement("nav").cloneNode(true).outerHTML!=="<:nav></:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true};bE.checked=true;bJ.noCloneChecked=bE.cloneNode(true).checked;bG.disabled=true;bJ.optDisabled=!bx.disabled;try{delete bv.test}catch(bC){bJ.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",function(){bJ.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick")}bE=av.createElement("input");bE.value="t";bE.setAttribute("type","radio");bJ.radioValue=bE.value==="t";bE.setAttribute("checked","checked");bv.appendChild(bE);bD=av.createDocumentFragment();bD.appendChild(bv.lastChild);bJ.checkClone=bD.cloneNode(true).cloneNode(true).lastChild.checked;bJ.appendChecked=bE.checked;bD.removeChild(bE);bD.appendChild(bv);bv.innerHTML="";if(bb.getComputedStyle){bA=av.createElement("div");bA.style.width="0";bA.style.marginRight="0";bv.style.width="2px";bv.appendChild(bA);bJ.reliableMarginRight=(parseInt((bb.getComputedStyle(bA,null)||{marginRight:0}).marginRight,10)||0)===0}if(bv.attachEvent){for(by in {submit:1,change:1,focusin:1}){bB="on"+by;bw=(bB in bv);if(!bw){bv.setAttribute(bB,"return;");bw=(typeof bv[bB]==="function")}bJ[by+"Bubbles"]=bw}}bD.removeChild(bv);bD=bG=bx=bA=bv=bE=null;b(function(){var bM,bU,bV,bT,bN,bO,bL,bS,bR,e,bP,bQ=av.getElementsByTagName("body")[0];if(!bQ){return}bL=1;bS="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;";bR="visibility:hidden;border:0;";e="style='"+bS+"border:5px solid #000;padding:0;'";bP="<div "+e+"><div></div></div><table "+e+" cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";bM=av.createElement("div");bM.style.cssText=bR+"width:0;height:0;position:static;top:0;margin-top:"+bL+"px";bQ.insertBefore(bM,bQ.firstChild);bv=av.createElement("div");bM.appendChild(bv);bv.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>";bz=bv.getElementsByTagName("td");bw=(bz[0].offsetHeight===0);bz[0].style.display="";bz[1].style.display="none";bJ.reliableHiddenOffsets=bw&&(bz[0].offsetHeight===0);bv.innerHTML="";bv.style.width=bv.style.paddingLeft="1px";b.boxModel=bJ.boxModel=bv.offsetWidth===2;if(typeof bv.style.zoom!=="undefined"){bv.style.display="inline";bv.style.zoom=1;bJ.inlineBlockNeedsLayout=(bv.offsetWidth===2);bv.style.display="";bv.innerHTML="<div style='width:4px;'></div>";bJ.shrinkWrapBlocks=(bv.offsetWidth!==2)}bv.style.cssText=bS+bR;bv.innerHTML=bP;bU=bv.firstChild;bV=bU.firstChild;bN=bU.nextSibling.firstChild.firstChild;bO={doesNotAddBorder:(bV.offsetTop!==5),doesAddBorderForTableAndCells:(bN.offsetTop===5)};bV.style.position="fixed";bV.style.top="20px";bO.fixedPosition=(bV.offsetTop===20||bV.offsetTop===15);bV.style.position=bV.style.top="";bU.style.overflow="hidden";bU.style.position="relative";bO.subtractsBorderForOverflowNotVisible=(bV.offsetTop===-5);bO.doesNotIncludeMarginInBodyOffset=(bQ.offsetTop!==bL);bQ.removeChild(bM);bv=bM=null;b.extend(bJ,bO)});return bJ})();var aS=/^(?:\{.*\}|\[.*\])$/,aA=/([A-Z])/g;b.extend({cache:{},uuid:0,expando:"jQuery"+(b.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?b.cache[e[b.expando]]:e[b.expando];return !!e&&!S(e)},data:function(bx,bv,bz,by){if(!b.acceptData(bx)){return}var bG,bA,bD,bE=b.expando,bC=typeof bv==="string",bF=bx.nodeType,e=bF?b.cache:bx,bw=bF?bx[bE]:bx[bE]&&bE,bB=bv==="events";if((!bw||!e[bw]||(!bB&&!by&&!e[bw].data))&&bC&&bz===L){return}if(!bw){if(bF){bx[bE]=bw=++b.uuid}else{bw=bE}}if(!e[bw]){e[bw]={};if(!bF){e[bw].toJSON=b.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){e[bw]=b.extend(e[bw],bv)}else{e[bw].data=b.extend(e[bw].data,bv)}}bG=bA=e[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==L){bA[b.camelCase(bv)]=bz}if(bB&&!bA[bv]){return bG.events}if(bC){bD=bA[bv];if(bD==null){bD=bA[b.camelCase(bv)]}}else{bD=bA}return bD},removeData:function(bx,bv,by){if(!b.acceptData(bx)){return}var bB,bA,bz,bC=b.expando,bD=bx.nodeType,e=bD?b.cache:bx,bw=bD?bx[bC]:bC;if(!e[bw]){return}if(bv){bB=by?e[bw]:e[bw].data;if(bB){if(!b.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=b.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA<bz;bA++){delete bB[bv[bA]]}if(!(by?S:b.isEmptyObject)(bB)){return}}}if(!by){delete e[bw].data;if(!S(e[bw])){return}}if(b.support.deleteExpando||!e.setInterval){delete e[bw]}else{e[bw]=null}if(bD){if(b.support.deleteExpando){delete bx[bC]}else{if(bx.removeAttribute){bx.removeAttribute(bC)}else{bx[bC]=null}}}},_data:function(bv,e,bw){return b.data(bv,e,bw,true)},acceptData:function(bv){if(bv.nodeName){var e=b.noData[bv.nodeName.toLowerCase()];if(e){return !(e===true||bv.getAttribute("classid")!==e)}}return true}});b.fn.extend({data:function(by,bA){var bB,e,bw,bz=null;if(typeof by==="undefined"){if(this.length){bz=b.data(this[0]);if(this[0].nodeType===1&&!b._data(this[0],"parsedAttrs")){e=this[0].attributes;for(var bx=0,bv=e.length;bx<bv;bx++){bw=e[bx].name;if(bw.indexOf("data-")===0){bw=b.camelCase(bw.substring(5));a5(this[0],bw,bz[bw])}}b._data(this[0],"parsedAttrs",true)}}return bz}else{if(typeof by==="object"){return this.each(function(){b.data(this,by)})}}bB=by.split(".");bB[1]=bB[1]?"."+bB[1]:"";if(bA===L){bz=this.triggerHandler("getData"+bB[1]+"!",[bB[0]]);if(bz===L&&this.length){bz=b.data(this[0],by);bz=a5(this[0],by,bz)}return bz===L&&bB[1]?this.data(bB[0]):bz}else{return this.each(function(){var bC=b(this),bD=[bB[0],bA];bC.triggerHandler("setData"+bB[1]+"!",bD);b.data(this,by,bA);bC.triggerHandler("changeData"+bB[1]+"!",bD)})}},removeData:function(e){return this.each(function(){b.removeData(this,e)})}});function a5(bx,bw,by){if(by===L&&bx.nodeType===1){var bv="data-"+bw.replace(aA,"-$1").toLowerCase();by=bx.getAttribute(bv);if(typeof by==="string"){try{by=by==="true"?true:by==="false"?false:by==="null"?null:b.isNumeric(by)?parseFloat(by):aS.test(by)?b.parseJSON(by):by}catch(bz){}b.data(bx,bw,by)}else{by=L}}return by}function S(bv){for(var e in bv){if(e==="data"&&b.isEmptyObject(bv[e])){continue}if(e!=="toJSON"){return false}}return true}function bi(by,bx,bA){var bw=bx+"defer",bv=bx+"queue",e=bx+"mark",bz=b._data(by,bw);if(bz&&(bA==="queue"||!b._data(by,bv))&&(bA==="mark"||!b._data(by,e))){setTimeout(function(){if(!b._data(by,bv)&&!b._data(by,e)){b.removeData(by,bw,true);bz.fire()}},0)}}b.extend({_mark:function(bv,e){if(bv){e=(e||"fx")+"mark";b._data(bv,e,(b._data(bv,e)||0)+1)}},_unmark:function(by,bx,bv){if(by!==true){bv=bx;bx=by;by=false}if(bx){bv=bv||"fx";var e=bv+"mark",bw=by?0:((b._data(bx,e)||1)-1);if(bw){b._data(bx,e,bw)}else{b.removeData(bx,e,true);bi(bx,bv,"mark")}}},queue:function(bv,e,bx){var bw;if(bv){e=(e||"fx")+"queue";bw=b._data(bv,e);if(bx){if(!bw||b.isArray(bx)){bw=b._data(bv,e,b.makeArray(bx))}else{bw.push(bx)}}return bw||[]}},dequeue:function(by,bx){bx=bx||"fx";var bv=b.queue(by,bx),bw=bv.shift(),e={};if(bw==="inprogress"){bw=bv.shift()}if(bw){if(bx==="fx"){bv.unshift("inprogress")}b._data(by,bx+".run",e);bw.call(by,function(){b.dequeue(by,bx)},e)}if(!bv.length){b.removeData(by,bx+"queue "+bx+".run",true);bi(by,bx,"queue")}}});b.fn.extend({queue:function(e,bv){if(typeof e!=="string"){bv=e;e="fx"}if(bv===L){return b.queue(this[0],e)}return this.each(function(){var bw=b.queue(this,e,bv);if(e==="fx"&&bw[0]!=="inprogress"){b.dequeue(this,e)}})},dequeue:function(e){return this.each(function(){b.dequeue(this,e)})},delay:function(bv,e){bv=b.fx?b.fx.speeds[bv]||bv:bv;e=e||"fx";return this.queue(e,function(bx,bw){var by=setTimeout(bx,bv);bw.stop=function(){clearTimeout(by)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(bD,bw){if(typeof bD!=="string"){bw=bD;bD=L}bD=bD||"fx";var e=b.Deferred(),bv=this,by=bv.length,bB=1,bz=bD+"defer",bA=bD+"queue",bC=bD+"mark",bx;function bE(){if(!(--bB)){e.resolveWith(bv,[bv])}}while(by--){if((bx=b.data(bv[by],bz,L,true)||(b.data(bv[by],bA,L,true)||b.data(bv[by],bC,L,true))&&b.data(bv[by],bz,b.Callbacks("once memory"),true))){bB++;bx.add(bE)}}bE();return e.promise()}});var aP=/[\n\t\r]/g,af=/\s+/,aU=/\r/g,g=/^(?:button|input)$/i,D=/^(?:button|input|object|select|textarea)$/i,l=/^a(?:rea)?$/i,ao=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,F=b.support.getSetAttribute,be,aY,aF;b.fn.extend({attr:function(e,bv){return b.access(this,e,bv,true,b.attr)},removeAttr:function(e){return this.each(function(){b.removeAttr(this,e)})},prop:function(e,bv){return b.access(this,e,bv,true,b.prop)},removeProp:function(e){e=b.propFix[e]||e;return this.each(function(){try{this[e]=L;delete this[e]}catch(bv){}})},addClass:function(by){var bA,bw,bv,bx,bz,bB,e;if(b.isFunction(by)){return this.each(function(bC){b(this).addClass(by.call(this,bC,this.className))})}if(by&&typeof by==="string"){bA=by.split(af);for(bw=0,bv=this.length;bw<bv;bw++){bx=this[bw];if(bx.nodeType===1){if(!bx.className&&bA.length===1){bx.className=by}else{bz=" "+bx.className+" ";for(bB=0,e=bA.length;bB<e;bB++){if(!~bz.indexOf(" "+bA[bB]+" ")){bz+=bA[bB]+" "}}bx.className=b.trim(bz)}}}}return this},removeClass:function(bz){var bA,bw,bv,by,bx,bB,e;if(b.isFunction(bz)){return this.each(function(bC){b(this).removeClass(bz.call(this,bC,this.className))})}if((bz&&typeof bz==="string")||bz===L){bA=(bz||"").split(af);for(bw=0,bv=this.length;bw<bv;bw++){by=this[bw];if(by.nodeType===1&&by.className){if(bz){bx=(" "+by.className+" ").replace(aP," ");for(bB=0,e=bA.length;bB<e;bB++){bx=bx.replace(" "+bA[bB]+" "," ")}by.className=b.trim(bx)}else{by.className=""}}}}return this},toggleClass:function(bx,bv){var bw=typeof bx,e=typeof bv==="boolean";if(b.isFunction(bx)){return this.each(function(by){b(this).toggleClass(bx.call(this,by,this.className,bv),bv)})}return this.each(function(){if(bw==="string"){var bA,bz=0,by=b(this),bB=bv,bC=bx.split(af);while((bA=bC[bz++])){bB=e?bB:!by.hasClass(bA);by[bB?"addClass":"removeClass"](bA)}}else{if(bw==="undefined"||bw==="boolean"){if(this.className){b._data(this,"__className__",this.className)}this.className=this.className||bx===false?"":b._data(this,"__className__")||""}}})},hasClass:function(e){var bx=" "+e+" ",bw=0,bv=this.length;for(;bw<bv;bw++){if(this[bw].nodeType===1&&(" "+this[bw].className+" ").replace(aP," ").indexOf(bx)>-1){return true}}return false},val:function(bx){var e,bv,by,bw=this[0];if(!arguments.length){if(bw){e=b.valHooks[bw.nodeName.toLowerCase()]||b.valHooks[bw.type];if(e&&"get" in e&&(bv=e.get(bw,"value"))!==L){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aU,""):bv==null?"":bv}return}by=b.isFunction(bx);return this.each(function(bA){var bz=b(this),bB;if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(b.isArray(bB)){bB=b.map(bB,function(bC){return bC==null?"":bC+""})}}}e=b.valHooks[this.nodeName.toLowerCase()]||b.valHooks[this.type];if(!e||!("set" in e)||e.set(this,bB,"value")===L){this.value=bB}})}});b.extend({valHooks:{option:{get:function(e){var bv=e.attributes.value;return !bv||bv.specified?e.value:e.text}},select:{get:function(e){var bA,bv,bz,bx,by=e.selectedIndex,bB=[],bC=e.options,bw=e.type==="select-one";if(by<0){return null}bv=bw?by:0;bz=bw?by+1:bC.length;for(;bv<bz;bv++){bx=bC[bv];if(bx.selected&&(b.support.optDisabled?!bx.disabled:bx.getAttribute("disabled")===null)&&(!bx.parentNode.disabled||!b.nodeName(bx.parentNode,"optgroup"))){bA=b(bx).val();if(bw){return bA}bB.push(bA)}}if(bw&&!bB.length&&bC.length){return b(bC[by]).val()}return bB},set:function(bv,bw){var e=b.makeArray(bw);b(bv).find("option").each(function(){this.selected=b.inArray(b(this).val(),e)>=0});if(!e.length){bv.selectedIndex=-1}return e}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bA,bx,bB,bz){var bw,e,by,bv=bA.nodeType;if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aY:be)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&"set" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,""+bB);return bB}}}else{if(e&&"get" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?L:bw}}},removeAttr:function(bx,bz){var by,bA,bv,e,bw=0;if(bz&&bx.nodeType===1){bA=bz.toLowerCase().split(af);e=bA.length;for(;bw<e;bw++){bv=bA[bw];if(bv){by=b.propFix[bv]||bv;b.attr(bx,bv,"");bx.removeAttribute(F?bv:by);if(ao.test(bv)&&by in bx){bx[by]=false}}}}},attrHooks:{type:{set:function(e,bv){if(g.test(e.nodeName)&&e.parentNode){b.error("type property can't be changed")}else{if(!b.support.radioValue&&bv==="radio"&&b.nodeName(e,"input")){var bw=e.value;e.setAttribute("type",bv);if(bw){e.value=bw}return bv}}}},value:{get:function(bv,e){if(be&&b.nodeName(bv,"button")){return be.get(bv,e)}return e in bv?bv.value:null},set:function(bv,bw,e){if(be&&b.nodeName(bv,"button")){return be.set(bv,bw,e)}bv.value=bw}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(bz,bx,bA){var bw,e,by,bv=bz.nodeType;if(!bz||bv===3||bv===8||bv===2){return}by=bv!==1||!b.isXMLDoc(bz);if(by){bx=b.propFix[bx]||bx;e=b.propHooks[bx]}if(bA!==L){if(e&&"set" in e&&(bw=e.set(bz,bA,bx))!==L){return bw}else{return(bz[bx]=bA)}}else{if(e&&"get" in e&&(bw=e.get(bz,bx))!==null){return bw}else{return bz[bx]}}},propHooks:{tabIndex:{get:function(bv){var e=bv.getAttributeNode("tabindex");return e&&e.specified?parseInt(e.value,10):D.test(bv.nodeName)||l.test(bv.nodeName)&&bv.href?0:L}}}});b.attrHooks.tabindex=b.propHooks.tabIndex;aY={get:function(bv,e){var bx,bw=b.prop(bv,e);return bw===true||typeof bw!=="boolean"&&(bx=bv.getAttributeNode(e))&&bx.nodeValue!==false?e.toLowerCase():L},set:function(bv,bx,e){var bw;if(bx===false){b.removeAttr(bv,e)}else{bw=b.propFix[e]||e;if(bw in bv){bv[bw]=true}bv.setAttribute(e,e.toLowerCase())}return e}};if(!F){aF={name:true,id:true};be=b.valHooks.button={get:function(bw,bv){var e;e=bw.getAttributeNode(bv);return e&&(aF[bv]?e.nodeValue!=="":e.specified)?e.nodeValue:L},set:function(bw,bx,bv){var e=bw.getAttributeNode(bv);if(!e){e=av.createAttribute(bv);bw.setAttributeNode(e)}return(e.nodeValue=bx+"")}};b.attrHooks.tabindex.set=be.set;b.each(["width","height"],function(bv,e){b.attrHooks[e]=b.extend(b.attrHooks[e],{set:function(bw,bx){if(bx===""){bw.setAttribute(e,"auto");return bx}}})});b.attrHooks.contenteditable={get:be.get,set:function(bv,bw,e){if(bw===""){bw="false"}be.set(bv,bw,e)}}}if(!b.support.hrefNormalized){b.each(["href","src","width","height"],function(bv,e){b.attrHooks[e]=b.extend(b.attrHooks[e],{get:function(bx){var bw=bx.getAttribute(e,2);return bw===null?L:bw}})})}if(!b.support.style){b.attrHooks.style={get:function(e){return e.style.cssText.toLowerCase()||L},set:function(e,bv){return(e.style.cssText=""+bv)}}}if(!b.support.optSelected){b.propHooks.selected=b.extend(b.propHooks.selected,{get:function(bv){var e=bv.parentNode;if(e){e.selectedIndex;if(e.parentNode){e.parentNode.selectedIndex}}return null}})}if(!b.support.enctype){b.propFix.enctype="encoding"}if(!b.support.checkOn){b.each(["radio","checkbox"],function(){b.valHooks[this]={get:function(e){return e.getAttribute("value")===null?"on":e.value}}})}b.each(["radio","checkbox"],function(){b.valHooks[this]=b.extend(b.valHooks[this],{set:function(e,bv){if(b.isArray(bv)){return(e.checked=b.inArray(b(e).val(),bv)>=0)}}})});var bd=/^(?:textarea|input|select)$/i,n=/^([^\.]*)?(?:\.(.+))?$/,J=/\bhover(\.\S+)?\b/,aO=/^key/,bf=/^(?:mouse|contextmenu)|click/,T=/^(?:focusinfocus|focusoutblur)$/,U=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,Y=function(e){var bv=U.exec(e);if(bv){bv[1]=(bv[1]||"").toLowerCase();bv[3]=bv[3]&&new RegExp("(?:^|\\s)"+bv[3]+"(?:\\s|$)")}return bv},j=function(bw,e){var bv=bw.attributes||{};return((!e[1]||bw.nodeName.toLowerCase()===e[1])&&(!e[2]||(bv.id||{}).value===e[2])&&(!e[3]||e[3].test((bv["class"]||{}).value)))},bt=function(e){return b.event.special.hover?e:e.replace(J,"mouseenter$1 mouseleave$1")};b.event={add:function(bx,bC,bJ,bA,by){var bD,bB,bK,bI,bH,bF,e,bG,bv,bz,bw,bE;if(bx.nodeType===3||bx.nodeType===8||!bC||!bJ||!(bD=b._data(bx))){return}if(bJ.handler){bv=bJ;bJ=bv.handler}if(!bJ.guid){bJ.guid=b.guid++}bK=bD.events;if(!bK){bD.events=bK={}}bB=bD.handle;if(!bB){bD.handle=bB=function(bL){return typeof b!=="undefined"&&(!bL||b.event.triggered!==bL.type)?b.event.dispatch.apply(bB.elem,arguments):L};bB.elem=bx}bC=b.trim(bt(bC)).split(" ");for(bI=0;bI<bC.length;bI++){bH=n.exec(bC[bI])||[];bF=bH[1];e=(bH[2]||"").split(".").sort();bE=b.event.special[bF]||{};bF=(by?bE.delegateType:bE.bindType)||bF;bE=b.event.special[bF]||{};bG=b.extend({type:bF,origType:bH[1],data:bA,handler:bJ,guid:bJ.guid,selector:by,quick:Y(by),namespace:e.join(".")},bv);bw=bK[bF];if(!bw){bw=bK[bF]=[];bw.delegateCount=0;if(!bE.setup||bE.setup.call(bx,bA,e,bB)===false){if(bx.addEventListener){bx.addEventListener(bF,bB,false)}else{if(bx.attachEvent){bx.attachEvent("on"+bF,bB)}}}}if(bE.add){bE.add.call(bx,bG);if(!bG.handler.guid){bG.handler.guid=bJ.guid}}if(by){bw.splice(bw.delegateCount++,0,bG)}else{bw.push(bG)}b.event.global[bF]=true}bx=null},global:{},remove:function(bJ,bE,bv,bH,bB){var bI=b.hasData(bJ)&&b._data(bJ),bF,bx,bz,bL,bC,bA,bG,bw,by,bK,bD,e;if(!bI||!(bw=bI.events)){return}bE=b.trim(bt(bE||"")).split(" ");for(bF=0;bF<bE.length;bF++){bx=n.exec(bE[bF])||[];bz=bL=bx[1];bC=bx[2];if(!bz){for(bz in bw){b.event.remove(bJ,bz+bE[bF],bv,bH,true)}continue}by=b.event.special[bz]||{};bz=(bH?by.delegateType:by.bindType)||bz;bD=bw[bz]||[];bA=bD.length;bC=bC?new RegExp("(^|\\.)"+bC.split(".").sort().join("\\.(?:.*\\.)?")+"(\\.|$)"):null;for(bG=0;bG<bD.length;bG++){e=bD[bG];if((bB||bL===e.origType)&&(!bv||bv.guid===e.guid)&&(!bC||bC.test(e.namespace))&&(!bH||bH===e.selector||bH==="**"&&e.selector)){bD.splice(bG--,1);if(e.selector){bD.delegateCount--}if(by.remove){by.remove.call(bJ,e)}}}if(bD.length===0&&bA!==bD.length){if(!by.teardown||by.teardown.call(bJ,bC)===false){b.removeEvent(bJ,bz,bI.handle)}delete bw[bz]}}if(b.isEmptyObject(bw)){bK=bI.handle;if(bK){bK.elem=null}b.removeData(bJ,["events","handle"],true)}},customEvent:{getData:true,setData:true,changeData:true},trigger:function(bv,bD,bA,bJ){if(bA&&(bA.nodeType===3||bA.nodeType===8)){return}var bG=bv.type||bv,bx=[],e,bw,bC,bH,bz,by,bF,bE,bB,bI;if(T.test(bG+b.event.triggered)){return}if(bG.indexOf("!")>=0){bG=bG.slice(0,-1);bw=true}if(bG.indexOf(".")>=0){bx=bG.split(".");bG=bx.shift();bx.sort()}if((!bA||b.event.customEvent[bG])&&!b.event.global[bG]){return}bv=typeof bv==="object"?bv[b.expando]?bv:new b.Event(bG,bv):new b.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bw;bv.namespace=bx.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bx.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){e=b.cache;for(bC in e){if(e[bC].events&&e[bC].events[bG]){b.event.trigger(bv,bD,e[bC].handle.elem,true)}}return}bv.result=L;if(!bv.target){bv.target=bA}bD=bD!=null?b.makeArray(bD):[];bD.unshift(bv);bF=b.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bD)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!b.isWindow(bA)){bI=bF.delegateType||bG;bH=T.test(bI+bG)?bA:bA.parentNode;bz=null;for(;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz&&bz===bA.ownerDocument){bB.push([bz.defaultView||bz.parentWindow||bb,bI])}}for(bC=0;bC<bB.length&&!bv.isPropagationStopped();bC++){bH=bB[bC][0];bv.type=bB[bC][1];bE=(b._data(bH,"events")||{})[bv.type]&&b._data(bH,"handle");if(bE){bE.apply(bH,bD)}bE=by&&bH[by];if(bE&&b.acceptData(bH)&&bE.apply(bH,bD)===false){bv.preventDefault()}}bv.type=bG;if(!bJ&&!bv.isDefaultPrevented()){if((!bF._default||bF._default.apply(bA.ownerDocument,bD)===false)&&!(bG==="click"&&b.nodeName(bA,"a"))&&b.acceptData(bA)){if(by&&bA[bG]&&((bG!=="focus"&&bG!=="blur")||bv.target.offsetWidth!==0)&&!b.isWindow(bA)){bz=bA[by];if(bz){bA[by]=null}b.event.triggered=bG;bA[bG]();b.event.triggered=L;if(bz){bA[by]=bz}}}}return bv.result},dispatch:function(e){e=b.event.fix(e||bb.event);var bz=((b._data(this,"events")||{})[e.type]||[]),bA=bz.delegateCount,bG=[].slice.call(arguments,0),by=!e.exclusive&&!e.namespace,bH=[],bC,bB,bK,bx,bF,bE,bv,bD,bI,bw,bJ;bG[0]=e;e.delegateTarget=this;if(bA&&!e.target.disabled&&!(e.button&&e.type==="click")){bx=b(this);bx.context=this.ownerDocument||this;for(bK=e.target;bK!=this;bK=bK.parentNode||this){bE={};bD=[];bx[0]=bK;for(bC=0;bC<bA;bC++){bI=bz[bC];bw=bI.selector;if(bE[bw]===L){bE[bw]=(bI.quick?j(bK,bI.quick):bx.is(bw))}if(bE[bw]){bD.push(bI)}}if(bD.length){bH.push({elem:bK,matches:bD})}}}if(bz.length>bA){bH.push({elem:this,matches:bz.slice(bA)})}for(bC=0;bC<bH.length&&!e.isPropagationStopped();bC++){bv=bH[bC];e.currentTarget=bv.elem;for(bB=0;bB<bv.matches.length&&!e.isImmediatePropagationStopped();bB++){bI=bv.matches[bB];if(by||(!e.namespace&&!bI.namespace)||e.namespace_re&&e.namespace_re.test(bI.namespace)){e.data=bI.data;e.handleObj=bI;bF=((b.event.special[bI.origType]||{}).handle||bI.handler).apply(bv.elem,bG);if(bF!==L){e.result=bF;if(bF===false){e.preventDefault();e.stopPropagation()}}}}}return e.result},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(bv,e){if(bv.which==null){bv.which=e.charCode!=null?e.charCode:e.keyCode}return bv}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(bx,bw){var by,bz,e,bv=bw.button,bA=bw.fromElement;if(bx.pageX==null&&bw.clientX!=null){by=bx.target.ownerDocument||av;bz=by.documentElement;e=by.body;bx.pageX=bw.clientX+(bz&&bz.scrollLeft||e&&e.scrollLeft||0)-(bz&&bz.clientLeft||e&&e.clientLeft||0);bx.pageY=bw.clientY+(bz&&bz.scrollTop||e&&e.scrollTop||0)-(bz&&bz.clientTop||e&&e.clientTop||0)}if(!bx.relatedTarget&&bA){bx.relatedTarget=bA===bx.target?bw.toElement:bA}if(!bx.which&&bv!==L){bx.which=(bv&1?1:(bv&2?3:(bv&4?2:0)))}return bx}},fix:function(bw){if(bw[b.expando]){return bw}var bv,bz,e=bw,bx=b.event.fixHooks[bw.type]||{},by=bx.props?this.props.concat(bx.props):this.props;bw=b.Event(e);for(bv=by.length;bv;){bz=by[--bv];bw[bz]=e[bz]}if(!bw.target){bw.target=e.srcElement||av}if(bw.target.nodeType===3){bw.target=bw.target.parentNode}if(bw.metaKey===L){bw.metaKey=bw.ctrlKey}return bx.filter?bx.filter(bw,e):bw},special:{ready:{setup:b.bindReady},load:{noBubble:true},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(bw,bv,e){if(b.isWindow(this)){this.onbeforeunload=e}},teardown:function(bv,e){if(this.onbeforeunload===e){this.onbeforeunload=null}}}},simulate:function(bw,by,bx,bv){var bz=b.extend(new b.Event(),bx,{type:bw,isSimulated:true,originalEvent:{}});if(bv){b.event.trigger(bz,null,by)}else{b.event.dispatch.call(by,bz)}if(bz.isDefaultPrevented()){bx.preventDefault()}}};b.event.handle=b.event.dispatch;b.removeEvent=av.removeEventListener?function(bv,e,bw){if(bv.removeEventListener){bv.removeEventListener(e,bw,false)}}:function(bv,e,bw){if(bv.detachEvent){bv.detachEvent("on"+e,bw)}};b.Event=function(bv,e){if(!(this instanceof b.Event)){return new b.Event(bv,e)}if(bv&&bv.type){this.originalEvent=bv;this.type=bv.type;this.isDefaultPrevented=(bv.defaultPrevented||bv.returnValue===false||bv.getPreventDefault&&bv.getPreventDefault())?i:bk}else{this.type=bv}if(e){b.extend(this,e)}this.timeStamp=bv&&bv.timeStamp||b.now();this[b.expando]=true};function bk(){return false}function i(){return true}b.Event.prototype={preventDefault:function(){this.isDefaultPrevented=i;var bv=this.originalEvent;if(!bv){return}if(bv.preventDefault){bv.preventDefault()}else{bv.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=i;var bv=this.originalEvent;if(!bv){return}if(bv.stopPropagation){bv.stopPropagation()}bv.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=i;this.stopPropagation()},isDefaultPrevented:bk,isPropagationStopped:bk,isImmediatePropagationStopped:bk};b.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(bv,e){b.event.special[bv]={delegateType:e,bindType:e,handle:function(bz){var bB=this,bA=bz.relatedTarget,by=bz.handleObj,bw=by.selector,bx;if(!bA||(bA!==bB&&!b.contains(bB,bA))){bz.type=by.origType;bx=by.handler.apply(this,arguments);bz.type=e}return bx}}});if(!b.support.submitBubbles){b.event.special.submit={setup:function(){if(b.nodeName(this,"form")){return false}b.event.add(this,"click._submit keypress._submit",function(bx){var bw=bx.target,bv=b.nodeName(bw,"input")||b.nodeName(bw,"button")?bw.form:L;if(bv&&!bv._submit_attached){b.event.add(bv,"submit._submit",function(e){if(this.parentNode&&!e.isTrigger){b.event.simulate("submit",this.parentNode,e,true)}});bv._submit_attached=true}})},teardown:function(){if(b.nodeName(this,"form")){return false}b.event.remove(this,"._submit")}}}if(!b.support.changeBubbles){b.event.special.change={setup:function(){if(bd.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio"){b.event.add(this,"propertychange._change",function(e){if(e.originalEvent.propertyName==="checked"){this._just_changed=true}});b.event.add(this,"click._change",function(e){if(this._just_changed&&!e.isTrigger){this._just_changed=false;b.event.simulate("change",this,e,true)}})}return false}b.event.add(this,"beforeactivate._change",function(bw){var bv=bw.target;if(bd.test(bv.nodeName)&&!bv._change_attached){b.event.add(bv,"change._change",function(e){if(this.parentNode&&!e.isSimulated&&!e.isTrigger){b.event.simulate("change",this.parentNode,e,true)}});bv._change_attached=true}})},handle:function(bv){var e=bv.target;if(this!==e||bv.isSimulated||bv.isTrigger||(e.type!=="radio"&&e.type!=="checkbox")){return bv.handleObj.handler.apply(this,arguments)}},teardown:function(){b.event.remove(this,"._change");return bd.test(this.nodeName)}}}if(!b.support.focusinBubbles){b.each({focus:"focusin",blur:"focusout"},function(bx,e){var bv=0,bw=function(by){b.event.simulate(e,by.target,b.event.fix(by),true)};b.event.special[e]={setup:function(){if(bv++===0){av.addEventListener(bx,bw,true)}},teardown:function(){if(--bv===0){av.removeEventListener(bx,bw,true)}}}})}b.fn.extend({on:function(bw,e,bz,by,bv){var bA,bx;if(typeof bw==="object"){if(typeof e!=="string"){bz=e;e=L}for(bx in bw){this.on(bx,e,bz,bw[bx],bv)}return this}if(bz==null&&by==null){by=e;bz=e=L}else{if(by==null){if(typeof e==="string"){by=bz;bz=L}else{by=bz;bz=e;e=L}}}if(by===false){by=bk}else{if(!by){return this}}if(bv===1){bA=by;by=function(bB){b().off(bB);return bA.apply(this,arguments)};by.guid=bA.guid||(bA.guid=b.guid++)}return this.each(function(){b.event.add(this,bw,by,bz,e)})},one:function(bv,e,bx,bw){return this.on.call(this,bv,e,bx,bw,1)},off:function(bw,e,by){if(bw&&bw.preventDefault&&bw.handleObj){var bv=bw.handleObj;b(bw.delegateTarget).off(bv.namespace?bv.type+"."+bv.namespace:bv.type,bv.selector,bv.handler);return this}if(typeof bw==="object"){for(var bx in bw){this.off(bx,e,bw[bx])}return this}if(e===false||typeof e==="function"){by=e;e=L}if(by===false){by=bk}return this.each(function(){b.event.remove(this,bw,by,e)})},bind:function(e,bw,bv){return this.on(e,null,bw,bv)},unbind:function(e,bv){return this.off(e,null,bv)},live:function(e,bw,bv){b(this.context).on(e,this.selector,bw,bv);return this},die:function(e,bv){b(this.context).off(e,this.selector||"**",bv);return this},delegate:function(e,bv,bx,bw){return this.on(bv,e,bx,bw)},undelegate:function(e,bv,bw){return arguments.length==1?this.off(e,"**"):this.off(bv,e,bw)},trigger:function(e,bv){return this.each(function(){b.event.trigger(e,bv,this)})},triggerHandler:function(e,bv){if(this[0]){return b.event.trigger(e,bv,this[0],true)}},toggle:function(bx){var bv=arguments,e=bx.guid||b.guid++,bw=0,by=function(bz){var bA=(b._data(this,"lastToggle"+bx.guid)||0)%bw;b._data(this,"lastToggle"+bx.guid,bA+1);bz.preventDefault();return bv[bA].apply(this,arguments)||false};by.guid=e;while(bw<bv.length){bv[bw++].guid=e}return this.click(by)},hover:function(e,bv){return this.mouseenter(e).mouseleave(bv||e)}});b.each(("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu").split(" "),function(bv,e){b.fn[e]=function(bx,bw){if(bw==null){bw=bx;bx=null}return arguments.length>0?this.on(e,null,bx,bw):this.trigger(e)};if(b.attrFn){b.attrFn[e]=true}if(aO.test(e)){b.event.fixHooks[e]=b.event.keyHooks}if(bf.test(e)){b.event.fixHooks[e]=b.event.mouseHooks}});
-/*!
+/*
  * Sizzle CSS Selector Engine
  *  Copyright 2011, The Dojo Foundation
  *  Released under the MIT, BSD, and GPL Licenses.
  *  More information: http://sizzlejs.com/
  */
  * Sizzle CSS Selector Engine
  *  Copyright 2011, The Dojo Foundation
  *  Released under the MIT, BSD, and GPL Licenses.
  *  More information: http://sizzlejs.com/
  */
-(function(){var bH=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bC="sizcache"+(Math.random()+"").replace(".",""),bI=0,bL=Object.prototype.toString,bB=false,bA=true,bK=/\\/g,bO=/\r\n/g,bQ=/\W/;[0,0].sort(function(){bA=false;return 0});var by=function(bV,e,bY,bZ){bY=bY||[];e=e||av;var b1=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bV||typeof bV!=="string"){return bY}var bS,b3,b6,bR,b2,b5,b4,bX,bU=true,bT=by.isXML(e),bW=[],b0=bV;do{bH.exec("");bS=bH.exec(b0);if(bS){b0=bS[3];bW.push(bS[1]);if(bS[2]){bR=bS[3];break}}}while(bS);if(bW.length>1&&bD.exec(bV)){if(bW.length===2&&bE.relative[bW[0]]){b3=bM(bW[0]+bW[1],e,bZ)}else{b3=bE.relative[bW[0]]?[e]:by(bW.shift(),e);while(bW.length){bV=bW.shift();if(bE.relative[bV]){bV+=bW.shift()}b3=bM(bV,b3,bZ)}}}else{if(!bZ&&bW.length>1&&e.nodeType===9&&!bT&&bE.match.ID.test(bW[0])&&!bE.match.ID.test(bW[bW.length-1])){b2=by.find(bW.shift(),e,bT);e=b2.expr?by.filter(b2.expr,b2.set)[0]:b2.set[0]}if(e){b2=bZ?{expr:bW.pop(),set:bF(bZ)}:by.find(bW.pop(),bW.length===1&&(bW[0]==="~"||bW[0]==="+")&&e.parentNode?e.parentNode:e,bT);b3=b2.expr?by.filter(b2.expr,b2.set):b2.set;if(bW.length>0){b6=bF(b3)}else{bU=false}while(bW.length){b5=bW.pop();b4=b5;if(!bE.relative[b5]){b5=""}else{b4=bW.pop()}if(b4==null){b4=e}bE.relative[b5](b6,b4,bT)}}else{b6=bW=[]}}if(!b6){b6=b3}if(!b6){by.error(b5||bV)}if(bL.call(b6)==="[object Array]"){if(!bU){bY.push.apply(bY,b6)}else{if(e&&e.nodeType===1){for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&(b6[bX]===true||b6[bX].nodeType===1&&by.contains(e,b6[bX]))){bY.push(b3[bX])}}}else{for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&b6[bX].nodeType===1){bY.push(b3[bX])}}}}}else{bF(b6,bY)}if(bR){by(bR,b1,bY,bZ);by.uniqueSort(bY)}return bY};by.uniqueSort=function(bR){if(bJ){bB=bA;bR.sort(bJ);if(bB){for(var e=1;e<bR.length;e++){if(bR[e]===bR[e-1]){bR.splice(e--,1)}}}}return bR};by.matches=function(e,bR){return by(e,null,null,bR)};by.matchesSelector=function(e,bR){return by(bR,null,null,[e]).length>0};by.find=function(bX,e,bY){var bW,bS,bU,bT,bV,bR;if(!bX){return[]}for(bS=0,bU=bE.order.length;bS<bU;bS++){bV=bE.order[bS];if((bT=bE.leftMatch[bV].exec(bX))){bR=bT[1];bT.splice(1,1);if(bR.substr(bR.length-1)!=="\\"){bT[1]=(bT[1]||"").replace(bK,"");bW=bE.find[bV](bT,e,bY);if(bW!=null){bX=bX.replace(bE.match[bV],"");break}}}}if(!bW){bW=typeof e.getElementsByTagName!=="undefined"?e.getElementsByTagName("*"):[]}return{set:bW,expr:bX}};by.filter=function(b1,b0,b4,bU){var bW,e,bZ,b6,b3,bR,bT,bV,b2,bS=b1,b5=[],bY=b0,bX=b0&&b0[0]&&by.isXML(b0[0]);while(b1&&b0.length){for(bZ in bE.filter){if((bW=bE.leftMatch[bZ].exec(b1))!=null&&bW[2]){bR=bE.filter[bZ];bT=bW[1];e=false;bW.splice(1,1);if(bT.substr(bT.length-1)==="\\"){continue}if(bY===b5){b5=[]}if(bE.preFilter[bZ]){bW=bE.preFilter[bZ](bW,bY,b4,b5,bU,bX);if(!bW){e=b6=true}else{if(bW===true){continue}}}if(bW){for(bV=0;(b3=bY[bV])!=null;bV++){if(b3){b6=bR(b3,bW,bV,bY);b2=bU^b6;if(b4&&b6!=null){if(b2){e=true}else{bY[bV]=false}}else{if(b2){b5.push(b3);e=true}}}}}if(b6!==L){if(!b4){bY=b5}b1=b1.replace(bE.match[bZ],"");if(!e){return[]}break}}}if(b1===bS){if(e==null){by.error(b1)}else{break}}bS=b1}return bY};by.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)};var bw=by.getText=function(bU){var bS,bT,e=bU.nodeType,bR="";if(e){if(e===1||e===9){if(typeof bU.textContent==="string"){return bU.textContent}else{if(typeof bU.innerText==="string"){return bU.innerText.replace(bO,"")}else{for(bU=bU.firstChild;bU;bU=bU.nextSibling){bR+=bw(bU)}}}}else{if(e===3||e===4){return bU.nodeValue}}}else{for(bS=0;(bT=bU[bS]);bS++){if(bT.nodeType!==8){bR+=bw(bT)}}}return bR};var bE=by.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(e){return e.getAttribute("href")},type:function(e){return e.getAttribute("type")}},relative:{"+":function(bW,bR){var bT=typeof bR==="string",bV=bT&&!bQ.test(bR),bX=bT&&!bV;if(bV){bR=bR.toLowerCase()}for(var bS=0,e=bW.length,bU;bS<e;bS++){if((bU=bW[bS])){while((bU=bU.previousSibling)&&bU.nodeType!==1){}bW[bS]=bX||bU&&bU.nodeName.toLowerCase()===bR?bU||false:bU===bR}}if(bX){by.filter(bR,bW,true)}},">":function(bW,bR){var bV,bU=typeof bR==="string",bS=0,e=bW.length;if(bU&&!bQ.test(bR)){bR=bR.toLowerCase();for(;bS<e;bS++){bV=bW[bS];if(bV){var bT=bV.parentNode;bW[bS]=bT.nodeName.toLowerCase()===bR?bT:false}}}else{for(;bS<e;bS++){bV=bW[bS];if(bV){bW[bS]=bU?bV.parentNode:bV.parentNode===bR}}if(bU){by.filter(bR,bW,true)}}},"":function(bT,bR,bV){var bU,bS=bI++,e=bN;if(typeof bR==="string"&&!bQ.test(bR)){bR=bR.toLowerCase();bU=bR;e=bv}e("parentNode",bR,bS,bT,bU,bV)},"~":function(bT,bR,bV){var bU,bS=bI++,e=bN;if(typeof bR==="string"&&!bQ.test(bR)){bR=bR.toLowerCase();bU=bR;e=bv}e("previousSibling",bR,bS,bT,bU,bV)}},find:{ID:function(bR,bS,bT){if(typeof bS.getElementById!=="undefined"&&!bT){var e=bS.getElementById(bR[1]);return e&&e.parentNode?[e]:[]}},NAME:function(bS,bV){if(typeof bV.getElementsByName!=="undefined"){var bR=[],bU=bV.getElementsByName(bS[1]);for(var bT=0,e=bU.length;bT<e;bT++){if(bU[bT].getAttribute("name")===bS[1]){bR.push(bU[bT])}}return bR.length===0?null:bR}},TAG:function(e,bR){if(typeof bR.getElementsByTagName!=="undefined"){return bR.getElementsByTagName(e[1])}}},preFilter:{CLASS:function(bT,bR,bS,e,bW,bX){bT=" "+bT[1].replace(bK,"")+" ";if(bX){return bT}for(var bU=0,bV;(bV=bR[bU])!=null;bU++){if(bV){if(bW^(bV.className&&(" "+bV.className+" ").replace(/[\t\n\r]/g," ").indexOf(bT)>=0)){if(!bS){e.push(bV)}}else{if(bS){bR[bU]=false}}}}return false},ID:function(e){return e[1].replace(bK,"")},TAG:function(bR,e){return bR[1].replace(bK,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){by.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var bR=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(bR[1]+(bR[2]||1))-0;e[3]=bR[3]-0}else{if(e[2]){by.error(e[0])}}e[0]=bI++;return e},ATTR:function(bU,bR,bS,e,bV,bW){var bT=bU[1]=bU[1].replace(bK,"");if(!bW&&bE.attrMap[bT]){bU[1]=bE.attrMap[bT]}bU[4]=(bU[4]||bU[5]||"").replace(bK,"");if(bU[2]==="~="){bU[4]=" "+bU[4]+" "}return bU},PSEUDO:function(bU,bR,bS,e,bV){if(bU[1]==="not"){if((bH.exec(bU[3])||"").length>1||/^\w/.test(bU[3])){bU[3]=by(bU[3],null,null,bR)}else{var bT=by.filter(bU[3],bR,bS,true^bV);if(!bS){e.push.apply(e,bT)}return false}}else{if(bE.match.POS.test(bU[0])||bE.match.CHILD.test(bU[0])){return true}}return bU},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(bS,bR,e){return !!by(e[3],bS).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(bS){var e=bS.getAttribute("type"),bR=bS.type;return bS.nodeName.toLowerCase()==="input"&&"text"===bR&&(e===bR||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===bR.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===bR.type},button:function(bR){var e=bR.nodeName.toLowerCase();return e==="input"&&"button"===bR.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(bR,e){return e===0},last:function(bS,bR,e,bT){return bR===bT.length-1},even:function(bR,e){return e%2===0},odd:function(bR,e){return e%2===1},lt:function(bS,bR,e){return bR<e[3]-0},gt:function(bS,bR,e){return bR>e[3]-0},nth:function(bS,bR,e){return e[3]-0===bR},eq:function(bS,bR,e){return e[3]-0===bR}},filter:{PSEUDO:function(bS,bX,bW,bY){var e=bX[1],bR=bE.filters[e];if(bR){return bR(bS,bW,bX,bY)}else{if(e==="contains"){return(bS.textContent||bS.innerText||bw([bS])||"").indexOf(bX[3])>=0}else{if(e==="not"){var bT=bX[3];for(var bV=0,bU=bT.length;bV<bU;bV++){if(bT[bV]===bS){return false}}return true}else{by.error(e)}}}},CHILD:function(bS,bU){var bT,b0,bW,bZ,e,bV,bY,bX=bU[1],bR=bS;switch(bX){case"only":case"first":while((bR=bR.previousSibling)){if(bR.nodeType===1){return false}}if(bX==="first"){return true}bR=bS;case"last":while((bR=bR.nextSibling)){if(bR.nodeType===1){return false}}return true;case"nth":bT=bU[2];b0=bU[3];if(bT===1&&b0===0){return true}bW=bU[0];bZ=bS.parentNode;if(bZ&&(bZ[bC]!==bW||!bS.nodeIndex)){bV=0;for(bR=bZ.firstChild;bR;bR=bR.nextSibling){if(bR.nodeType===1){bR.nodeIndex=++bV}}bZ[bC]=bW}bY=bS.nodeIndex-b0;if(bT===0){return bY===0}else{return(bY%bT===0&&bY/bT>=0)}}},ID:function(bR,e){return bR.nodeType===1&&bR.getAttribute("id")===e},TAG:function(bR,e){return(e==="*"&&bR.nodeType===1)||!!bR.nodeName&&bR.nodeName.toLowerCase()===e},CLASS:function(bR,e){return(" "+(bR.className||bR.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(bV,bT){var bS=bT[1],e=by.attr?by.attr(bV,bS):bE.attrHandle[bS]?bE.attrHandle[bS](bV):bV[bS]!=null?bV[bS]:bV.getAttribute(bS),bW=e+"",bU=bT[2],bR=bT[4];return e==null?bU==="!=":!bU&&by.attr?e!=null:bU==="="?bW===bR:bU==="*="?bW.indexOf(bR)>=0:bU==="~="?(" "+bW+" ").indexOf(bR)>=0:!bR?bW&&e!==false:bU==="!="?bW!==bR:bU==="^="?bW.indexOf(bR)===0:bU==="$="?bW.substr(bW.length-bR.length)===bR:bU==="|="?bW===bR||bW.substr(0,bR.length+1)===bR+"-":false},POS:function(bU,bR,bS,bV){var e=bR[2],bT=bE.setFilters[e];if(bT){return bT(bU,bS,bR,bV)}}}};var bD=bE.match.POS,bx=function(bR,e){return"\\"+(e-0+1)};for(var bz in bE.match){bE.match[bz]=new RegExp(bE.match[bz].source+(/(?![^\[]*\])(?![^\(]*\))/.source));bE.leftMatch[bz]=new RegExp(/(^(?:.|\r|\n)*?)/.source+bE.match[bz].source.replace(/\\(\d+)/g,bx))}var bF=function(bR,e){bR=Array.prototype.slice.call(bR,0);if(e){e.push.apply(e,bR);return e}return bR};try{Array.prototype.slice.call(av.documentElement.childNodes,0)[0].nodeType}catch(bP){bF=function(bU,bT){var bS=0,bR=bT||[];if(bL.call(bU)==="[object Array]"){Array.prototype.push.apply(bR,bU)}else{if(typeof bU.length==="number"){for(var e=bU.length;bS<e;bS++){bR.push(bU[bS])}}else{for(;bU[bS];bS++){bR.push(bU[bS])}}}return bR}}var bJ,bG;if(av.documentElement.compareDocumentPosition){bJ=function(bR,e){if(bR===e){bB=true;return 0}if(!bR.compareDocumentPosition||!e.compareDocumentPosition){return bR.compareDocumentPosition?-1:1}return bR.compareDocumentPosition(e)&4?-1:1}}else{bJ=function(bY,bX){if(bY===bX){bB=true;return 0}else{if(bY.sourceIndex&&bX.sourceIndex){return bY.sourceIndex-bX.sourceIndex}}var bV,bR,bS=[],e=[],bU=bY.parentNode,bW=bX.parentNode,bZ=bU;if(bU===bW){return bG(bY,bX)}else{if(!bU){return -1}else{if(!bW){return 1}}}while(bZ){bS.unshift(bZ);bZ=bZ.parentNode}bZ=bW;while(bZ){e.unshift(bZ);bZ=bZ.parentNode}bV=bS.length;bR=e.length;for(var bT=0;bT<bV&&bT<bR;bT++){if(bS[bT]!==e[bT]){return bG(bS[bT],e[bT])}}return bT===bV?bG(bY,e[bT],-1):bG(bS[bT],bX,1)};bG=function(bR,e,bS){if(bR===e){return bS}var bT=bR.nextSibling;while(bT){if(bT===e){return -1}bT=bT.nextSibling}return 1}}(function(){var bR=av.createElement("div"),bS="script"+(new Date()).getTime(),e=av.documentElement;bR.innerHTML="<a name='"+bS+"'/>";e.insertBefore(bR,e.firstChild);if(av.getElementById(bS)){bE.find.ID=function(bU,bV,bW){if(typeof bV.getElementById!=="undefined"&&!bW){var bT=bV.getElementById(bU[1]);return bT?bT.id===bU[1]||typeof bT.getAttributeNode!=="undefined"&&bT.getAttributeNode("id").nodeValue===bU[1]?[bT]:L:[]}};bE.filter.ID=function(bV,bT){var bU=typeof bV.getAttributeNode!=="undefined"&&bV.getAttributeNode("id");return bV.nodeType===1&&bU&&bU.nodeValue===bT}}e.removeChild(bR);e=bR=null})();(function(){var e=av.createElement("div");e.appendChild(av.createComment(""));if(e.getElementsByTagName("*").length>0){bE.find.TAG=function(bR,bV){var bU=bV.getElementsByTagName(bR[1]);if(bR[1]==="*"){var bT=[];for(var bS=0;bU[bS];bS++){if(bU[bS].nodeType===1){bT.push(bU[bS])}}bU=bT}return bU}}e.innerHTML="<a href='#'></a>";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){bE.attrHandle.href=function(bR){return bR.getAttribute("href",2)}}e=null})();if(av.querySelectorAll){(function(){var e=by,bT=av.createElement("div"),bS="__sizzle__";bT.innerHTML="<p class='TEST'></p>";if(bT.querySelectorAll&&bT.querySelectorAll(".TEST").length===0){return}by=function(b4,bV,bZ,b3){bV=bV||av;if(!b3&&!by.isXML(bV)){var b2=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b4);if(b2&&(bV.nodeType===1||bV.nodeType===9)){if(b2[1]){return bF(bV.getElementsByTagName(b4),bZ)}else{if(b2[2]&&bE.find.CLASS&&bV.getElementsByClassName){return bF(bV.getElementsByClassName(b2[2]),bZ)}}}if(bV.nodeType===9){if(b4==="body"&&bV.body){return bF([bV.body],bZ)}else{if(b2&&b2[3]){var bY=bV.getElementById(b2[3]);if(bY&&bY.parentNode){if(bY.id===b2[3]){return bF([bY],bZ)}}else{return bF([],bZ)}}}try{return bF(bV.querySelectorAll(b4),bZ)}catch(b0){}}else{if(bV.nodeType===1&&bV.nodeName.toLowerCase()!=="object"){var bW=bV,bX=bV.getAttribute("id"),bU=bX||bS,b6=bV.parentNode,b5=/^\s*[+~]/.test(b4);if(!bX){bV.setAttribute("id",bU)}else{bU=bU.replace(/'/g,"\\$&")}if(b5&&b6){bV=bV.parentNode}try{if(!b5||b6){return bF(bV.querySelectorAll("[id='"+bU+"'] "+b4),bZ)}}catch(b1){}finally{if(!bX){bW.removeAttribute("id")}}}}}return e(b4,bV,bZ,b3)};for(var bR in e){by[bR]=e[bR]}bT=null})()}(function(){var e=av.documentElement,bS=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(bS){var bU=!bS.call(av.createElement("div"),"div"),bR=false;try{bS.call(av.documentElement,"[test!='']:sizzle")}catch(bT){bR=true}by.matchesSelector=function(bW,bY){bY=bY.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!by.isXML(bW)){try{if(bR||!bE.match.PSEUDO.test(bY)&&!/!=/.test(bY)){var bV=bS.call(bW,bY);if(bV||!bU||bW.document&&bW.document.nodeType!==11){return bV}}}catch(bX){}}return by(bY,null,null,[bW]).length>0}}})();(function(){var e=av.createElement("div");e.innerHTML="<div class='test e'></div><div class='test'></div>";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}bE.order.splice(1,0,"CLASS");bE.find.CLASS=function(bR,bS,bT){if(typeof bS.getElementsByClassName!=="undefined"&&!bT){return bS.getElementsByClassName(bR[1])}};e=null})();function bv(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT<bS;bT++){var e=bZ[bT];if(e){var bU=false;e=e[bR];while(e){if(e[bC]===bV){bU=bZ[e.sizset];break}if(e.nodeType===1&&!bY){e[bC]=bV;e.sizset=bT}if(e.nodeName.toLowerCase()===bW){bU=e;break}e=e[bR]}bZ[bT]=bU}}}function bN(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT<bS;bT++){var e=bZ[bT];if(e){var bU=false;e=e[bR];while(e){if(e[bC]===bV){bU=bZ[e.sizset];break}if(e.nodeType===1){if(!bY){e[bC]=bV;e.sizset=bT}if(typeof bW!=="string"){if(e===bW){bU=true;break}}else{if(by.filter(bW,[e]).length>0){bU=e;break}}}e=e[bR]}bZ[bT]=bU}}}if(av.documentElement.contains){by.contains=function(bR,e){return bR!==e&&(bR.contains?bR.contains(e):true)}}else{if(av.documentElement.compareDocumentPosition){by.contains=function(bR,e){return !!(bR.compareDocumentPosition(e)&16)}}else{by.contains=function(){return false}}}by.isXML=function(e){var bR=(e?e.ownerDocument||e:0).documentElement;return bR?bR.nodeName!=="HTML":false};var bM=function(bS,e,bW){var bV,bX=[],bU="",bY=e.nodeType?[e]:e;while((bV=bE.match.PSEUDO.exec(bS))){bU+=bV[0];bS=bS.replace(bE.match.PSEUDO,"")}bS=bE.relative[bS]?bS+"*":bS;for(var bT=0,bR=bY.length;bT<bR;bT++){by(bS,bY[bT],bX,bW)}return by.filter(bU,bX)};by.attr=b.attr;by.selectors.attrMap={};b.find=by;b.expr=by.selectors;b.expr[":"]=b.expr.filters;b.unique=by.uniqueSort;b.text=by.getText;b.isXMLDoc=by.isXML;b.contains=by.contains})();var ab=/Until$/,aq=/^(?:parents|prevUntil|prevAll)/,a9=/,/,bp=/^.[^:#\[\.,]*$/,P=Array.prototype.slice,H=b.expr.match.POS,ay={children:true,contents:true,next:true,prev:true};b.fn.extend({find:function(e){var bw=this,by,bv;if(typeof e!=="string"){return b(e).filter(function(){for(by=0,bv=bw.length;by<bv;by++){if(b.contains(bw[by],this)){return true}}})}var bx=this.pushStack("","find",e),bA,bB,bz;for(by=0,bv=this.length;by<bv;by++){bA=bx.length;b.find(e,this[by],bx);if(by>0){for(bB=bA;bB<bx.length;bB++){for(bz=0;bz<bA;bz++){if(bx[bz]===bx[bB]){bx.splice(bB--,1);break}}}}}return bx},has:function(bv){var e=b(bv);return this.filter(function(){for(var bx=0,bw=e.length;bx<bw;bx++){if(b.contains(this,e[bx])){return true}}})},not:function(e){return this.pushStack(aG(this,e,false),"not",e)},filter:function(e){return this.pushStack(aG(this,e,true),"filter",e)},is:function(e){return !!e&&(typeof e==="string"?H.test(e)?b(e,this.context).index(this[0])>=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(by,bx){var bv=[],bw,e,bz=this[0];if(b.isArray(by)){var bB=1;while(bz&&bz.ownerDocument&&bz!==bx){for(bw=0;bw<by.length;bw++){if(b(bz).is(by[bw])){bv.push({selector:by[bw],elem:bz,level:bB})}}bz=bz.parentNode;bB++}return bv}var bA=H.test(by)||typeof by!=="string"?b(by,bx||this.context):0;for(bw=0,e=this.length;bw<e;bw++){bz=this[bw];while(bz){if(bA?bA.index(bz)>-1:b.find.matchesSelector(bz,by)){bv.push(bz);break}else{bz=bz.parentNode;if(!bz||!bz.ownerDocument||bz===bx||bz.nodeType===11){break}}}}bv=bv.length>1?b.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof e==="string"){return b.inArray(this[0],b(e))}return b.inArray(e.jquery?e[0]:e,this)},add:function(e,bv){var bx=typeof e==="string"?b(e,bv):b.makeArray(e&&e.nodeType?[e]:e),bw=b.merge(this.get(),bx);return this.pushStack(C(bx[0])||C(bw[0])?bw:b.unique(bw))},andSelf:function(){return this.add(this.prevObject)}});function C(e){return !e||!e.parentNode||e.parentNode.nodeType===11}b.each({parent:function(bv){var e=bv.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(bv,e,bw){return b.dir(bv,"parentNode",bw)},next:function(e){return b.nth(e,2,"nextSibling")},prev:function(e){return b.nth(e,2,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(bv,e,bw){return b.dir(bv,"nextSibling",bw)},prevUntil:function(bv,e,bw){return b.dir(bv,"previousSibling",bw)},siblings:function(e){return b.sibling(e.parentNode.firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.makeArray(e.childNodes)}},function(e,bv){b.fn[e]=function(by,bw){var bx=b.map(this,bv,by);if(!ab.test(e)){bw=by}if(bw&&typeof bw==="string"){bx=b.filter(bw,bx)}bx=this.length>1&&!ay[e]?b.unique(bx):bx;if((this.length>1||a9.test(bw))&&aq.test(e)){bx=bx.reverse()}return this.pushStack(bx,e,P.call(arguments).join(","))}});b.extend({filter:function(bw,e,bv){if(bv){bw=":not("+bw+")"}return e.length===1?b.find.matchesSelector(e[0],bw)?[e[0]]:[]:b.find.matches(bw,e)},dir:function(bw,bv,by){var e=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===L||bx.nodeType!==1||!b(bx).is(by))){if(bx.nodeType===1){e.push(bx)}bx=bx[bv]}return e},nth:function(by,e,bw,bx){e=e||1;var bv=0;for(;by;by=by[bw]){if(by.nodeType===1&&++bv===e){break}}return by},sibling:function(bw,bv){var e=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){e.push(bw)}}return e}});function aG(bx,bw,e){bw=bw||0;if(b.isFunction(bw)){return b.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===e})}else{if(bw.nodeType){return b.grep(bx,function(bz,by){return(bz===bw)===e})}else{if(typeof bw==="string"){var bv=b.grep(bx,function(by){return by.nodeType===1});if(bp.test(bw)){return b.filter(bw,bv,!e)}else{bw=b.filter(bw,bv)}}}}return b.grep(bx,function(bz,by){return(b.inArray(bz,bw)>=0)===e})}function a(e){var bw=aR.split("|"),bv=e.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aR="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ag=/ jQuery\d+="(?:\d+|null)"/g,ar=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,d=/<([\w:]+)/,w=/<tbody/i,W=/<|&#?\w+;/,ae=/<(?:script|style)/i,O=/<(?:script|object|embed|option|style)/i,ah=new RegExp("<(?:"+aR+")","i"),o=/checked\s*(?:[^=]|=\s*.checked.)/i,bm=/\/(java|ecma)script/i,aN=/^\s*<!(?:\[CDATA\[|\-\-)/,ax={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},ac=a(av);ax.optgroup=ax.option;ax.tbody=ax.tfoot=ax.colgroup=ax.caption=ax.thead;ax.th=ax.td;if(!b.support.htmlSerialize){ax._default=[1,"div<div>","</div>"]}b.fn.extend({text:function(e){if(b.isFunction(e)){return this.each(function(bw){var bv=b(this);bv.text(e.call(this,bw,bv.text()))})}if(typeof e!=="object"&&e!==L){return this.empty().append((this[0]&&this[0].ownerDocument||av).createTextNode(e))}return b.text(this)},wrapAll:function(e){if(b.isFunction(e)){return this.each(function(bw){b(this).wrapAll(e.call(this,bw))})}if(this[0]){var bv=b(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(e){if(b.isFunction(e)){return this.each(function(bv){b(this).wrapInner(e.call(this,bv))})}return this.each(function(){var bv=b(this),bw=bv.contents();if(bw.length){bw.wrapAll(e)}else{bv.append(e)}})},wrap:function(e){var bv=b.isFunction(e);return this.each(function(bw){b(this).wrapAll(bv?e.call(this,bw):e)})},unwrap:function(){return this.parent().each(function(){if(!b.nodeName(this,"body")){b(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.insertBefore(e,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}else{if(arguments.length){var e=b.clean(arguments);e.push.apply(e,this.toArray());return this.pushStack(e,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}else{if(arguments.length){var e=this.pushStack(this,"after",arguments);e.push.apply(e,b.clean(arguments));return e}}},remove:function(e,bx){for(var bv=0,bw;(bw=this[bv])!=null;bv++){if(!e||b.filter(e,[bw]).length){if(!bx&&bw.nodeType===1){b.cleanData(bw.getElementsByTagName("*"));b.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){for(var e=0,bv;(bv=this[e])!=null;e++){if(bv.nodeType===1){b.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,e){bv=bv==null?false:bv;e=e==null?bv:e;return this.map(function(){return b.clone(this,bv,e)})},html:function(bx){if(bx===L){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(ag,""):null}else{if(typeof bx==="string"&&!ae.test(bx)&&(b.support.leadingWhitespace||!ar.test(bx))&&!ax[(d.exec(bx)||["",""])[1].toLowerCase()]){bx=bx.replace(R,"<$1></$2>");try{for(var bw=0,bv=this.length;bw<bv;bw++){if(this[bw].nodeType===1){b.cleanData(this[bw].getElementsByTagName("*"));this[bw].innerHTML=bx}}}catch(by){this.empty().append(bx)}}else{if(b.isFunction(bx)){this.each(function(bz){var e=b(this);e.html(bx.call(this,bz,e.html()))})}else{this.empty().append(bx)}}}return this},replaceWith:function(e){if(this[0]&&this[0].parentNode){if(b.isFunction(e)){return this.each(function(bx){var bw=b(this),bv=bw.html();bw.replaceWith(e.call(this,bx,bv))})}if(typeof e!=="string"){e=b(e).detach()}return this.each(function(){var bw=this.nextSibling,bv=this.parentNode;b(this).remove();if(bw){b(bw).before(e)}else{b(bv).append(e)}})}else{return this.length?this.pushStack(b(b.isFunction(e)?e():e),"replaceWith",e):this}},detach:function(e){return this.remove(e,true)},domManip:function(bB,bF,bE){var bx,by,bA,bD,bC=bB[0],bv=[];if(!b.support.checkClone&&arguments.length===3&&typeof bC==="string"&&o.test(bC)){return this.each(function(){b(this).domManip(bB,bF,bE,true)})}if(b.isFunction(bC)){return this.each(function(bH){var bG=b(this);bB[0]=bC.call(this,bH,bF?bG.html():L);bG.domManip(bB,bF,bE)})}if(this[0]){bD=bC&&bC.parentNode;if(b.support.parentNode&&bD&&bD.nodeType===11&&bD.childNodes.length===this.length){bx={fragment:bD}}else{bx=b.buildFragment(bB,this,bv)}bA=bx.fragment;if(bA.childNodes.length===1){by=bA=bA.firstChild}else{by=bA.firstChild}if(by){bF=bF&&b.nodeName(by,"tr");for(var bw=0,e=this.length,bz=e-1;bw<e;bw++){bE.call(bF?ba(this[bw],by):this[bw],bx.cacheable||(e>1&&bw<bz)?b.clone(bA,true,true):bA)}}if(bv.length){b.each(bv,bo)}}return this}});function ba(e,bv){return b.nodeName(e,"table")?(e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody"))):e}function t(bB,bv){if(bv.nodeType!==1||!b.hasData(bB)){return}var by,bx,e,bA=b._data(bB),bz=b._data(bv,bA),bw=bA.events;if(bw){delete bz.handle;bz.events={};for(by in bw){for(bx=0,e=bw[by].length;bx<e;bx++){b.event.add(bv,by+(bw[by][bx].namespace?".":"")+bw[by][bx].namespace,bw[by][bx],bw[by][bx].data)}}}if(bz.data){bz.data=b.extend({},bz.data)}}function ai(bv,e){var bw;if(e.nodeType!==1){return}if(e.clearAttributes){e.clearAttributes()}if(e.mergeAttributes){e.mergeAttributes(bv)}bw=e.nodeName.toLowerCase();if(bw==="object"){e.outerHTML=bv.outerHTML}else{if(bw==="input"&&(bv.type==="checkbox"||bv.type==="radio")){if(bv.checked){e.defaultChecked=e.checked=bv.checked}if(e.value!==bv.value){e.value=bv.value}}else{if(bw==="option"){e.selected=bv.defaultSelected}else{if(bw==="input"||bw==="textarea"){e.defaultValue=bv.defaultValue}}}}e.removeAttribute(b.expando)}b.buildFragment=function(bz,bx,bv){var by,e,bw,bA,bB=bz[0];if(bx&&bx[0]){bA=bx[0].ownerDocument||bx[0]}if(!bA.createDocumentFragment){bA=av}if(bz.length===1&&typeof bB==="string"&&bB.length<512&&bA===av&&bB.charAt(0)==="<"&&!O.test(bB)&&(b.support.checkClone||!o.test(bB))&&(b.support.html5Clone||!ah.test(bB))){e=true;bw=b.fragments[bB];if(bw&&bw!==1){by=bw}}if(!by){by=bA.createDocumentFragment();b.clean(bz,bA,by,bv)}if(e){b.fragments[bB]=bw?by:1}return{fragment:by,cacheable:e}};b.fragments={};b.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,bv){b.fn[e]=function(bw){var bz=[],bC=b(bw),bB=this.length===1&&this[0].parentNode;if(bB&&bB.nodeType===11&&bB.childNodes.length===1&&bC.length===1){bC[bv](this[0]);return this}else{for(var bA=0,bx=bC.length;bA<bx;bA++){var by=(bA>0?this.clone(true):this).get();b(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,e,bC.selector)}}});function bg(e){if(typeof e.getElementsByTagName!=="undefined"){return e.getElementsByTagName("*")}else{if(typeof e.querySelectorAll!=="undefined"){return e.querySelectorAll("*")}else{return[]}}}function az(e){if(e.type==="checkbox"||e.type==="radio"){e.defaultChecked=e.checked}}function E(e){var bv=(e.nodeName||"").toLowerCase();if(bv==="input"){az(e)}else{if(bv!=="script"&&typeof e.getElementsByTagName!=="undefined"){b.grep(e.getElementsByTagName("input"),az)}}}function al(e){var bv=av.createElement("div");ac.appendChild(bv);bv.innerHTML=e.outerHTML;return bv.firstChild}b.extend({clone:function(by,bA,bw){var e,bv,bx,bz=b.support.html5Clone||!ah.test("<"+by.nodeName)?by.cloneNode(true):al(by);if((!b.support.noCloneEvent||!b.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!b.isXMLDoc(by)){ai(by,bz);e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){if(bv[bx]){ai(e[bx],bv[bx])}}}if(bA){t(by,bz);if(bw){e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){t(e[bx],bv[bx])}}}e=bv=null;return bz},clean:function(bw,by,bH,bA){var bF;by=by||av;if(typeof by.createElement==="undefined"){by=by.ownerDocument||by[0]&&by[0].ownerDocument||av}var bI=[],bB;for(var bE=0,bz;(bz=bw[bE])!=null;bE++){if(typeof bz==="number"){bz+=""}if(!bz){continue}if(typeof bz==="string"){if(!W.test(bz)){bz=by.createTextNode(bz)}else{bz=bz.replace(R,"<$1></$2>");var bK=(d.exec(bz)||["",""])[1].toLowerCase(),bx=ax[bK]||ax._default,bD=bx[0],bv=by.createElement("div");if(by===av){ac.appendChild(bv)}else{a(by).appendChild(bv)}bv.innerHTML=bx[1]+bz+bx[2];while(bD--){bv=bv.lastChild}if(!b.support.tbody){var e=w.test(bz),bC=bK==="table"&&!e?bv.firstChild&&bv.firstChild.childNodes:bx[1]==="<table>"&&!e?bv.childNodes:[];for(bB=bC.length-1;bB>=0;--bB){if(b.nodeName(bC[bB],"tbody")&&!bC[bB].childNodes.length){bC[bB].parentNode.removeChild(bC[bB])}}}if(!b.support.leadingWhitespace&&ar.test(bz)){bv.insertBefore(by.createTextNode(ar.exec(bz)[0]),bv.firstChild)}bz=bv.childNodes}}var bG;if(!b.support.appendChecked){if(bz[0]&&typeof(bG=bz.length)==="number"){for(bB=0;bB<bG;bB++){E(bz[bB])}}else{E(bz)}}if(bz.nodeType){bI.push(bz)}else{bI=b.merge(bI,bz)}}if(bH){bF=function(bL){return !bL.type||bm.test(bL.type)};for(bE=0;bI[bE];bE++){if(bA&&b.nodeName(bI[bE],"script")&&(!bI[bE].type||bI[bE].type.toLowerCase()==="text/javascript")){bA.push(bI[bE].parentNode?bI[bE].parentNode.removeChild(bI[bE]):bI[bE])}else{if(bI[bE].nodeType===1){var bJ=b.grep(bI[bE].getElementsByTagName("script"),bF);bI.splice.apply(bI,[bE+1,0].concat(bJ))}bH.appendChild(bI[bE])}}}return bI},cleanData:function(bv){var by,bw,e=b.cache,bB=b.event.special,bA=b.support.deleteExpando;for(var bz=0,bx;(bx=bv[bz])!=null;bz++){if(bx.nodeName&&b.noData[bx.nodeName.toLowerCase()]){continue}bw=bx[b.expando];if(bw){by=e[bw];if(by&&by.events){for(var bC in by.events){if(bB[bC]){b.event.remove(bx,bC)}else{b.removeEvent(bx,bC,by.handle)}}if(by.handle){by.handle.elem=null}}if(bA){delete bx[b.expando]}else{if(bx.removeAttribute){bx.removeAttribute(b.expando)}}delete e[bw]}}}});function bo(e,bv){if(bv.src){b.ajax({url:bv.src,async:false,dataType:"script"})}else{b.globalEval((bv.text||bv.textContent||bv.innerHTML||"").replace(aN,"/*$0*/"))}if(bv.parentNode){bv.parentNode.removeChild(bv)}}var ak=/alpha\([^)]*\)/i,au=/opacity=([^)]*)/,z=/([A-Z]|^ms)/g,bc=/^-?\d+(?:px)?$/i,bn=/^-?\d/,I=/^([\-+])=([\-+.\de]+)/,a7={position:"absolute",visibility:"hidden",display:"block"},an=["Left","Right"],a1=["Top","Bottom"],Z,aI,aX;b.fn.css=function(e,bv){if(arguments.length===2&&bv===L){return this}return b.access(this,e,bv,true,function(bx,bw,by){return by!==L?b.style(bx,bw,by):b.css(bx,bw)})};b.extend({cssHooks:{opacity:{get:function(bw,bv){if(bv){var e=Z(bw,"opacity","opacity");return e===""?"1":e}else{return bw.style.opacity}}}},cssNumber:{fillOpacity:true,fontWeight:true,lineHeight:true,opacity:true,orphans:true,widows:true,zIndex:true,zoom:true},cssProps:{"float":b.support.cssFloat?"cssFloat":"styleFloat"},style:function(bx,bw,bD,by){if(!bx||bx.nodeType===3||bx.nodeType===8||!bx.style){return}var bB,bC,bz=b.camelCase(bw),bv=bx.style,bE=b.cssHooks[bz];bw=b.cssProps[bz]||bz;if(bD!==L){bC=typeof bD;if(bC==="string"&&(bB=I.exec(bD))){bD=(+(bB[1]+1)*+bB[2])+parseFloat(b.css(bx,bw));bC="number"}if(bD==null||bC==="number"&&isNaN(bD)){return}if(bC==="number"&&!b.cssNumber[bz]){bD+="px"}if(!bE||!("set" in bE)||(bD=bE.set(bx,bD))!==L){try{bv[bw]=bD}catch(bA){}}}else{if(bE&&"get" in bE&&(bB=bE.get(bx,false,by))!==L){return bB}return bv[bw]}},css:function(by,bx,bv){var bw,e;bx=b.camelCase(bx);e=b.cssHooks[bx];bx=b.cssProps[bx]||bx;if(bx==="cssFloat"){bx="float"}if(e&&"get" in e&&(bw=e.get(by,true,bv))!==L){return bw}else{if(Z){return Z(by,bx)}}},swap:function(bx,bw,by){var e={};for(var bv in bw){e[bv]=bx.style[bv];bx.style[bv]=bw[bv]}by.call(bx);for(bv in bw){bx.style[bv]=e[bv]}}});b.curCSS=b.css;b.each(["height","width"],function(bv,e){b.cssHooks[e]={get:function(by,bx,bw){var bz;if(bx){if(by.offsetWidth!==0){return p(by,e,bw)}else{b.swap(by,a7,function(){bz=p(by,e,bw)})}return bz}},set:function(bw,bx){if(bc.test(bx)){bx=parseFloat(bx);if(bx>=0){return bx+"px"}}else{return bx}}}});if(!b.support.opacity){b.cssHooks.opacity={get:function(bv,e){return au.test((e&&bv.currentStyle?bv.currentStyle.filter:bv.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":e?"1":""},set:function(by,bz){var bx=by.style,bv=by.currentStyle,e=b.isNumeric(bz)?"alpha(opacity="+bz*100+")":"",bw=bv&&bv.filter||bx.filter||"";bx.zoom=1;if(bz>=1&&b.trim(bw.replace(ak,""))===""){bx.removeAttribute("filter");if(bv&&!bv.filter){return}}bx.filter=ak.test(bw)?bw.replace(ak,e):bw+" "+e}}}b(function(){if(!b.support.reliableMarginRight){b.cssHooks.marginRight={get:function(bw,bv){var e;b.swap(bw,{display:"inline-block"},function(){if(bv){e=Z(bw,"margin-right","marginRight")}else{e=bw.style.marginRight}});return e}}}});if(av.defaultView&&av.defaultView.getComputedStyle){aI=function(by,bw){var bv,bx,e;bw=bw.replace(z,"-$1").toLowerCase();if((bx=by.ownerDocument.defaultView)&&(e=bx.getComputedStyle(by,null))){bv=e.getPropertyValue(bw);if(bv===""&&!b.contains(by.ownerDocument.documentElement,by)){bv=b.style(by,bw)}}return bv}}if(av.documentElement.currentStyle){aX=function(bz,bw){var bA,e,by,bv=bz.currentStyle&&bz.currentStyle[bw],bx=bz.style;if(bv===null&&bx&&(by=bx[bw])){bv=by}if(!bc.test(bv)&&bn.test(bv)){bA=bx.left;e=bz.runtimeStyle&&bz.runtimeStyle.left;if(e){bz.runtimeStyle.left=bz.currentStyle.left}bx.left=bw==="fontSize"?"1em":(bv||0);bv=bx.pixelLeft+"px";bx.left=bA;if(e){bz.runtimeStyle.left=e}}return bv===""?"auto":bv}}Z=aI||aX;function p(by,bw,bv){var bA=bw==="width"?by.offsetWidth:by.offsetHeight,bz=bw==="width"?an:a1,bx=0,e=bz.length;if(bA>0){if(bv!=="border"){for(;bx<e;bx++){if(!bv){bA-=parseFloat(b.css(by,"padding"+bz[bx]))||0}if(bv==="margin"){bA+=parseFloat(b.css(by,bv+bz[bx]))||0}else{bA-=parseFloat(b.css(by,"border"+bz[bx]+"Width"))||0}}}return bA+"px"}bA=Z(by,bw,bw);if(bA<0||bA==null){bA=by.style[bw]||0}bA=parseFloat(bA)||0;if(bv){for(;bx<e;bx++){bA+=parseFloat(b.css(by,"padding"+bz[bx]))||0;if(bv!=="padding"){bA+=parseFloat(b.css(by,"border"+bz[bx]+"Width"))||0}if(bv==="margin"){bA+=parseFloat(b.css(by,bv+bz[bx]))||0}}}return bA+"px"}if(b.expr&&b.expr.filters){b.expr.filters.hidden=function(bw){var bv=bw.offsetWidth,e=bw.offsetHeight;return(bv===0&&e===0)||(!b.support.reliableHiddenOffsets&&((bw.style&&bw.style.display)||b.css(bw,"display"))==="none")};b.expr.filters.visible=function(e){return !b.expr.filters.hidden(e)}}var k=/%20/g,ap=/\[\]$/,bs=/\r?\n/g,bq=/#.*$/,aD=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,aZ=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,aM=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,aQ=/^(?:GET|HEAD)$/,c=/^\/\//,M=/\?/,a6=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,q=/^(?:select|textarea)/i,h=/\s+/,br=/([?&])_=[^&]*/,K=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,A=b.fn.load,aa={},r={},aE,s,aV=["*/"]+["*"];try{aE=bl.href}catch(aw){aE=av.createElement("a");aE.href="";aE=aE.href}s=K.exec(aE.toLowerCase())||[];function f(e){return function(by,bA){if(typeof by!=="string"){bA=by;by="*"}if(b.isFunction(bA)){var bx=by.toLowerCase().split(h),bw=0,bz=bx.length,bv,bB,bC;for(;bw<bz;bw++){bv=bx[bw];bC=/^\+/.test(bv);if(bC){bv=bv.substr(1)||"*"}bB=e[bv]=e[bv]||[];bB[bC?"unshift":"push"](bA)}}}}function aW(bv,bE,bz,bD,bB,bx){bB=bB||bE.dataTypes[0];bx=bx||{};bx[bB]=true;var bA=bv[bB],bw=0,e=bA?bA.length:0,by=(bv===aa),bC;for(;bw<e&&(by||!bC);bw++){bC=bA[bw](bE,bz,bD);if(typeof bC==="string"){if(!by||bx[bC]){bC=L}else{bE.dataTypes.unshift(bC);bC=aW(bv,bE,bz,bD,bC,bx)}}}if((by||!bC)&&!bx["*"]){bC=aW(bv,bE,bz,bD,"*",bx)}return bC}function am(bw,bx){var bv,e,by=b.ajaxSettings.flatOptions||{};for(bv in bx){if(bx[bv]!==L){(by[bv]?bw:(e||(e={})))[bv]=bx[bv]}}if(e){b.extend(true,bw,e)}}b.fn.extend({load:function(bw,bz,bA){if(typeof bw!=="string"&&A){return A.apply(this,arguments)}else{if(!this.length){return this}}var by=bw.indexOf(" ");if(by>=0){var e=bw.slice(by,bw.length);bw=bw.slice(0,by)}var bx="GET";if(bz){if(b.isFunction(bz)){bA=bz;bz=L}else{if(typeof bz==="object"){bz=b.param(bz,b.ajaxSettings.traditional);bx="POST"}}}var bv=this;b.ajax({url:bw,type:bx,dataType:"html",data:bz,complete:function(bC,bB,bD){bD=bC.responseText;if(bC.isResolved()){bC.done(function(bE){bD=bE});bv.html(e?b("<div>").append(bD.replace(a6,"")).find(e):bD)}if(bA){bv.each(bA,[bD,bB,bC])}}});return this},serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?b.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||q.test(this.nodeName)||aZ.test(this.type))}).map(function(e,bv){var bw=b(this).val();return bw==null?null:b.isArray(bw)?b.map(bw,function(by,bx){return{name:bv.name,value:by.replace(bs,"\r\n")}}):{name:bv.name,value:bw.replace(bs,"\r\n")}}).get()}});b.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,bv){b.fn[bv]=function(bw){return this.on(bv,bw)}});b.each(["get","post"],function(e,bv){b[bv]=function(bw,by,bz,bx){if(b.isFunction(by)){bx=bx||bz;bz=by;by=L}return b.ajax({type:bv,url:bw,data:by,success:bz,dataType:bx})}});b.extend({getScript:function(e,bv){return b.get(e,L,bv,"script")},getJSON:function(e,bv,bw){return b.get(e,bv,bw,"json")},ajaxSetup:function(bv,e){if(e){am(bv,b.ajaxSettings)}else{e=bv;bv=b.ajaxSettings}am(bv,e);return bv},ajaxSettings:{url:aE,isLocal:aM.test(s[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":aV},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":bb.String,"text html":true,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:f(aa),ajaxTransport:f(r),ajax:function(bz,bx){if(typeof bz==="object"){bx=bz;bz=L}bx=bx||{};var bD=b.ajaxSetup({},bx),bS=bD.context||bD,bG=bS!==bD&&(bS.nodeType||bS instanceof b)?b(bS):b.event,bR=b.Deferred(),bN=b.Callbacks("once memory"),bB=bD.statusCode||{},bC,bH={},bO={},bQ,by,bL,bE,bI,bA=0,bw,bK,bJ={readyState:0,setRequestHeader:function(bT,bU){if(!bA){var e=bT.toLowerCase();bT=bO[e]=bO[e]||bT;bH[bT]=bU}return this},getAllResponseHeaders:function(){return bA===2?bQ:null},getResponseHeader:function(bT){var e;if(bA===2){if(!by){by={};while((e=aD.exec(bQ))){by[e[1].toLowerCase()]=e[2]}}e=by[bT.toLowerCase()]}return e===L?null:e},overrideMimeType:function(e){if(!bA){bD.mimeType=e}return this},abort:function(e){e=e||"abort";if(bL){bL.abort(e)}bF(0,e);return this}};function bF(bZ,bU,b0,bW){if(bA===2){return}bA=2;if(bE){clearTimeout(bE)}bL=L;bQ=bW||"";bJ.readyState=bZ>0?4:0;var bT,b4,b3,bX=bU,bY=b0?bj(bD,bJ,b0):L,bV,b2;if(bZ>=200&&bZ<300||bZ===304){if(bD.ifModified){if((bV=bJ.getResponseHeader("Last-Modified"))){b.lastModified[bC]=bV}if((b2=bJ.getResponseHeader("Etag"))){b.etag[bC]=b2}}if(bZ===304){bX="notmodified";bT=true}else{try{b4=G(bD,bY);bX="success";bT=true}catch(b1){bX="parsererror";b3=b1}}}else{b3=bX;if(!bX||bZ){bX="error";if(bZ<0){bZ=0}}}bJ.status=bZ;bJ.statusText=""+(bU||bX);if(bT){bR.resolveWith(bS,[b4,bX,bJ])}else{bR.rejectWith(bS,[bJ,bX,b3])}bJ.statusCode(bB);bB=L;if(bw){bG.trigger("ajax"+(bT?"Success":"Error"),[bJ,bD,bT?b4:b3])}bN.fireWith(bS,[bJ,bX]);if(bw){bG.trigger("ajaxComplete",[bJ,bD]);if(!(--b.active)){b.event.trigger("ajaxStop")}}}bR.promise(bJ);bJ.success=bJ.done;bJ.error=bJ.fail;bJ.complete=bN.add;bJ.statusCode=function(bT){if(bT){var e;if(bA<2){for(e in bT){bB[e]=[bB[e],bT[e]]}}else{e=bT[bJ.status];bJ.then(e,e)}}return this};bD.url=((bz||bD.url)+"").replace(bq,"").replace(c,s[1]+"//");bD.dataTypes=b.trim(bD.dataType||"*").toLowerCase().split(h);if(bD.crossDomain==null){bI=K.exec(bD.url.toLowerCase());bD.crossDomain=!!(bI&&(bI[1]!=s[1]||bI[2]!=s[2]||(bI[3]||(bI[1]==="http:"?80:443))!=(s[3]||(s[1]==="http:"?80:443))))}if(bD.data&&bD.processData&&typeof bD.data!=="string"){bD.data=b.param(bD.data,bD.traditional)}aW(aa,bD,bx,bJ);if(bA===2){return false}bw=bD.global;bD.type=bD.type.toUpperCase();bD.hasContent=!aQ.test(bD.type);if(bw&&b.active++===0){b.event.trigger("ajaxStart")}if(!bD.hasContent){if(bD.data){bD.url+=(M.test(bD.url)?"&":"?")+bD.data;delete bD.data}bC=bD.url;if(bD.cache===false){var bv=b.now(),bP=bD.url.replace(br,"$1_="+bv);bD.url=bP+((bP===bD.url)?(M.test(bD.url)?"&":"?")+"_="+bv:"")}}if(bD.data&&bD.hasContent&&bD.contentType!==false||bx.contentType){bJ.setRequestHeader("Content-Type",bD.contentType)}if(bD.ifModified){bC=bC||bD.url;if(b.lastModified[bC]){bJ.setRequestHeader("If-Modified-Since",b.lastModified[bC])}if(b.etag[bC]){bJ.setRequestHeader("If-None-Match",b.etag[bC])}}bJ.setRequestHeader("Accept",bD.dataTypes[0]&&bD.accepts[bD.dataTypes[0]]?bD.accepts[bD.dataTypes[0]]+(bD.dataTypes[0]!=="*"?", "+aV+"; q=0.01":""):bD.accepts["*"]);for(bK in bD.headers){bJ.setRequestHeader(bK,bD.headers[bK])}if(bD.beforeSend&&(bD.beforeSend.call(bS,bJ,bD)===false||bA===2)){bJ.abort();return false}for(bK in {success:1,error:1,complete:1}){bJ[bK](bD[bK])}bL=aW(r,bD,bx,bJ);if(!bL){bF(-1,"No Transport")}else{bJ.readyState=1;if(bw){bG.trigger("ajaxSend",[bJ,bD])}if(bD.async&&bD.timeout>0){bE=setTimeout(function(){bJ.abort("timeout")},bD.timeout)}try{bA=1;bL.send(bH,bF)}catch(bM){if(bA<2){bF(-1,bM)}else{throw bM}}}return bJ},param:function(e,bw){var bv=[],by=function(bz,bA){bA=b.isFunction(bA)?bA():bA;bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===L){bw=b.ajaxSettings.traditional}if(b.isArray(e)||(e.jquery&&!b.isPlainObject(e))){b.each(e,function(){by(this.name,this.value)})}else{for(var bx in e){v(bx,e[bx],bw,by)}}return bv.join("&").replace(k,"+")}});function v(bw,by,bv,bx){if(b.isArray(by)){b.each(by,function(bA,bz){if(bv||ap.test(bw)){bx(bw,bz)}else{v(bw+"["+(typeof bz==="object"||b.isArray(bz)?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&by!=null&&typeof by==="object"){for(var e in by){v(bw+"["+e+"]",by[e],bv,bx)}}else{bx(bw,by)}}}b.extend({active:0,lastModified:{},etag:{}});function bj(bD,bC,bz){var bv=bD.contents,bB=bD.dataTypes,bw=bD.responseFields,by,bA,bx,e;for(bA in bw){if(bA in bz){bC[bw[bA]]=bz[bA]}}while(bB[0]==="*"){bB.shift();if(by===L){by=bD.mimeType||bC.getResponseHeader("content-type")}}if(by){for(bA in bv){if(bv[bA]&&bv[bA].test(by)){bB.unshift(bA);break}}}if(bB[0] in bz){bx=bB[0]}else{for(bA in bz){if(!bB[0]||bD.converters[bA+" "+bB[0]]){bx=bA;break}if(!e){e=bA}}bx=bx||e}if(bx){if(bx!==bB[0]){bB.unshift(bx)}return bz[bx]}}function G(bH,bz){if(bH.dataFilter){bz=bH.dataFilter(bz,bH.dataType)}var bD=bH.dataTypes,bG={},bA,bE,bw=bD.length,bB,bC=bD[0],bx,by,bF,bv,e;for(bA=1;bA<bw;bA++){if(bA===1){for(bE in bH.converters){if(typeof bE==="string"){bG[bE.toLowerCase()]=bH.converters[bE]}}}bx=bC;bC=bD[bA];if(bC==="*"){bC=bx}else{if(bx!=="*"&&bx!==bC){by=bx+" "+bC;bF=bG[by]||bG["* "+bC];if(!bF){e=L;for(bv in bG){bB=bv.split(" ");if(bB[0]===bx||bB[0]==="*"){e=bG[bB[1]+" "+bC];if(e){bv=bG[bv];if(bv===true){bF=e}else{if(e===true){bF=bv}}break}}}}if(!(bF||e)){b.error("No conversion from "+by.replace(" "," to "))}if(bF!==true){bz=bF?bF(bz):e(bv(bz))}}}}return bz}var aC=b.now(),u=/(\=)\?(&|$)|\?\?/i;b.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return b.expando+"_"+(aC++)}});b.ajaxPrefilter("json jsonp",function(bD,bA,bC){var bx=bD.contentType==="application/x-www-form-urlencoded"&&(typeof bD.data==="string");if(bD.dataTypes[0]==="jsonp"||bD.jsonp!==false&&(u.test(bD.url)||bx&&u.test(bD.data))){var bB,bw=bD.jsonpCallback=b.isFunction(bD.jsonpCallback)?bD.jsonpCallback():bD.jsonpCallback,bz=bb[bw],e=bD.url,by=bD.data,bv="$1"+bw+"$2";if(bD.jsonp!==false){e=e.replace(u,bv);if(bD.url===e){if(bx){by=by.replace(u,bv)}if(bD.data===by){e+=(/\?/.test(e)?"&":"?")+bD.jsonp+"="+bw}}}bD.url=e;bD.data=by;bb[bw]=function(bE){bB=[bE]};bC.always(function(){bb[bw]=bz;if(bB&&b.isFunction(bz)){bb[bw](bB[0])}});bD.converters["script json"]=function(){if(!bB){b.error(bw+" was not called")}return bB[0]};bD.dataTypes[0]="json";return"script"}});b.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(e){b.globalEval(e);return e}}});b.ajaxPrefilter("script",function(e){if(e.cache===L){e.cache=false}if(e.crossDomain){e.type="GET";e.global=false}});b.ajaxTransport("script",function(bw){if(bw.crossDomain){var e,bv=av.head||av.getElementsByTagName("head")[0]||av.documentElement;return{send:function(bx,by){e=av.createElement("script");e.async="async";if(bw.scriptCharset){e.charset=bw.scriptCharset}e.src=bw.url;e.onload=e.onreadystatechange=function(bA,bz){if(bz||!e.readyState||/loaded|complete/.test(e.readyState)){e.onload=e.onreadystatechange=null;if(bv&&e.parentNode){bv.removeChild(e)}e=L;if(!bz){by(200,"success")}}};bv.insertBefore(e,bv.firstChild)},abort:function(){if(e){e.onload(0,1)}}}}});var B=bb.ActiveXObject?function(){for(var e in N){N[e](0,1)}}:false,y=0,N;function aL(){try{return new bb.XMLHttpRequest()}catch(bv){}}function aj(){try{return new bb.ActiveXObject("Microsoft.XMLHTTP")}catch(bv){}}b.ajaxSettings.xhr=bb.ActiveXObject?function(){return !this.isLocal&&aL()||aj()}:aL;(function(e){b.extend(b.support,{ajax:!!e,cors:!!e&&("withCredentials" in e)})})(b.ajaxSettings.xhr());if(b.support.ajax){b.ajaxTransport(function(e){if(!e.crossDomain||b.support.cors){var bv;return{send:function(bB,bw){var bA=e.xhr(),bz,by;if(e.username){bA.open(e.type,e.url,e.async,e.username,e.password)}else{bA.open(e.type,e.url,e.async)}if(e.xhrFields){for(by in e.xhrFields){bA[by]=e.xhrFields[by]}}if(e.mimeType&&bA.overrideMimeType){bA.overrideMimeType(e.mimeType)}if(!e.crossDomain&&!bB["X-Requested-With"]){bB["X-Requested-With"]="XMLHttpRequest"}try{for(by in bB){bA.setRequestHeader(by,bB[by])}}catch(bx){}bA.send((e.hasContent&&e.data)||null);bv=function(bK,bE){var bF,bD,bC,bI,bH;try{if(bv&&(bE||bA.readyState===4)){bv=L;if(bz){bA.onreadystatechange=b.noop;if(B){delete N[bz]}}if(bE){if(bA.readyState!==4){bA.abort()}}else{bF=bA.status;bC=bA.getAllResponseHeaders();bI={};bH=bA.responseXML;if(bH&&bH.documentElement){bI.xml=bH}bI.text=bA.responseText;try{bD=bA.statusText}catch(bJ){bD=""}if(!bF&&e.isLocal&&!e.crossDomain){bF=bI.text?200:404}else{if(bF===1223){bF=204}}}}}catch(bG){if(!bE){bw(-1,bG)}}if(bI){bw(bF,bD,bI,bC)}};if(!e.async||bA.readyState===4){bv()}else{bz=++y;if(B){if(!N){N={};b(bb).unload(B)}N[bz]=bv}bA.onreadystatechange=bv}},abort:function(){if(bv){bv(0,1)}}}}})}var Q={},a8,m,aB=/^(?:toggle|show|hide)$/,aT=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,a3,aH=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],a4;b.fn.extend({show:function(bx,bA,bz){var bw,by;if(bx||bx===0){return this.animate(a0("show",3),bx,bA,bz)}else{for(var bv=0,e=this.length;bv<e;bv++){bw=this[bv];if(bw.style){by=bw.style.display;if(!b._data(bw,"olddisplay")&&by==="none"){by=bw.style.display=""}if(by===""&&b.css(bw,"display")==="none"){b._data(bw,"olddisplay",x(bw.nodeName))}}}for(bv=0;bv<e;bv++){bw=this[bv];if(bw.style){by=bw.style.display;if(by===""||by==="none"){bw.style.display=b._data(bw,"olddisplay")||""}}}return this}},hide:function(bx,bA,bz){if(bx||bx===0){return this.animate(a0("hide",3),bx,bA,bz)}else{var bw,by,bv=0,e=this.length;for(;bv<e;bv++){bw=this[bv];if(bw.style){by=b.css(bw,"display");if(by!=="none"&&!b._data(bw,"olddisplay")){b._data(bw,"olddisplay",by)}}}for(bv=0;bv<e;bv++){if(this[bv].style){this[bv].style.display="none"}}return this}},_toggle:b.fn.toggle,toggle:function(bw,bv,bx){var e=typeof bw==="boolean";if(b.isFunction(bw)&&b.isFunction(bv)){this._toggle.apply(this,arguments)}else{if(bw==null||e){this.each(function(){var by=e?bw:b(this).is(":hidden");b(this)[by?"show":"hide"]()})}else{this.animate(a0("toggle",3),bw,bv,bx)}}return this},fadeTo:function(e,bx,bw,bv){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:bx},e,bw,bv)},animate:function(bz,bw,by,bx){var e=b.speed(bw,by,bx);if(b.isEmptyObject(bz)){return this.each(e.complete,[false])}bz=b.extend({},bz);function bv(){if(e.queue===false){b._mark(this)}var bE=b.extend({},e),bK=this.nodeType===1,bI=bK&&b(this).is(":hidden"),bB,bF,bD,bJ,bH,bC,bG,bL,bA;bE.animatedProperties={};for(bD in bz){bB=b.camelCase(bD);if(bD!==bB){bz[bB]=bz[bD];delete bz[bD]}bF=bz[bB];if(b.isArray(bF)){bE.animatedProperties[bB]=bF[1];bF=bz[bB]=bF[0]}else{bE.animatedProperties[bB]=bE.specialEasing&&bE.specialEasing[bB]||bE.easing||"swing"}if(bF==="hide"&&bI||bF==="show"&&!bI){return bE.complete.call(this)}if(bK&&(bB==="height"||bB==="width")){bE.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY];if(b.css(this,"display")==="inline"&&b.css(this,"float")==="none"){if(!b.support.inlineBlockNeedsLayout||x(this.nodeName)==="inline"){this.style.display="inline-block"}else{this.style.zoom=1}}}}if(bE.overflow!=null){this.style.overflow="hidden"}for(bD in bz){bJ=new b.fx(this,bE,bD);bF=bz[bD];if(aB.test(bF)){bA=b._data(this,"toggle"+bD)||(bF==="toggle"?bI?"show":"hide":0);if(bA){b._data(this,"toggle"+bD,bA==="show"?"hide":"show");bJ[bA]()}else{bJ[bF]()}}else{bH=aT.exec(bF);bC=bJ.cur();if(bH){bG=parseFloat(bH[2]);bL=bH[3]||(b.cssNumber[bD]?"":"px");if(bL!=="px"){b.style(this,bD,(bG||1)+bL);bC=((bG||1)/bJ.cur())*bC;b.style(this,bD,bC+bL)}if(bH[1]){bG=((bH[1]==="-="?-1:1)*bG)+bC}bJ.custom(bC,bG,bL)}else{bJ.custom(bC,bF,"")}}}return true}return e.queue===false?this.each(bv):this.queue(e.queue,bv)},stop:function(bw,bv,e){if(typeof bw!=="string"){e=bv;bv=bw;bw=L}if(bv&&bw!==false){this.queue(bw||"fx",[])}return this.each(function(){var bx,by=false,bA=b.timers,bz=b._data(this);if(!e){b._unmark(true,this)}function bB(bE,bF,bD){var bC=bF[bD];b.removeData(bE,bD,true);bC.stop(e)}if(bw==null){for(bx in bz){if(bz[bx]&&bz[bx].stop&&bx.indexOf(".run")===bx.length-4){bB(this,bz,bx)}}}else{if(bz[bx=bw+".run"]&&bz[bx].stop){bB(this,bz,bx)}}for(bx=bA.length;bx--;){if(bA[bx].elem===this&&(bw==null||bA[bx].queue===bw)){if(e){bA[bx](true)}else{bA[bx].saveState()}by=true;bA.splice(bx,1)}}if(!(e&&by)){b.dequeue(this,bw)}})}});function bh(){setTimeout(at,0);return(a4=b.now())}function at(){a4=L}function a0(bv,e){var bw={};b.each(aH.concat.apply([],aH.slice(0,e)),function(){bw[this]=bv});return bw}b.each({slideDown:a0("show",1),slideUp:a0("hide",1),slideToggle:a0("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,bv){b.fn[e]=function(bw,by,bx){return this.animate(bv,bw,by,bx)}});b.extend({speed:function(bw,bx,bv){var e=bw&&typeof bw==="object"?b.extend({},bw):{complete:bv||!bv&&bx||b.isFunction(bw)&&bw,duration:bw,easing:bv&&bx||bx&&!b.isFunction(bx)&&bx};e.duration=b.fx.off?0:typeof e.duration==="number"?e.duration:e.duration in b.fx.speeds?b.fx.speeds[e.duration]:b.fx.speeds._default;if(e.queue==null||e.queue===true){e.queue="fx"}e.old=e.complete;e.complete=function(by){if(b.isFunction(e.old)){e.old.call(this)}if(e.queue){b.dequeue(this,e.queue)}else{if(by!==false){b._unmark(this)}}};return e},easing:{linear:function(bw,bx,e,bv){return e+bv*bw},swing:function(bw,bx,e,bv){return((-Math.cos(bw*Math.PI)/2)+0.5)*bv+e}},timers:[],fx:function(bv,e,bw){this.options=e;this.elem=bv;this.prop=bw;e.orig=e.orig||{}}});b.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(b.fx.step[this.prop]||b.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var e,bv=b.css(this.elem,this.prop);return isNaN(e=parseFloat(bv))?!bv||bv==="auto"?0:bv:e},custom:function(bz,by,bx){var e=this,bw=b.fx;this.startTime=a4||bh();this.end=by;this.now=this.start=bz;this.pos=this.state=0;this.unit=bx||this.unit||(b.cssNumber[this.prop]?"":"px");function bv(bA){return e.step(bA)}bv.queue=this.options.queue;bv.elem=this.elem;bv.saveState=function(){if(e.options.hide&&b._data(e.elem,"fxshow"+e.prop)===L){b._data(e.elem,"fxshow"+e.prop,e.start)}};if(bv()&&b.timers.push(bv)&&!a3){a3=setInterval(bw.tick,bw.interval)}},show:function(){var e=b._data(this.elem,"fxshow"+this.prop);this.options.orig[this.prop]=e||b.style(this.elem,this.prop);this.options.show=true;if(e!==L){this.custom(this.cur(),e)}else{this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur())}b(this.elem).show()},hide:function(){this.options.orig[this.prop]=b._data(this.elem,"fxshow"+this.prop)||b.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(by){var bA,bB,bv,bx=a4||bh(),e=true,bz=this.elem,bw=this.options;if(by||bx>=bw.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();bw.animatedProperties[this.prop]=true;for(bA in bw.animatedProperties){if(bw.animatedProperties[bA]!==true){e=false}}if(e){if(bw.overflow!=null&&!b.support.shrinkWrapBlocks){b.each(["","X","Y"],function(bC,bD){bz.style["overflow"+bD]=bw.overflow[bC]})}if(bw.hide){b(bz).hide()}if(bw.hide||bw.show){for(bA in bw.animatedProperties){b.style(bz,bA,bw.orig[bA]);b.removeData(bz,"fxshow"+bA,true);b.removeData(bz,"toggle"+bA,true)}}bv=bw.complete;if(bv){bw.complete=false;bv.call(bz)}}return false}else{if(bw.duration==Infinity){this.now=bx}else{bB=bx-this.startTime;this.state=bB/bw.duration;this.pos=b.easing[bw.animatedProperties[this.prop]](this.state,bB,0,1,bw.duration);this.now=this.start+((this.end-this.start)*this.pos)}this.update()}return true}};b.extend(b.fx,{tick:function(){var bw,bv=b.timers,e=0;for(;e<bv.length;e++){bw=bv[e];if(!bw()&&bv[e]===bw){bv.splice(e--,1)}}if(!bv.length){b.fx.stop()}},interval:13,stop:function(){clearInterval(a3);a3=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(e){b.style(e.elem,"opacity",e.now)},_default:function(e){if(e.elem.style&&e.elem.style[e.prop]!=null){e.elem.style[e.prop]=e.now+e.unit}else{e.elem[e.prop]=e.now}}}});b.each(["width","height"],function(e,bv){b.fx.step[bv]=function(bw){b.style(bw.elem,bv,Math.max(0,bw.now)+bw.unit)}});if(b.expr&&b.expr.filters){b.expr.filters.animated=function(e){return b.grep(b.timers,function(bv){return e===bv.elem}).length}}function x(bx){if(!Q[bx]){var e=av.body,bv=b("<"+bx+">").appendTo(e),bw=bv.css("display");bv.remove();if(bw==="none"||bw===""){if(!a8){a8=av.createElement("iframe");a8.frameBorder=a8.width=a8.height=0}e.appendChild(a8);if(!m||!a8.createElement){m=(a8.contentWindow||a8.contentDocument).document;m.write((av.compatMode==="CSS1Compat"?"<!doctype html>":"")+"<html><body>");m.close()}bv=m.createElement(bx);m.body.appendChild(bv);bw=b.css(bv,"display");e.removeChild(a8)}Q[bx]=bw}return Q[bx]}var V=/^t(?:able|d|h)$/i,ad=/^(?:body|html)$/i;if("getBoundingClientRect" in av.documentElement){b.fn.offset=function(bI){var by=this[0],bB;if(bI){return this.each(function(e){b.offset.setOffset(this,bI,e)})}if(!by||!by.ownerDocument){return null}if(by===by.ownerDocument.body){return b.offset.bodyOffset(by)}try{bB=by.getBoundingClientRect()}catch(bF){}var bH=by.ownerDocument,bw=bH.documentElement;if(!bB||!b.contains(bw,by)){return bB?{top:bB.top,left:bB.left}:{top:0,left:0}}var bC=bH.body,bD=aK(bH),bA=bw.clientTop||bC.clientTop||0,bE=bw.clientLeft||bC.clientLeft||0,bv=bD.pageYOffset||b.support.boxModel&&bw.scrollTop||bC.scrollTop,bz=bD.pageXOffset||b.support.boxModel&&bw.scrollLeft||bC.scrollLeft,bG=bB.top+bv-bA,bx=bB.left+bz-bE;return{top:bG,left:bx}}}else{b.fn.offset=function(bF){var bz=this[0];if(bF){return this.each(function(bG){b.offset.setOffset(this,bF,bG)})}if(!bz||!bz.ownerDocument){return null}if(bz===bz.ownerDocument.body){return b.offset.bodyOffset(bz)}var bC,bw=bz.offsetParent,bv=bz,bE=bz.ownerDocument,bx=bE.documentElement,bA=bE.body,bB=bE.defaultView,e=bB?bB.getComputedStyle(bz,null):bz.currentStyle,bD=bz.offsetTop,by=bz.offsetLeft;while((bz=bz.parentNode)&&bz!==bA&&bz!==bx){if(b.support.fixedPosition&&e.position==="fixed"){break}bC=bB?bB.getComputedStyle(bz,null):bz.currentStyle;bD-=bz.scrollTop;by-=bz.scrollLeft;if(bz===bw){bD+=bz.offsetTop;by+=bz.offsetLeft;if(b.support.doesNotAddBorder&&!(b.support.doesAddBorderForTableAndCells&&V.test(bz.nodeName))){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}bv=bw;bw=bz.offsetParent}if(b.support.subtractsBorderForOverflowNotVisible&&bC.overflow!=="visible"){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}e=bC}if(e.position==="relative"||e.position==="static"){bD+=bA.offsetTop;by+=bA.offsetLeft}if(b.support.fixedPosition&&e.position==="fixed"){bD+=Math.max(bx.scrollTop,bA.scrollTop);by+=Math.max(bx.scrollLeft,bA.scrollLeft)}return{top:bD,left:by}}}b.offset={bodyOffset:function(e){var bw=e.offsetTop,bv=e.offsetLeft;if(b.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(b.css(e,"marginTop"))||0;bv+=parseFloat(b.css(e,"marginLeft"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=b.css(bx,"position");if(bB==="static"){bx.style.position="relative"}var bz=b(bx),bv=bz.offset(),e=b.css(bx,"top"),bE=b.css(bx,"left"),bF=(bB==="absolute"||bB==="fixed")&&b.inArray("auto",[e,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(e)||0;by=parseFloat(bE)||0}if(b.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if("using" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};b.fn.extend({position:function(){if(!this[0]){return null}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),e=ad.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(b.css(bw,"marginTop"))||0;bx.left-=parseFloat(b.css(bw,"marginLeft"))||0;e.top+=parseFloat(b.css(bv[0],"borderTopWidth"))||0;e.left+=parseFloat(b.css(bv[0],"borderLeftWidth"))||0;return{top:bx.top-e.top,left:bx.left-e.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||av.body;while(e&&(!ad.test(e.nodeName)&&b.css(e,"position")==="static")){e=e.offsetParent}return e})}});b.each(["Left","Top"],function(bv,e){var bw="scroll"+e;b.fn[bw]=function(bz){var bx,by;if(bz===L){bx=this[0];if(!bx){return null}by=aK(bx);return by?("pageXOffset" in by)?by[bv?"pageYOffset":"pageXOffset"]:b.support.boxModel&&by.document.documentElement[bw]||by.document.body[bw]:bx[bw]}return this.each(function(){by=aK(this);if(by){by.scrollTo(!bv?bz:b(by).scrollLeft(),bv?bz:b(by).scrollTop())}else{this[bw]=bz}})}});function aK(e){return b.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}b.each(["Height","Width"],function(bv,e){var bw=e.toLowerCase();b.fn["inner"+e]=function(){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,"padding")):this[bw]():null};b.fn["outer"+e]=function(by){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,by?"margin":"border")):this[bw]():null};b.fn[bw]=function(bz){var bA=this[0];if(!bA){return bz==null?null:this}if(b.isFunction(bz)){return this.each(function(bE){var bD=b(this);bD[bw](bz.call(this,bE,bD[bw]()))})}if(b.isWindow(bA)){var bB=bA.document.documentElement["client"+e],bx=bA.document.body;return bA.document.compatMode==="CSS1Compat"&&bB||bx&&bx["client"+e]||bB}else{if(bA.nodeType===9){return Math.max(bA.documentElement["client"+e],bA.body["scroll"+e],bA.documentElement["scroll"+e],bA.body["offset"+e],bA.documentElement["offset"+e])}else{if(bz===L){var bC=b.css(bA,bw),by=parseFloat(bC);return b.isNumeric(by)?by:bC}else{return this.css(bw,typeof bz==="string"?bz:bz+"px")}}}}});bb.jQuery=bb.$=b;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return b})}})(window);/*!
+(function(){var bH=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bC="sizcache"+(Math.random()+"").replace(".",""),bI=0,bL=Object.prototype.toString,bB=false,bA=true,bK=/\\/g,bO=/\r\n/g,bQ=/\W/;[0,0].sort(function(){bA=false;return 0});var by=function(bV,e,bY,bZ){bY=bY||[];e=e||av;var b1=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bV||typeof bV!=="string"){return bY}var bS,b3,b6,bR,b2,b5,b4,bX,bU=true,bT=by.isXML(e),bW=[],b0=bV;do{bH.exec("");bS=bH.exec(b0);if(bS){b0=bS[3];bW.push(bS[1]);if(bS[2]){bR=bS[3];break}}}while(bS);if(bW.length>1&&bD.exec(bV)){if(bW.length===2&&bE.relative[bW[0]]){b3=bM(bW[0]+bW[1],e,bZ)}else{b3=bE.relative[bW[0]]?[e]:by(bW.shift(),e);while(bW.length){bV=bW.shift();if(bE.relative[bV]){bV+=bW.shift()}b3=bM(bV,b3,bZ)}}}else{if(!bZ&&bW.length>1&&e.nodeType===9&&!bT&&bE.match.ID.test(bW[0])&&!bE.match.ID.test(bW[bW.length-1])){b2=by.find(bW.shift(),e,bT);e=b2.expr?by.filter(b2.expr,b2.set)[0]:b2.set[0]}if(e){b2=bZ?{expr:bW.pop(),set:bF(bZ)}:by.find(bW.pop(),bW.length===1&&(bW[0]==="~"||bW[0]==="+")&&e.parentNode?e.parentNode:e,bT);b3=b2.expr?by.filter(b2.expr,b2.set):b2.set;if(bW.length>0){b6=bF(b3)}else{bU=false}while(bW.length){b5=bW.pop();b4=b5;if(!bE.relative[b5]){b5=""}else{b4=bW.pop()}if(b4==null){b4=e}bE.relative[b5](b6,b4,bT)}}else{b6=bW=[]}}if(!b6){b6=b3}if(!b6){by.error(b5||bV)}if(bL.call(b6)==="[object Array]"){if(!bU){bY.push.apply(bY,b6)}else{if(e&&e.nodeType===1){for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&(b6[bX]===true||b6[bX].nodeType===1&&by.contains(e,b6[bX]))){bY.push(b3[bX])}}}else{for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&b6[bX].nodeType===1){bY.push(b3[bX])}}}}}else{bF(b6,bY)}if(bR){by(bR,b1,bY,bZ);by.uniqueSort(bY)}return bY};by.uniqueSort=function(bR){if(bJ){bB=bA;bR.sort(bJ);if(bB){for(var e=1;e<bR.length;e++){if(bR[e]===bR[e-1]){bR.splice(e--,1)}}}}return bR};by.matches=function(e,bR){return by(e,null,null,bR)};by.matchesSelector=function(e,bR){return by(bR,null,null,[e]).length>0};by.find=function(bX,e,bY){var bW,bS,bU,bT,bV,bR;if(!bX){return[]}for(bS=0,bU=bE.order.length;bS<bU;bS++){bV=bE.order[bS];if((bT=bE.leftMatch[bV].exec(bX))){bR=bT[1];bT.splice(1,1);if(bR.substr(bR.length-1)!=="\\"){bT[1]=(bT[1]||"").replace(bK,"");bW=bE.find[bV](bT,e,bY);if(bW!=null){bX=bX.replace(bE.match[bV],"");break}}}}if(!bW){bW=typeof e.getElementsByTagName!=="undefined"?e.getElementsByTagName("*"):[]}return{set:bW,expr:bX}};by.filter=function(b1,b0,b4,bU){var bW,e,bZ,b6,b3,bR,bT,bV,b2,bS=b1,b5=[],bY=b0,bX=b0&&b0[0]&&by.isXML(b0[0]);while(b1&&b0.length){for(bZ in bE.filter){if((bW=bE.leftMatch[bZ].exec(b1))!=null&&bW[2]){bR=bE.filter[bZ];bT=bW[1];e=false;bW.splice(1,1);if(bT.substr(bT.length-1)==="\\"){continue}if(bY===b5){b5=[]}if(bE.preFilter[bZ]){bW=bE.preFilter[bZ](bW,bY,b4,b5,bU,bX);if(!bW){e=b6=true}else{if(bW===true){continue}}}if(bW){for(bV=0;(b3=bY[bV])!=null;bV++){if(b3){b6=bR(b3,bW,bV,bY);b2=bU^b6;if(b4&&b6!=null){if(b2){e=true}else{bY[bV]=false}}else{if(b2){b5.push(b3);e=true}}}}}if(b6!==L){if(!b4){bY=b5}b1=b1.replace(bE.match[bZ],"");if(!e){return[]}break}}}if(b1===bS){if(e==null){by.error(b1)}else{break}}bS=b1}return bY};by.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)};var bw=by.getText=function(bU){var bS,bT,e=bU.nodeType,bR="";if(e){if(e===1||e===9){if(typeof bU.textContent==="string"){return bU.textContent}else{if(typeof bU.innerText==="string"){return bU.innerText.replace(bO,"")}else{for(bU=bU.firstChild;bU;bU=bU.nextSibling){bR+=bw(bU)}}}}else{if(e===3||e===4){return bU.nodeValue}}}else{for(bS=0;(bT=bU[bS]);bS++){if(bT.nodeType!==8){bR+=bw(bT)}}}return bR};var bE=by.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(e){return e.getAttribute("href")},type:function(e){return e.getAttribute("type")}},relative:{"+":function(bW,bR){var bT=typeof bR==="string",bV=bT&&!bQ.test(bR),bX=bT&&!bV;if(bV){bR=bR.toLowerCase()}for(var bS=0,e=bW.length,bU;bS<e;bS++){if((bU=bW[bS])){while((bU=bU.previousSibling)&&bU.nodeType!==1){}bW[bS]=bX||bU&&bU.nodeName.toLowerCase()===bR?bU||false:bU===bR}}if(bX){by.filter(bR,bW,true)}},">":function(bW,bR){var bV,bU=typeof bR==="string",bS=0,e=bW.length;if(bU&&!bQ.test(bR)){bR=bR.toLowerCase();for(;bS<e;bS++){bV=bW[bS];if(bV){var bT=bV.parentNode;bW[bS]=bT.nodeName.toLowerCase()===bR?bT:false}}}else{for(;bS<e;bS++){bV=bW[bS];if(bV){bW[bS]=bU?bV.parentNode:bV.parentNode===bR}}if(bU){by.filter(bR,bW,true)}}},"":function(bT,bR,bV){var bU,bS=bI++,e=bN;if(typeof bR==="string"&&!bQ.test(bR)){bR=bR.toLowerCase();bU=bR;e=bv}e("parentNode",bR,bS,bT,bU,bV)},"~":function(bT,bR,bV){var bU,bS=bI++,e=bN;if(typeof bR==="string"&&!bQ.test(bR)){bR=bR.toLowerCase();bU=bR;e=bv}e("previousSibling",bR,bS,bT,bU,bV)}},find:{ID:function(bR,bS,bT){if(typeof bS.getElementById!=="undefined"&&!bT){var e=bS.getElementById(bR[1]);return e&&e.parentNode?[e]:[]}},NAME:function(bS,bV){if(typeof bV.getElementsByName!=="undefined"){var bR=[],bU=bV.getElementsByName(bS[1]);for(var bT=0,e=bU.length;bT<e;bT++){if(bU[bT].getAttribute("name")===bS[1]){bR.push(bU[bT])}}return bR.length===0?null:bR}},TAG:function(e,bR){if(typeof bR.getElementsByTagName!=="undefined"){return bR.getElementsByTagName(e[1])}}},preFilter:{CLASS:function(bT,bR,bS,e,bW,bX){bT=" "+bT[1].replace(bK,"")+" ";if(bX){return bT}for(var bU=0,bV;(bV=bR[bU])!=null;bU++){if(bV){if(bW^(bV.className&&(" "+bV.className+" ").replace(/[\t\n\r]/g," ").indexOf(bT)>=0)){if(!bS){e.push(bV)}}else{if(bS){bR[bU]=false}}}}return false},ID:function(e){return e[1].replace(bK,"")},TAG:function(bR,e){return bR[1].replace(bK,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){by.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var bR=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(bR[1]+(bR[2]||1))-0;e[3]=bR[3]-0}else{if(e[2]){by.error(e[0])}}e[0]=bI++;return e},ATTR:function(bU,bR,bS,e,bV,bW){var bT=bU[1]=bU[1].replace(bK,"");if(!bW&&bE.attrMap[bT]){bU[1]=bE.attrMap[bT]}bU[4]=(bU[4]||bU[5]||"").replace(bK,"");if(bU[2]==="~="){bU[4]=" "+bU[4]+" "}return bU},PSEUDO:function(bU,bR,bS,e,bV){if(bU[1]==="not"){if((bH.exec(bU[3])||"").length>1||/^\w/.test(bU[3])){bU[3]=by(bU[3],null,null,bR)}else{var bT=by.filter(bU[3],bR,bS,true^bV);if(!bS){e.push.apply(e,bT)}return false}}else{if(bE.match.POS.test(bU[0])||bE.match.CHILD.test(bU[0])){return true}}return bU},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(bS,bR,e){return !!by(e[3],bS).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(bS){var e=bS.getAttribute("type"),bR=bS.type;return bS.nodeName.toLowerCase()==="input"&&"text"===bR&&(e===bR||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===bR.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===bR.type},button:function(bR){var e=bR.nodeName.toLowerCase();return e==="input"&&"button"===bR.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(bR,e){return e===0},last:function(bS,bR,e,bT){return bR===bT.length-1},even:function(bR,e){return e%2===0},odd:function(bR,e){return e%2===1},lt:function(bS,bR,e){return bR<e[3]-0},gt:function(bS,bR,e){return bR>e[3]-0},nth:function(bS,bR,e){return e[3]-0===bR},eq:function(bS,bR,e){return e[3]-0===bR}},filter:{PSEUDO:function(bS,bX,bW,bY){var e=bX[1],bR=bE.filters[e];if(bR){return bR(bS,bW,bX,bY)}else{if(e==="contains"){return(bS.textContent||bS.innerText||bw([bS])||"").indexOf(bX[3])>=0}else{if(e==="not"){var bT=bX[3];for(var bV=0,bU=bT.length;bV<bU;bV++){if(bT[bV]===bS){return false}}return true}else{by.error(e)}}}},CHILD:function(bS,bU){var bT,b0,bW,bZ,e,bV,bY,bX=bU[1],bR=bS;switch(bX){case"only":case"first":while((bR=bR.previousSibling)){if(bR.nodeType===1){return false}}if(bX==="first"){return true}bR=bS;case"last":while((bR=bR.nextSibling)){if(bR.nodeType===1){return false}}return true;case"nth":bT=bU[2];b0=bU[3];if(bT===1&&b0===0){return true}bW=bU[0];bZ=bS.parentNode;if(bZ&&(bZ[bC]!==bW||!bS.nodeIndex)){bV=0;for(bR=bZ.firstChild;bR;bR=bR.nextSibling){if(bR.nodeType===1){bR.nodeIndex=++bV}}bZ[bC]=bW}bY=bS.nodeIndex-b0;if(bT===0){return bY===0}else{return(bY%bT===0&&bY/bT>=0)}}},ID:function(bR,e){return bR.nodeType===1&&bR.getAttribute("id")===e},TAG:function(bR,e){return(e==="*"&&bR.nodeType===1)||!!bR.nodeName&&bR.nodeName.toLowerCase()===e},CLASS:function(bR,e){return(" "+(bR.className||bR.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(bV,bT){var bS=bT[1],e=by.attr?by.attr(bV,bS):bE.attrHandle[bS]?bE.attrHandle[bS](bV):bV[bS]!=null?bV[bS]:bV.getAttribute(bS),bW=e+"",bU=bT[2],bR=bT[4];return e==null?bU==="!=":!bU&&by.attr?e!=null:bU==="="?bW===bR:bU==="*="?bW.indexOf(bR)>=0:bU==="~="?(" "+bW+" ").indexOf(bR)>=0:!bR?bW&&e!==false:bU==="!="?bW!==bR:bU==="^="?bW.indexOf(bR)===0:bU==="$="?bW.substr(bW.length-bR.length)===bR:bU==="|="?bW===bR||bW.substr(0,bR.length+1)===bR+"-":false},POS:function(bU,bR,bS,bV){var e=bR[2],bT=bE.setFilters[e];if(bT){return bT(bU,bS,bR,bV)}}}};var bD=bE.match.POS,bx=function(bR,e){return"\\"+(e-0+1)};for(var bz in bE.match){bE.match[bz]=new RegExp(bE.match[bz].source+(/(?![^\[]*\])(?![^\(]*\))/.source));bE.leftMatch[bz]=new RegExp(/(^(?:.|\r|\n)*?)/.source+bE.match[bz].source.replace(/\\(\d+)/g,bx))}var bF=function(bR,e){bR=Array.prototype.slice.call(bR,0);if(e){e.push.apply(e,bR);return e}return bR};try{Array.prototype.slice.call(av.documentElement.childNodes,0)[0].nodeType}catch(bP){bF=function(bU,bT){var bS=0,bR=bT||[];if(bL.call(bU)==="[object Array]"){Array.prototype.push.apply(bR,bU)}else{if(typeof bU.length==="number"){for(var e=bU.length;bS<e;bS++){bR.push(bU[bS])}}else{for(;bU[bS];bS++){bR.push(bU[bS])}}}return bR}}var bJ,bG;if(av.documentElement.compareDocumentPosition){bJ=function(bR,e){if(bR===e){bB=true;return 0}if(!bR.compareDocumentPosition||!e.compareDocumentPosition){return bR.compareDocumentPosition?-1:1}return bR.compareDocumentPosition(e)&4?-1:1}}else{bJ=function(bY,bX){if(bY===bX){bB=true;return 0}else{if(bY.sourceIndex&&bX.sourceIndex){return bY.sourceIndex-bX.sourceIndex}}var bV,bR,bS=[],e=[],bU=bY.parentNode,bW=bX.parentNode,bZ=bU;if(bU===bW){return bG(bY,bX)}else{if(!bU){return -1}else{if(!bW){return 1}}}while(bZ){bS.unshift(bZ);bZ=bZ.parentNode}bZ=bW;while(bZ){e.unshift(bZ);bZ=bZ.parentNode}bV=bS.length;bR=e.length;for(var bT=0;bT<bV&&bT<bR;bT++){if(bS[bT]!==e[bT]){return bG(bS[bT],e[bT])}}return bT===bV?bG(bY,e[bT],-1):bG(bS[bT],bX,1)};bG=function(bR,e,bS){if(bR===e){return bS}var bT=bR.nextSibling;while(bT){if(bT===e){return -1}bT=bT.nextSibling}return 1}}(function(){var bR=av.createElement("div"),bS="script"+(new Date()).getTime(),e=av.documentElement;bR.innerHTML="<a name='"+bS+"'/>";e.insertBefore(bR,e.firstChild);if(av.getElementById(bS)){bE.find.ID=function(bU,bV,bW){if(typeof bV.getElementById!=="undefined"&&!bW){var bT=bV.getElementById(bU[1]);return bT?bT.id===bU[1]||typeof bT.getAttributeNode!=="undefined"&&bT.getAttributeNode("id").nodeValue===bU[1]?[bT]:L:[]}};bE.filter.ID=function(bV,bT){var bU=typeof bV.getAttributeNode!=="undefined"&&bV.getAttributeNode("id");return bV.nodeType===1&&bU&&bU.nodeValue===bT}}e.removeChild(bR);e=bR=null})();(function(){var e=av.createElement("div");e.appendChild(av.createComment(""));if(e.getElementsByTagName("*").length>0){bE.find.TAG=function(bR,bV){var bU=bV.getElementsByTagName(bR[1]);if(bR[1]==="*"){var bT=[];for(var bS=0;bU[bS];bS++){if(bU[bS].nodeType===1){bT.push(bU[bS])}}bU=bT}return bU}}e.innerHTML="<a href='#'></a>";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){bE.attrHandle.href=function(bR){return bR.getAttribute("href",2)}}e=null})();if(av.querySelectorAll){(function(){var e=by,bT=av.createElement("div"),bS="__sizzle__";bT.innerHTML="<p class='TEST'></p>";if(bT.querySelectorAll&&bT.querySelectorAll(".TEST").length===0){return}by=function(b4,bV,bZ,b3){bV=bV||av;if(!b3&&!by.isXML(bV)){var b2=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b4);if(b2&&(bV.nodeType===1||bV.nodeType===9)){if(b2[1]){return bF(bV.getElementsByTagName(b4),bZ)}else{if(b2[2]&&bE.find.CLASS&&bV.getElementsByClassName){return bF(bV.getElementsByClassName(b2[2]),bZ)}}}if(bV.nodeType===9){if(b4==="body"&&bV.body){return bF([bV.body],bZ)}else{if(b2&&b2[3]){var bY=bV.getElementById(b2[3]);if(bY&&bY.parentNode){if(bY.id===b2[3]){return bF([bY],bZ)}}else{return bF([],bZ)}}}try{return bF(bV.querySelectorAll(b4),bZ)}catch(b0){}}else{if(bV.nodeType===1&&bV.nodeName.toLowerCase()!=="object"){var bW=bV,bX=bV.getAttribute("id"),bU=bX||bS,b6=bV.parentNode,b5=/^\s*[+~]/.test(b4);if(!bX){bV.setAttribute("id",bU)}else{bU=bU.replace(/'/g,"\\$&")}if(b5&&b6){bV=bV.parentNode}try{if(!b5||b6){return bF(bV.querySelectorAll("[id='"+bU+"'] "+b4),bZ)}}catch(b1){}finally{if(!bX){bW.removeAttribute("id")}}}}}return e(b4,bV,bZ,b3)};for(var bR in e){by[bR]=e[bR]}bT=null})()}(function(){var e=av.documentElement,bS=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(bS){var bU=!bS.call(av.createElement("div"),"div"),bR=false;try{bS.call(av.documentElement,"[test!='']:sizzle")}catch(bT){bR=true}by.matchesSelector=function(bW,bY){bY=bY.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!by.isXML(bW)){try{if(bR||!bE.match.PSEUDO.test(bY)&&!/!=/.test(bY)){var bV=bS.call(bW,bY);if(bV||!bU||bW.document&&bW.document.nodeType!==11){return bV}}}catch(bX){}}return by(bY,null,null,[bW]).length>0}}})();(function(){var e=av.createElement("div");e.innerHTML="<div class='test e'></div><div class='test'></div>";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}bE.order.splice(1,0,"CLASS");bE.find.CLASS=function(bR,bS,bT){if(typeof bS.getElementsByClassName!=="undefined"&&!bT){return bS.getElementsByClassName(bR[1])}};e=null})();function bv(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT<bS;bT++){var e=bZ[bT];if(e){var bU=false;e=e[bR];while(e){if(e[bC]===bV){bU=bZ[e.sizset];break}if(e.nodeType===1&&!bY){e[bC]=bV;e.sizset=bT}if(e.nodeName.toLowerCase()===bW){bU=e;break}e=e[bR]}bZ[bT]=bU}}}function bN(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT<bS;bT++){var e=bZ[bT];if(e){var bU=false;e=e[bR];while(e){if(e[bC]===bV){bU=bZ[e.sizset];break}if(e.nodeType===1){if(!bY){e[bC]=bV;e.sizset=bT}if(typeof bW!=="string"){if(e===bW){bU=true;break}}else{if(by.filter(bW,[e]).length>0){bU=e;break}}}e=e[bR]}bZ[bT]=bU}}}if(av.documentElement.contains){by.contains=function(bR,e){return bR!==e&&(bR.contains?bR.contains(e):true)}}else{if(av.documentElement.compareDocumentPosition){by.contains=function(bR,e){return !!(bR.compareDocumentPosition(e)&16)}}else{by.contains=function(){return false}}}by.isXML=function(e){var bR=(e?e.ownerDocument||e:0).documentElement;return bR?bR.nodeName!=="HTML":false};var bM=function(bS,e,bW){var bV,bX=[],bU="",bY=e.nodeType?[e]:e;while((bV=bE.match.PSEUDO.exec(bS))){bU+=bV[0];bS=bS.replace(bE.match.PSEUDO,"")}bS=bE.relative[bS]?bS+"*":bS;for(var bT=0,bR=bY.length;bT<bR;bT++){by(bS,bY[bT],bX,bW)}return by.filter(bU,bX)};by.attr=b.attr;by.selectors.attrMap={};b.find=by;b.expr=by.selectors;b.expr[":"]=b.expr.filters;b.unique=by.uniqueSort;b.text=by.getText;b.isXMLDoc=by.isXML;b.contains=by.contains})();var ab=/Until$/,aq=/^(?:parents|prevUntil|prevAll)/,a9=/,/,bp=/^.[^:#\[\.,]*$/,P=Array.prototype.slice,H=b.expr.match.POS,ay={children:true,contents:true,next:true,prev:true};b.fn.extend({find:function(e){var bw=this,by,bv;if(typeof e!=="string"){return b(e).filter(function(){for(by=0,bv=bw.length;by<bv;by++){if(b.contains(bw[by],this)){return true}}})}var bx=this.pushStack("","find",e),bA,bB,bz;for(by=0,bv=this.length;by<bv;by++){bA=bx.length;b.find(e,this[by],bx);if(by>0){for(bB=bA;bB<bx.length;bB++){for(bz=0;bz<bA;bz++){if(bx[bz]===bx[bB]){bx.splice(bB--,1);break}}}}}return bx},has:function(bv){var e=b(bv);return this.filter(function(){for(var bx=0,bw=e.length;bx<bw;bx++){if(b.contains(this,e[bx])){return true}}})},not:function(e){return this.pushStack(aG(this,e,false),"not",e)},filter:function(e){return this.pushStack(aG(this,e,true),"filter",e)},is:function(e){return !!e&&(typeof e==="string"?H.test(e)?b(e,this.context).index(this[0])>=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(by,bx){var bv=[],bw,e,bz=this[0];if(b.isArray(by)){var bB=1;while(bz&&bz.ownerDocument&&bz!==bx){for(bw=0;bw<by.length;bw++){if(b(bz).is(by[bw])){bv.push({selector:by[bw],elem:bz,level:bB})}}bz=bz.parentNode;bB++}return bv}var bA=H.test(by)||typeof by!=="string"?b(by,bx||this.context):0;for(bw=0,e=this.length;bw<e;bw++){bz=this[bw];while(bz){if(bA?bA.index(bz)>-1:b.find.matchesSelector(bz,by)){bv.push(bz);break}else{bz=bz.parentNode;if(!bz||!bz.ownerDocument||bz===bx||bz.nodeType===11){break}}}}bv=bv.length>1?b.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof e==="string"){return b.inArray(this[0],b(e))}return b.inArray(e.jquery?e[0]:e,this)},add:function(e,bv){var bx=typeof e==="string"?b(e,bv):b.makeArray(e&&e.nodeType?[e]:e),bw=b.merge(this.get(),bx);return this.pushStack(C(bx[0])||C(bw[0])?bw:b.unique(bw))},andSelf:function(){return this.add(this.prevObject)}});function C(e){return !e||!e.parentNode||e.parentNode.nodeType===11}b.each({parent:function(bv){var e=bv.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(bv,e,bw){return b.dir(bv,"parentNode",bw)},next:function(e){return b.nth(e,2,"nextSibling")},prev:function(e){return b.nth(e,2,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(bv,e,bw){return b.dir(bv,"nextSibling",bw)},prevUntil:function(bv,e,bw){return b.dir(bv,"previousSibling",bw)},siblings:function(e){return b.sibling(e.parentNode.firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.makeArray(e.childNodes)}},function(e,bv){b.fn[e]=function(by,bw){var bx=b.map(this,bv,by);if(!ab.test(e)){bw=by}if(bw&&typeof bw==="string"){bx=b.filter(bw,bx)}bx=this.length>1&&!ay[e]?b.unique(bx):bx;if((this.length>1||a9.test(bw))&&aq.test(e)){bx=bx.reverse()}return this.pushStack(bx,e,P.call(arguments).join(","))}});b.extend({filter:function(bw,e,bv){if(bv){bw=":not("+bw+")"}return e.length===1?b.find.matchesSelector(e[0],bw)?[e[0]]:[]:b.find.matches(bw,e)},dir:function(bw,bv,by){var e=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===L||bx.nodeType!==1||!b(bx).is(by))){if(bx.nodeType===1){e.push(bx)}bx=bx[bv]}return e},nth:function(by,e,bw,bx){e=e||1;var bv=0;for(;by;by=by[bw]){if(by.nodeType===1&&++bv===e){break}}return by},sibling:function(bw,bv){var e=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){e.push(bw)}}return e}});function aG(bx,bw,e){bw=bw||0;if(b.isFunction(bw)){return b.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===e})}else{if(bw.nodeType){return b.grep(bx,function(bz,by){return(bz===bw)===e})}else{if(typeof bw==="string"){var bv=b.grep(bx,function(by){return by.nodeType===1});if(bp.test(bw)){return b.filter(bw,bv,!e)}else{bw=b.filter(bw,bv)}}}}return b.grep(bx,function(bz,by){return(b.inArray(bz,bw)>=0)===e})}function a(e){var bw=aR.split("|"),bv=e.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aR="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ag=/ jQuery\d+="(?:\d+|null)"/g,ar=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,d=/<([\w:]+)/,w=/<tbody/i,W=/<|&#?\w+;/,ae=/<(?:script|style)/i,O=/<(?:script|object|embed|option|style)/i,ah=new RegExp("<(?:"+aR+")","i"),o=/checked\s*(?:[^=]|=\s*.checked.)/i,bm=/\/(java|ecma)script/i,aN=/^\s*<!(?:\[CDATA\[|\-\-)/,ax={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},ac=a(av);ax.optgroup=ax.option;ax.tbody=ax.tfoot=ax.colgroup=ax.caption=ax.thead;ax.th=ax.td;if(!b.support.htmlSerialize){ax._default=[1,"div<div>","</div>"]}b.fn.extend({text:function(e){if(b.isFunction(e)){return this.each(function(bw){var bv=b(this);bv.text(e.call(this,bw,bv.text()))})}if(typeof e!=="object"&&e!==L){return this.empty().append((this[0]&&this[0].ownerDocument||av).createTextNode(e))}return b.text(this)},wrapAll:function(e){if(b.isFunction(e)){return this.each(function(bw){b(this).wrapAll(e.call(this,bw))})}if(this[0]){var bv=b(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(e){if(b.isFunction(e)){return this.each(function(bv){b(this).wrapInner(e.call(this,bv))})}return this.each(function(){var bv=b(this),bw=bv.contents();if(bw.length){bw.wrapAll(e)}else{bv.append(e)}})},wrap:function(e){var bv=b.isFunction(e);return this.each(function(bw){b(this).wrapAll(bv?e.call(this,bw):e)})},unwrap:function(){return this.parent().each(function(){if(!b.nodeName(this,"body")){b(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.insertBefore(e,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}else{if(arguments.length){var e=b.clean(arguments);e.push.apply(e,this.toArray());return this.pushStack(e,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}else{if(arguments.length){var e=this.pushStack(this,"after",arguments);e.push.apply(e,b.clean(arguments));return e}}},remove:function(e,bx){for(var bv=0,bw;(bw=this[bv])!=null;bv++){if(!e||b.filter(e,[bw]).length){if(!bx&&bw.nodeType===1){b.cleanData(bw.getElementsByTagName("*"));b.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){for(var e=0,bv;(bv=this[e])!=null;e++){if(bv.nodeType===1){b.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,e){bv=bv==null?false:bv;e=e==null?bv:e;return this.map(function(){return b.clone(this,bv,e)})},html:function(bx){if(bx===L){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(ag,""):null}else{if(typeof bx==="string"&&!ae.test(bx)&&(b.support.leadingWhitespace||!ar.test(bx))&&!ax[(d.exec(bx)||["",""])[1].toLowerCase()]){bx=bx.replace(R,"<$1></$2>");try{for(var bw=0,bv=this.length;bw<bv;bw++){if(this[bw].nodeType===1){b.cleanData(this[bw].getElementsByTagName("*"));this[bw].innerHTML=bx}}}catch(by){this.empty().append(bx)}}else{if(b.isFunction(bx)){this.each(function(bz){var e=b(this);e.html(bx.call(this,bz,e.html()))})}else{this.empty().append(bx)}}}return this},replaceWith:function(e){if(this[0]&&this[0].parentNode){if(b.isFunction(e)){return this.each(function(bx){var bw=b(this),bv=bw.html();bw.replaceWith(e.call(this,bx,bv))})}if(typeof e!=="string"){e=b(e).detach()}return this.each(function(){var bw=this.nextSibling,bv=this.parentNode;b(this).remove();if(bw){b(bw).before(e)}else{b(bv).append(e)}})}else{return this.length?this.pushStack(b(b.isFunction(e)?e():e),"replaceWith",e):this}},detach:function(e){return this.remove(e,true)},domManip:function(bB,bF,bE){var bx,by,bA,bD,bC=bB[0],bv=[];if(!b.support.checkClone&&arguments.length===3&&typeof bC==="string"&&o.test(bC)){return this.each(function(){b(this).domManip(bB,bF,bE,true)})}if(b.isFunction(bC)){return this.each(function(bH){var bG=b(this);bB[0]=bC.call(this,bH,bF?bG.html():L);bG.domManip(bB,bF,bE)})}if(this[0]){bD=bC&&bC.parentNode;if(b.support.parentNode&&bD&&bD.nodeType===11&&bD.childNodes.length===this.length){bx={fragment:bD}}else{bx=b.buildFragment(bB,this,bv)}bA=bx.fragment;if(bA.childNodes.length===1){by=bA=bA.firstChild}else{by=bA.firstChild}if(by){bF=bF&&b.nodeName(by,"tr");for(var bw=0,e=this.length,bz=e-1;bw<e;bw++){bE.call(bF?ba(this[bw],by):this[bw],bx.cacheable||(e>1&&bw<bz)?b.clone(bA,true,true):bA)}}if(bv.length){b.each(bv,bo)}}return this}});function ba(e,bv){return b.nodeName(e,"table")?(e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody"))):e}function t(bB,bv){if(bv.nodeType!==1||!b.hasData(bB)){return}var by,bx,e,bA=b._data(bB),bz=b._data(bv,bA),bw=bA.events;if(bw){delete bz.handle;bz.events={};for(by in bw){for(bx=0,e=bw[by].length;bx<e;bx++){b.event.add(bv,by+(bw[by][bx].namespace?".":"")+bw[by][bx].namespace,bw[by][bx],bw[by][bx].data)}}}if(bz.data){bz.data=b.extend({},bz.data)}}function ai(bv,e){var bw;if(e.nodeType!==1){return}if(e.clearAttributes){e.clearAttributes()}if(e.mergeAttributes){e.mergeAttributes(bv)}bw=e.nodeName.toLowerCase();if(bw==="object"){e.outerHTML=bv.outerHTML}else{if(bw==="input"&&(bv.type==="checkbox"||bv.type==="radio")){if(bv.checked){e.defaultChecked=e.checked=bv.checked}if(e.value!==bv.value){e.value=bv.value}}else{if(bw==="option"){e.selected=bv.defaultSelected}else{if(bw==="input"||bw==="textarea"){e.defaultValue=bv.defaultValue}}}}e.removeAttribute(b.expando)}b.buildFragment=function(bz,bx,bv){var by,e,bw,bA,bB=bz[0];if(bx&&bx[0]){bA=bx[0].ownerDocument||bx[0]}if(!bA.createDocumentFragment){bA=av}if(bz.length===1&&typeof bB==="string"&&bB.length<512&&bA===av&&bB.charAt(0)==="<"&&!O.test(bB)&&(b.support.checkClone||!o.test(bB))&&(b.support.html5Clone||!ah.test(bB))){e=true;bw=b.fragments[bB];if(bw&&bw!==1){by=bw}}if(!by){by=bA.createDocumentFragment();b.clean(bz,bA,by,bv)}if(e){b.fragments[bB]=bw?by:1}return{fragment:by,cacheable:e}};b.fragments={};b.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,bv){b.fn[e]=function(bw){var bz=[],bC=b(bw),bB=this.length===1&&this[0].parentNode;if(bB&&bB.nodeType===11&&bB.childNodes.length===1&&bC.length===1){bC[bv](this[0]);return this}else{for(var bA=0,bx=bC.length;bA<bx;bA++){var by=(bA>0?this.clone(true):this).get();b(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,e,bC.selector)}}});function bg(e){if(typeof e.getElementsByTagName!=="undefined"){return e.getElementsByTagName("*")}else{if(typeof e.querySelectorAll!=="undefined"){return e.querySelectorAll("*")}else{return[]}}}function az(e){if(e.type==="checkbox"||e.type==="radio"){e.defaultChecked=e.checked}}function E(e){var bv=(e.nodeName||"").toLowerCase();if(bv==="input"){az(e)}else{if(bv!=="script"&&typeof e.getElementsByTagName!=="undefined"){b.grep(e.getElementsByTagName("input"),az)}}}function al(e){var bv=av.createElement("div");ac.appendChild(bv);bv.innerHTML=e.outerHTML;return bv.firstChild}b.extend({clone:function(by,bA,bw){var e,bv,bx,bz=b.support.html5Clone||!ah.test("<"+by.nodeName)?by.cloneNode(true):al(by);if((!b.support.noCloneEvent||!b.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!b.isXMLDoc(by)){ai(by,bz);e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){if(bv[bx]){ai(e[bx],bv[bx])}}}if(bA){t(by,bz);if(bw){e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){t(e[bx],bv[bx])}}}e=bv=null;return bz},clean:function(bw,by,bH,bA){var bF;by=by||av;if(typeof by.createElement==="undefined"){by=by.ownerDocument||by[0]&&by[0].ownerDocument||av}var bI=[],bB;for(var bE=0,bz;(bz=bw[bE])!=null;bE++){if(typeof bz==="number"){bz+=""}if(!bz){continue}if(typeof bz==="string"){if(!W.test(bz)){bz=by.createTextNode(bz)}else{bz=bz.replace(R,"<$1></$2>");var bK=(d.exec(bz)||["",""])[1].toLowerCase(),bx=ax[bK]||ax._default,bD=bx[0],bv=by.createElement("div");if(by===av){ac.appendChild(bv)}else{a(by).appendChild(bv)}bv.innerHTML=bx[1]+bz+bx[2];while(bD--){bv=bv.lastChild}if(!b.support.tbody){var e=w.test(bz),bC=bK==="table"&&!e?bv.firstChild&&bv.firstChild.childNodes:bx[1]==="<table>"&&!e?bv.childNodes:[];for(bB=bC.length-1;bB>=0;--bB){if(b.nodeName(bC[bB],"tbody")&&!bC[bB].childNodes.length){bC[bB].parentNode.removeChild(bC[bB])}}}if(!b.support.leadingWhitespace&&ar.test(bz)){bv.insertBefore(by.createTextNode(ar.exec(bz)[0]),bv.firstChild)}bz=bv.childNodes}}var bG;if(!b.support.appendChecked){if(bz[0]&&typeof(bG=bz.length)==="number"){for(bB=0;bB<bG;bB++){E(bz[bB])}}else{E(bz)}}if(bz.nodeType){bI.push(bz)}else{bI=b.merge(bI,bz)}}if(bH){bF=function(bL){return !bL.type||bm.test(bL.type)};for(bE=0;bI[bE];bE++){if(bA&&b.nodeName(bI[bE],"script")&&(!bI[bE].type||bI[bE].type.toLowerCase()==="text/javascript")){bA.push(bI[bE].parentNode?bI[bE].parentNode.removeChild(bI[bE]):bI[bE])}else{if(bI[bE].nodeType===1){var bJ=b.grep(bI[bE].getElementsByTagName("script"),bF);bI.splice.apply(bI,[bE+1,0].concat(bJ))}bH.appendChild(bI[bE])}}}return bI},cleanData:function(bv){var by,bw,e=b.cache,bB=b.event.special,bA=b.support.deleteExpando;for(var bz=0,bx;(bx=bv[bz])!=null;bz++){if(bx.nodeName&&b.noData[bx.nodeName.toLowerCase()]){continue}bw=bx[b.expando];if(bw){by=e[bw];if(by&&by.events){for(var bC in by.events){if(bB[bC]){b.event.remove(bx,bC)}else{b.removeEvent(bx,bC,by.handle)}}if(by.handle){by.handle.elem=null}}if(bA){delete bx[b.expando]}else{if(bx.removeAttribute){bx.removeAttribute(b.expando)}}delete e[bw]}}}});function bo(e,bv){if(bv.src){b.ajax({url:bv.src,async:false,dataType:"script"})}else{b.globalEval((bv.text||bv.textContent||bv.innerHTML||"").replace(aN,"/*$0*/"))}if(bv.parentNode){bv.parentNode.removeChild(bv)}}var ak=/alpha\([^)]*\)/i,au=/opacity=([^)]*)/,z=/([A-Z]|^ms)/g,bc=/^-?\d+(?:px)?$/i,bn=/^-?\d/,I=/^([\-+])=([\-+.\de]+)/,a7={position:"absolute",visibility:"hidden",display:"block"},an=["Left","Right"],a1=["Top","Bottom"],Z,aI,aX;b.fn.css=function(e,bv){if(arguments.length===2&&bv===L){return this}return b.access(this,e,bv,true,function(bx,bw,by){return by!==L?b.style(bx,bw,by):b.css(bx,bw)})};b.extend({cssHooks:{opacity:{get:function(bw,bv){if(bv){var e=Z(bw,"opacity","opacity");return e===""?"1":e}else{return bw.style.opacity}}}},cssNumber:{fillOpacity:true,fontWeight:true,lineHeight:true,opacity:true,orphans:true,widows:true,zIndex:true,zoom:true},cssProps:{"float":b.support.cssFloat?"cssFloat":"styleFloat"},style:function(bx,bw,bD,by){if(!bx||bx.nodeType===3||bx.nodeType===8||!bx.style){return}var bB,bC,bz=b.camelCase(bw),bv=bx.style,bE=b.cssHooks[bz];bw=b.cssProps[bz]||bz;if(bD!==L){bC=typeof bD;if(bC==="string"&&(bB=I.exec(bD))){bD=(+(bB[1]+1)*+bB[2])+parseFloat(b.css(bx,bw));bC="number"}if(bD==null||bC==="number"&&isNaN(bD)){return}if(bC==="number"&&!b.cssNumber[bz]){bD+="px"}if(!bE||!("set" in bE)||(bD=bE.set(bx,bD))!==L){try{bv[bw]=bD}catch(bA){}}}else{if(bE&&"get" in bE&&(bB=bE.get(bx,false,by))!==L){return bB}return bv[bw]}},css:function(by,bx,bv){var bw,e;bx=b.camelCase(bx);e=b.cssHooks[bx];bx=b.cssProps[bx]||bx;if(bx==="cssFloat"){bx="float"}if(e&&"get" in e&&(bw=e.get(by,true,bv))!==L){return bw}else{if(Z){return Z(by,bx)}}},swap:function(bx,bw,by){var e={};for(var bv in bw){e[bv]=bx.style[bv];bx.style[bv]=bw[bv]}by.call(bx);for(bv in bw){bx.style[bv]=e[bv]}}});b.curCSS=b.css;b.each(["height","width"],function(bv,e){b.cssHooks[e]={get:function(by,bx,bw){var bz;if(bx){if(by.offsetWidth!==0){return p(by,e,bw)}else{b.swap(by,a7,function(){bz=p(by,e,bw)})}return bz}},set:function(bw,bx){if(bc.test(bx)){bx=parseFloat(bx);if(bx>=0){return bx+"px"}}else{return bx}}}});if(!b.support.opacity){b.cssHooks.opacity={get:function(bv,e){return au.test((e&&bv.currentStyle?bv.currentStyle.filter:bv.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":e?"1":""},set:function(by,bz){var bx=by.style,bv=by.currentStyle,e=b.isNumeric(bz)?"alpha(opacity="+bz*100+")":"",bw=bv&&bv.filter||bx.filter||"";bx.zoom=1;if(bz>=1&&b.trim(bw.replace(ak,""))===""){bx.removeAttribute("filter");if(bv&&!bv.filter){return}}bx.filter=ak.test(bw)?bw.replace(ak,e):bw+" "+e}}}b(function(){if(!b.support.reliableMarginRight){b.cssHooks.marginRight={get:function(bw,bv){var e;b.swap(bw,{display:"inline-block"},function(){if(bv){e=Z(bw,"margin-right","marginRight")}else{e=bw.style.marginRight}});return e}}}});if(av.defaultView&&av.defaultView.getComputedStyle){aI=function(by,bw){var bv,bx,e;bw=bw.replace(z,"-$1").toLowerCase();if((bx=by.ownerDocument.defaultView)&&(e=bx.getComputedStyle(by,null))){bv=e.getPropertyValue(bw);if(bv===""&&!b.contains(by.ownerDocument.documentElement,by)){bv=b.style(by,bw)}}return bv}}if(av.documentElement.currentStyle){aX=function(bz,bw){var bA,e,by,bv=bz.currentStyle&&bz.currentStyle[bw],bx=bz.style;if(bv===null&&bx&&(by=bx[bw])){bv=by}if(!bc.test(bv)&&bn.test(bv)){bA=bx.left;e=bz.runtimeStyle&&bz.runtimeStyle.left;if(e){bz.runtimeStyle.left=bz.currentStyle.left}bx.left=bw==="fontSize"?"1em":(bv||0);bv=bx.pixelLeft+"px";bx.left=bA;if(e){bz.runtimeStyle.left=e}}return bv===""?"auto":bv}}Z=aI||aX;function p(by,bw,bv){var bA=bw==="width"?by.offsetWidth:by.offsetHeight,bz=bw==="width"?an:a1,bx=0,e=bz.length;if(bA>0){if(bv!=="border"){for(;bx<e;bx++){if(!bv){bA-=parseFloat(b.css(by,"padding"+bz[bx]))||0}if(bv==="margin"){bA+=parseFloat(b.css(by,bv+bz[bx]))||0}else{bA-=parseFloat(b.css(by,"border"+bz[bx]+"Width"))||0}}}return bA+"px"}bA=Z(by,bw,bw);if(bA<0||bA==null){bA=by.style[bw]||0}bA=parseFloat(bA)||0;if(bv){for(;bx<e;bx++){bA+=parseFloat(b.css(by,"padding"+bz[bx]))||0;if(bv!=="padding"){bA+=parseFloat(b.css(by,"border"+bz[bx]+"Width"))||0}if(bv==="margin"){bA+=parseFloat(b.css(by,bv+bz[bx]))||0}}}return bA+"px"}if(b.expr&&b.expr.filters){b.expr.filters.hidden=function(bw){var bv=bw.offsetWidth,e=bw.offsetHeight;return(bv===0&&e===0)||(!b.support.reliableHiddenOffsets&&((bw.style&&bw.style.display)||b.css(bw,"display"))==="none")};b.expr.filters.visible=function(e){return !b.expr.filters.hidden(e)}}var k=/%20/g,ap=/\[\]$/,bs=/\r?\n/g,bq=/#.*$/,aD=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,aZ=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,aM=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,aQ=/^(?:GET|HEAD)$/,c=/^\/\//,M=/\?/,a6=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,q=/^(?:select|textarea)/i,h=/\s+/,br=/([?&])_=[^&]*/,K=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,A=b.fn.load,aa={},r={},aE,s,aV=["*/"]+["*"];try{aE=bl.href}catch(aw){aE=av.createElement("a");aE.href="";aE=aE.href}s=K.exec(aE.toLowerCase())||[];function f(e){return function(by,bA){if(typeof by!=="string"){bA=by;by="*"}if(b.isFunction(bA)){var bx=by.toLowerCase().split(h),bw=0,bz=bx.length,bv,bB,bC;for(;bw<bz;bw++){bv=bx[bw];bC=/^\+/.test(bv);if(bC){bv=bv.substr(1)||"*"}bB=e[bv]=e[bv]||[];bB[bC?"unshift":"push"](bA)}}}}function aW(bv,bE,bz,bD,bB,bx){bB=bB||bE.dataTypes[0];bx=bx||{};bx[bB]=true;var bA=bv[bB],bw=0,e=bA?bA.length:0,by=(bv===aa),bC;for(;bw<e&&(by||!bC);bw++){bC=bA[bw](bE,bz,bD);if(typeof bC==="string"){if(!by||bx[bC]){bC=L}else{bE.dataTypes.unshift(bC);bC=aW(bv,bE,bz,bD,bC,bx)}}}if((by||!bC)&&!bx["*"]){bC=aW(bv,bE,bz,bD,"*",bx)}return bC}function am(bw,bx){var bv,e,by=b.ajaxSettings.flatOptions||{};for(bv in bx){if(bx[bv]!==L){(by[bv]?bw:(e||(e={})))[bv]=bx[bv]}}if(e){b.extend(true,bw,e)}}b.fn.extend({load:function(bw,bz,bA){if(typeof bw!=="string"&&A){return A.apply(this,arguments)}else{if(!this.length){return this}}var by=bw.indexOf(" ");if(by>=0){var e=bw.slice(by,bw.length);bw=bw.slice(0,by)}var bx="GET";if(bz){if(b.isFunction(bz)){bA=bz;bz=L}else{if(typeof bz==="object"){bz=b.param(bz,b.ajaxSettings.traditional);bx="POST"}}}var bv=this;b.ajax({url:bw,type:bx,dataType:"html",data:bz,complete:function(bC,bB,bD){bD=bC.responseText;if(bC.isResolved()){bC.done(function(bE){bD=bE});bv.html(e?b("<div>").append(bD.replace(a6,"")).find(e):bD)}if(bA){bv.each(bA,[bD,bB,bC])}}});return this},serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?b.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||q.test(this.nodeName)||aZ.test(this.type))}).map(function(e,bv){var bw=b(this).val();return bw==null?null:b.isArray(bw)?b.map(bw,function(by,bx){return{name:bv.name,value:by.replace(bs,"\r\n")}}):{name:bv.name,value:bw.replace(bs,"\r\n")}}).get()}});b.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,bv){b.fn[bv]=function(bw){return this.on(bv,bw)}});b.each(["get","post"],function(e,bv){b[bv]=function(bw,by,bz,bx){if(b.isFunction(by)){bx=bx||bz;bz=by;by=L}return b.ajax({type:bv,url:bw,data:by,success:bz,dataType:bx})}});b.extend({getScript:function(e,bv){return b.get(e,L,bv,"script")},getJSON:function(e,bv,bw){return b.get(e,bv,bw,"json")},ajaxSetup:function(bv,e){if(e){am(bv,b.ajaxSettings)}else{e=bv;bv=b.ajaxSettings}am(bv,e);return bv},ajaxSettings:{url:aE,isLocal:aM.test(s[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":aV},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":bb.String,"text html":true,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:f(aa),ajaxTransport:f(r),ajax:function(bz,bx){if(typeof bz==="object"){bx=bz;bz=L}bx=bx||{};var bD=b.ajaxSetup({},bx),bS=bD.context||bD,bG=bS!==bD&&(bS.nodeType||bS instanceof b)?b(bS):b.event,bR=b.Deferred(),bN=b.Callbacks("once memory"),bB=bD.statusCode||{},bC,bH={},bO={},bQ,by,bL,bE,bI,bA=0,bw,bK,bJ={readyState:0,setRequestHeader:function(bT,bU){if(!bA){var e=bT.toLowerCase();bT=bO[e]=bO[e]||bT;bH[bT]=bU}return this},getAllResponseHeaders:function(){return bA===2?bQ:null},getResponseHeader:function(bT){var e;if(bA===2){if(!by){by={};while((e=aD.exec(bQ))){by[e[1].toLowerCase()]=e[2]}}e=by[bT.toLowerCase()]}return e===L?null:e},overrideMimeType:function(e){if(!bA){bD.mimeType=e}return this},abort:function(e){e=e||"abort";if(bL){bL.abort(e)}bF(0,e);return this}};function bF(bZ,bU,b0,bW){if(bA===2){return}bA=2;if(bE){clearTimeout(bE)}bL=L;bQ=bW||"";bJ.readyState=bZ>0?4:0;var bT,b4,b3,bX=bU,bY=b0?bj(bD,bJ,b0):L,bV,b2;if(bZ>=200&&bZ<300||bZ===304){if(bD.ifModified){if((bV=bJ.getResponseHeader("Last-Modified"))){b.lastModified[bC]=bV}if((b2=bJ.getResponseHeader("Etag"))){b.etag[bC]=b2}}if(bZ===304){bX="notmodified";bT=true}else{try{b4=G(bD,bY);bX="success";bT=true}catch(b1){bX="parsererror";b3=b1}}}else{b3=bX;if(!bX||bZ){bX="error";if(bZ<0){bZ=0}}}bJ.status=bZ;bJ.statusText=""+(bU||bX);if(bT){bR.resolveWith(bS,[b4,bX,bJ])}else{bR.rejectWith(bS,[bJ,bX,b3])}bJ.statusCode(bB);bB=L;if(bw){bG.trigger("ajax"+(bT?"Success":"Error"),[bJ,bD,bT?b4:b3])}bN.fireWith(bS,[bJ,bX]);if(bw){bG.trigger("ajaxComplete",[bJ,bD]);if(!(--b.active)){b.event.trigger("ajaxStop")}}}bR.promise(bJ);bJ.success=bJ.done;bJ.error=bJ.fail;bJ.complete=bN.add;bJ.statusCode=function(bT){if(bT){var e;if(bA<2){for(e in bT){bB[e]=[bB[e],bT[e]]}}else{e=bT[bJ.status];bJ.then(e,e)}}return this};bD.url=((bz||bD.url)+"").replace(bq,"").replace(c,s[1]+"//");bD.dataTypes=b.trim(bD.dataType||"*").toLowerCase().split(h);if(bD.crossDomain==null){bI=K.exec(bD.url.toLowerCase());bD.crossDomain=!!(bI&&(bI[1]!=s[1]||bI[2]!=s[2]||(bI[3]||(bI[1]==="http:"?80:443))!=(s[3]||(s[1]==="http:"?80:443))))}if(bD.data&&bD.processData&&typeof bD.data!=="string"){bD.data=b.param(bD.data,bD.traditional)}aW(aa,bD,bx,bJ);if(bA===2){return false}bw=bD.global;bD.type=bD.type.toUpperCase();bD.hasContent=!aQ.test(bD.type);if(bw&&b.active++===0){b.event.trigger("ajaxStart")}if(!bD.hasContent){if(bD.data){bD.url+=(M.test(bD.url)?"&":"?")+bD.data;delete bD.data}bC=bD.url;if(bD.cache===false){var bv=b.now(),bP=bD.url.replace(br,"$1_="+bv);bD.url=bP+((bP===bD.url)?(M.test(bD.url)?"&":"?")+"_="+bv:"")}}if(bD.data&&bD.hasContent&&bD.contentType!==false||bx.contentType){bJ.setRequestHeader("Content-Type",bD.contentType)}if(bD.ifModified){bC=bC||bD.url;if(b.lastModified[bC]){bJ.setRequestHeader("If-Modified-Since",b.lastModified[bC])}if(b.etag[bC]){bJ.setRequestHeader("If-None-Match",b.etag[bC])}}bJ.setRequestHeader("Accept",bD.dataTypes[0]&&bD.accepts[bD.dataTypes[0]]?bD.accepts[bD.dataTypes[0]]+(bD.dataTypes[0]!=="*"?", "+aV+"; q=0.01":""):bD.accepts["*"]);for(bK in bD.headers){bJ.setRequestHeader(bK,bD.headers[bK])}if(bD.beforeSend&&(bD.beforeSend.call(bS,bJ,bD)===false||bA===2)){bJ.abort();return false}for(bK in {success:1,error:1,complete:1}){bJ[bK](bD[bK])}bL=aW(r,bD,bx,bJ);if(!bL){bF(-1,"No Transport")}else{bJ.readyState=1;if(bw){bG.trigger("ajaxSend",[bJ,bD])}if(bD.async&&bD.timeout>0){bE=setTimeout(function(){bJ.abort("timeout")},bD.timeout)}try{bA=1;bL.send(bH,bF)}catch(bM){if(bA<2){bF(-1,bM)}else{throw bM}}}return bJ},param:function(e,bw){var bv=[],by=function(bz,bA){bA=b.isFunction(bA)?bA():bA;bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===L){bw=b.ajaxSettings.traditional}if(b.isArray(e)||(e.jquery&&!b.isPlainObject(e))){b.each(e,function(){by(this.name,this.value)})}else{for(var bx in e){v(bx,e[bx],bw,by)}}return bv.join("&").replace(k,"+")}});function v(bw,by,bv,bx){if(b.isArray(by)){b.each(by,function(bA,bz){if(bv||ap.test(bw)){bx(bw,bz)}else{v(bw+"["+(typeof bz==="object"||b.isArray(bz)?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&by!=null&&typeof by==="object"){for(var e in by){v(bw+"["+e+"]",by[e],bv,bx)}}else{bx(bw,by)}}}b.extend({active:0,lastModified:{},etag:{}});function bj(bD,bC,bz){var bv=bD.contents,bB=bD.dataTypes,bw=bD.responseFields,by,bA,bx,e;for(bA in bw){if(bA in bz){bC[bw[bA]]=bz[bA]}}while(bB[0]==="*"){bB.shift();if(by===L){by=bD.mimeType||bC.getResponseHeader("content-type")}}if(by){for(bA in bv){if(bv[bA]&&bv[bA].test(by)){bB.unshift(bA);break}}}if(bB[0] in bz){bx=bB[0]}else{for(bA in bz){if(!bB[0]||bD.converters[bA+" "+bB[0]]){bx=bA;break}if(!e){e=bA}}bx=bx||e}if(bx){if(bx!==bB[0]){bB.unshift(bx)}return bz[bx]}}function G(bH,bz){if(bH.dataFilter){bz=bH.dataFilter(bz,bH.dataType)}var bD=bH.dataTypes,bG={},bA,bE,bw=bD.length,bB,bC=bD[0],bx,by,bF,bv,e;for(bA=1;bA<bw;bA++){if(bA===1){for(bE in bH.converters){if(typeof bE==="string"){bG[bE.toLowerCase()]=bH.converters[bE]}}}bx=bC;bC=bD[bA];if(bC==="*"){bC=bx}else{if(bx!=="*"&&bx!==bC){by=bx+" "+bC;bF=bG[by]||bG["* "+bC];if(!bF){e=L;for(bv in bG){bB=bv.split(" ");if(bB[0]===bx||bB[0]==="*"){e=bG[bB[1]+" "+bC];if(e){bv=bG[bv];if(bv===true){bF=e}else{if(e===true){bF=bv}}break}}}}if(!(bF||e)){b.error("No conversion from "+by.replace(" "," to "))}if(bF!==true){bz=bF?bF(bz):e(bv(bz))}}}}return bz}var aC=b.now(),u=/(\=)\?(&|$)|\?\?/i;b.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return b.expando+"_"+(aC++)}});b.ajaxPrefilter("json jsonp",function(bD,bA,bC){var bx=bD.contentType==="application/x-www-form-urlencoded"&&(typeof bD.data==="string");if(bD.dataTypes[0]==="jsonp"||bD.jsonp!==false&&(u.test(bD.url)||bx&&u.test(bD.data))){var bB,bw=bD.jsonpCallback=b.isFunction(bD.jsonpCallback)?bD.jsonpCallback():bD.jsonpCallback,bz=bb[bw],e=bD.url,by=bD.data,bv="$1"+bw+"$2";if(bD.jsonp!==false){e=e.replace(u,bv);if(bD.url===e){if(bx){by=by.replace(u,bv)}if(bD.data===by){e+=(/\?/.test(e)?"&":"?")+bD.jsonp+"="+bw}}}bD.url=e;bD.data=by;bb[bw]=function(bE){bB=[bE]};bC.always(function(){bb[bw]=bz;if(bB&&b.isFunction(bz)){bb[bw](bB[0])}});bD.converters["script json"]=function(){if(!bB){b.error(bw+" was not called")}return bB[0]};bD.dataTypes[0]="json";return"script"}});b.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(e){b.globalEval(e);return e}}});b.ajaxPrefilter("script",function(e){if(e.cache===L){e.cache=false}if(e.crossDomain){e.type="GET";e.global=false}});b.ajaxTransport("script",function(bw){if(bw.crossDomain){var e,bv=av.head||av.getElementsByTagName("head")[0]||av.documentElement;return{send:function(bx,by){e=av.createElement("script");e.async="async";if(bw.scriptCharset){e.charset=bw.scriptCharset}e.src=bw.url;e.onload=e.onreadystatechange=function(bA,bz){if(bz||!e.readyState||/loaded|complete/.test(e.readyState)){e.onload=e.onreadystatechange=null;if(bv&&e.parentNode){bv.removeChild(e)}e=L;if(!bz){by(200,"success")}}};bv.insertBefore(e,bv.firstChild)},abort:function(){if(e){e.onload(0,1)}}}}});var B=bb.ActiveXObject?function(){for(var e in N){N[e](0,1)}}:false,y=0,N;function aL(){try{return new bb.XMLHttpRequest()}catch(bv){}}function aj(){try{return new bb.ActiveXObject("Microsoft.XMLHTTP")}catch(bv){}}b.ajaxSettings.xhr=bb.ActiveXObject?function(){return !this.isLocal&&aL()||aj()}:aL;(function(e){b.extend(b.support,{ajax:!!e,cors:!!e&&("withCredentials" in e)})})(b.ajaxSettings.xhr());if(b.support.ajax){b.ajaxTransport(function(e){if(!e.crossDomain||b.support.cors){var bv;return{send:function(bB,bw){var bA=e.xhr(),bz,by;if(e.username){bA.open(e.type,e.url,e.async,e.username,e.password)}else{bA.open(e.type,e.url,e.async)}if(e.xhrFields){for(by in e.xhrFields){bA[by]=e.xhrFields[by]}}if(e.mimeType&&bA.overrideMimeType){bA.overrideMimeType(e.mimeType)}if(!e.crossDomain&&!bB["X-Requested-With"]){bB["X-Requested-With"]="XMLHttpRequest"}try{for(by in bB){bA.setRequestHeader(by,bB[by])}}catch(bx){}bA.send((e.hasContent&&e.data)||null);bv=function(bK,bE){var bF,bD,bC,bI,bH;try{if(bv&&(bE||bA.readyState===4)){bv=L;if(bz){bA.onreadystatechange=b.noop;if(B){delete N[bz]}}if(bE){if(bA.readyState!==4){bA.abort()}}else{bF=bA.status;bC=bA.getAllResponseHeaders();bI={};bH=bA.responseXML;if(bH&&bH.documentElement){bI.xml=bH}bI.text=bA.responseText;try{bD=bA.statusText}catch(bJ){bD=""}if(!bF&&e.isLocal&&!e.crossDomain){bF=bI.text?200:404}else{if(bF===1223){bF=204}}}}}catch(bG){if(!bE){bw(-1,bG)}}if(bI){bw(bF,bD,bI,bC)}};if(!e.async||bA.readyState===4){bv()}else{bz=++y;if(B){if(!N){N={};b(bb).unload(B)}N[bz]=bv}bA.onreadystatechange=bv}},abort:function(){if(bv){bv(0,1)}}}}})}var Q={},a8,m,aB=/^(?:toggle|show|hide)$/,aT=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,a3,aH=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],a4;b.fn.extend({show:function(bx,bA,bz){var bw,by;if(bx||bx===0){return this.animate(a0("show",3),bx,bA,bz)}else{for(var bv=0,e=this.length;bv<e;bv++){bw=this[bv];if(bw.style){by=bw.style.display;if(!b._data(bw,"olddisplay")&&by==="none"){by=bw.style.display=""}if(by===""&&b.css(bw,"display")==="none"){b._data(bw,"olddisplay",x(bw.nodeName))}}}for(bv=0;bv<e;bv++){bw=this[bv];if(bw.style){by=bw.style.display;if(by===""||by==="none"){bw.style.display=b._data(bw,"olddisplay")||""}}}return this}},hide:function(bx,bA,bz){if(bx||bx===0){return this.animate(a0("hide",3),bx,bA,bz)}else{var bw,by,bv=0,e=this.length;for(;bv<e;bv++){bw=this[bv];if(bw.style){by=b.css(bw,"display");if(by!=="none"&&!b._data(bw,"olddisplay")){b._data(bw,"olddisplay",by)}}}for(bv=0;bv<e;bv++){if(this[bv].style){this[bv].style.display="none"}}return this}},_toggle:b.fn.toggle,toggle:function(bw,bv,bx){var e=typeof bw==="boolean";if(b.isFunction(bw)&&b.isFunction(bv)){this._toggle.apply(this,arguments)}else{if(bw==null||e){this.each(function(){var by=e?bw:b(this).is(":hidden");b(this)[by?"show":"hide"]()})}else{this.animate(a0("toggle",3),bw,bv,bx)}}return this},fadeTo:function(e,bx,bw,bv){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:bx},e,bw,bv)},animate:function(bz,bw,by,bx){var e=b.speed(bw,by,bx);if(b.isEmptyObject(bz)){return this.each(e.complete,[false])}bz=b.extend({},bz);function bv(){if(e.queue===false){b._mark(this)}var bE=b.extend({},e),bK=this.nodeType===1,bI=bK&&b(this).is(":hidden"),bB,bF,bD,bJ,bH,bC,bG,bL,bA;bE.animatedProperties={};for(bD in bz){bB=b.camelCase(bD);if(bD!==bB){bz[bB]=bz[bD];delete bz[bD]}bF=bz[bB];if(b.isArray(bF)){bE.animatedProperties[bB]=bF[1];bF=bz[bB]=bF[0]}else{bE.animatedProperties[bB]=bE.specialEasing&&bE.specialEasing[bB]||bE.easing||"swing"}if(bF==="hide"&&bI||bF==="show"&&!bI){return bE.complete.call(this)}if(bK&&(bB==="height"||bB==="width")){bE.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY];if(b.css(this,"display")==="inline"&&b.css(this,"float")==="none"){if(!b.support.inlineBlockNeedsLayout||x(this.nodeName)==="inline"){this.style.display="inline-block"}else{this.style.zoom=1}}}}if(bE.overflow!=null){this.style.overflow="hidden"}for(bD in bz){bJ=new b.fx(this,bE,bD);bF=bz[bD];if(aB.test(bF)){bA=b._data(this,"toggle"+bD)||(bF==="toggle"?bI?"show":"hide":0);if(bA){b._data(this,"toggle"+bD,bA==="show"?"hide":"show");bJ[bA]()}else{bJ[bF]()}}else{bH=aT.exec(bF);bC=bJ.cur();if(bH){bG=parseFloat(bH[2]);bL=bH[3]||(b.cssNumber[bD]?"":"px");if(bL!=="px"){b.style(this,bD,(bG||1)+bL);bC=((bG||1)/bJ.cur())*bC;b.style(this,bD,bC+bL)}if(bH[1]){bG=((bH[1]==="-="?-1:1)*bG)+bC}bJ.custom(bC,bG,bL)}else{bJ.custom(bC,bF,"")}}}return true}return e.queue===false?this.each(bv):this.queue(e.queue,bv)},stop:function(bw,bv,e){if(typeof bw!=="string"){e=bv;bv=bw;bw=L}if(bv&&bw!==false){this.queue(bw||"fx",[])}return this.each(function(){var bx,by=false,bA=b.timers,bz=b._data(this);if(!e){b._unmark(true,this)}function bB(bE,bF,bD){var bC=bF[bD];b.removeData(bE,bD,true);bC.stop(e)}if(bw==null){for(bx in bz){if(bz[bx]&&bz[bx].stop&&bx.indexOf(".run")===bx.length-4){bB(this,bz,bx)}}}else{if(bz[bx=bw+".run"]&&bz[bx].stop){bB(this,bz,bx)}}for(bx=bA.length;bx--;){if(bA[bx].elem===this&&(bw==null||bA[bx].queue===bw)){if(e){bA[bx](true)}else{bA[bx].saveState()}by=true;bA.splice(bx,1)}}if(!(e&&by)){b.dequeue(this,bw)}})}});function bh(){setTimeout(at,0);return(a4=b.now())}function at(){a4=L}function a0(bv,e){var bw={};b.each(aH.concat.apply([],aH.slice(0,e)),function(){bw[this]=bv});return bw}b.each({slideDown:a0("show",1),slideUp:a0("hide",1),slideToggle:a0("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,bv){b.fn[e]=function(bw,by,bx){return this.animate(bv,bw,by,bx)}});b.extend({speed:function(bw,bx,bv){var e=bw&&typeof bw==="object"?b.extend({},bw):{complete:bv||!bv&&bx||b.isFunction(bw)&&bw,duration:bw,easing:bv&&bx||bx&&!b.isFunction(bx)&&bx};e.duration=b.fx.off?0:typeof e.duration==="number"?e.duration:e.duration in b.fx.speeds?b.fx.speeds[e.duration]:b.fx.speeds._default;if(e.queue==null||e.queue===true){e.queue="fx"}e.old=e.complete;e.complete=function(by){if(b.isFunction(e.old)){e.old.call(this)}if(e.queue){b.dequeue(this,e.queue)}else{if(by!==false){b._unmark(this)}}};return e},easing:{linear:function(bw,bx,e,bv){return e+bv*bw},swing:function(bw,bx,e,bv){return((-Math.cos(bw*Math.PI)/2)+0.5)*bv+e}},timers:[],fx:function(bv,e,bw){this.options=e;this.elem=bv;this.prop=bw;e.orig=e.orig||{}}});b.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(b.fx.step[this.prop]||b.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var e,bv=b.css(this.elem,this.prop);return isNaN(e=parseFloat(bv))?!bv||bv==="auto"?0:bv:e},custom:function(bz,by,bx){var e=this,bw=b.fx;this.startTime=a4||bh();this.end=by;this.now=this.start=bz;this.pos=this.state=0;this.unit=bx||this.unit||(b.cssNumber[this.prop]?"":"px");function bv(bA){return e.step(bA)}bv.queue=this.options.queue;bv.elem=this.elem;bv.saveState=function(){if(e.options.hide&&b._data(e.elem,"fxshow"+e.prop)===L){b._data(e.elem,"fxshow"+e.prop,e.start)}};if(bv()&&b.timers.push(bv)&&!a3){a3=setInterval(bw.tick,bw.interval)}},show:function(){var e=b._data(this.elem,"fxshow"+this.prop);this.options.orig[this.prop]=e||b.style(this.elem,this.prop);this.options.show=true;if(e!==L){this.custom(this.cur(),e)}else{this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur())}b(this.elem).show()},hide:function(){this.options.orig[this.prop]=b._data(this.elem,"fxshow"+this.prop)||b.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(by){var bA,bB,bv,bx=a4||bh(),e=true,bz=this.elem,bw=this.options;if(by||bx>=bw.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();bw.animatedProperties[this.prop]=true;for(bA in bw.animatedProperties){if(bw.animatedProperties[bA]!==true){e=false}}if(e){if(bw.overflow!=null&&!b.support.shrinkWrapBlocks){b.each(["","X","Y"],function(bC,bD){bz.style["overflow"+bD]=bw.overflow[bC]})}if(bw.hide){b(bz).hide()}if(bw.hide||bw.show){for(bA in bw.animatedProperties){b.style(bz,bA,bw.orig[bA]);b.removeData(bz,"fxshow"+bA,true);b.removeData(bz,"toggle"+bA,true)}}bv=bw.complete;if(bv){bw.complete=false;bv.call(bz)}}return false}else{if(bw.duration==Infinity){this.now=bx}else{bB=bx-this.startTime;this.state=bB/bw.duration;this.pos=b.easing[bw.animatedProperties[this.prop]](this.state,bB,0,1,bw.duration);this.now=this.start+((this.end-this.start)*this.pos)}this.update()}return true}};b.extend(b.fx,{tick:function(){var bw,bv=b.timers,e=0;for(;e<bv.length;e++){bw=bv[e];if(!bw()&&bv[e]===bw){bv.splice(e--,1)}}if(!bv.length){b.fx.stop()}},interval:13,stop:function(){clearInterval(a3);a3=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(e){b.style(e.elem,"opacity",e.now)},_default:function(e){if(e.elem.style&&e.elem.style[e.prop]!=null){e.elem.style[e.prop]=e.now+e.unit}else{e.elem[e.prop]=e.now}}}});b.each(["width","height"],function(e,bv){b.fx.step[bv]=function(bw){b.style(bw.elem,bv,Math.max(0,bw.now)+bw.unit)}});if(b.expr&&b.expr.filters){b.expr.filters.animated=function(e){return b.grep(b.timers,function(bv){return e===bv.elem}).length}}function x(bx){if(!Q[bx]){var e=av.body,bv=b("<"+bx+">").appendTo(e),bw=bv.css("display");bv.remove();if(bw==="none"||bw===""){if(!a8){a8=av.createElement("iframe");a8.frameBorder=a8.width=a8.height=0}e.appendChild(a8);if(!m||!a8.createElement){m=(a8.contentWindow||a8.contentDocument).document;m.write((av.compatMode==="CSS1Compat"?"<!doctype html>":"")+"<html><body>");m.close()}bv=m.createElement(bx);m.body.appendChild(bv);bw=b.css(bv,"display");e.removeChild(a8)}Q[bx]=bw}return Q[bx]}var V=/^t(?:able|d|h)$/i,ad=/^(?:body|html)$/i;if("getBoundingClientRect" in av.documentElement){b.fn.offset=function(bI){var by=this[0],bB;if(bI){return this.each(function(e){b.offset.setOffset(this,bI,e)})}if(!by||!by.ownerDocument){return null}if(by===by.ownerDocument.body){return b.offset.bodyOffset(by)}try{bB=by.getBoundingClientRect()}catch(bF){}var bH=by.ownerDocument,bw=bH.documentElement;if(!bB||!b.contains(bw,by)){return bB?{top:bB.top,left:bB.left}:{top:0,left:0}}var bC=bH.body,bD=aK(bH),bA=bw.clientTop||bC.clientTop||0,bE=bw.clientLeft||bC.clientLeft||0,bv=bD.pageYOffset||b.support.boxModel&&bw.scrollTop||bC.scrollTop,bz=bD.pageXOffset||b.support.boxModel&&bw.scrollLeft||bC.scrollLeft,bG=bB.top+bv-bA,bx=bB.left+bz-bE;return{top:bG,left:bx}}}else{b.fn.offset=function(bF){var bz=this[0];if(bF){return this.each(function(bG){b.offset.setOffset(this,bF,bG)})}if(!bz||!bz.ownerDocument){return null}if(bz===bz.ownerDocument.body){return b.offset.bodyOffset(bz)}var bC,bw=bz.offsetParent,bv=bz,bE=bz.ownerDocument,bx=bE.documentElement,bA=bE.body,bB=bE.defaultView,e=bB?bB.getComputedStyle(bz,null):bz.currentStyle,bD=bz.offsetTop,by=bz.offsetLeft;while((bz=bz.parentNode)&&bz!==bA&&bz!==bx){if(b.support.fixedPosition&&e.position==="fixed"){break}bC=bB?bB.getComputedStyle(bz,null):bz.currentStyle;bD-=bz.scrollTop;by-=bz.scrollLeft;if(bz===bw){bD+=bz.offsetTop;by+=bz.offsetLeft;if(b.support.doesNotAddBorder&&!(b.support.doesAddBorderForTableAndCells&&V.test(bz.nodeName))){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}bv=bw;bw=bz.offsetParent}if(b.support.subtractsBorderForOverflowNotVisible&&bC.overflow!=="visible"){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}e=bC}if(e.position==="relative"||e.position==="static"){bD+=bA.offsetTop;by+=bA.offsetLeft}if(b.support.fixedPosition&&e.position==="fixed"){bD+=Math.max(bx.scrollTop,bA.scrollTop);by+=Math.max(bx.scrollLeft,bA.scrollLeft)}return{top:bD,left:by}}}b.offset={bodyOffset:function(e){var bw=e.offsetTop,bv=e.offsetLeft;if(b.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(b.css(e,"marginTop"))||0;bv+=parseFloat(b.css(e,"marginLeft"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=b.css(bx,"position");if(bB==="static"){bx.style.position="relative"}var bz=b(bx),bv=bz.offset(),e=b.css(bx,"top"),bE=b.css(bx,"left"),bF=(bB==="absolute"||bB==="fixed")&&b.inArray("auto",[e,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(e)||0;by=parseFloat(bE)||0}if(b.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if("using" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};b.fn.extend({position:function(){if(!this[0]){return null}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),e=ad.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(b.css(bw,"marginTop"))||0;bx.left-=parseFloat(b.css(bw,"marginLeft"))||0;e.top+=parseFloat(b.css(bv[0],"borderTopWidth"))||0;e.left+=parseFloat(b.css(bv[0],"borderLeftWidth"))||0;return{top:bx.top-e.top,left:bx.left-e.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||av.body;while(e&&(!ad.test(e.nodeName)&&b.css(e,"position")==="static")){e=e.offsetParent}return e})}});b.each(["Left","Top"],function(bv,e){var bw="scroll"+e;b.fn[bw]=function(bz){var bx,by;if(bz===L){bx=this[0];if(!bx){return null}by=aK(bx);return by?("pageXOffset" in by)?by[bv?"pageYOffset":"pageXOffset"]:b.support.boxModel&&by.document.documentElement[bw]||by.document.body[bw]:bx[bw]}return this.each(function(){by=aK(this);if(by){by.scrollTo(!bv?bz:b(by).scrollLeft(),bv?bz:b(by).scrollTop())}else{this[bw]=bz}})}});function aK(e){return b.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}b.each(["Height","Width"],function(bv,e){var bw=e.toLowerCase();b.fn["inner"+e]=function(){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,"padding")):this[bw]():null};b.fn["outer"+e]=function(by){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,by?"margin":"border")):this[bw]():null};b.fn[bw]=function(bz){var bA=this[0];if(!bA){return bz==null?null:this}if(b.isFunction(bz)){return this.each(function(bE){var bD=b(this);bD[bw](bz.call(this,bE,bD[bw]()))})}if(b.isWindow(bA)){var bB=bA.document.documentElement["client"+e],bx=bA.document.body;return bA.document.compatMode==="CSS1Compat"&&bB||bx&&bx["client"+e]||bB}else{if(bA.nodeType===9){return Math.max(bA.documentElement["client"+e],bA.body["scroll"+e],bA.documentElement["scroll"+e],bA.body["offset"+e],bA.documentElement["offset"+e])}else{if(bz===L){var bC=b.css(bA,bw),by=parseFloat(bC);return b.isNumeric(by)?by:bC}else{return this.css(bw,typeof bz==="string"?bz:bz+"px")}}}}});bb.jQuery=bb.$=b;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return b})}})(window);/*
  * jQuery UI 1.8.18
  *
  * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
  * jQuery UI 1.8.18
  *
  * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
@@ -29,7 +29,7 @@
  *
  * http://docs.jquery.com/UI
  */
  *
  * http://docs.jquery.com/UI
  */
-(function(a,d){a.ui=a.ui||{};if(a.ui.version){return}a.extend(a.ui,{version:"1.8.18",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(e,f){return typeof e==="number"?this.each(function(){var g=this;setTimeout(function(){a(g).focus();if(f){f.call(g)}},e)}):this._focus.apply(this,arguments)},scrollParent:function(){var e;if((a.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){e=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(a.curCSS(this,"position",1))&&(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}else{e=this.parents().filter(function(){return(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}return(/fixed/).test(this.css("position"))||!e.length?a(document):e},zIndex:function(h){if(h!==d){return this.css("zIndex",h)}if(this.length){var f=a(this[0]),e,g;while(f.length&&f[0]!==document){e=f.css("position");if(e==="absolute"||e==="relative"||e==="fixed"){g=parseInt(f.css("zIndex"),10);if(!isNaN(g)&&g!==0){return g}}f=f.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});a.each(["Width","Height"],function(g,e){var f=e==="Width"?["Left","Right"]:["Top","Bottom"],h=e.toLowerCase(),k={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};function j(m,l,i,n){a.each(f,function(){l-=parseFloat(a.curCSS(m,"padding"+this,true))||0;if(i){l-=parseFloat(a.curCSS(m,"border"+this+"Width",true))||0}if(n){l-=parseFloat(a.curCSS(m,"margin"+this,true))||0}});return l}a.fn["inner"+e]=function(i){if(i===d){return k["inner"+e].call(this)}return this.each(function(){a(this).css(h,j(this,i)+"px")})};a.fn["outer"+e]=function(i,l){if(typeof i!=="number"){return k["outer"+e].call(this,i)}return this.each(function(){a(this).css(h,j(this,i,true,l)+"px")})}});function c(g,e){var j=g.nodeName.toLowerCase();if("area"===j){var i=g.parentNode,h=i.name,f;if(!g.href||!h||i.nodeName.toLowerCase()!=="map"){return false}f=a("img[usemap=#"+h+"]")[0];return !!f&&b(f)}return(/input|select|textarea|button|object/.test(j)?!g.disabled:"a"==j?g.href||e:e)&&b(g)}function b(e){return !a(e).parents().andSelf().filter(function(){return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}a.extend(a.expr[":"],{data:function(g,f,e){return !!a.data(g,e[3])},focusable:function(e){return c(e,!isNaN(a.attr(e,"tabindex")))},tabbable:function(g){var e=a.attr(g,"tabindex"),f=isNaN(e);return(f||e>=0)&&c(g,!f)}});a(function(){var e=document.body,f=e.appendChild(f=document.createElement("div"));f.offsetHeight;a.extend(f.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});a.support.minHeight=f.offsetHeight===100;a.support.selectstart="onselectstart" in f;e.removeChild(f).style.display="none"});a.extend(a.ui,{plugin:{add:function(f,g,j){var h=a.ui[f].prototype;for(var e in j){h.plugins[e]=h.plugins[e]||[];h.plugins[e].push([g,j[e]])}},call:function(e,g,f){var j=e.plugins[g];if(!j||!e.element[0].parentNode){return}for(var h=0;h<j.length;h++){if(e.options[j[h][0]]){j[h][1].apply(e.element,f)}}}},contains:function(f,e){return document.compareDocumentPosition?f.compareDocumentPosition(e)&16:f!==e&&f.contains(e)},hasScroll:function(h,f){if(a(h).css("overflow")==="hidden"){return false}var e=(f&&f==="left")?"scrollLeft":"scrollTop",g=false;if(h[e]>0){return true}h[e]=1;g=(h[e]>0);h[e]=0;return g},isOverAxis:function(f,e,g){return(f>e)&&(f<(e+g))},isOver:function(j,f,i,h,e,g){return a.ui.isOverAxis(j,i,e)&&a.ui.isOverAxis(f,h,g)}})})(jQuery);/*!
+(function(a,d){a.ui=a.ui||{};if(a.ui.version){return}a.extend(a.ui,{version:"1.8.18",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(e,f){return typeof e==="number"?this.each(function(){var g=this;setTimeout(function(){a(g).focus();if(f){f.call(g)}},e)}):this._focus.apply(this,arguments)},scrollParent:function(){var e;if((a.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){e=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(a.curCSS(this,"position",1))&&(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}else{e=this.parents().filter(function(){return(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}return(/fixed/).test(this.css("position"))||!e.length?a(document):e},zIndex:function(h){if(h!==d){return this.css("zIndex",h)}if(this.length){var f=a(this[0]),e,g;while(f.length&&f[0]!==document){e=f.css("position");if(e==="absolute"||e==="relative"||e==="fixed"){g=parseInt(f.css("zIndex"),10);if(!isNaN(g)&&g!==0){return g}}f=f.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});a.each(["Width","Height"],function(g,e){var f=e==="Width"?["Left","Right"]:["Top","Bottom"],h=e.toLowerCase(),k={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};function j(m,l,i,n){a.each(f,function(){l-=parseFloat(a.curCSS(m,"padding"+this,true))||0;if(i){l-=parseFloat(a.curCSS(m,"border"+this+"Width",true))||0}if(n){l-=parseFloat(a.curCSS(m,"margin"+this,true))||0}});return l}a.fn["inner"+e]=function(i){if(i===d){return k["inner"+e].call(this)}return this.each(function(){a(this).css(h,j(this,i)+"px")})};a.fn["outer"+e]=function(i,l){if(typeof i!=="number"){return k["outer"+e].call(this,i)}return this.each(function(){a(this).css(h,j(this,i,true,l)+"px")})}});function c(g,e){var j=g.nodeName.toLowerCase();if("area"===j){var i=g.parentNode,h=i.name,f;if(!g.href||!h||i.nodeName.toLowerCase()!=="map"){return false}f=a("img[usemap=#"+h+"]")[0];return !!f&&b(f)}return(/input|select|textarea|button|object/.test(j)?!g.disabled:"a"==j?g.href||e:e)&&b(g)}function b(e){return !a(e).parents().andSelf().filter(function(){return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}a.extend(a.expr[":"],{data:function(g,f,e){return !!a.data(g,e[3])},focusable:function(e){return c(e,!isNaN(a.attr(e,"tabindex")))},tabbable:function(g){var e=a.attr(g,"tabindex"),f=isNaN(e);return(f||e>=0)&&c(g,!f)}});a(function(){var e=document.body,f=e.appendChild(f=document.createElement("div"));f.offsetHeight;a.extend(f.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});a.support.minHeight=f.offsetHeight===100;a.support.selectstart="onselectstart" in f;e.removeChild(f).style.display="none"});a.extend(a.ui,{plugin:{add:function(f,g,j){var h=a.ui[f].prototype;for(var e in j){h.plugins[e]=h.plugins[e]||[];h.plugins[e].push([g,j[e]])}},call:function(e,g,f){var j=e.plugins[g];if(!j||!e.element[0].parentNode){return}for(var h=0;h<j.length;h++){if(e.options[j[h][0]]){j[h][1].apply(e.element,f)}}}},contains:function(f,e){return document.compareDocumentPosition?f.compareDocumentPosition(e)&16:f!==e&&f.contains(e)},hasScroll:function(h,f){if(a(h).css("overflow")==="hidden"){return false}var e=(f&&f==="left")?"scrollLeft":"scrollTop",g=false;if(h[e]>0){return true}h[e]=1;g=(h[e]>0);h[e]=0;return g},isOverAxis:function(f,e,g){return(f>e)&&(f<(e+g))},isOver:function(j,f,i,h,e,g){return a.ui.isOverAxis(j,i,e)&&a.ui.isOverAxis(f,h,g)}})})(jQuery);/*
  * jQuery UI Widget 1.8.18
  *
  * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
  * jQuery UI Widget 1.8.18
  *
  * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
@@ -38,7 +38,7 @@
  *
  * http://docs.jquery.com/UI/Widget
  */
  *
  * http://docs.jquery.com/UI/Widget
  */
-(function(b,d){if(b.cleanData){var c=b.cleanData;b.cleanData=function(f){for(var g=0,h;(h=f[g])!=null;g++){try{b(h).triggerHandler("remove")}catch(j){}}c(f)}}else{var a=b.fn.remove;b.fn.remove=function(e,f){return this.each(function(){if(!f){if(!e||b.filter(e,[this]).length){b("*",this).add([this]).each(function(){try{b(this).triggerHandler("remove")}catch(g){}})}}return a.call(b(this),e,f)})}}b.widget=function(f,h,e){var g=f.split(".")[0],j;f=f.split(".")[1];j=g+"-"+f;if(!e){e=h;h=b.Widget}b.expr[":"][j]=function(k){return !!b.data(k,f)};b[g]=b[g]||{};b[g][f]=function(k,l){if(arguments.length){this._createWidget(k,l)}};var i=new h();i.options=b.extend(true,{},i.options);b[g][f].prototype=b.extend(true,i,{namespace:g,widgetName:f,widgetEventPrefix:b[g][f].prototype.widgetEventPrefix||f,widgetBaseClass:j},e);b.widget.bridge(f,b[g][f])};b.widget.bridge=function(f,e){b.fn[f]=function(i){var g=typeof i==="string",h=Array.prototype.slice.call(arguments,1),j=this;i=!g&&h.length?b.extend.apply(null,[true,i].concat(h)):i;if(g&&i.charAt(0)==="_"){return j}if(g){this.each(function(){var k=b.data(this,f),l=k&&b.isFunction(k[i])?k[i].apply(k,h):k;if(l!==k&&l!==d){j=l;return false}})}else{this.each(function(){var k=b.data(this,f);if(k){k.option(i||{})._init()}else{b.data(this,f,new e(i,this))}})}return j}};b.Widget=function(e,f){if(arguments.length){this._createWidget(e,f)}};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(f,g){b.data(g,this.widgetName,this);this.element=b(g);this.options=b.extend(true,{},this.options,this._getCreateOptions(),f);var e=this;this.element.bind("remove."+this.widgetName,function(){e.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){return b.metadata&&b.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(f,g){var e=f;if(arguments.length===0){return b.extend({},this.options)}if(typeof f==="string"){if(g===d){return this.options[f]}e={};e[f]=g}this._setOptions(e);return this},_setOptions:function(f){var e=this;b.each(f,function(g,h){e._setOption(g,h)});return this},_setOption:function(e,f){this.options[e]=f;if(e==="disabled"){this.widget()[f?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",f)}return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(e,f,g){var j,i,h=this.options[e];g=g||{};f=b.Event(f);f.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase();f.target=this.element[0];i=f.originalEvent;if(i){for(j in i){if(!(j in f)){f[j]=i[j]}}}this.element.trigger(f,g);return !(b.isFunction(h)&&h.call(this.element[0],f,g)===false||f.isDefaultPrevented())}}})(jQuery);/*!
+(function(b,d){if(b.cleanData){var c=b.cleanData;b.cleanData=function(f){for(var g=0,h;(h=f[g])!=null;g++){try{b(h).triggerHandler("remove")}catch(j){}}c(f)}}else{var a=b.fn.remove;b.fn.remove=function(e,f){return this.each(function(){if(!f){if(!e||b.filter(e,[this]).length){b("*",this).add([this]).each(function(){try{b(this).triggerHandler("remove")}catch(g){}})}}return a.call(b(this),e,f)})}}b.widget=function(f,h,e){var g=f.split(".")[0],j;f=f.split(".")[1];j=g+"-"+f;if(!e){e=h;h=b.Widget}b.expr[":"][j]=function(k){return !!b.data(k,f)};b[g]=b[g]||{};b[g][f]=function(k,l){if(arguments.length){this._createWidget(k,l)}};var i=new h();i.options=b.extend(true,{},i.options);b[g][f].prototype=b.extend(true,i,{namespace:g,widgetName:f,widgetEventPrefix:b[g][f].prototype.widgetEventPrefix||f,widgetBaseClass:j},e);b.widget.bridge(f,b[g][f])};b.widget.bridge=function(f,e){b.fn[f]=function(i){var g=typeof i==="string",h=Array.prototype.slice.call(arguments,1),j=this;i=!g&&h.length?b.extend.apply(null,[true,i].concat(h)):i;if(g&&i.charAt(0)==="_"){return j}if(g){this.each(function(){var k=b.data(this,f),l=k&&b.isFunction(k[i])?k[i].apply(k,h):k;if(l!==k&&l!==d){j=l;return false}})}else{this.each(function(){var k=b.data(this,f);if(k){k.option(i||{})._init()}else{b.data(this,f,new e(i,this))}})}return j}};b.Widget=function(e,f){if(arguments.length){this._createWidget(e,f)}};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(f,g){b.data(g,this.widgetName,this);this.element=b(g);this.options=b.extend(true,{},this.options,this._getCreateOptions(),f);var e=this;this.element.bind("remove."+this.widgetName,function(){e.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){return b.metadata&&b.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(f,g){var e=f;if(arguments.length===0){return b.extend({},this.options)}if(typeof f==="string"){if(g===d){return this.options[f]}e={};e[f]=g}this._setOptions(e);return this},_setOptions:function(f){var e=this;b.each(f,function(g,h){e._setOption(g,h)});return this},_setOption:function(e,f){this.options[e]=f;if(e==="disabled"){this.widget()[f?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",f)}return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(e,f,g){var j,i,h=this.options[e];g=g||{};f=b.Event(f);f.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase();f.target=this.element[0];i=f.originalEvent;if(i){for(j in i){if(!(j in f)){f[j]=i[j]}}}this.element.trigger(f,g);return !(b.isFunction(h)&&h.call(this.element[0],f,g)===false||f.isDefaultPrevented())}}})(jQuery);/*
  * jQuery UI Mouse 1.8.18
  *
  * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
  * jQuery UI Mouse 1.8.18
  *
  * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
@@ -50,7 +50,7 @@
  * Depends:
  *     jquery.ui.widget.js
  */
  * Depends:
  *     jquery.ui.widget.js
  */
-(function(b,c){var a=false;b(document).mouseup(function(d){a=false});b.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var d=this;this.element.bind("mousedown."+this.widgetName,function(e){return d._mouseDown(e)}).bind("click."+this.widgetName,function(e){if(true===b.data(e.target,d.widgetName+".preventClickEvent")){b.removeData(e.target,d.widgetName+".preventClickEvent");e.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(f){if(a){return}(this._mouseStarted&&this._mouseUp(f));this._mouseDownEvent=f;var e=this,g=(f.which==1),d=(typeof this.options.cancel=="string"&&f.target.nodeName?b(f.target).closest(this.options.cancel).length:false);if(!g||d||!this._mouseCapture(f)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){e.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(f)&&this._mouseDelayMet(f)){this._mouseStarted=(this._mouseStart(f)!==false);if(!this._mouseStarted){f.preventDefault();return true}}if(true===b.data(f.target,this.widgetName+".preventClickEvent")){b.removeData(f.target,this.widgetName+".preventClickEvent")}this._mouseMoveDelegate=function(h){return e._mouseMove(h)};this._mouseUpDelegate=function(h){return e._mouseUp(h)};b(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);f.preventDefault();a=true;return true},_mouseMove:function(d){if(b.browser.msie&&!(document.documentMode>=9)&&!d.button){return this._mouseUp(d)}if(this._mouseStarted){this._mouseDrag(d);return d.preventDefault()}if(this._mouseDistanceMet(d)&&this._mouseDelayMet(d)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,d)!==false);(this._mouseStarted?this._mouseDrag(d):this._mouseUp(d))}return !this._mouseStarted},_mouseUp:function(d){b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;if(d.target==this._mouseDownEvent.target){b.data(d.target,this.widgetName+".preventClickEvent",true)}this._mouseStop(d)}return false},_mouseDistanceMet:function(d){return(Math.max(Math.abs(this._mouseDownEvent.pageX-d.pageX),Math.abs(this._mouseDownEvent.pageY-d.pageY))>=this.options.distance)},_mouseDelayMet:function(d){return this.mouseDelayMet},_mouseStart:function(d){},_mouseDrag:function(d){},_mouseStop:function(d){},_mouseCapture:function(d){return true}})})(jQuery);(function(c,d){c.widget("ui.resizable",c.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,containment:false,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1000},_create:function(){var f=this,k=this.options;this.element.addClass("ui-resizable");c.extend(this,{_aspectRatio:!!(k.aspectRatio),aspectRatio:k.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:k.helper||k.ghost||k.animate?k.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){this.element.wrap(c('<div class="ui-wrapper" style="overflow: hidden;"></div>').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=k.handles||(!c(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all"){this.handles="n,e,s,w,se,sw,ne,nw"}var l=this.handles.split(",");this.handles={};for(var g=0;g<l.length;g++){var j=c.trim(l[g]),e="ui-resizable-"+j;var h=c('<div class="ui-resizable-handle '+e+'"></div>');if(/sw|se|ne|nw/.test(j)){h.css({zIndex:++k.zIndex})}if("se"==j){h.addClass("ui-icon ui-icon-gripsmall-diagonal-se")}this.handles[j]=".ui-resizable-"+j;this.element.append(h)}}this._renderAxis=function(q){q=q||this.element;for(var n in this.handles){if(this.handles[n].constructor==String){this.handles[n]=c(this.handles[n],this.element).show()}if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var o=c(this.handles[n],this.element),p=0;p=/sw|ne|nw|se|n|s/.test(n)?o.outerHeight():o.outerWidth();var m=["padding",/ne|nw|n/.test(n)?"Top":/se|sw|s/.test(n)?"Bottom":/^e$/.test(n)?"Right":"Left"].join("");q.css(m,p);this._proportionallyResize()}if(!c(this.handles[n]).length){continue}}};this._renderAxis(this.element);this._handles=c(".ui-resizable-handle",this.element).disableSelection();this._handles.mouseover(function(){if(!f.resizing){if(this.className){var i=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)}f.axis=i&&i[1]?i[1]:"se"}});if(k.autoHide){this._handles.hide();c(this.element).addClass("ui-resizable-autohide").hover(function(){if(k.disabled){return}c(this).removeClass("ui-resizable-autohide");f._handles.show()},function(){if(k.disabled){return}if(!f.resizing){c(this).addClass("ui-resizable-autohide");f._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var e=function(g){c(g).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){e(this.element);var f=this.element;f.after(this.originalElement.css({position:f.css("position"),width:f.outerWidth(),height:f.outerHeight(),top:f.css("top"),left:f.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);e(this.originalElement);return this},_mouseCapture:function(f){var g=false;for(var e in this.handles){if(c(this.handles[e])[0]==f.target){g=true}}return !this.options.disabled&&g},_mouseStart:function(g){var j=this.options,f=this.element.position(),e=this.element;this.resizing=true;this.documentScroll={top:c(document).scrollTop(),left:c(document).scrollLeft()};if(e.is(".ui-draggable")||(/absolute/).test(e.css("position"))){e.css({position:"absolute",top:f.top,left:f.left})}this._renderProxy();var k=b(this.helper.css("left")),h=b(this.helper.css("top"));if(j.containment){k+=c(j.containment).scrollLeft()||0;h+=c(j.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:k,top:h};this.size=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalSize=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalPosition={left:k,top:h};this.sizeDiff={width:e.outerWidth()-e.width(),height:e.outerHeight()-e.height()};this.originalMousePosition={left:g.pageX,top:g.pageY};this.aspectRatio=(typeof j.aspectRatio=="number")?j.aspectRatio:((this.originalSize.width/this.originalSize.height)||1);var i=c(".ui-resizable-"+this.axis).css("cursor");c("body").css("cursor",i=="auto"?this.axis+"-resize":i);e.addClass("ui-resizable-resizing");this._propagate("start",g);return true},_mouseDrag:function(e){var h=this.helper,g=this.options,m={},q=this,j=this.originalMousePosition,n=this.axis;var r=(e.pageX-j.left)||0,p=(e.pageY-j.top)||0;var i=this._change[n];if(!i){return false}var l=i.apply(this,[e,r,p]),k=c.browser.msie&&c.browser.version<7,f=this.sizeDiff;this._updateVirtualBoundaries(e.shiftKey);if(this._aspectRatio||e.shiftKey){l=this._updateRatio(l,e)}l=this._respectSize(l,e);this._propagate("resize",e);h.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});if(!this._helper&&this._proportionallyResizeElements.length){this._proportionallyResize()}this._updateCache(l);this._trigger("resize",e,this.ui());return false},_mouseStop:function(h){this.resizing=false;var i=this.options,m=this;if(this._helper){var g=this._proportionallyResizeElements,e=g.length&&(/textarea/i).test(g[0].nodeName),f=e&&c.ui.hasScroll(g[0],"left")?0:m.sizeDiff.height,k=e?0:m.sizeDiff.width;var n={width:(m.helper.width()-k),height:(m.helper.height()-f)},j=(parseInt(m.element.css("left"),10)+(m.position.left-m.originalPosition.left))||null,l=(parseInt(m.element.css("top"),10)+(m.position.top-m.originalPosition.top))||null;if(!i.animate){this.element.css(c.extend(n,{top:l,left:j}))}m.helper.height(m.size.height);m.helper.width(m.size.width);if(this._helper&&!i.animate){this._proportionallyResize()}}c("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",h);if(this._helper){this.helper.remove()}return false},_updateVirtualBoundaries:function(g){var j=this.options,i,h,f,k,e;e={minWidth:a(j.minWidth)?j.minWidth:0,maxWidth:a(j.maxWidth)?j.maxWidth:Infinity,minHeight:a(j.minHeight)?j.minHeight:0,maxHeight:a(j.maxHeight)?j.maxHeight:Infinity};if(this._aspectRatio||g){i=e.minHeight*this.aspectRatio;f=e.minWidth/this.aspectRatio;h=e.maxHeight*this.aspectRatio;k=e.maxWidth/this.aspectRatio;if(i>e.minWidth){e.minWidth=i}if(f>e.minHeight){e.minHeight=f}if(h<e.maxWidth){e.maxWidth=h}if(k<e.maxHeight){e.maxHeight=k}}this._vBoundaries=e},_updateCache:function(e){var f=this.options;this.offset=this.helper.offset();if(a(e.left)){this.position.left=e.left}if(a(e.top)){this.position.top=e.top}if(a(e.height)){this.size.height=e.height}if(a(e.width)){this.size.width=e.width}},_updateRatio:function(h,g){var i=this.options,j=this.position,f=this.size,e=this.axis;if(a(h.height)){h.width=(h.height*this.aspectRatio)}else{if(a(h.width)){h.height=(h.width/this.aspectRatio)}}if(e=="sw"){h.left=j.left+(f.width-h.width);h.top=null}if(e=="nw"){h.top=j.top+(f.height-h.height);h.left=j.left+(f.width-h.width)}return h},_respectSize:function(l,g){var j=this.helper,i=this._vBoundaries,r=this._aspectRatio||g.shiftKey,q=this.axis,t=a(l.width)&&i.maxWidth&&(i.maxWidth<l.width),m=a(l.height)&&i.maxHeight&&(i.maxHeight<l.height),h=a(l.width)&&i.minWidth&&(i.minWidth>l.width),s=a(l.height)&&i.minHeight&&(i.minHeight>l.height);if(h){l.width=i.minWidth}if(s){l.height=i.minHeight}if(t){l.width=i.maxWidth}if(m){l.height=i.maxHeight}var f=this.originalPosition.left+this.originalSize.width,p=this.position.top+this.size.height;var k=/sw|nw|w/.test(q),e=/nw|ne|n/.test(q);if(h&&k){l.left=f-i.minWidth}if(t&&k){l.left=f-i.maxWidth}if(s&&e){l.top=p-i.minHeight}if(m&&e){l.top=p-i.maxHeight}var n=!l.width&&!l.height;if(n&&!l.left&&l.top){l.top=null}else{if(n&&!l.top&&l.left){l.left=null}}return l},_proportionallyResize:function(){var k=this.options;if(!this._proportionallyResizeElements.length){return}var g=this.helper||this.element;for(var f=0;f<this._proportionallyResizeElements.length;f++){var h=this._proportionallyResizeElements[f];if(!this.borderDif){var e=[h.css("borderTopWidth"),h.css("borderRightWidth"),h.css("borderBottomWidth"),h.css("borderLeftWidth")],j=[h.css("paddingTop"),h.css("paddingRight"),h.css("paddingBottom"),h.css("paddingLeft")];this.borderDif=c.map(e,function(l,n){var m=parseInt(l,10)||0,o=parseInt(j[n],10)||0;return m+o})}if(c.browser.msie&&!(!(c(g).is(":hidden")||c(g).parents(":hidden").length))){continue}h.css({height:(g.height()-this.borderDif[0]-this.borderDif[2])||0,width:(g.width()-this.borderDif[1]-this.borderDif[3])||0})}},_renderProxy:function(){var f=this.element,i=this.options;this.elementOffset=f.offset();if(this._helper){this.helper=this.helper||c('<div style="overflow:hidden;"></div>');var e=c.browser.msie&&c.browser.version<7,g=(e?1:0),h=(e?2:-1);this.helper.addClass(this._helper).css({width:this.element.outerWidth()+h,height:this.element.outerHeight()+h,position:"absolute",left:this.elementOffset.left-g+"px",top:this.elementOffset.top-g+"px",zIndex:++i.zIndex});this.helper.appendTo("body").disableSelection()}else{this.helper=this.element}},_change:{e:function(g,f,e){return{width:this.originalSize.width+f}},w:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{left:i.left+f,width:g.width-f}},n:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{top:i.top+e,height:g.height-e}},s:function(g,f,e){return{height:this.originalSize.height+e}},se:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},sw:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[g,f,e]))},ne:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},nw:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[g,f,e]))}},_propagate:function(f,e){c.ui.plugin.call(this,f,[e,this.ui()]);(f!="resize"&&this._trigger(f,e,this.ui()))},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});c.extend(c.ui.resizable,{version:"1.8.18"});c.ui.plugin.add("resizable","alsoResize",{start:function(f,g){var e=c(this).data("resizable"),i=e.options;var h=function(j){c(j).each(function(){var k=c(this);k.data("resizable-alsoresize",{width:parseInt(k.width(),10),height:parseInt(k.height(),10),left:parseInt(k.css("left"),10),top:parseInt(k.css("top"),10)})})};if(typeof(i.alsoResize)=="object"&&!i.alsoResize.parentNode){if(i.alsoResize.length){i.alsoResize=i.alsoResize[0];h(i.alsoResize)}else{c.each(i.alsoResize,function(j){h(j)})}}else{h(i.alsoResize)}},resize:function(g,i){var f=c(this).data("resizable"),j=f.options,h=f.originalSize,l=f.originalPosition;var k={height:(f.size.height-h.height)||0,width:(f.size.width-h.width)||0,top:(f.position.top-l.top)||0,left:(f.position.left-l.left)||0},e=function(m,n){c(m).each(function(){var q=c(this),r=c(this).data("resizable-alsoresize"),p={},o=n&&n.length?n:q.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];c.each(o,function(s,u){var t=(r[u]||0)+(k[u]||0);if(t&&t>=0){p[u]=t||null}});q.css(p)})};if(typeof(j.alsoResize)=="object"&&!j.alsoResize.nodeType){c.each(j.alsoResize,function(m,n){e(m,n)})}else{e(j.alsoResize)}},stop:function(e,f){c(this).removeData("resizable-alsoresize")}});c.ui.plugin.add("resizable","animate",{stop:function(i,n){var p=c(this).data("resizable"),j=p.options;var h=p._proportionallyResizeElements,e=h.length&&(/textarea/i).test(h[0].nodeName),f=e&&c.ui.hasScroll(h[0],"left")?0:p.sizeDiff.height,l=e?0:p.sizeDiff.width;var g={width:(p.size.width-l),height:(p.size.height-f)},k=(parseInt(p.element.css("left"),10)+(p.position.left-p.originalPosition.left))||null,m=(parseInt(p.element.css("top"),10)+(p.position.top-p.originalPosition.top))||null;p.element.animate(c.extend(g,m&&k?{top:m,left:k}:{}),{duration:j.animateDuration,easing:j.animateEasing,step:function(){var o={width:parseInt(p.element.css("width"),10),height:parseInt(p.element.css("height"),10),top:parseInt(p.element.css("top"),10),left:parseInt(p.element.css("left"),10)};if(h&&h.length){c(h[0]).css({width:o.width,height:o.height})}p._updateCache(o);p._propagate("resize",i)}})}});c.ui.plugin.add("resizable","containment",{start:function(f,r){var t=c(this).data("resizable"),j=t.options,l=t.element;var g=j.containment,k=(g instanceof c)?g.get(0):(/parent/.test(g))?l.parent().get(0):g;if(!k){return}t.containerElement=c(k);if(/document/.test(g)||g==document){t.containerOffset={left:0,top:0};t.containerPosition={left:0,top:0};t.parentData={element:c(document),left:0,top:0,width:c(document).width(),height:c(document).height()||document.body.parentNode.scrollHeight}}else{var n=c(k),i=[];c(["Top","Right","Left","Bottom"]).each(function(p,o){i[p]=b(n.css("padding"+o))});t.containerOffset=n.offset();t.containerPosition=n.position();t.containerSize={height:(n.innerHeight()-i[3]),width:(n.innerWidth()-i[1])};var q=t.containerOffset,e=t.containerSize.height,m=t.containerSize.width,h=(c.ui.hasScroll(k,"left")?k.scrollWidth:m),s=(c.ui.hasScroll(k)?k.scrollHeight:e);t.parentData={element:k,left:q.left,top:q.top,width:h,height:s}}},resize:function(g,q){var t=c(this).data("resizable"),i=t.options,f=t.containerSize,p=t.containerOffset,m=t.size,n=t.position,r=t._aspectRatio||g.shiftKey,e={top:0,left:0},h=t.containerElement;if(h[0]!=document&&(/static/).test(h.css("position"))){e=p}if(n.left<(t._helper?p.left:0)){t.size.width=t.size.width+(t._helper?(t.position.left-p.left):(t.position.left-e.left));if(r){t.size.height=t.size.width/i.aspectRatio}t.position.left=i.helper?p.left:0}if(n.top<(t._helper?p.top:0)){t.size.height=t.size.height+(t._helper?(t.position.top-p.top):t.position.top);if(r){t.size.width=t.size.height*i.aspectRatio}t.position.top=t._helper?p.top:0}t.offset.left=t.parentData.left+t.position.left;t.offset.top=t.parentData.top+t.position.top;var l=Math.abs((t._helper?t.offset.left-e.left:(t.offset.left-e.left))+t.sizeDiff.width),s=Math.abs((t._helper?t.offset.top-e.top:(t.offset.top-p.top))+t.sizeDiff.height);var k=t.containerElement.get(0)==t.element.parent().get(0),j=/relative|absolute/.test(t.containerElement.css("position"));if(k&&j){l-=t.parentData.left}if(l+t.size.width>=t.parentData.width){t.size.width=t.parentData.width-l;if(r){t.size.height=t.size.width/t.aspectRatio}}if(s+t.size.height>=t.parentData.height){t.size.height=t.parentData.height-s;if(r){t.size.width=t.size.height*t.aspectRatio}}},stop:function(f,n){var q=c(this).data("resizable"),g=q.options,l=q.position,m=q.containerOffset,e=q.containerPosition,i=q.containerElement;var j=c(q.helper),r=j.offset(),p=j.outerWidth()-q.sizeDiff.width,k=j.outerHeight()-q.sizeDiff.height;if(q._helper&&!g.animate&&(/relative/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}if(q._helper&&!g.animate&&(/static/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}}});c.ui.plugin.add("resizable","ghost",{start:function(g,h){var e=c(this).data("resizable"),i=e.options,f=e.size;e.ghost=e.originalElement.clone();e.ghost.css({opacity:0.25,display:"block",position:"relative",height:f.height,width:f.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof i.ghost=="string"?i.ghost:"");e.ghost.appendTo(e.helper)},resize:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost){e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})}},stop:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost&&e.helper){e.helper.get(0).removeChild(e.ghost.get(0))}}});c.ui.plugin.add("resizable","grid",{resize:function(e,m){var p=c(this).data("resizable"),h=p.options,k=p.size,i=p.originalSize,j=p.originalPosition,n=p.axis,l=h._aspectRatio||e.shiftKey;h.grid=typeof h.grid=="number"?[h.grid,h.grid]:h.grid;var g=Math.round((k.width-i.width)/(h.grid[0]||1))*(h.grid[0]||1),f=Math.round((k.height-i.height)/(h.grid[1]||1))*(h.grid[1]||1);if(/^(se|s|e)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f}else{if(/^(ne)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f}else{if(/^(sw)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.left=j.left-g}else{p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f;p.position.left=j.left-g}}}}});var b=function(e){return parseInt(e,10)||0};var a=function(e){return !isNaN(parseInt(e,10))}})(jQuery);/*!
+(function(b,c){var a=false;b(document).mouseup(function(d){a=false});b.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var d=this;this.element.bind("mousedown."+this.widgetName,function(e){return d._mouseDown(e)}).bind("click."+this.widgetName,function(e){if(true===b.data(e.target,d.widgetName+".preventClickEvent")){b.removeData(e.target,d.widgetName+".preventClickEvent");e.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(f){if(a){return}(this._mouseStarted&&this._mouseUp(f));this._mouseDownEvent=f;var e=this,g=(f.which==1),d=(typeof this.options.cancel=="string"&&f.target.nodeName?b(f.target).closest(this.options.cancel).length:false);if(!g||d||!this._mouseCapture(f)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){e.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(f)&&this._mouseDelayMet(f)){this._mouseStarted=(this._mouseStart(f)!==false);if(!this._mouseStarted){f.preventDefault();return true}}if(true===b.data(f.target,this.widgetName+".preventClickEvent")){b.removeData(f.target,this.widgetName+".preventClickEvent")}this._mouseMoveDelegate=function(h){return e._mouseMove(h)};this._mouseUpDelegate=function(h){return e._mouseUp(h)};b(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);f.preventDefault();a=true;return true},_mouseMove:function(d){if(b.browser.msie&&!(document.documentMode>=9)&&!d.button){return this._mouseUp(d)}if(this._mouseStarted){this._mouseDrag(d);return d.preventDefault()}if(this._mouseDistanceMet(d)&&this._mouseDelayMet(d)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,d)!==false);(this._mouseStarted?this._mouseDrag(d):this._mouseUp(d))}return !this._mouseStarted},_mouseUp:function(d){b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;if(d.target==this._mouseDownEvent.target){b.data(d.target,this.widgetName+".preventClickEvent",true)}this._mouseStop(d)}return false},_mouseDistanceMet:function(d){return(Math.max(Math.abs(this._mouseDownEvent.pageX-d.pageX),Math.abs(this._mouseDownEvent.pageY-d.pageY))>=this.options.distance)},_mouseDelayMet:function(d){return this.mouseDelayMet},_mouseStart:function(d){},_mouseDrag:function(d){},_mouseStop:function(d){},_mouseCapture:function(d){return true}})})(jQuery);(function(c,d){c.widget("ui.resizable",c.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,containment:false,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1000},_create:function(){var f=this,k=this.options;this.element.addClass("ui-resizable");c.extend(this,{_aspectRatio:!!(k.aspectRatio),aspectRatio:k.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:k.helper||k.ghost||k.animate?k.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){this.element.wrap(c('<div class="ui-wrapper" style="overflow: hidden;"></div>').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=k.handles||(!c(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all"){this.handles="n,e,s,w,se,sw,ne,nw"}var l=this.handles.split(",");this.handles={};for(var g=0;g<l.length;g++){var j=c.trim(l[g]),e="ui-resizable-"+j;var h=c('<div class="ui-resizable-handle '+e+'"></div>');if(/sw|se|ne|nw/.test(j)){h.css({zIndex:++k.zIndex})}if("se"==j){h.addClass("ui-icon ui-icon-gripsmall-diagonal-se")}this.handles[j]=".ui-resizable-"+j;this.element.append(h)}}this._renderAxis=function(q){q=q||this.element;for(var n in this.handles){if(this.handles[n].constructor==String){this.handles[n]=c(this.handles[n],this.element).show()}if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var o=c(this.handles[n],this.element),p=0;p=/sw|ne|nw|se|n|s/.test(n)?o.outerHeight():o.outerWidth();var m=["padding",/ne|nw|n/.test(n)?"Top":/se|sw|s/.test(n)?"Bottom":/^e$/.test(n)?"Right":"Left"].join("");q.css(m,p);this._proportionallyResize()}if(!c(this.handles[n]).length){continue}}};this._renderAxis(this.element);this._handles=c(".ui-resizable-handle",this.element).disableSelection();this._handles.mouseover(function(){if(!f.resizing){if(this.className){var i=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)}f.axis=i&&i[1]?i[1]:"se"}});if(k.autoHide){this._handles.hide();c(this.element).addClass("ui-resizable-autohide").hover(function(){if(k.disabled){return}c(this).removeClass("ui-resizable-autohide");f._handles.show()},function(){if(k.disabled){return}if(!f.resizing){c(this).addClass("ui-resizable-autohide");f._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var e=function(g){c(g).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){e(this.element);var f=this.element;f.after(this.originalElement.css({position:f.css("position"),width:f.outerWidth(),height:f.outerHeight(),top:f.css("top"),left:f.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);e(this.originalElement);return this},_mouseCapture:function(f){var g=false;for(var e in this.handles){if(c(this.handles[e])[0]==f.target){g=true}}return !this.options.disabled&&g},_mouseStart:function(g){var j=this.options,f=this.element.position(),e=this.element;this.resizing=true;this.documentScroll={top:c(document).scrollTop(),left:c(document).scrollLeft()};if(e.is(".ui-draggable")||(/absolute/).test(e.css("position"))){e.css({position:"absolute",top:f.top,left:f.left})}this._renderProxy();var k=b(this.helper.css("left")),h=b(this.helper.css("top"));if(j.containment){k+=c(j.containment).scrollLeft()||0;h+=c(j.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:k,top:h};this.size=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalSize=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalPosition={left:k,top:h};this.sizeDiff={width:e.outerWidth()-e.width(),height:e.outerHeight()-e.height()};this.originalMousePosition={left:g.pageX,top:g.pageY};this.aspectRatio=(typeof j.aspectRatio=="number")?j.aspectRatio:((this.originalSize.width/this.originalSize.height)||1);var i=c(".ui-resizable-"+this.axis).css("cursor");c("body").css("cursor",i=="auto"?this.axis+"-resize":i);e.addClass("ui-resizable-resizing");this._propagate("start",g);return true},_mouseDrag:function(e){var h=this.helper,g=this.options,m={},q=this,j=this.originalMousePosition,n=this.axis;var r=(e.pageX-j.left)||0,p=(e.pageY-j.top)||0;var i=this._change[n];if(!i){return false}var l=i.apply(this,[e,r,p]),k=c.browser.msie&&c.browser.version<7,f=this.sizeDiff;this._updateVirtualBoundaries(e.shiftKey);if(this._aspectRatio||e.shiftKey){l=this._updateRatio(l,e)}l=this._respectSize(l,e);this._propagate("resize",e);h.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});if(!this._helper&&this._proportionallyResizeElements.length){this._proportionallyResize()}this._updateCache(l);this._trigger("resize",e,this.ui());return false},_mouseStop:function(h){this.resizing=false;var i=this.options,m=this;if(this._helper){var g=this._proportionallyResizeElements,e=g.length&&(/textarea/i).test(g[0].nodeName),f=e&&c.ui.hasScroll(g[0],"left")?0:m.sizeDiff.height,k=e?0:m.sizeDiff.width;var n={width:(m.helper.width()-k),height:(m.helper.height()-f)},j=(parseInt(m.element.css("left"),10)+(m.position.left-m.originalPosition.left))||null,l=(parseInt(m.element.css("top"),10)+(m.position.top-m.originalPosition.top))||null;if(!i.animate){this.element.css(c.extend(n,{top:l,left:j}))}m.helper.height(m.size.height);m.helper.width(m.size.width);if(this._helper&&!i.animate){this._proportionallyResize()}}c("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",h);if(this._helper){this.helper.remove()}return false},_updateVirtualBoundaries:function(g){var j=this.options,i,h,f,k,e;e={minWidth:a(j.minWidth)?j.minWidth:0,maxWidth:a(j.maxWidth)?j.maxWidth:Infinity,minHeight:a(j.minHeight)?j.minHeight:0,maxHeight:a(j.maxHeight)?j.maxHeight:Infinity};if(this._aspectRatio||g){i=e.minHeight*this.aspectRatio;f=e.minWidth/this.aspectRatio;h=e.maxHeight*this.aspectRatio;k=e.maxWidth/this.aspectRatio;if(i>e.minWidth){e.minWidth=i}if(f>e.minHeight){e.minHeight=f}if(h<e.maxWidth){e.maxWidth=h}if(k<e.maxHeight){e.maxHeight=k}}this._vBoundaries=e},_updateCache:function(e){var f=this.options;this.offset=this.helper.offset();if(a(e.left)){this.position.left=e.left}if(a(e.top)){this.position.top=e.top}if(a(e.height)){this.size.height=e.height}if(a(e.width)){this.size.width=e.width}},_updateRatio:function(h,g){var i=this.options,j=this.position,f=this.size,e=this.axis;if(a(h.height)){h.width=(h.height*this.aspectRatio)}else{if(a(h.width)){h.height=(h.width/this.aspectRatio)}}if(e=="sw"){h.left=j.left+(f.width-h.width);h.top=null}if(e=="nw"){h.top=j.top+(f.height-h.height);h.left=j.left+(f.width-h.width)}return h},_respectSize:function(l,g){var j=this.helper,i=this._vBoundaries,r=this._aspectRatio||g.shiftKey,q=this.axis,t=a(l.width)&&i.maxWidth&&(i.maxWidth<l.width),m=a(l.height)&&i.maxHeight&&(i.maxHeight<l.height),h=a(l.width)&&i.minWidth&&(i.minWidth>l.width),s=a(l.height)&&i.minHeight&&(i.minHeight>l.height);if(h){l.width=i.minWidth}if(s){l.height=i.minHeight}if(t){l.width=i.maxWidth}if(m){l.height=i.maxHeight}var f=this.originalPosition.left+this.originalSize.width,p=this.position.top+this.size.height;var k=/sw|nw|w/.test(q),e=/nw|ne|n/.test(q);if(h&&k){l.left=f-i.minWidth}if(t&&k){l.left=f-i.maxWidth}if(s&&e){l.top=p-i.minHeight}if(m&&e){l.top=p-i.maxHeight}var n=!l.width&&!l.height;if(n&&!l.left&&l.top){l.top=null}else{if(n&&!l.top&&l.left){l.left=null}}return l},_proportionallyResize:function(){var k=this.options;if(!this._proportionallyResizeElements.length){return}var g=this.helper||this.element;for(var f=0;f<this._proportionallyResizeElements.length;f++){var h=this._proportionallyResizeElements[f];if(!this.borderDif){var e=[h.css("borderTopWidth"),h.css("borderRightWidth"),h.css("borderBottomWidth"),h.css("borderLeftWidth")],j=[h.css("paddingTop"),h.css("paddingRight"),h.css("paddingBottom"),h.css("paddingLeft")];this.borderDif=c.map(e,function(l,n){var m=parseInt(l,10)||0,o=parseInt(j[n],10)||0;return m+o})}if(c.browser.msie&&!(!(c(g).is(":hidden")||c(g).parents(":hidden").length))){continue}h.css({height:(g.height()-this.borderDif[0]-this.borderDif[2])||0,width:(g.width()-this.borderDif[1]-this.borderDif[3])||0})}},_renderProxy:function(){var f=this.element,i=this.options;this.elementOffset=f.offset();if(this._helper){this.helper=this.helper||c('<div style="overflow:hidden;"></div>');var e=c.browser.msie&&c.browser.version<7,g=(e?1:0),h=(e?2:-1);this.helper.addClass(this._helper).css({width:this.element.outerWidth()+h,height:this.element.outerHeight()+h,position:"absolute",left:this.elementOffset.left-g+"px",top:this.elementOffset.top-g+"px",zIndex:++i.zIndex});this.helper.appendTo("body").disableSelection()}else{this.helper=this.element}},_change:{e:function(g,f,e){return{width:this.originalSize.width+f}},w:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{left:i.left+f,width:g.width-f}},n:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{top:i.top+e,height:g.height-e}},s:function(g,f,e){return{height:this.originalSize.height+e}},se:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},sw:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[g,f,e]))},ne:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},nw:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[g,f,e]))}},_propagate:function(f,e){c.ui.plugin.call(this,f,[e,this.ui()]);(f!="resize"&&this._trigger(f,e,this.ui()))},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});c.extend(c.ui.resizable,{version:"1.8.18"});c.ui.plugin.add("resizable","alsoResize",{start:function(f,g){var e=c(this).data("resizable"),i=e.options;var h=function(j){c(j).each(function(){var k=c(this);k.data("resizable-alsoresize",{width:parseInt(k.width(),10),height:parseInt(k.height(),10),left:parseInt(k.css("left"),10),top:parseInt(k.css("top"),10)})})};if(typeof(i.alsoResize)=="object"&&!i.alsoResize.parentNode){if(i.alsoResize.length){i.alsoResize=i.alsoResize[0];h(i.alsoResize)}else{c.each(i.alsoResize,function(j){h(j)})}}else{h(i.alsoResize)}},resize:function(g,i){var f=c(this).data("resizable"),j=f.options,h=f.originalSize,l=f.originalPosition;var k={height:(f.size.height-h.height)||0,width:(f.size.width-h.width)||0,top:(f.position.top-l.top)||0,left:(f.position.left-l.left)||0},e=function(m,n){c(m).each(function(){var q=c(this),r=c(this).data("resizable-alsoresize"),p={},o=n&&n.length?n:q.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];c.each(o,function(s,u){var t=(r[u]||0)+(k[u]||0);if(t&&t>=0){p[u]=t||null}});q.css(p)})};if(typeof(j.alsoResize)=="object"&&!j.alsoResize.nodeType){c.each(j.alsoResize,function(m,n){e(m,n)})}else{e(j.alsoResize)}},stop:function(e,f){c(this).removeData("resizable-alsoresize")}});c.ui.plugin.add("resizable","animate",{stop:function(i,n){var p=c(this).data("resizable"),j=p.options;var h=p._proportionallyResizeElements,e=h.length&&(/textarea/i).test(h[0].nodeName),f=e&&c.ui.hasScroll(h[0],"left")?0:p.sizeDiff.height,l=e?0:p.sizeDiff.width;var g={width:(p.size.width-l),height:(p.size.height-f)},k=(parseInt(p.element.css("left"),10)+(p.position.left-p.originalPosition.left))||null,m=(parseInt(p.element.css("top"),10)+(p.position.top-p.originalPosition.top))||null;p.element.animate(c.extend(g,m&&k?{top:m,left:k}:{}),{duration:j.animateDuration,easing:j.animateEasing,step:function(){var o={width:parseInt(p.element.css("width"),10),height:parseInt(p.element.css("height"),10),top:parseInt(p.element.css("top"),10),left:parseInt(p.element.css("left"),10)};if(h&&h.length){c(h[0]).css({width:o.width,height:o.height})}p._updateCache(o);p._propagate("resize",i)}})}});c.ui.plugin.add("resizable","containment",{start:function(f,r){var t=c(this).data("resizable"),j=t.options,l=t.element;var g=j.containment,k=(g instanceof c)?g.get(0):(/parent/.test(g))?l.parent().get(0):g;if(!k){return}t.containerElement=c(k);if(/document/.test(g)||g==document){t.containerOffset={left:0,top:0};t.containerPosition={left:0,top:0};t.parentData={element:c(document),left:0,top:0,width:c(document).width(),height:c(document).height()||document.body.parentNode.scrollHeight}}else{var n=c(k),i=[];c(["Top","Right","Left","Bottom"]).each(function(p,o){i[p]=b(n.css("padding"+o))});t.containerOffset=n.offset();t.containerPosition=n.position();t.containerSize={height:(n.innerHeight()-i[3]),width:(n.innerWidth()-i[1])};var q=t.containerOffset,e=t.containerSize.height,m=t.containerSize.width,h=(c.ui.hasScroll(k,"left")?k.scrollWidth:m),s=(c.ui.hasScroll(k)?k.scrollHeight:e);t.parentData={element:k,left:q.left,top:q.top,width:h,height:s}}},resize:function(g,q){var t=c(this).data("resizable"),i=t.options,f=t.containerSize,p=t.containerOffset,m=t.size,n=t.position,r=t._aspectRatio||g.shiftKey,e={top:0,left:0},h=t.containerElement;if(h[0]!=document&&(/static/).test(h.css("position"))){e=p}if(n.left<(t._helper?p.left:0)){t.size.width=t.size.width+(t._helper?(t.position.left-p.left):(t.position.left-e.left));if(r){t.size.height=t.size.width/i.aspectRatio}t.position.left=i.helper?p.left:0}if(n.top<(t._helper?p.top:0)){t.size.height=t.size.height+(t._helper?(t.position.top-p.top):t.position.top);if(r){t.size.width=t.size.height*i.aspectRatio}t.position.top=t._helper?p.top:0}t.offset.left=t.parentData.left+t.position.left;t.offset.top=t.parentData.top+t.position.top;var l=Math.abs((t._helper?t.offset.left-e.left:(t.offset.left-e.left))+t.sizeDiff.width),s=Math.abs((t._helper?t.offset.top-e.top:(t.offset.top-p.top))+t.sizeDiff.height);var k=t.containerElement.get(0)==t.element.parent().get(0),j=/relative|absolute/.test(t.containerElement.css("position"));if(k&&j){l-=t.parentData.left}if(l+t.size.width>=t.parentData.width){t.size.width=t.parentData.width-l;if(r){t.size.height=t.size.width/t.aspectRatio}}if(s+t.size.height>=t.parentData.height){t.size.height=t.parentData.height-s;if(r){t.size.width=t.size.height*t.aspectRatio}}},stop:function(f,n){var q=c(this).data("resizable"),g=q.options,l=q.position,m=q.containerOffset,e=q.containerPosition,i=q.containerElement;var j=c(q.helper),r=j.offset(),p=j.outerWidth()-q.sizeDiff.width,k=j.outerHeight()-q.sizeDiff.height;if(q._helper&&!g.animate&&(/relative/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}if(q._helper&&!g.animate&&(/static/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}}});c.ui.plugin.add("resizable","ghost",{start:function(g,h){var e=c(this).data("resizable"),i=e.options,f=e.size;e.ghost=e.originalElement.clone();e.ghost.css({opacity:0.25,display:"block",position:"relative",height:f.height,width:f.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof i.ghost=="string"?i.ghost:"");e.ghost.appendTo(e.helper)},resize:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost){e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})}},stop:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost&&e.helper){e.helper.get(0).removeChild(e.ghost.get(0))}}});c.ui.plugin.add("resizable","grid",{resize:function(e,m){var p=c(this).data("resizable"),h=p.options,k=p.size,i=p.originalSize,j=p.originalPosition,n=p.axis,l=h._aspectRatio||e.shiftKey;h.grid=typeof h.grid=="number"?[h.grid,h.grid]:h.grid;var g=Math.round((k.width-i.width)/(h.grid[0]||1))*(h.grid[0]||1),f=Math.round((k.height-i.height)/(h.grid[1]||1))*(h.grid[1]||1);if(/^(se|s|e)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f}else{if(/^(ne)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f}else{if(/^(sw)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.left=j.left-g}else{p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f;p.position.left=j.left-g}}}}});var b=function(e){return parseInt(e,10)||0};var a=function(e){return !isNaN(parseInt(e,10))}})(jQuery);/*
  * jQuery hashchange event - v1.3 - 7/21/2010
  * http://benalman.com/projects/jquery-hashchange-plugin/
  * 
  * jQuery hashchange event - v1.3 - 7/21/2010
  * http://benalman.com/projects/jquery-hashchange-plugin/
  * 
  * Dual licensed under the MIT and GPL licenses.
  * http://benalman.com/about/license/
  */
  * Dual licensed under the MIT and GPL licenses.
  * http://benalman.com/about/license/
  */
-(function($,e,b){var c="hashchange",h=document,f,g=$.event.special,i=h.documentMode,d="on"+c in e&&(i===b||i>7);function a(j){j=j||location.href;return"#"+j.replace(/^[^#]*#?(.*)$/,"$1")}$.fn[c]=function(j){return j?this.bind(c,j):this.trigger(c)};$.fn[c].delay=50;g[c]=$.extend(g[c],{setup:function(){if(d){return false}$(f.start)},teardown:function(){if(d){return false}$(f.stop)}});f=(function(){var j={},p,m=a(),k=function(q){return q},l=k,o=k;j.start=function(){p||n()};j.stop=function(){p&&clearTimeout(p);p=b};function n(){var r=a(),q=o(m);if(r!==m){l(m=r,q);$(e).trigger(c)}else{if(q!==m){location.href=location.href.replace(/#.*/,"")+q}}p=setTimeout(n,$.fn[c].delay)}$.browser.msie&&!d&&(function(){var q,r;j.start=function(){if(!q){r=$.fn[c].src;r=r&&r+a();q=$('<iframe tabindex="-1" title="empty"/>').hide().one("load",function(){r||l(a());n()}).attr("src",r||"javascript:0").insertAfter("body")[0].contentWindow;h.onpropertychange=function(){try{if(event.propertyName==="title"){q.document.title=h.title}}catch(s){}}}};j.stop=k;o=function(){return a(q.location.href)};l=function(v,s){var u=q.document,t=$.fn[c].domain;if(v!==s){u.title=h.title;u.open();t&&u.write('<script>document.domain="'+t+'"<\/script>');u.close();q.location.hash=v}}})();return j})()})(jQuery,this);(function(c){var a=c.scrollTo=function(f,e,d){c(window).scrollTo(f,e,d)};a.defaults={axis:"xy",duration:parseFloat(c.fn.jquery)>=1.3?0:1};a.window=function(d){return c(window)._scrollable()};c.fn._scrollable=function(){return this.map(function(){var e=this,d=!e.nodeName||c.inArray(e.nodeName.toLowerCase(),["iframe","#document","html","body"])!=-1;if(!d){return e}var f=(e.contentWindow||e).document||e.ownerDocument||e;return c.browser.safari||f.compatMode=="BackCompat"?f.body:f.documentElement})};c.fn.scrollTo=function(f,e,d){if(typeof e=="object"){d=e;e=0}if(typeof d=="function"){d={onAfter:d}}if(f=="max"){f=9000000000}d=c.extend({},a.defaults,d);e=e||d.speed||d.duration;d.queue=d.queue&&d.axis.length>1;if(d.queue){e/=2}d.offset=b(d.offset);d.over=b(d.over);return this._scrollable().each(function(){var l=this,j=c(l),k=f,i,g={},m=j.is("html,body");switch(typeof k){case"number":case"string":if(/^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(k)){k=b(k);break}k=c(k,this);case"object":if(k.is||k.style){i=(k=c(k)).offset()}}c.each(d.axis.split(""),function(q,r){var s=r=="x"?"Left":"Top",u=s.toLowerCase(),p="scroll"+s,o=l[p],n=a.max(l,r);if(i){g[p]=i[u]+(m?0:o-j.offset()[u]);if(d.margin){g[p]-=parseInt(k.css("margin"+s))||0;g[p]-=parseInt(k.css("border"+s+"Width"))||0}g[p]+=d.offset[u]||0;if(d.over[u]){g[p]+=k[r=="x"?"width":"height"]()*d.over[u]}}else{var t=k[u];g[p]=t.slice&&t.slice(-1)=="%"?parseFloat(t)/100*n:t}if(/^\d+$/.test(g[p])){g[p]=g[p]<=0?0:Math.min(g[p],n)}if(!q&&d.queue){if(o!=g[p]){h(d.onAfterFirst)}delete g[p]}});h(d.onAfter);function h(n){j.animate(g,e,d.easing,n&&function(){n.call(this,f,d)})}}).end()};a.max=function(j,i){var h=i=="x"?"Width":"Height",e="scroll"+h;if(!c(j).is("html,body")){return j[e]-c(j)[h.toLowerCase()]()}var g="client"+h,f=j.ownerDocument.documentElement,d=j.ownerDocument.body;return Math.max(f[e],d[e])-Math.min(f[g],d[g])};function b(d){return typeof d=="object"?d:{top:d,left:d}}})(jQuery);/*!
+(function($,e,b){var c="hashchange",h=document,f,g=$.event.special,i=h.documentMode,d="on"+c in e&&(i===b||i>7);function a(j){j=j||location.href;return"#"+j.replace(/^[^#]*#?(.*)$/,"$1")}$.fn[c]=function(j){return j?this.bind(c,j):this.trigger(c)};$.fn[c].delay=50;g[c]=$.extend(g[c],{setup:function(){if(d){return false}$(f.start)},teardown:function(){if(d){return false}$(f.stop)}});f=(function(){var j={},p,m=a(),k=function(q){return q},l=k,o=k;j.start=function(){p||n()};j.stop=function(){p&&clearTimeout(p);p=b};function n(){var r=a(),q=o(m);if(r!==m){l(m=r,q);$(e).trigger(c)}else{if(q!==m){location.href=location.href.replace(/#.*/,"")+q}}p=setTimeout(n,$.fn[c].delay)}$.browser.msie&&!d&&(function(){var q,r;j.start=function(){if(!q){r=$.fn[c].src;r=r&&r+a();q=$('<iframe tabindex="-1" title="empty"/>').hide().one("load",function(){r||l(a());n()}).attr("src",r||"javascript:0").insertAfter("body")[0].contentWindow;h.onpropertychange=function(){try{if(event.propertyName==="title"){q.document.title=h.title}}catch(s){}}}};j.stop=k;o=function(){return a(q.location.href)};l=function(v,s){var u=q.document,t=$.fn[c].domain;if(v!==s){u.title=h.title;u.open();t&&u.write('<script>document.domain="'+t+'"<\/script>');u.close();q.location.hash=v}}})();return j})()})(jQuery,this);(function(c){var a=c.scrollTo=function(f,e,d){c(window).scrollTo(f,e,d)};a.defaults={axis:"xy",duration:parseFloat(c.fn.jquery)>=1.3?0:1};a.window=function(d){return c(window)._scrollable()};c.fn._scrollable=function(){return this.map(function(){var e=this,d=!e.nodeName||c.inArray(e.nodeName.toLowerCase(),["iframe","#document","html","body"])!=-1;if(!d){return e}var f=(e.contentWindow||e).document||e.ownerDocument||e;return c.browser.safari||f.compatMode=="BackCompat"?f.body:f.documentElement})};c.fn.scrollTo=function(f,e,d){if(typeof e=="object"){d=e;e=0}if(typeof d=="function"){d={onAfter:d}}if(f=="max"){f=9000000000}d=c.extend({},a.defaults,d);e=e||d.speed||d.duration;d.queue=d.queue&&d.axis.length>1;if(d.queue){e/=2}d.offset=b(d.offset);d.over=b(d.over);return this._scrollable().each(function(){var l=this,j=c(l),k=f,i,g={},m=j.is("html,body");switch(typeof k){case"number":case"string":if(/^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(k)){k=b(k);break}k=c(k,this);case"object":if(k.is||k.style){i=(k=c(k)).offset()}}c.each(d.axis.split(""),function(q,r){var s=r=="x"?"Left":"Top",u=s.toLowerCase(),p="scroll"+s,o=l[p],n=a.max(l,r);if(i){g[p]=i[u]+(m?0:o-j.offset()[u]);if(d.margin){g[p]-=parseInt(k.css("margin"+s))||0;g[p]-=parseInt(k.css("border"+s+"Width"))||0}g[p]+=d.offset[u]||0;if(d.over[u]){g[p]+=k[r=="x"?"width":"height"]()*d.over[u]}}else{var t=k[u];g[p]=t.slice&&t.slice(-1)=="%"?parseFloat(t)/100*n:t}if(/^\d+$/.test(g[p])){g[p]=g[p]<=0?0:Math.min(g[p],n)}if(!q&&d.queue){if(o!=g[p]){h(d.onAfterFirst)}delete g[p]}});h(d.onAfter);function h(n){j.animate(g,e,d.easing,n&&function(){n.call(this,f,d)})}}).end()};a.max=function(j,i){var h=i=="x"?"Width":"Height",e="scroll"+h;if(!c(j).is("html,body")){return j[e]-c(j)[h.toLowerCase()]()}var g="client"+h,f=j.ownerDocument.documentElement,d=j.ownerDocument.body;return Math.max(f[e],d[e])-Math.min(f[g],d[g])};function b(d){return typeof d=="object"?d:{top:d,left:d}}})(jQuery);/*
  PowerTip - v1.2.0 - 2013-04-03
  http://stevenbenner.github.com/jquery-powertip/
  Copyright (c) 2013 Steven Benner (http://stevenbenner.com/).
  Released under MIT license.
  https://raw.github.com/stevenbenner/jquery-powertip/master/LICENSE.txt
 */
  PowerTip - v1.2.0 - 2013-04-03
  http://stevenbenner.github.com/jquery-powertip/
  Copyright (c) 2013 Steven Benner (http://stevenbenner.com/).
  Released under MIT license.
  https://raw.github.com/stevenbenner/jquery-powertip/master/LICENSE.txt
 */
-(function(a){if(typeof define==="function"&&define.amd){define(["jquery"],a)}else{a(jQuery)}}(function(k){var A=k(document),s=k(window),w=k("body");var n="displayController",e="hasActiveHover",d="forcedOpen",u="hasMouseMove",f="mouseOnToPopup",g="originalTitle",y="powertip",o="powertipjq",l="powertiptarget",E=180/Math.PI;var c={isTipOpen:false,isFixedTipOpen:false,isClosing:false,tipOpenImminent:false,activeHover:null,currentX:0,currentY:0,previousX:0,previousY:0,desyncTimeout:null,mouseTrackingActive:false,delayInProgress:false,windowWidth:0,windowHeight:0,scrollTop:0,scrollLeft:0};var p={none:0,top:1,bottom:2,left:4,right:8};k.fn.powerTip=function(F,N){if(!this.length){return this}if(k.type(F)==="string"&&k.powerTip[F]){return k.powerTip[F].call(this,this,N)}var O=k.extend({},k.fn.powerTip.defaults,F),G=new x(O);h();this.each(function M(){var R=k(this),Q=R.data(y),P=R.data(o),T=R.data(l),S;if(R.data(n)){k.powerTip.destroy(R)}S=R.attr("title");if(!Q&&!T&&!P&&S){R.data(y,S);R.data(g,S);R.removeAttr("title")}R.data(n,new t(R,O,G))});if(!O.manual){this.on({"mouseenter.powertip":function J(P){k.powerTip.show(this,P)},"mouseleave.powertip":function L(){k.powerTip.hide(this)},"focus.powertip":function K(){k.powerTip.show(this)},"blur.powertip":function H(){k.powerTip.hide(this,true)},"keydown.powertip":function I(P){if(P.keyCode===27){k.powerTip.hide(this,true)}}})}return this};k.fn.powerTip.defaults={fadeInTime:200,fadeOutTime:100,followMouse:false,popupId:"powerTip",intentSensitivity:7,intentPollInterval:100,closeDelay:100,placement:"n",smartPlacement:false,offset:10,mouseOnToPopup:false,manual:false};k.fn.powerTip.smartPlacementLists={n:["n","ne","nw","s"],e:["e","ne","se","w","nw","sw","n","s","e"],s:["s","se","sw","n"],w:["w","nw","sw","e","ne","se","n","s","w"],nw:["nw","w","sw","n","s","se","nw"],ne:["ne","e","se","n","s","sw","ne"],sw:["sw","w","nw","s","n","ne","sw"],se:["se","e","ne","s","n","nw","se"],"nw-alt":["nw-alt","n","ne-alt","sw-alt","s","se-alt","w","e"],"ne-alt":["ne-alt","n","nw-alt","se-alt","s","sw-alt","e","w"],"sw-alt":["sw-alt","s","se-alt","nw-alt","n","ne-alt","w","e"],"se-alt":["se-alt","s","sw-alt","ne-alt","n","nw-alt","e","w"]};k.powerTip={show:function z(F,G){if(G){i(G);c.previousX=G.pageX;c.previousY=G.pageY;k(F).data(n).show()}else{k(F).first().data(n).show(true,true)}return F},reposition:function r(F){k(F).first().data(n).resetPosition();return F},hide:function D(G,F){if(G){k(G).first().data(n).hide(F)}else{if(c.activeHover){c.activeHover.data(n).hide(true)}}return G},destroy:function C(G){k(G).off(".powertip").each(function F(){var I=k(this),H=[g,n,e,d];if(I.data(g)){I.attr("title",I.data(g));H.push(y)}I.removeData(H)});return G}};k.powerTip.showTip=k.powerTip.show;k.powerTip.closeTip=k.powerTip.hide;function b(){var F=this;F.top="auto";F.left="auto";F.right="auto";F.bottom="auto";F.set=function(H,G){if(k.isNumeric(G)){F[H]=Math.round(G)}}}function t(K,N,F){var J=null;function L(P,Q){M();if(!K.data(e)){if(!P){c.tipOpenImminent=true;J=setTimeout(function O(){J=null;I()},N.intentPollInterval)}else{if(Q){K.data(d,true)}F.showTip(K)}}}function G(P){M();c.tipOpenImminent=false;if(K.data(e)){K.data(d,false);if(!P){c.delayInProgress=true;J=setTimeout(function O(){J=null;F.hideTip(K);c.delayInProgress=false},N.closeDelay)}else{F.hideTip(K)}}}function I(){var Q=Math.abs(c.previousX-c.currentX),O=Math.abs(c.previousY-c.currentY),P=Q+O;if(P<N.intentSensitivity){F.showTip(K)}else{c.previousX=c.currentX;c.previousY=c.currentY;L()}}function M(){J=clearTimeout(J);c.delayInProgress=false}function H(){F.resetPosition(K)}this.show=L;this.hide=G;this.cancel=M;this.resetPosition=H}function j(){function G(M,L,J,O,P){var K=L.split("-")[0],N=new b(),I;if(q(M)){I=H(M,K)}else{I=F(M,K)}switch(L){case"n":N.set("left",I.left-(J/2));N.set("bottom",c.windowHeight-I.top+P);break;case"e":N.set("left",I.left+P);N.set("top",I.top-(O/2));break;case"s":N.set("left",I.left-(J/2));N.set("top",I.top+P);break;case"w":N.set("top",I.top-(O/2));N.set("right",c.windowWidth-I.left+P);break;case"nw":N.set("bottom",c.windowHeight-I.top+P);N.set("right",c.windowWidth-I.left-20);break;case"nw-alt":N.set("left",I.left);N.set("bottom",c.windowHeight-I.top+P);break;case"ne":N.set("left",I.left-20);N.set("bottom",c.windowHeight-I.top+P);break;case"ne-alt":N.set("bottom",c.windowHeight-I.top+P);N.set("right",c.windowWidth-I.left);break;case"sw":N.set("top",I.top+P);N.set("right",c.windowWidth-I.left-20);break;case"sw-alt":N.set("left",I.left);N.set("top",I.top+P);break;case"se":N.set("left",I.left-20);N.set("top",I.top+P);break;case"se-alt":N.set("top",I.top+P);N.set("right",c.windowWidth-I.left);break}return N}function F(K,J){var O=K.offset(),N=K.outerWidth(),I=K.outerHeight(),M,L;switch(J){case"n":M=O.left+N/2;L=O.top;break;case"e":M=O.left+N;L=O.top+I/2;break;case"s":M=O.left+N/2;L=O.top+I;break;case"w":M=O.left;L=O.top+I/2;break;case"nw":M=O.left;L=O.top;break;case"ne":M=O.left+N;L=O.top;break;case"sw":M=O.left;L=O.top+I;break;case"se":M=O.left+N;L=O.top+I;break}return{top:L,left:M}}function H(O,K){var S=O.closest("svg")[0],N=O[0],W=S.createSVGPoint(),L=N.getBBox(),V=N.getScreenCTM(),M=L.width/2,Q=L.height/2,P=[],I=["nw","n","ne","e","se","s","sw","w"],U,X,R,T;function J(){P.push(W.matrixTransform(V))}W.x=L.x;W.y=L.y;J();W.x+=M;J();W.x+=M;J();W.y+=Q;J();W.y+=Q;J();W.x-=M;J();W.x-=M;J();W.y-=Q;J();if(P[0].y!==P[1].y||P[0].x!==P[7].x){X=Math.atan2(V.b,V.a)*E;R=Math.ceil(((X%360)-22.5)/45);if(R<1){R+=8}while(R--){I.push(I.shift())}}for(T=0;T<P.length;T++){if(I[T]===K){U=P[T];break}}return{top:U.y+c.scrollTop,left:U.x+c.scrollLeft}}this.compute=G}function x(Q){var P=new j(),O=k("#"+Q.popupId);if(O.length===0){O=k("<div/>",{id:Q.popupId});if(w.length===0){w=k("body")}w.append(O)}if(Q.followMouse){if(!O.data(u)){A.on("mousemove",M);s.on("scroll",M);O.data(u,true)}}if(Q.mouseOnToPopup){O.on({mouseenter:function L(){if(O.data(f)){if(c.activeHover){c.activeHover.data(n).cancel()}}},mouseleave:function N(){if(c.activeHover){c.activeHover.data(n).hide()}}})}function I(S){S.data(e,true);O.queue(function R(T){H(S);T()})}function H(S){var U;if(!S.data(e)){return}if(c.isTipOpen){if(!c.isClosing){K(c.activeHover)}O.delay(100).queue(function R(V){H(S);V()});return}S.trigger("powerTipPreRender");U=B(S);if(U){O.empty().append(U)}else{return}S.trigger("powerTipRender");c.activeHover=S;c.isTipOpen=true;O.data(f,Q.mouseOnToPopup);if(!Q.followMouse){G(S);c.isFixedTipOpen=true}else{M()}O.fadeIn(Q.fadeInTime,function T(){if(!c.desyncTimeout){c.desyncTimeout=setInterval(J,500)}S.trigger("powerTipOpen")})}function K(R){c.isClosing=true;c.activeHover=null;c.isTipOpen=false;c.desyncTimeout=clearInterval(c.desyncTimeout);R.data(e,false);R.data(d,false);O.fadeOut(Q.fadeOutTime,function S(){var T=new b();c.isClosing=false;c.isFixedTipOpen=false;O.removeClass();T.set("top",c.currentY+Q.offset);T.set("left",c.currentX+Q.offset);O.css(T);R.trigger("powerTipClose")})}function M(){if(!c.isFixedTipOpen&&(c.isTipOpen||(c.tipOpenImminent&&O.data(u)))){var R=O.outerWidth(),V=O.outerHeight(),U=new b(),S,T;U.set("top",c.currentY+Q.offset);U.set("left",c.currentX+Q.offset);S=m(U,R,V);if(S!==p.none){T=a(S);if(T===1){if(S===p.right){U.set("left",c.windowWidth-R)}else{if(S===p.bottom){U.set("top",c.scrollTop+c.windowHeight-V)}}}else{U.set("left",c.currentX-R-Q.offset);U.set("top",c.currentY-V-Q.offset)}}O.css(U)}}function G(S){var R,T;if(Q.smartPlacement){R=k.fn.powerTip.smartPlacementLists[Q.placement];k.each(R,function(U,W){var V=m(F(S,W),O.outerWidth(),O.outerHeight());T=W;if(V===p.none){return false}})}else{F(S,Q.placement);T=Q.placement}O.addClass(T)}function F(U,T){var R=0,S,W,V=new b();V.set("top",0);V.set("left",0);O.css(V);do{S=O.outerWidth();W=O.outerHeight();V=P.compute(U,T,S,W,Q.offset);O.css(V)}while(++R<=5&&(S!==O.outerWidth()||W!==O.outerHeight()));return V}function J(){var R=false;if(c.isTipOpen&&!c.isClosing&&!c.delayInProgress){if(c.activeHover.data(e)===false||c.activeHover.is(":disabled")){R=true}else{if(!v(c.activeHover)&&!c.activeHover.is(":focus")&&!c.activeHover.data(d)){if(O.data(f)){if(!v(O)){R=true}}else{R=true}}}if(R){K(c.activeHover)}}}this.showTip=I;this.hideTip=K;this.resetPosition=G}function q(F){return window.SVGElement&&F[0] instanceof SVGElement}function h(){if(!c.mouseTrackingActive){c.mouseTrackingActive=true;k(function H(){c.scrollLeft=s.scrollLeft();c.scrollTop=s.scrollTop();c.windowWidth=s.width();c.windowHeight=s.height()});A.on("mousemove",i);s.on({resize:function G(){c.windowWidth=s.width();c.windowHeight=s.height()},scroll:function F(){var I=s.scrollLeft(),J=s.scrollTop();if(I!==c.scrollLeft){c.currentX+=I-c.scrollLeft;c.scrollLeft=I}if(J!==c.scrollTop){c.currentY+=J-c.scrollTop;c.scrollTop=J}}})}}function i(F){c.currentX=F.pageX;c.currentY=F.pageY}function v(F){var H=F.offset(),J=F[0].getBoundingClientRect(),I=J.right-J.left,G=J.bottom-J.top;return c.currentX>=H.left&&c.currentX<=H.left+I&&c.currentY>=H.top&&c.currentY<=H.top+G}function B(I){var G=I.data(y),F=I.data(o),K=I.data(l),H,J;if(G){if(k.isFunction(G)){G=G.call(I[0])}J=G}else{if(F){if(k.isFunction(F)){F=F.call(I[0])}if(F.length>0){J=F.clone(true,true)}}else{if(K){H=k("#"+K);if(H.length>0){J=H.html()}}}}return J}function m(M,L,K){var G=c.scrollTop,J=c.scrollLeft,I=G+c.windowHeight,F=J+c.windowWidth,H=p.none;if(M.top<G||Math.abs(M.bottom-c.windowHeight)-K<G){H|=p.top}if(M.top+K>I||Math.abs(M.bottom-c.windowHeight)>I){H|=p.bottom}if(M.left<J||M.right+L>F){H|=p.left}if(M.left+L>F||M.right<J){H|=p.right}return H}function a(G){var F=0;while(G){G&=G-1;F++}return F}}));/*!
- * jQuery UI Touch Punch 0.2.3
- *
- * Copyright 2011–2014, Dave Furfero
- * Dual licensed under the MIT or GPL Version 2 licenses.
- *
- * Depends:
- *  jquery.ui.widget.js
- *  jquery.ui.mouse.js
- */
-(function(b){b.support.touch="ontouchend" in document;if(!b.support.touch){return}var d=b.ui.mouse.prototype,f=d._mouseInit,c=d._mouseDestroy,a;function e(h,i){if(h.originalEvent.touches.length>1){return}h.preventDefault();var j=h.originalEvent.changedTouches[0],g=document.createEvent("MouseEvents");g.initMouseEvent(i,true,true,window,1,j.screenX,j.screenY,j.clientX,j.clientY,false,false,false,false,0,null);h.target.dispatchEvent(g)}d._touchStart=function(h){var g=this;if(a||!g._mouseCapture(h.originalEvent.changedTouches[0])){return}a=true;g._touchMoved=false;e(h,"mouseover");e(h,"mousemove");e(h,"mousedown")};d._touchMove=function(g){if(!a){return}this._touchMoved=true;e(g,"mousemove")};d._touchEnd=function(g){if(!a){return}e(g,"mouseup");e(g,"mouseout");if(!this._touchMoved){e(g,"click")}a=false};d._mouseInit=function(){var g=this;g.element.bind({touchstart:b.proxy(g,"_touchStart"),touchmove:b.proxy(g,"_touchMove"),touchend:b.proxy(g,"_touchEnd")});f.call(g)};d._mouseDestroy=function(){var g=this;g.element.unbind({touchstart:b.proxy(g,"_touchStart"),touchmove:b.proxy(g,"_touchMove"),touchend:b.proxy(g,"_touchEnd")});c.call(g)}})(jQuery);/*!
- * SmartMenus jQuery Plugin - v1.0.0 - January 27, 2016
- * http://www.smartmenus.org/
- *
- * Copyright Vasil Dinkov, Vadikom Web Ltd.
- * http://vadikom.com
- *
- * Licensed MIT
- */
-(function(a){if(typeof define==="function"&&define.amd){define(["jquery"],a)}else{if(typeof module==="object"&&typeof module.exports==="object"){module.exports=a(require("jquery"))}else{a(jQuery)}}}(function(a){var b=[],e=!!window.createPopup,f=false,d="ontouchstart" in window,h=false,g=window.requestAnimationFrame||function(l){return setTimeout(l,1000/60)},c=window.cancelAnimationFrame||function(l){clearTimeout(l)};function k(m){var n=".smartmenus_mouse";if(!h&&!m){var o=true,l=null;a(document).bind(i([["mousemove",function(s){var t={x:s.pageX,y:s.pageY,timeStamp:new Date().getTime()};if(l){var q=Math.abs(l.x-t.x),p=Math.abs(l.y-t.y);if((q>0||p>0)&&q<=2&&p<=2&&t.timeStamp-l.timeStamp<=300){f=true;if(o){var r=a(s.target).closest("a");if(r.is("a")){a.each(b,function(){if(a.contains(this.$root[0],r[0])){this.itemEnter({currentTarget:r[0]});return false}})}o=false}}}l=t}],[d?"touchstart":"pointerover pointermove pointerout MSPointerOver MSPointerMove MSPointerOut",function(p){if(j(p.originalEvent)){f=false}}]],n));h=true}else{if(h&&m){a(document).unbind(n);h=false}}}function j(l){return !/^(4|mouse)$/.test(l.pointerType)}function i(l,n){if(!n){n=""}var m={};a.each(l,function(o,p){m[p[0].split(" ").join(n+" ")+n]=p[1]});return m}a.SmartMenus=function(m,l){this.$root=a(m);this.opts=l;this.rootId="";this.accessIdPrefix="";this.$subArrow=null;this.activatedItems=[];this.visibleSubMenus=[];this.showTimeout=0;this.hideTimeout=0;this.scrollTimeout=0;this.clickActivated=false;this.focusActivated=false;this.zIndexInc=0;this.idInc=0;this.$firstLink=null;this.$firstSub=null;this.disabled=false;this.$disableOverlay=null;this.$touchScrollingSub=null;this.cssTransforms3d="perspective" in m.style||"webkitPerspective" in m.style;this.wasCollapsible=false;this.init()};a.extend(a.SmartMenus,{hideAll:function(){a.each(b,function(){this.menuHideAll()})},destroy:function(){while(b.length){b[0].destroy()}k(true)},prototype:{init:function(n){var l=this;if(!n){b.push(this);this.rootId=(new Date().getTime()+Math.random()+"").replace(/\D/g,"");this.accessIdPrefix="sm-"+this.rootId+"-";if(this.$root.hasClass("sm-rtl")){this.opts.rightToLeftSubMenus=true}var r=".smartmenus";this.$root.data("smartmenus",this).attr("data-smartmenus-id",this.rootId).dataSM("level",1).bind(i([["mouseover focusin",a.proxy(this.rootOver,this)],["mouseout focusout",a.proxy(this.rootOut,this)],["keydown",a.proxy(this.rootKeyDown,this)]],r)).delegate("a",i([["mouseenter",a.proxy(this.itemEnter,this)],["mouseleave",a.proxy(this.itemLeave,this)],["mousedown",a.proxy(this.itemDown,this)],["focus",a.proxy(this.itemFocus,this)],["blur",a.proxy(this.itemBlur,this)],["click",a.proxy(this.itemClick,this)]],r));r+=this.rootId;if(this.opts.hideOnClick){a(document).bind(i([["touchstart",a.proxy(this.docTouchStart,this)],["touchmove",a.proxy(this.docTouchMove,this)],["touchend",a.proxy(this.docTouchEnd,this)],["click",a.proxy(this.docClick,this)]],r))}a(window).bind(i([["resize orientationchange",a.proxy(this.winResize,this)]],r));if(this.opts.subIndicators){this.$subArrow=a("<span/>").addClass("sub-arrow");if(this.opts.subIndicatorsText){this.$subArrow.html(this.opts.subIndicatorsText)}}k()}this.$firstSub=this.$root.find("ul").each(function(){l.menuInit(a(this))}).eq(0);this.$firstLink=this.$root.find("a").eq(0);if(this.opts.markCurrentItem){var p=/(index|default)\.[^#\?\/]*/i,m=/#.*/,q=window.location.href.replace(p,""),o=q.replace(m,"");this.$root.find("a").each(function(){var s=this.href.replace(p,""),t=a(this);if(s==q||s==o){t.addClass("current");if(l.opts.markCurrentTree){t.parentsUntil("[data-smartmenus-id]","ul").each(function(){a(this).dataSM("parent-a").addClass("current")})}}})}this.wasCollapsible=this.isCollapsible()},destroy:function(m){if(!m){var n=".smartmenus";this.$root.removeData("smartmenus").removeAttr("data-smartmenus-id").removeDataSM("level").unbind(n).undelegate(n);n+=this.rootId;a(document).unbind(n);a(window).unbind(n);if(this.opts.subIndicators){this.$subArrow=null}}this.menuHideAll();var l=this;this.$root.find("ul").each(function(){var o=a(this);if(o.dataSM("scroll-arrows")){o.dataSM("scroll-arrows").remove()}if(o.dataSM("shown-before")){if(l.opts.subMenusMinWidth||l.opts.subMenusMaxWidth){o.css({width:"",minWidth:"",maxWidth:""}).removeClass("sm-nowrap")}if(o.dataSM("scroll-arrows")){o.dataSM("scroll-arrows").remove()}o.css({zIndex:"",top:"",left:"",marginLeft:"",marginTop:"",display:""})}if((o.attr("id")||"").indexOf(l.accessIdPrefix)==0){o.removeAttr("id")}}).removeDataSM("in-mega").removeDataSM("shown-before").removeDataSM("ie-shim").removeDataSM("scroll-arrows").removeDataSM("parent-a").removeDataSM("level").removeDataSM("beforefirstshowfired").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeAttr("aria-expanded");this.$root.find("a.has-submenu").each(function(){var o=a(this);if(o.attr("id").indexOf(l.accessIdPrefix)==0){o.removeAttr("id")}}).removeClass("has-submenu").removeDataSM("sub").removeAttr("aria-haspopup").removeAttr("aria-controls").removeAttr("aria-expanded").closest("li").removeDataSM("sub");if(this.opts.subIndicators){this.$root.find("span.sub-arrow").remove()}if(this.opts.markCurrentItem){this.$root.find("a.current").removeClass("current")}if(!m){this.$root=null;this.$firstLink=null;this.$firstSub=null;if(this.$disableOverlay){this.$disableOverlay.remove();this.$disableOverlay=null}b.splice(a.inArray(this,b),1)}},disable:function(l){if(!this.disabled){this.menuHideAll();if(!l&&!this.opts.isPopup&&this.$root.is(":visible")){var m=this.$root.offset();this.$disableOverlay=a('<div class="sm-jquery-disable-overlay"/>').css({position:"absolute",top:m.top,left:m.left,width:this.$root.outerWidth(),height:this.$root.outerHeight(),zIndex:this.getStartZIndex(true),opacity:0}).appendTo(document.body)}this.disabled=true}},docClick:function(l){if(this.$touchScrollingSub){this.$touchScrollingSub=null;return}if(this.visibleSubMenus.length&&!a.contains(this.$root[0],l.target)||a(l.target).is("a")){this.menuHideAll()}},docTouchEnd:function(m){if(!this.lastTouch){return}if(this.visibleSubMenus.length&&(this.lastTouch.x2===undefined||this.lastTouch.x1==this.lastTouch.x2)&&(this.lastTouch.y2===undefined||this.lastTouch.y1==this.lastTouch.y2)&&(!this.lastTouch.target||!a.contains(this.$root[0],this.lastTouch.target))){if(this.hideTimeout){clearTimeout(this.hideTimeout);this.hideTimeout=0}var l=this;this.hideTimeout=setTimeout(function(){l.menuHideAll()},350)}this.lastTouch=null},docTouchMove:function(m){if(!this.lastTouch){return}var l=m.originalEvent.touches[0];this.lastTouch.x2=l.pageX;this.lastTouch.y2=l.pageY},docTouchStart:function(m){var l=m.originalEvent.touches[0];this.lastTouch={x1:l.pageX,y1:l.pageY,target:l.target}},enable:function(){if(this.disabled){if(this.$disableOverlay){this.$disableOverlay.remove();this.$disableOverlay=null}this.disabled=false}},getClosestMenu:function(m){var l=a(m).closest("ul");while(l.dataSM("in-mega")){l=l.parent().closest("ul")}return l[0]||null},getHeight:function(l){return this.getOffset(l,true)},getOffset:function(n,l){var m;if(n.css("display")=="none"){m={position:n[0].style.position,visibility:n[0].style.visibility};n.css({position:"absolute",visibility:"hidden"}).show()}var o=n[0].getBoundingClientRect&&n[0].getBoundingClientRect(),p=o&&(l?o.height||o.bottom-o.top:o.width||o.right-o.left);if(!p&&p!==0){p=l?n[0].offsetHeight:n[0].offsetWidth}if(m){n.hide().css(m)}return p},getStartZIndex:function(l){var m=parseInt(this[l?"$root":"$firstSub"].css("z-index"));if(!l&&isNaN(m)){m=parseInt(this.$root.css("z-index"))}return !isNaN(m)?m:1},getTouchPoint:function(l){return l.touches&&l.touches[0]||l.changedTouches&&l.changedTouches[0]||l},getViewport:function(l){var m=l?"Height":"Width",o=document.documentElement["client"+m],n=window["inner"+m];if(n){o=Math.min(o,n)}return o},getViewportHeight:function(){return this.getViewport(true)},getViewportWidth:function(){return this.getViewport()},getWidth:function(l){return this.getOffset(l)},handleEvents:function(){return !this.disabled&&this.isCSSOn()},handleItemEvents:function(l){return this.handleEvents()&&!this.isLinkInMegaMenu(l)},isCollapsible:function(){return this.$firstSub.css("position")=="static"},isCSSOn:function(){return this.$firstLink.css("display")=="block"},isFixed:function(){var l=this.$root.css("position")=="fixed";if(!l){this.$root.parentsUntil("body").each(function(){if(a(this).css("position")=="fixed"){l=true;return false}})}return l},isLinkInMegaMenu:function(l){return a(this.getClosestMenu(l[0])).hasClass("mega-menu")},isTouchMode:function(){return !f||this.opts.noMouseOver||this.isCollapsible()},itemActivate:function(p,l){var n=p.closest("ul"),q=n.dataSM("level");if(q>1&&(!this.activatedItems[q-2]||this.activatedItems[q-2][0]!=n.dataSM("parent-a")[0])){var m=this;a(n.parentsUntil("[data-smartmenus-id]","ul").get().reverse()).add(n).each(function(){m.itemActivate(a(this).dataSM("parent-a"))})}if(!this.isCollapsible()||l){this.menuHideSubMenus(!this.activatedItems[q-1]||this.activatedItems[q-1][0]!=p[0]?q-1:q)}this.activatedItems[q-1]=p;if(this.$root.triggerHandler("activate.smapi",p[0])===false){return}var o=p.dataSM("sub");if(o&&(this.isTouchMode()||(!this.opts.showOnClick||this.clickActivated))){this.menuShow(o)}},itemBlur:function(m){var l=a(m.currentTarget);if(!this.handleItemEvents(l)){return}this.$root.triggerHandler("blur.smapi",l[0])},itemClick:function(o){var n=a(o.currentTarget);if(!this.handleItemEvents(n)){return}if(this.$touchScrollingSub&&this.$touchScrollingSub[0]==n.closest("ul")[0]){this.$touchScrollingSub=null;o.stopPropagation();return false}if(this.$root.triggerHandler("click.smapi",n[0])===false){return false}var p=a(o.target).is("span.sub-arrow"),m=n.dataSM("sub"),l=m?m.dataSM("level")==2:false;if(m&&!m.is(":visible")){if(this.opts.showOnClick&&l){this.clickActivated=true}this.itemActivate(n);if(m.is(":visible")){this.focusActivated=true;return false}}else{if(this.isCollapsible()&&p){this.itemActivate(n);this.menuHide(m);return false}}if(this.opts.showOnClick&&l||n.hasClass("disabled")||this.$root.triggerHandler("select.smapi",n[0])===false){return false}},itemDown:function(m){var l=a(m.currentTarget);if(!this.handleItemEvents(l)){return}l.dataSM("mousedown",true)},itemEnter:function(n){var m=a(n.currentTarget);if(!this.handleItemEvents(m)){return}if(!this.isTouchMode()){if(this.showTimeout){clearTimeout(this.showTimeout);this.showTimeout=0}var l=this;this.showTimeout=setTimeout(function(){l.itemActivate(m)},this.opts.showOnClick&&m.closest("ul").dataSM("level")==1?1:this.opts.showTimeout)}this.$root.triggerHandler("mouseenter.smapi",m[0])},itemFocus:function(m){var l=a(m.currentTarget);if(!this.handleItemEvents(l)){return}if(this.focusActivated&&(!this.isTouchMode()||!l.dataSM("mousedown"))&&(!this.activatedItems.length||this.activatedItems[this.activatedItems.length-1][0]!=l[0])){this.itemActivate(l,true)}this.$root.triggerHandler("focus.smapi",l[0])},itemLeave:function(m){var l=a(m.currentTarget);if(!this.handleItemEvents(l)){return}if(!this.isTouchMode()){l[0].blur();if(this.showTimeout){clearTimeout(this.showTimeout);this.showTimeout=0}}l.removeDataSM("mousedown");this.$root.triggerHandler("mouseleave.smapi",l[0])},menuHide:function(m){if(this.$root.triggerHandler("beforehide.smapi",m[0])===false){return}m.stop(true,true);if(m.css("display")!="none"){var l=function(){m.css("z-index","")};if(this.isCollapsible()){if(this.opts.collapsibleHideFunction){this.opts.collapsibleHideFunction.call(this,m,l)}else{m.hide(this.opts.collapsibleHideDuration,l)}}else{if(this.opts.hideFunction){this.opts.hideFunction.call(this,m,l)}else{m.hide(this.opts.hideDuration,l)}}if(m.dataSM("ie-shim")){m.dataSM("ie-shim").remove().css({"-webkit-transform":"",transform:""})}if(m.dataSM("scroll")){this.menuScrollStop(m);m.css({"touch-action":"","-ms-touch-action":"","-webkit-transform":"",transform:""}).unbind(".smartmenus_scroll").removeDataSM("scroll").dataSM("scroll-arrows").hide()}m.dataSM("parent-a").removeClass("highlighted").attr("aria-expanded","false");m.attr({"aria-expanded":"false","aria-hidden":"true"});var n=m.dataSM("level");this.activatedItems.splice(n-1,1);this.visibleSubMenus.splice(a.inArray(m,this.visibleSubMenus),1);this.$root.triggerHandler("hide.smapi",m[0])}},menuHideAll:function(){if(this.showTimeout){clearTimeout(this.showTimeout);this.showTimeout=0}var m=this.opts.isPopup?1:0;for(var l=this.visibleSubMenus.length-1;l>=m;l--){this.menuHide(this.visibleSubMenus[l])}if(this.opts.isPopup){this.$root.stop(true,true);if(this.$root.is(":visible")){if(this.opts.hideFunction){this.opts.hideFunction.call(this,this.$root)}else{this.$root.hide(this.opts.hideDuration)}if(this.$root.dataSM("ie-shim")){this.$root.dataSM("ie-shim").remove()}}}this.activatedItems=[];this.visibleSubMenus=[];this.clickActivated=false;this.focusActivated=false;this.zIndexInc=0;this.$root.triggerHandler("hideAll.smapi")},menuHideSubMenus:function(n){for(var l=this.activatedItems.length-1;l>=n;l--){var m=this.activatedItems[l].dataSM("sub");if(m){this.menuHide(m)}}},menuIframeShim:function(l){if(e&&this.opts.overlapControlsInIE&&!l.dataSM("ie-shim")){l.dataSM("ie-shim",a("<iframe/>").attr({src:"javascript:0",tabindex:-9}).css({position:"absolute",top:"auto",left:"0",opacity:0,border:"0"}))}},menuInit:function(l){if(!l.dataSM("in-mega")){if(l.hasClass("mega-menu")){l.find("ul").dataSM("in-mega",true)}var q=2,m=l[0];while((m=m.parentNode.parentNode)!=this.$root[0]){q++}var n=l.prevAll("a").eq(-1);if(!n.length){n=l.prevAll().find("a").eq(-1)}n.addClass("has-submenu").dataSM("sub",l);l.dataSM("parent-a",n).dataSM("level",q).parent().dataSM("sub",l);var o=n.attr("id")||this.accessIdPrefix+(++this.idInc),p=l.attr("id")||this.accessIdPrefix+(++this.idInc);n.attr({id:o,"aria-haspopup":"true","aria-controls":p,"aria-expanded":"false"});l.attr({id:p,role:"group","aria-hidden":"true","aria-labelledby":o,"aria-expanded":"false"});if(this.opts.subIndicators){n[this.opts.subIndicatorsPos](this.$subArrow.clone())}}},menuPosition:function(K){var r=K.dataSM("parent-a"),D=r.closest("li"),E=D.parent(),l=K.dataSM("level"),t=this.getWidth(K),J=this.getHeight(K),u=r.offset(),o=u.left,m=u.top,q=this.getWidth(r),F=this.getHeight(r),H=a(window),v=H.scrollLeft(),s=H.scrollTop(),z=this.getViewportWidth(),L=this.getViewportHeight(),w=E.parent().is("[data-sm-horizontal-sub]")||l==2&&!E.hasClass("sm-vertical"),B=this.opts.rightToLeftSubMenus&&!D.is("[data-sm-reverse]")||!this.opts.rightToLeftSubMenus&&D.is("[data-sm-reverse]"),p=l==2?this.opts.mainMenuSubOffsetX:this.opts.subMenusSubOffsetX,n=l==2?this.opts.mainMenuSubOffsetY:this.opts.subMenusSubOffsetY,C,A;if(w){C=B?q-t-p:p;A=this.opts.bottomToTopSubMenus?-J-n:F+n}else{C=B?p-t:q-p;A=this.opts.bottomToTopSubMenus?F-n-J:n}if(this.opts.keepInViewport){var N=o+C,M=m+A;if(B&&N<v){C=w?v-N+C:q-p}else{if(!B&&N+t>v+z){C=w?v+z-t-N+C:p-t}}if(!w){if(J<L&&M+J>s+L){A+=s+L-J-M}else{if(J>=L||M<s){A+=s-M}}}if(w&&(M+J>s+L+0.49||M<s)||!w&&J>L+0.49){var G=this;if(!K.dataSM("scroll-arrows")){K.dataSM("scroll-arrows",a([a('<span class="scroll-up"><span class="scroll-up-arrow"></span></span>')[0],a('<span class="scroll-down"><span class="scroll-down-arrow"></span></span>')[0]]).bind({mouseenter:function(){K.dataSM("scroll").up=a(this).hasClass("scroll-up");G.menuScroll(K)},mouseleave:function(x){G.menuScrollStop(K);G.menuScrollOut(K,x)},"mousewheel DOMMouseScroll":function(x){x.preventDefault()}}).insertAfter(K))}var I=".smartmenus_scroll";K.dataSM("scroll",{y:this.cssTransforms3d?0:A-F,step:1,itemH:F,subH:J,arrowDownH:this.getHeight(K.dataSM("scroll-arrows").eq(1))}).bind(i([["mouseover",function(x){G.menuScrollOver(K,x)}],["mouseout",function(x){G.menuScrollOut(K,x)}],["mousewheel DOMMouseScroll",function(x){G.menuScrollMousewheel(K,x)}]],I)).dataSM("scroll-arrows").css({top:"auto",left:"0",marginLeft:C+(parseInt(K.css("border-left-width"))||0),width:t-(parseInt(K.css("border-left-width"))||0)-(parseInt(K.css("border-right-width"))||0),zIndex:K.css("z-index")}).eq(w&&this.opts.bottomToTopSubMenus?0:1).show();if(this.isFixed()){K.css({"touch-action":"none","-ms-touch-action":"none"}).bind(i([[d?"touchstart touchmove touchend":"pointerdown pointermove pointerup MSPointerDown MSPointerMove MSPointerUp",function(x){G.menuScrollTouch(K,x)}]],I))}}}K.css({top:"auto",left:"0",marginLeft:C,marginTop:A-F});this.menuIframeShim(K);if(K.dataSM("ie-shim")){K.dataSM("ie-shim").css({zIndex:K.css("z-index"),width:t,height:J,marginLeft:C,marginTop:A-F})}},menuScroll:function(r,m,n){var p=r.dataSM("scroll"),q=r.dataSM("scroll-arrows"),o=p.up?p.upEnd:p.downEnd,s;if(!m&&p.momentum){p.momentum*=0.92;s=p.momentum;if(s<0.5){this.menuScrollStop(r);return}}else{s=n||(m||!this.opts.scrollAccelerate?this.opts.scrollStep:Math.floor(p.step))}var l=r.dataSM("level");if(this.activatedItems[l-1]&&this.activatedItems[l-1].dataSM("sub")&&this.activatedItems[l-1].dataSM("sub").is(":visible")){this.menuHideSubMenus(l-1)}p.y=p.up&&o<=p.y||!p.up&&o>=p.y?p.y:(Math.abs(o-p.y)>s?p.y+(p.up?s:-s):o);r.add(r.dataSM("ie-shim")).css(this.cssTransforms3d?{"-webkit-transform":"translate3d(0, "+p.y+"px, 0)",transform:"translate3d(0, "+p.y+"px, 0)"}:{marginTop:p.y});if(f&&(p.up&&p.y>p.downEnd||!p.up&&p.y<p.upEnd)){q.eq(p.up?1:0).show()}if(p.y==o){if(f){q.eq(p.up?0:1).hide()}this.menuScrollStop(r)}else{if(!m){if(this.opts.scrollAccelerate&&p.step<this.opts.scrollStep){p.step+=0.2}var t=this;this.scrollTimeout=g(function(){t.menuScroll(r)})}}},menuScrollMousewheel:function(m,n){if(this.getClosestMenu(n.target)==m[0]){n=n.originalEvent;var l=(n.wheelDelta||-n.detail)>0;if(m.dataSM("scroll-arrows").eq(l?0:1).is(":visible")){m.dataSM("scroll").up=l;this.menuScroll(m,true)}}n.preventDefault()},menuScrollOut:function(l,m){if(f){if(!/^scroll-(up|down)/.test((m.relatedTarget||"").className)&&(l[0]!=m.relatedTarget&&!a.contains(l[0],m.relatedTarget)||this.getClosestMenu(m.relatedTarget)!=l[0])){l.dataSM("scroll-arrows").css("visibility","hidden")}}},menuScrollOver:function(n,o){if(f){if(!/^scroll-(up|down)/.test(o.target.className)&&this.getClosestMenu(o.target)==n[0]){this.menuScrollRefreshData(n);var m=n.dataSM("scroll"),l=a(window).scrollTop()-n.dataSM("parent-a").offset().top-m.itemH;n.dataSM("scroll-arrows").eq(0).css("margin-top",l).end().eq(1).css("margin-top",l+this.getViewportHeight()-m.arrowDownH).end().css("visibility","visible")}}},menuScrollRefreshData:function(n){var m=n.dataSM("scroll"),l=a(window).scrollTop()-n.dataSM("parent-a").offset().top-m.itemH;if(this.cssTransforms3d){l=-(parseFloat(n.css("margin-top"))-l)}a.extend(m,{upEnd:l,downEnd:l+this.getViewportHeight()-m.subH})},menuScrollStop:function(l){if(this.scrollTimeout){c(this.scrollTimeout);this.scrollTimeout=0;l.dataSM("scroll").step=1;return true}},menuScrollTouch:function(p,q){q=q.originalEvent;if(j(q)){var m=this.getTouchPoint(q);if(this.getClosestMenu(m.target)==p[0]){var o=p.dataSM("scroll");if(/(start|down)$/i.test(q.type)){if(this.menuScrollStop(p)){q.preventDefault();this.$touchScrollingSub=p}else{this.$touchScrollingSub=null}this.menuScrollRefreshData(p);a.extend(o,{touchStartY:m.pageY,touchStartTime:q.timeStamp})}else{if(/move$/i.test(q.type)){var n=o.touchY!==undefined?o.touchY:o.touchStartY;if(n!==undefined&&n!=m.pageY){this.$touchScrollingSub=p;var l=n<m.pageY;if(o.up!==undefined&&o.up!=l){a.extend(o,{touchStartY:m.pageY,touchStartTime:q.timeStamp})}a.extend(o,{up:l,touchY:m.pageY});this.menuScroll(p,true,Math.abs(m.pageY-n))}q.preventDefault()}else{if(o.touchY!==undefined){if(o.momentum=Math.pow(Math.abs(m.pageY-o.touchStartY)/(q.timeStamp-o.touchStartTime),2)*15){this.menuScrollStop(p);this.menuScroll(p);q.preventDefault()}delete o.touchY}}}}}},menuShow:function(n){if(!n.dataSM("beforefirstshowfired")){n.dataSM("beforefirstshowfired",true);if(this.$root.triggerHandler("beforefirstshow.smapi",n[0])===false){return}}if(this.$root.triggerHandler("beforeshow.smapi",n[0])===false){return}n.dataSM("shown-before",true).stop(true,true);if(!n.is(":visible")){var m=n.dataSM("parent-a");if(this.opts.keepHighlighted||this.isCollapsible()){m.addClass("highlighted")}if(this.isCollapsible()){n.removeClass("sm-nowrap").css({zIndex:"",width:"auto",minWidth:"",maxWidth:"",top:"",left:"",marginLeft:"",marginTop:""})}else{n.css("z-index",this.zIndexInc=(this.zIndexInc||this.getStartZIndex())+1);if(this.opts.subMenusMinWidth||this.opts.subMenusMaxWidth){n.css({width:"auto",minWidth:"",maxWidth:""}).addClass("sm-nowrap");if(this.opts.subMenusMinWidth){n.css("min-width",this.opts.subMenusMinWidth)}if(this.opts.subMenusMaxWidth){var o=this.getWidth(n);n.css("max-width",this.opts.subMenusMaxWidth);if(o>this.getWidth(n)){n.removeClass("sm-nowrap").css("width",this.opts.subMenusMaxWidth)}}}this.menuPosition(n);if(n.dataSM("ie-shim")){n.dataSM("ie-shim").insertBefore(n)}}var l=function(){n.css("overflow","")};if(this.isCollapsible()){if(this.opts.collapsibleShowFunction){this.opts.collapsibleShowFunction.call(this,n,l)}else{n.show(this.opts.collapsibleShowDuration,l)}}else{if(this.opts.showFunction){this.opts.showFunction.call(this,n,l)}else{n.show(this.opts.showDuration,l)}}m.attr("aria-expanded","true");n.attr({"aria-expanded":"true","aria-hidden":"false"});this.visibleSubMenus.push(n);this.$root.triggerHandler("show.smapi",n[0])}},popupHide:function(l){if(this.hideTimeout){clearTimeout(this.hideTimeout);this.hideTimeout=0}var m=this;this.hideTimeout=setTimeout(function(){m.menuHideAll()},l?1:this.opts.hideTimeout)},popupShow:function(o,n){if(!this.opts.isPopup){alert('SmartMenus jQuery Error:\n\nIf you want to show this menu via the "popupShow" method, set the isPopup:true option.');return}if(this.hideTimeout){clearTimeout(this.hideTimeout);this.hideTimeout=0}this.$root.dataSM("shown-before",true).stop(true,true);if(!this.$root.is(":visible")){this.$root.css({left:o,top:n});this.menuIframeShim(this.$root);if(this.$root.dataSM("ie-shim")){this.$root.dataSM("ie-shim").css({zIndex:this.$root.css("z-index"),width:this.getWidth(this.$root),height:this.getHeight(this.$root),left:o,top:n}).insertBefore(this.$root)}var m=this,l=function(){m.$root.css("overflow","")};if(this.opts.showFunction){this.opts.showFunction.call(this,this.$root,l)}else{this.$root.show(this.opts.showDuration,l)}this.visibleSubMenus[0]=this.$root}},refresh:function(){this.destroy(true);this.init(true)},rootKeyDown:function(o){if(!this.handleEvents()){return}switch(o.keyCode){case 27:var m=this.activatedItems[0];if(m){this.menuHideAll();m[0].focus();var n=m.dataSM("sub");if(n){this.menuHide(n)}}break;case 32:var l=a(o.target);if(l.is("a")&&this.handleItemEvents(l)){var n=l.dataSM("sub");if(n&&!n.is(":visible")){this.itemClick({currentTarget:o.target});o.preventDefault()}}break}},rootOut:function(m){if(!this.handleEvents()||this.isTouchMode()||m.target==this.$root[0]){return}if(this.hideTimeout){clearTimeout(this.hideTimeout);this.hideTimeout=0}if(!this.opts.showOnClick||!this.opts.hideOnClick){var l=this;this.hideTimeout=setTimeout(function(){l.menuHideAll()},this.opts.hideTimeout)}},rootOver:function(l){if(!this.handleEvents()||this.isTouchMode()||l.target==this.$root[0]){return}if(this.hideTimeout){clearTimeout(this.hideTimeout);this.hideTimeout=0}},winResize:function(m){if(!this.handleEvents()){if(this.$disableOverlay){var n=this.$root.offset();this.$disableOverlay.css({top:n.top,left:n.left,width:this.$root.outerWidth(),height:this.$root.outerHeight()})}return}if(!("onorientationchange" in window)||m.type=="orientationchange"){var l=this.isCollapsible();if(!(this.wasCollapsible&&l)){if(this.activatedItems.length){this.activatedItems[this.activatedItems.length-1][0].blur()}this.menuHideAll()}this.wasCollapsible=l}}}});a.fn.dataSM=function(l,m){if(m){return this.data(l+"_smartmenus",m)}return this.data(l+"_smartmenus")};a.fn.removeDataSM=function(l){return this.removeData(l+"_smartmenus")};a.fn.smartmenus=function(m){if(typeof m=="string"){var l=arguments,o=m;Array.prototype.shift.call(l);return this.each(function(){var p=a(this).data("smartmenus");if(p&&p[o]){p[o].apply(p,l)}})}var n=a.extend({},a.fn.smartmenus.defaults,m);return this.each(function(){new a.SmartMenus(this,n)})};a.fn.smartmenus.defaults={isPopup:false,mainMenuSubOffsetX:0,mainMenuSubOffsetY:0,subMenusSubOffsetX:0,subMenusSubOffsetY:0,subMenusMinWidth:"10em",subMenusMaxWidth:"20em",subIndicators:true,subIndicatorsPos:"prepend",subIndicatorsText:"+",scrollStep:30,scrollAccelerate:true,showTimeout:250,hideTimeout:500,showDuration:0,showFunction:null,hideDuration:0,hideFunction:function(m,l){m.fadeOut(200,l)},collapsibleShowDuration:0,collapsibleShowFunction:function(m,l){m.slideDown(200,l)},collapsibleHideDuration:0,collapsibleHideFunction:function(m,l){m.slideUp(200,l)},showOnClick:false,hideOnClick:true,noMouseOver:false,keepInViewport:true,keepHighlighted:true,markCurrentItem:false,markCurrentTree:true,rightToLeftSubMenus:false,bottomToTopSubMenus:false,overlapControlsInIE:true};return a}));
\ No newline at end of file
+(function(a){if(typeof define==="function"&&define.amd){define(["jquery"],a)}else{a(jQuery)}}(function(k){var A=k(document),s=k(window),w=k("body");var n="displayController",e="hasActiveHover",d="forcedOpen",u="hasMouseMove",f="mouseOnToPopup",g="originalTitle",y="powertip",o="powertipjq",l="powertiptarget",E=180/Math.PI;var c={isTipOpen:false,isFixedTipOpen:false,isClosing:false,tipOpenImminent:false,activeHover:null,currentX:0,currentY:0,previousX:0,previousY:0,desyncTimeout:null,mouseTrackingActive:false,delayInProgress:false,windowWidth:0,windowHeight:0,scrollTop:0,scrollLeft:0};var p={none:0,top:1,bottom:2,left:4,right:8};k.fn.powerTip=function(F,N){if(!this.length){return this}if(k.type(F)==="string"&&k.powerTip[F]){return k.powerTip[F].call(this,this,N)}var O=k.extend({},k.fn.powerTip.defaults,F),G=new x(O);h();this.each(function M(){var R=k(this),Q=R.data(y),P=R.data(o),T=R.data(l),S;if(R.data(n)){k.powerTip.destroy(R)}S=R.attr("title");if(!Q&&!T&&!P&&S){R.data(y,S);R.data(g,S);R.removeAttr("title")}R.data(n,new t(R,O,G))});if(!O.manual){this.on({"mouseenter.powertip":function J(P){k.powerTip.show(this,P)},"mouseleave.powertip":function L(){k.powerTip.hide(this)},"focus.powertip":function K(){k.powerTip.show(this)},"blur.powertip":function H(){k.powerTip.hide(this,true)},"keydown.powertip":function I(P){if(P.keyCode===27){k.powerTip.hide(this,true)}}})}return this};k.fn.powerTip.defaults={fadeInTime:200,fadeOutTime:100,followMouse:false,popupId:"powerTip",intentSensitivity:7,intentPollInterval:100,closeDelay:100,placement:"n",smartPlacement:false,offset:10,mouseOnToPopup:false,manual:false};k.fn.powerTip.smartPlacementLists={n:["n","ne","nw","s"],e:["e","ne","se","w","nw","sw","n","s","e"],s:["s","se","sw","n"],w:["w","nw","sw","e","ne","se","n","s","w"],nw:["nw","w","sw","n","s","se","nw"],ne:["ne","e","se","n","s","sw","ne"],sw:["sw","w","nw","s","n","ne","sw"],se:["se","e","ne","s","n","nw","se"],"nw-alt":["nw-alt","n","ne-alt","sw-alt","s","se-alt","w","e"],"ne-alt":["ne-alt","n","nw-alt","se-alt","s","sw-alt","e","w"],"sw-alt":["sw-alt","s","se-alt","nw-alt","n","ne-alt","w","e"],"se-alt":["se-alt","s","sw-alt","ne-alt","n","nw-alt","e","w"]};k.powerTip={show:function z(F,G){if(G){i(G);c.previousX=G.pageX;c.previousY=G.pageY;k(F).data(n).show()}else{k(F).first().data(n).show(true,true)}return F},reposition:function r(F){k(F).first().data(n).resetPosition();return F},hide:function D(G,F){if(G){k(G).first().data(n).hide(F)}else{if(c.activeHover){c.activeHover.data(n).hide(true)}}return G},destroy:function C(G){k(G).off(".powertip").each(function F(){var I=k(this),H=[g,n,e,d];if(I.data(g)){I.attr("title",I.data(g));H.push(y)}I.removeData(H)});return G}};k.powerTip.showTip=k.powerTip.show;k.powerTip.closeTip=k.powerTip.hide;function b(){var F=this;F.top="auto";F.left="auto";F.right="auto";F.bottom="auto";F.set=function(H,G){if(k.isNumeric(G)){F[H]=Math.round(G)}}}function t(K,N,F){var J=null;function L(P,Q){M();if(!K.data(e)){if(!P){c.tipOpenImminent=true;J=setTimeout(function O(){J=null;I()},N.intentPollInterval)}else{if(Q){K.data(d,true)}F.showTip(K)}}}function G(P){M();c.tipOpenImminent=false;if(K.data(e)){K.data(d,false);if(!P){c.delayInProgress=true;J=setTimeout(function O(){J=null;F.hideTip(K);c.delayInProgress=false},N.closeDelay)}else{F.hideTip(K)}}}function I(){var Q=Math.abs(c.previousX-c.currentX),O=Math.abs(c.previousY-c.currentY),P=Q+O;if(P<N.intentSensitivity){F.showTip(K)}else{c.previousX=c.currentX;c.previousY=c.currentY;L()}}function M(){J=clearTimeout(J);c.delayInProgress=false}function H(){F.resetPosition(K)}this.show=L;this.hide=G;this.cancel=M;this.resetPosition=H}function j(){function G(M,L,J,O,P){var K=L.split("-")[0],N=new b(),I;if(q(M)){I=H(M,K)}else{I=F(M,K)}switch(L){case"n":N.set("left",I.left-(J/2));N.set("bottom",c.windowHeight-I.top+P);break;case"e":N.set("left",I.left+P);N.set("top",I.top-(O/2));break;case"s":N.set("left",I.left-(J/2));N.set("top",I.top+P);break;case"w":N.set("top",I.top-(O/2));N.set("right",c.windowWidth-I.left+P);break;case"nw":N.set("bottom",c.windowHeight-I.top+P);N.set("right",c.windowWidth-I.left-20);break;case"nw-alt":N.set("left",I.left);N.set("bottom",c.windowHeight-I.top+P);break;case"ne":N.set("left",I.left-20);N.set("bottom",c.windowHeight-I.top+P);break;case"ne-alt":N.set("bottom",c.windowHeight-I.top+P);N.set("right",c.windowWidth-I.left);break;case"sw":N.set("top",I.top+P);N.set("right",c.windowWidth-I.left-20);break;case"sw-alt":N.set("left",I.left);N.set("top",I.top+P);break;case"se":N.set("left",I.left-20);N.set("top",I.top+P);break;case"se-alt":N.set("top",I.top+P);N.set("right",c.windowWidth-I.left);break}return N}function F(K,J){var O=K.offset(),N=K.outerWidth(),I=K.outerHeight(),M,L;switch(J){case"n":M=O.left+N/2;L=O.top;break;case"e":M=O.left+N;L=O.top+I/2;break;case"s":M=O.left+N/2;L=O.top+I;break;case"w":M=O.left;L=O.top+I/2;break;case"nw":M=O.left;L=O.top;break;case"ne":M=O.left+N;L=O.top;break;case"sw":M=O.left;L=O.top+I;break;case"se":M=O.left+N;L=O.top+I;break}return{top:L,left:M}}function H(O,K){var S=O.closest("svg")[0],N=O[0],W=S.createSVGPoint(),L=N.getBBox(),V=N.getScreenCTM(),M=L.width/2,Q=L.height/2,P=[],I=["nw","n","ne","e","se","s","sw","w"],U,X,R,T;function J(){P.push(W.matrixTransform(V))}W.x=L.x;W.y=L.y;J();W.x+=M;J();W.x+=M;J();W.y+=Q;J();W.y+=Q;J();W.x-=M;J();W.x-=M;J();W.y-=Q;J();if(P[0].y!==P[1].y||P[0].x!==P[7].x){X=Math.atan2(V.b,V.a)*E;R=Math.ceil(((X%360)-22.5)/45);if(R<1){R+=8}while(R--){I.push(I.shift())}}for(T=0;T<P.length;T++){if(I[T]===K){U=P[T];break}}return{top:U.y+c.scrollTop,left:U.x+c.scrollLeft}}this.compute=G}function x(Q){var P=new j(),O=k("#"+Q.popupId);if(O.length===0){O=k("<div/>",{id:Q.popupId});if(w.length===0){w=k("body")}w.append(O)}if(Q.followMouse){if(!O.data(u)){A.on("mousemove",M);s.on("scroll",M);O.data(u,true)}}if(Q.mouseOnToPopup){O.on({mouseenter:function L(){if(O.data(f)){if(c.activeHover){c.activeHover.data(n).cancel()}}},mouseleave:function N(){if(c.activeHover){c.activeHover.data(n).hide()}}})}function I(S){S.data(e,true);O.queue(function R(T){H(S);T()})}function H(S){var U;if(!S.data(e)){return}if(c.isTipOpen){if(!c.isClosing){K(c.activeHover)}O.delay(100).queue(function R(V){H(S);V()});return}S.trigger("powerTipPreRender");U=B(S);if(U){O.empty().append(U)}else{return}S.trigger("powerTipRender");c.activeHover=S;c.isTipOpen=true;O.data(f,Q.mouseOnToPopup);if(!Q.followMouse){G(S);c.isFixedTipOpen=true}else{M()}O.fadeIn(Q.fadeInTime,function T(){if(!c.desyncTimeout){c.desyncTimeout=setInterval(J,500)}S.trigger("powerTipOpen")})}function K(R){c.isClosing=true;c.activeHover=null;c.isTipOpen=false;c.desyncTimeout=clearInterval(c.desyncTimeout);R.data(e,false);R.data(d,false);O.fadeOut(Q.fadeOutTime,function S(){var T=new b();c.isClosing=false;c.isFixedTipOpen=false;O.removeClass();T.set("top",c.currentY+Q.offset);T.set("left",c.currentX+Q.offset);O.css(T);R.trigger("powerTipClose")})}function M(){if(!c.isFixedTipOpen&&(c.isTipOpen||(c.tipOpenImminent&&O.data(u)))){var R=O.outerWidth(),V=O.outerHeight(),U=new b(),S,T;U.set("top",c.currentY+Q.offset);U.set("left",c.currentX+Q.offset);S=m(U,R,V);if(S!==p.none){T=a(S);if(T===1){if(S===p.right){U.set("left",c.windowWidth-R)}else{if(S===p.bottom){U.set("top",c.scrollTop+c.windowHeight-V)}}}else{U.set("left",c.currentX-R-Q.offset);U.set("top",c.currentY-V-Q.offset)}}O.css(U)}}function G(S){var R,T;if(Q.smartPlacement){R=k.fn.powerTip.smartPlacementLists[Q.placement];k.each(R,function(U,W){var V=m(F(S,W),O.outerWidth(),O.outerHeight());T=W;if(V===p.none){return false}})}else{F(S,Q.placement);T=Q.placement}O.addClass(T)}function F(U,T){var R=0,S,W,V=new b();V.set("top",0);V.set("left",0);O.css(V);do{S=O.outerWidth();W=O.outerHeight();V=P.compute(U,T,S,W,Q.offset);O.css(V)}while(++R<=5&&(S!==O.outerWidth()||W!==O.outerHeight()));return V}function J(){var R=false;if(c.isTipOpen&&!c.isClosing&&!c.delayInProgress){if(c.activeHover.data(e)===false||c.activeHover.is(":disabled")){R=true}else{if(!v(c.activeHover)&&!c.activeHover.is(":focus")&&!c.activeHover.data(d)){if(O.data(f)){if(!v(O)){R=true}}else{R=true}}}if(R){K(c.activeHover)}}}this.showTip=I;this.hideTip=K;this.resetPosition=G}function q(F){return window.SVGElement&&F[0] instanceof SVGElement}function h(){if(!c.mouseTrackingActive){c.mouseTrackingActive=true;k(function H(){c.scrollLeft=s.scrollLeft();c.scrollTop=s.scrollTop();c.windowWidth=s.width();c.windowHeight=s.height()});A.on("mousemove",i);s.on({resize:function G(){c.windowWidth=s.width();c.windowHeight=s.height()},scroll:function F(){var I=s.scrollLeft(),J=s.scrollTop();if(I!==c.scrollLeft){c.currentX+=I-c.scrollLeft;c.scrollLeft=I}if(J!==c.scrollTop){c.currentY+=J-c.scrollTop;c.scrollTop=J}}})}}function i(F){c.currentX=F.pageX;c.currentY=F.pageY}function v(F){var H=F.offset(),J=F[0].getBoundingClientRect(),I=J.right-J.left,G=J.bottom-J.top;return c.currentX>=H.left&&c.currentX<=H.left+I&&c.currentY>=H.top&&c.currentY<=H.top+G}function B(I){var G=I.data(y),F=I.data(o),K=I.data(l),H,J;if(G){if(k.isFunction(G)){G=G.call(I[0])}J=G}else{if(F){if(k.isFunction(F)){F=F.call(I[0])}if(F.length>0){J=F.clone(true,true)}}else{if(K){H=k("#"+K);if(H.length>0){J=H.html()}}}}return J}function m(M,L,K){var G=c.scrollTop,J=c.scrollLeft,I=G+c.windowHeight,F=J+c.windowWidth,H=p.none;if(M.top<G||Math.abs(M.bottom-c.windowHeight)-K<G){H|=p.top}if(M.top+K>I||Math.abs(M.bottom-c.windowHeight)>I){H|=p.bottom}if(M.left<J||M.right+L>F){H|=p.left}if(M.left+L>F||M.right<J){H|=p.right}return H}function a(G){var F=0;while(G){G&=G-1;F++}return F}}));
\ No newline at end of file
diff --git a/doc/api-ref/html/menu.js b/doc/api-ref/html/menu.js
deleted file mode 100644 (file)
index 97db4c2..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-function initMenu(relPath,searchEnabled,serverSide,searchPage,search) {
-  function makeTree(data,relPath) {
-    var result='';
-    if ('children' in data) {
-      result+='<ul>';
-      for (var i in data.children) {
-        result+='<li><a href="'+relPath+data.children[i].url+'">'+
-                                data.children[i].text+'</a>'+
-                                makeTree(data.children[i],relPath)+'</li>';
-      }
-      result+='</ul>';
-    }
-    return result;
-  }
-
-  $('#main-nav').append(makeTree(menudata,relPath));
-  $('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu');
-  if (searchEnabled) {
-    if (serverSide) {
-      $('#main-menu').append('<li style="float:right"><div id="MSearchBox" class="MSearchBoxInactive"><div class="left"><form id="FSearchBox" action="'+searchPage+'" method="get"><img id="MSearchSelect" src="'+relPath+'search/mag.png" alt=""/><input type="text" id="MSearchField" name="query" value="'+search+'" size="20" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)"></form></div><div class="right"></div></div></li>');
-    } else {
-      $('#main-menu').append('<li style="float:right"><div id="MSearchBox" class="MSearchBoxInactive"><span class="left"><img id="MSearchSelect" src="'+relPath+'search/mag_sel.png" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" alt=""/><input type="text" id="MSearchField" value="'+search+'" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)" onkeyup="searchBox.OnSearchFieldChange(event)"/></span><span class="right"><a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="'+relPath+'search/close.png" alt=""/></a></span></div></li>');
-    }
-  }
-  $('#main-menu').smartmenus();
-}
diff --git a/doc/api-ref/html/menudata.js b/doc/api-ref/html/menudata.js
deleted file mode 100644 (file)
index 6a15d9a..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-var menudata={children:[
-{text:"Main Page",url:"index.html"},
-{text:"Classes",url:"annotated.html",children:[
-{text:"Class List",url:"annotated.html"},
-{text:"Class Index",url:"classes.html"},
-{text:"Class Members",url:"functions.html",children:[
-{text:"All",url:"functions.html"},
-{text:"Functions",url:"functions_func.html"},
-{text:"Variables",url:"functions_vars.html"},
-{text:"Typedefs",url:"functions_type.html"},
-{text:"Enumerations",url:"functions_enum.html"},
-{text:"Enumerator",url:"functions_eval.html"}]}]},
-{text:"Files",url:"files.html",children:[
-{text:"File List",url:"files.html"},
-{text:"File Members",url:"globals.html",children:[
-{text:"All",url:"globals.html",children:[
-{text:"_",url:"globals.html#index__"},
-{text:"a",url:"globals.html#index_a"},
-{text:"c",url:"globals.html#index_c"},
-{text:"e",url:"globals.html#index_e"},
-{text:"g",url:"globals.html#index_g"},
-{text:"h",url:"globals.html#index_h"},
-{text:"i",url:"globals.html#index_i"},
-{text:"l",url:"globals.html#index_l"},
-{text:"m",url:"globals.html#index_m"},
-{text:"n",url:"globals.html#index_n"},
-{text:"o",url:"globals.html#index_o"},
-{text:"p",url:"globals.html#index_p"},
-{text:"r",url:"globals.html#index_r"},
-{text:"s",url:"globals.html#index_s"},
-{text:"t",url:"globals.html#index_t"},
-{text:"u",url:"globals.html#index_u"},
-{text:"v",url:"globals.html#index_v"}]},
-{text:"Functions",url:"globals_func.html",children:[
-{text:"_",url:"globals_func.html#index__"},
-{text:"c",url:"globals_func.html#index_c"},
-{text:"e",url:"globals_func.html#index_e"},
-{text:"g",url:"globals_func.html#index_g"},
-{text:"h",url:"globals_func.html#index_h"},
-{text:"i",url:"globals_func.html#index_i"},
-{text:"m",url:"globals_func.html#index_m"},
-{text:"o",url:"globals_func.html#index_o"},
-{text:"p",url:"globals_func.html#index_p"},
-{text:"s",url:"globals_func.html#index_s"},
-{text:"t",url:"globals_func.html#index_t"},
-{text:"u",url:"globals_func.html#index_u"}]},
-{text:"Variables",url:"globals_vars.html"},
-{text:"Typedefs",url:"globals_type.html"},
-{text:"Enumerations",url:"globals_enum.html"},
-{text:"Enumerator",url:"globals_eval.html"},
-{text:"Macros",url:"globals_defs.html"}]}]}]}
index f25360b..d54e0bd 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_0.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_0.js"></script>
 <script type="text/javascript" src="search.js"></script>
index e7aee8c..ae2f14b 100644 (file)
@@ -1,13 +1,27 @@
 var searchData=
 [
 var searchData=
 [
-  ['_5fapplication_5fname',['_application_name',['../d0/d1e/homescreen_8c.html#a1f2c79fa6801b63751e270d67994fe81',1,'homescreen.c']]],
-  ['_5fdisplay_5fmessage',['_display_message',['../d0/d1e/homescreen_8c.html#abfd6c1d6f316fa952b11553f8f275e92',1,'homescreen.c']]],
-  ['_5ferror',['_error',['../d0/d1e/homescreen_8c.html#aed1c5296a2e6d34945507a0fca17a376',1,'homescreen.c']]],
-  ['_5fgnu_5fsource',['_GNU_SOURCE',['../d0/d1e/homescreen_8c.html#a369266c24eacffb87046522897a570d5',1,'homescreen.c']]],
-  ['_5fhmi_5flog',['_HMI_LOG',['../df/d76/hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a',1,'hmi-debug.h']]],
+  ['_5f_5ffilename_5f_5f',['__FILENAME__',['../d2/d66/include_2hmi-debug_8h.html#a5fccb4fc71e44089a1b1a77fc76c0b68',1,'__FILENAME__():&#160;hmi-debug.h'],['../d6/dff/src_2hmi-debug_8h.html#a5fccb4fc71e44089a1b1a77fc76c0b68',1,'__FILENAME__():&#160;hmi-debug.h']]],
+  ['_5fapplication_5fid',['_application_id',['../d6/dda/homescreen_8cpp.html#a6a0e1db2562b442f8131ddf64b61d1ba',1,'_application_id():&#160;homescreen.cpp'],['../d3/d3d/hs-helper_8h.html#a6a0e1db2562b442f8131ddf64b61d1ba',1,'_application_id():&#160;homescreen.cpp']]],
+  ['_5fareafullscreen',['_areaFullScreen',['../de/dd0/class_lib_home_screen.html#ad0569f5323ead77a43bd8735377a6f25',1,'LibHomeScreen']]],
+  ['_5fareanormal',['_areaNormal',['../de/dd0/class_lib_home_screen.html#aac718b60b83c74e2b061f6f7f7ec3bf5',1,'LibHomeScreen']]],
+  ['_5fareasplitmain',['_areaSplitMain',['../de/dd0/class_lib_home_screen.html#a7f201fc366146790520bf8d990f7b2eb',1,'LibHomeScreen']]],
+  ['_5fareasplitsub',['_areaSplitSub',['../de/dd0/class_lib_home_screen.html#ab4f54373b0681de11243152f01c48888',1,'LibHomeScreen']]],
+  ['_5fdisplay_5fmessage',['_display_message',['../d6/dda/homescreen_8cpp.html#abfd6c1d6f316fa952b11553f8f275e92',1,'_display_message():&#160;homescreen.cpp'],['../d3/d3d/hs-helper_8h.html#abfd6c1d6f316fa952b11553f8f275e92',1,'_display_message():&#160;homescreen.cpp']]],
+  ['_5ferror',['_error',['../d6/dda/homescreen_8cpp.html#aed1c5296a2e6d34945507a0fca17a376',1,'_error():&#160;homescreen.cpp'],['../d3/d3d/hs-helper_8h.html#aed1c5296a2e6d34945507a0fca17a376',1,'_error():&#160;homescreen.cpp']]],
+  ['_5fgnu_5fsource',['_GNU_SOURCE',['../d6/dda/homescreen_8cpp.html#a369266c24eacffb87046522897a570d5',1,'homescreen.cpp']]],
+  ['_5fhmi_5flog',['_HMI_LOG',['../d2/d66/include_2hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a',1,'_HMI_LOG(enum LOG_LEVEL level, const char *file, const char *func, const int line, const char *prefix, const char *log,...):&#160;hmi-debug.h'],['../d6/dff/src_2hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a',1,'_HMI_LOG(enum LOG_LEVEL level, const char *file, const char *func, const int line, const char *prefix, const char *log,...):&#160;hmi-debug.h']]],
+  ['_5fhomescreen',['_homescreen',['../dd/d30/hs-clientmanager_8cpp.html#a8bbab9002543614eacdc7a319d13a476',1,'hs-clientmanager.cpp']]],
+  ['_5ficon',['_icon',['../d8/d55/hs-client_8cpp.html#a5476c8a51997c773220bec9fc02eeaf5',1,'hs-client.cpp']]],
+  ['_5finfo',['_info',['../d8/d55/hs-client_8cpp.html#ae125cd80cb98582684636e46ecf33cac',1,'hs-client.cpp']]],
+  ['_5fkeyarea',['_keyArea',['../de/dd0/class_lib_home_screen.html#a8becda1b035ae45f5a11c7e7963091bf',1,'LibHomeScreen']]],
+  ['_5fkeyparameter',['_keyParameter',['../de/dd0/class_lib_home_screen.html#a927592eff8e34efbbceaf12522f8897f',1,'LibHomeScreen']]],
   ['_5fon_5fcall_5fstatic',['_on_call_static',['../d0/d8a/libhomescreen_8cpp.html#a782a05fde0f1c17e0c4c8f972a3f53c8',1,'libhomescreen.cpp']]],
   ['_5fon_5fevent_5fstatic',['_on_event_static',['../d0/d8a/libhomescreen_8cpp.html#a3df86185aa9453726556da201d95a6f9',1,'libhomescreen.cpp']]],
   ['_5fon_5fhangup_5fstatic',['_on_hangup_static',['../d0/d8a/libhomescreen_8cpp.html#a73c05b96c151e5e46c28585ccb143c1c',1,'libhomescreen.cpp']]],
   ['_5fon_5freply_5fstatic',['_on_reply_static',['../d0/d8a/libhomescreen_8cpp.html#a7778933bffa862c63fa0a1b8219faa8b',1,'libhomescreen.cpp']]],
   ['_5fon_5fcall_5fstatic',['_on_call_static',['../d0/d8a/libhomescreen_8cpp.html#a782a05fde0f1c17e0c4c8f972a3f53c8',1,'libhomescreen.cpp']]],
   ['_5fon_5fevent_5fstatic',['_on_event_static',['../d0/d8a/libhomescreen_8cpp.html#a3df86185aa9453726556da201d95a6f9',1,'libhomescreen.cpp']]],
   ['_5fon_5fhangup_5fstatic',['_on_hangup_static',['../d0/d8a/libhomescreen_8cpp.html#a73c05b96c151e5e46c28585ccb143c1c',1,'libhomescreen.cpp']]],
   ['_5fon_5freply_5fstatic',['_on_reply_static',['../d0/d8a/libhomescreen_8cpp.html#a7778933bffa862c63fa0a1b8219faa8b',1,'libhomescreen.cpp']]],
-  ['_5freply_5fmessage',['_reply_message',['../d0/d1e/homescreen_8c.html#a79b0f0b481161527ccb80e83da143219',1,'homescreen.c']]]
+  ['_5fparameter',['_parameter',['../d8/d55/hs-client_8cpp.html#ae3fc16098a2461f2f1ae0ac8561437c6',1,'hs-client.cpp']]],
+  ['_5freply_5fmessage',['_reply_message',['../d6/dda/homescreen_8cpp.html#a79b0f0b481161527ccb80e83da143219',1,'_reply_message():&#160;homescreen.cpp'],['../d3/d3d/hs-helper_8h.html#a79b0f0b481161527ccb80e83da143219',1,'_reply_message():&#160;homescreen.cpp']]],
+  ['_5freplyto',['_replyto',['../d8/d55/hs-client_8cpp.html#ac5b722c0d87d2b0e3dfc527b44a1f5db',1,'hs-client.cpp']]],
+  ['_5ftext',['_text',['../d8/d55/hs-client_8cpp.html#ad177811d47939fe9404de88672a980ab',1,'hs-client.cpp']]],
+  ['_5ftype',['_type',['../d8/d55/hs-client_8cpp.html#a1c24b43242df87f75631175c75afdcda',1,'hs-client.cpp']]]
 ];
 ];
index b13f0f7..8cc6a1d 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_1.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_1.js"></script>
 <script type="text/javascript" src="search.js"></script>
index c9f1816..d58d048 100644 (file)
@@ -1,7 +1,14 @@
 var searchData=
 [
 var searchData=
 [
-  ['afb_5fbinding_5fversion',['AFB_BINDING_VERSION',['../d0/d1e/homescreen_8c.html#ad2c1fbc92ba364fcf83f15e6d0af66f0',1,'AFB_BINDING_VERSION():&#160;homescreen.c'],['../d3/d3d/hs-helper_8h.html#ad2c1fbc92ba364fcf83f15e6d0af66f0',1,'AFB_BINDING_VERSION():&#160;hs-helper.h']]],
-  ['afbbindingv2',['afbBindingV2',['../d0/d1e/homescreen_8c.html#ae2a62ab481a2922cbfc788193857a12e',1,'homescreen.c']]],
+  ['afb_5fbinding_5fversion',['AFB_BINDING_VERSION',['../d3/d3d/hs-helper_8h.html#ad2c1fbc92ba364fcf83f15e6d0af66f0',1,'hs-helper.h']]],
+  ['afb_5fevent_5fbad_5frequest',['AFB_EVENT_BAD_REQUEST',['../d3/d3d/hs-helper_8h.html#aa611e2ec24ef295bd87825889fe2ce5e',1,'hs-helper.h']]],
+  ['afb_5freq_5fshowinformation_5ferror',['AFB_REQ_SHOWINFORMATION_ERROR',['../d3/d3d/hs-helper_8h.html#aefe0d7ff8202f954693c235c1fb8e310',1,'hs-helper.h']]],
+  ['afb_5freq_5fshownotification_5ferror',['AFB_REQ_SHOWNOTIFICATION_ERROR',['../d3/d3d/hs-helper_8h.html#a057fc88b8445828c261305cf9107d99d',1,'hs-helper.h']]],
+  ['afb_5freq_5fsubscribe_5ferror',['AFB_REQ_SUBSCRIBE_ERROR',['../d3/d3d/hs-helper_8h.html#a995612de89db4df1483c16e4b9b70571',1,'hs-helper.h']]],
+  ['afb_5freq_5funsubscribe_5ferror',['AFB_REQ_UNSUBSCRIBE_ERROR',['../d3/d3d/hs-helper_8h.html#a78e930a97920b821706a80ca8f430034',1,'hs-helper.h']]],
+  ['afbbindingexport',['afbBindingExport',['../d6/dda/homescreen_8cpp.html#a970e7864dba290a0371534ad4961bcc5',1,'homescreen.cpp']]],
   ['api',['API',['../d0/d8a/libhomescreen_8cpp.html#a1e2d6e77dd8f0162f830058579eab42f',1,'libhomescreen.cpp']]],
   ['api',['API',['../d0/d8a/libhomescreen_8cpp.html#a1e2d6e77dd8f0162f830058579eab42f',1,'libhomescreen.cpp']]],
-  ['api_5flist',['api_list',['../de/dd0/class_lib_home_screen.html#a5593ff5ac78f6495ccb649904cf0ab08',1,'LibHomeScreen']]]
+  ['api_5flist',['api_list',['../de/dd0/class_lib_home_screen.html#a5593ff5ac78f6495ccb649904cf0ab08',1,'LibHomeScreen']]],
+  ['app_5fname',['app_name',['../de/da4/simple-egl_8cpp.html#a0da928eccfc57d1dfadfd29d4ac4854c',1,'simple-egl.cpp']]],
+  ['applicationid',['ApplicationId',['../d0/d8a/libhomescreen_8cpp.html#a5a89bcb5a83f6b2e5c664a041bd8fd00',1,'libhomescreen.cpp']]]
 ];
 ];
index d1345a1..c25484f 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_10.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_10.js"></script>
 <script type="text/javascript" src="search.js"></script>
index 954e53b..5995aee 100644 (file)
@@ -1,4 +1,13 @@
 var searchData=
 [
 var searchData=
 [
-  ['verbs',['verbs',['../d0/d1e/homescreen_8c.html#acad6dadf60fac3d701e488e4fcd11c89',1,'homescreen.c']]]
+  ['seat',['seat',['../d6/df5/structdisplay.html#a9dd8fd9967beb6b3767bd93011373bb8',1,'display']]],
+  ['set_5fevent_5fhandler',['set_event_handler',['../de/dd0/class_lib_home_screen.html#ab1b0e08bf35415de9064afed899e9f85',1,'LibHomeScreen']]],
+  ['showinformation',['showInformation',['../de/dd0/class_lib_home_screen.html#ada999aeb0444c964428bdf1ee236727f',1,'LibHomeScreen::showInformation()'],['../d5/d20/class_h_s___client.html#a7145c14a7a971b45f647a82e3390ce9c',1,'HS_Client::showInformation()'],['../d2/d8e/class_h_s___client_manager.html#a0645294f89c67fd3c9b0cce62a900f69',1,'HS_ClientManager::showInformation()'],['../d6/dda/homescreen_8cpp.html#a916c8dd31373222ee2b6ef89aca91978',1,'showInformation():&#160;homescreen.cpp']]],
+  ['shownotification',['showNotification',['../de/dd0/class_lib_home_screen.html#a93ad567ed597a80a344ba82457c2bd7f',1,'LibHomeScreen::showNotification()'],['../d5/d20/class_h_s___client.html#a77b41c1bc6f2c939410108d821a0b456',1,'HS_Client::showNotification()'],['../d2/d8e/class_h_s___client_manager.html#a857934af280081ca6ac61d9f2cac37c5',1,'HS_ClientManager::showNotification()'],['../d6/dda/homescreen_8cpp.html#ad96a84455e8676abb4486e48ef67b1ad',1,'showNotification():&#160;homescreen.cpp']]],
+  ['showwindow',['showWindow',['../de/dd0/class_lib_home_screen.html#a69fc770cb3f94d30a10c2c8c81eb892f',1,'LibHomeScreen::showWindow()'],['../d5/d20/class_h_s___client.html#af0f2be967a5b6ee81932c73b101184f7',1,'HS_Client::showWindow()'],['../d2/d8e/class_h_s___client_manager.html#afed8158f276d1d22c32b0d89e970d442',1,'HS_ClientManager::showWindow()'],['../d6/dda/homescreen_8cpp.html#ae475c69e7ca2a539ae0fb40a82963ac1',1,'showWindow():&#160;homescreen.cpp']]],
+  ['signal_5fint',['signal_int',['../de/da4/simple-egl_8cpp.html#a2cfc8c2d3fc1273ba8f811d2e639aec8',1,'simple-egl.cpp']]],
+  ['simple_2degl_2ecpp',['simple-egl.cpp',['../de/da4/simple-egl_8cpp.html',1,'']]],
+  ['subscribe',['subscribe',['../de/dd0/class_lib_home_screen.html#aa4c189807b75d070f567967f0d690738',1,'LibHomeScreen::subscribe()'],['../d5/d20/class_h_s___client.html#a3d000ca70bd4a8af7c4895d95bc7d0d0',1,'HS_Client::subscribe()'],['../d2/d8e/class_h_s___client_manager.html#a1b8a4e42342c4bcdc4e7dc4934e02469',1,'HS_ClientManager::subscribe()'],['../d6/dda/homescreen_8cpp.html#a6e942ab2b7207d2aef9adce71a4574e8',1,'subscribe():&#160;homescreen.cpp']]],
+  ['surface',['surface',['../d6/de3/structwindow.html#a7d0790cfc7c30621611fa26ab5c1ae97',1,'window::surface()'],['../de/da4/simple-egl_8cpp.html#a0720952aa1caded45b5bcdce589663a9',1,'surface():&#160;simple-egl.cpp']]],
+  ['swap_5fbuffers_5fwith_5fdamage',['swap_buffers_with_damage',['../d6/df5/structdisplay.html#a48c46c118e4765ef06596f6341c8f23f',1,'display']]]
 ];
 ];
index 2be8b71..3615c28 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_11.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_11.js"></script>
 <script type="text/javascript" src="search.js"></script>
index 5b08f6d..9f7a767 100644 (file)
@@ -1,4 +1,7 @@
 var searchData=
 [
 var searchData=
 [
-  ['_7elibhomescreen',['~LibHomeScreen',['../de/dd0/class_lib_home_screen.html#a249902aebf71a5383ca8ec6ae558d095',1,'LibHomeScreen']]]
+  ['tap_5fshortcut',['tap_shortcut',['../d5/d20/class_h_s___client.html#a0d7fb8316248e8946dcb73a6612f21bb',1,'HS_Client::tap_shortcut()'],['../d2/d8e/class_h_s___client_manager.html#a9910fc27c412530b5b9854b00bd16c07',1,'HS_ClientManager::tap_shortcut()'],['../d6/dda/homescreen_8cpp.html#ab8abb667377924d5c073611738febbd3',1,'tap_shortcut():&#160;homescreen.cpp']]],
+  ['tapshortcut',['tapShortcut',['../de/dd0/class_lib_home_screen.html#a6ca8ff4a2aa019a735afaff713e0ef44',1,'LibHomeScreen']]],
+  ['token',['token',['../de/da4/simple-egl_8cpp.html#a623ef6987ef3bd185c07b28b13e46d34',1,'simple-egl.cpp']]],
+  ['types',['types',['../de/da4/simple-egl_8cpp.html#aea3203db9e218d3e5d60bdb4ebe2fa1f',1,'simple-egl.cpp']]]
 ];
 ];
index 13c5263..abd082a 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_12.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_12.js"></script>
 <script type="text/javascript" src="search.js"></script>
index 5b08f6d..c20e5ea 100644 (file)
@@ -1,4 +1,4 @@
 var searchData=
 [
 var searchData=
 [
-  ['_7elibhomescreen',['~LibHomeScreen',['../de/dd0/class_lib_home_screen.html#a249902aebf71a5383ca8ec6ae558d095',1,'LibHomeScreen']]]
+  ['unsubscribe',['unsubscribe',['../de/dd0/class_lib_home_screen.html#aac03a45cbd453ba69ddb00c1016930a6',1,'LibHomeScreen::unsubscribe()'],['../d5/d20/class_h_s___client.html#a3da3b5662f918e11773da75f8f971d9c',1,'HS_Client::unsubscribe()'],['../d2/d8e/class_h_s___client_manager.html#ac86314afbb90116e2f02ce071166226e',1,'HS_ClientManager::unsubscribe()'],['../d6/dda/homescreen_8cpp.html#a3b162ab1856a8fa4284cb2c5c35ea748',1,'unsubscribe():&#160;homescreen.cpp']]]
 ];
 ];
similarity index 89%
rename from doc/api-ref/html/search/defines_4.html
rename to doc/api-ref/html/search/all_13.html
index 54da39a..88fa653 100644 (file)
@@ -1,9 +1,9 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="defines_4.js"></script>
+<script type="text/javascript" src="all_13.js"></script>
 <script type="text/javascript" src="search.js"></script>
 </head>
 <body class="SRPage">
 <script type="text/javascript" src="search.js"></script>
 </head>
 <body class="SRPage">
diff --git a/doc/api-ref/html/search/all_13.js b/doc/api-ref/html/search/all_13.js
new file mode 100644 (file)
index 0000000..dd36f26
--- /dev/null
@@ -0,0 +1,5 @@
+var searchData=
+[
+  ['verbs',['verbs',['../d6/dda/homescreen_8cpp.html#a01e06b6317acebc1d5686386b15f0872',1,'homescreen.cpp']]],
+  ['vert_5fshader_5ftext',['vert_shader_text',['../de/da4/simple-egl_8cpp.html#a717575939a37d84dcd4cf0447a630834',1,'simple-egl.cpp']]]
+];
diff --git a/doc/api-ref/html/search/all_14.html b/doc/api-ref/html/search/all_14.html
new file mode 100644 (file)
index 0000000..518db1d
--- /dev/null
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_14.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/api-ref/html/search/all_14.js b/doc/api-ref/html/search/all_14.js
new file mode 100644 (file)
index 0000000..0458d0f
--- /dev/null
@@ -0,0 +1,7 @@
+var searchData=
+[
+  ['width',['width',['../dd/ddc/structgeometry.html#a854a87ce277335591f06958a2363c3e1',1,'geometry']]],
+  ['window',['window',['../d6/de3/structwindow.html',1,'window'],['../d6/df5/structdisplay.html#a9974d560bec291487ae2440f897ffc58',1,'display::window()']]],
+  ['window_5fsize',['window_size',['../d6/de3/structwindow.html#ad2b6c8ed8044b41fd1189a0ce26d539a',1,'window']]],
+  ['wm',['wm',['../de/da4/simple-egl_8cpp.html#ad1513698e07197206c290f94d7669d85',1,'simple-egl.cpp']]]
+];
diff --git a/doc/api-ref/html/search/all_15.html b/doc/api-ref/html/search/all_15.html
new file mode 100644 (file)
index 0000000..1331c0d
--- /dev/null
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_15.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/api-ref/html/search/all_15.js b/doc/api-ref/html/search/all_15.js
new file mode 100644 (file)
index 0000000..0f353a2
--- /dev/null
@@ -0,0 +1,6 @@
+var searchData=
+[
+  ['_7ehs_5fclient',['~HS_Client',['../d5/d20/class_h_s___client.html#ab29a9e899aaec3c21983c24ec6e5ee70',1,'HS_Client']]],
+  ['_7ehs_5fclientmanager',['~HS_ClientManager',['../d2/d8e/class_h_s___client_manager.html#a50733274a93293fef892fdd453d74cae',1,'HS_ClientManager']]],
+  ['_7elibhomescreen',['~LibHomeScreen',['../de/dd0/class_lib_home_screen.html#a249902aebf71a5383ca8ec6ae558d095',1,'LibHomeScreen']]]
+];
index 9543c57..d15ac65 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_2.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_2.js"></script>
 <script type="text/javascript" src="search.js"></script>
index 3e9676b..9e8ced2 100644 (file)
@@ -1,6 +1,5 @@
 var searchData=
 [
 var searchData=
 [
-  ['call',['call',['../de/dd0/class_lib_home_screen.html#a527b49dcfe581be6275d0eb2236ba37f',1,'LibHomeScreen::call(const std::string &amp;verb, struct json_object *arg)'],['../de/dd0/class_lib_home_screen.html#ab5e8e8ab7d53e0f114e9e907fcbb7643',1,'LibHomeScreen::call(const char *verb, struct json_object *arg)']]],
-  ['call_5ftest',['call_test',['../df/dac/test_8cpp.html#aa9b3c43c212b49edee82ac30a11aa255',1,'test.cpp']]],
-  ['command_5fevent_5fnum',['COMMAND_EVENT_NUM',['../d0/d1e/homescreen_8c.html#a09f43d9e7e1c5d2198c0d66024b4500e',1,'homescreen.c']]]
+  ['benchmark_5ftime',['benchmark_time',['../d6/de3/structwindow.html#a72629bf021a361ad900504732a74cb68',1,'window']]],
+  ['buffer_5fsize',['buffer_size',['../d6/de3/structwindow.html#a0e634038f669aff472012f25ea250b40',1,'window']]]
 ];
 ];
index 03405c0..9f526c6 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_3.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_3.js"></script>
 <script type="text/javascript" src="search.js"></script>
index 495680f..c8fc043 100644 (file)
@@ -1,17 +1,13 @@
 var searchData=
 [
 var searchData=
 [
-  ['error_5fflag',['ERROR_FLAG',['../df/d76/hmi-debug_8h.html#a13d4c7647aad2e84766f8b48a6caab09',1,'hmi-debug.h']]],
-  ['ev_5fon_5fscreen_5fmessage',['ev_on_screen_message',['../d0/d1e/homescreen_8c.html#af7cfc4f688bb898c09291252c4cb832c',1,'homescreen.c']]],
-  ['ev_5fon_5fscreen_5freply',['ev_on_screen_reply',['../d0/d1e/homescreen_8c.html#a5c225341e0ecbae0585302ef754a55ec',1,'homescreen.c']]],
-  ['ev_5freserved',['ev_reserved',['../d0/d1e/homescreen_8c.html#a25fbdcc4e5787e3f41d99f4a71e86611',1,'homescreen.c']]],
-  ['ev_5ftap_5fshortcut',['ev_tap_shortcut',['../d0/d1e/homescreen_8c.html#a2af1ff5a4cbf03125e61e903832035f5',1,'homescreen.c']]],
-  ['event',['event',['../df/d7d/structevent.html',1,'event'],['../df/d7d/structevent.html#a58726ebc551d36562ac3f9e1fe293214',1,'event::event()']]],
-  ['event_5flist',['event_list',['../de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9',1,'LibHomeScreen::event_list()'],['../d0/d1e/homescreen_8c.html#a1c3c5bfa861dcb58d9e9d216d893864c',1,'event_list():&#160;homescreen.c']]],
-  ['event_5floop_5frun',['event_loop_run',['../d0/d8a/libhomescreen_8cpp.html#aa73353e1bf62c68b6b0aba7a1e4e275e',1,'libhomescreen.cpp']]],
-  ['event_5fonscreenmessage',['Event_OnScreenMessage',['../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d',1,'LibHomeScreen']]],
-  ['event_5fonscreenreply',['Event_OnScreenReply',['../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd',1,'LibHomeScreen']]],
-  ['event_5fsubscribe_5ferror_5fcode',['EVENT_SUBSCRIBE_ERROR_CODE',['../d0/d1e/homescreen_8c.html#a9a68ed04201d9390bb85b2c6ab1d7250',1,'homescreen.c']]],
-  ['event_5ftapshortcut',['Event_TapShortcut',['../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f',1,'LibHomeScreen']]],
-  ['eventtype',['EventType',['../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154',1,'LibHomeScreen']]],
-  ['evlist',['evlist',['../d3/d3d/hs-helper_8h.html#a0cd84b1a2184c9b84d1b7bf24582f28e',1,'hs-helper.h']]]
+  ['call',['call',['../de/dd0/class_lib_home_screen.html#a527b49dcfe581be6275d0eb2236ba37f',1,'LibHomeScreen::call(const std::string &amp;verb, struct json_object *arg)'],['../de/dd0/class_lib_home_screen.html#ab5e8e8ab7d53e0f114e9e907fcbb7643',1,'LibHomeScreen::call(const char *verb, struct json_object *arg)']]],
+  ['callback',['callback',['../d6/de3/structwindow.html#a35ba639556fa19d9273dad0953a6807e',1,'window']]],
+  ['cbremoveclientctxt',['cbRemoveClientCtxt',['../dd/d30/hs-clientmanager_8cpp.html#a2e9d0e1086eba0a016056dc43bc90a73',1,'hs-clientmanager.cpp']]],
+  ['col',['col',['../d6/de3/structwindow.html#aef10fe94766ccd4831ee611c5ad0e55c',1,'window']]],
+  ['compositor',['compositor',['../d6/df5/structdisplay.html#a41ba32dfde812165dda5b62885000c78',1,'display']]],
+  ['conf',['conf',['../d6/df5/structdisplay.html#a880aef9408b499f5b749541dc6e396c3',1,'display']]],
+  ['create_5fivi_5fsurface',['create_ivi_surface',['../de/da4/simple-egl_8cpp.html#a0122201fe28a7f35b0fbd362fff7094e',1,'simple-egl.cpp']]],
+  ['create_5fshader',['create_shader',['../de/da4/simple-egl_8cpp.html#ab72c580e4d6d47c2fb49c72cc76b85bb',1,'simple-egl.cpp']]],
+  ['create_5fsurface',['create_surface',['../de/da4/simple-egl_8cpp.html#a83c7f2e34bbc715d97f0642def708293',1,'simple-egl.cpp']]],
+  ['ctx',['ctx',['../d6/df5/structdisplay.html#a3420940a29a710e0e5ebd41ba462cc00',1,'display']]]
 ];
 ];
index 8e1f4b9..7b814aa 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_4.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_4.js"></script>
 <script type="text/javascript" src="search.js"></script>
index 15928c8..dfc4751 100644 (file)
@@ -1,6 +1,6 @@
 var searchData=
 [
 var searchData=
 [
-  ['get_5fvalue_5fint16',['get_value_int16',['../dd/d1d/hs-helper_8c.html#a2e62366684e39ea94436bf017e416827',1,'get_value_int16(const struct afb_req request, const char *source, int16_t *out_id):&#160;hs-helper.c'],['../d3/d3d/hs-helper_8h.html#a2e62366684e39ea94436bf017e416827',1,'get_value_int16(const struct afb_req request, const char *source, int16_t *out_id):&#160;hs-helper.c']]],
-  ['get_5fvalue_5fint32',['get_value_int32',['../dd/d1d/hs-helper_8c.html#ac5b0370643c520377afd3fd4891918d2',1,'get_value_int32(const struct afb_req request, const char *source, int32_t *out_id):&#160;hs-helper.c'],['../d3/d3d/hs-helper_8h.html#ac5b0370643c520377afd3fd4891918d2',1,'get_value_int32(const struct afb_req request, const char *source, int32_t *out_id):&#160;hs-helper.c']]],
-  ['get_5fvalue_5fuint16',['get_value_uint16',['../dd/d1d/hs-helper_8c.html#a649900645417f2df3a70b9ad67529f53',1,'get_value_uint16(const struct afb_req request, const char *source, uint16_t *out_id):&#160;hs-helper.c'],['../d3/d3d/hs-helper_8h.html#a649900645417f2df3a70b9ad67529f53',1,'get_value_uint16(const struct afb_req request, const char *source, uint16_t *out_id):&#160;hs-helper.c']]]
+  ['destroy_5fsurface',['destroy_surface',['../de/da4/simple-egl_8cpp.html#aba2ea9aa51701e52d4f36b4f34cecf7a',1,'simple-egl.cpp']]],
+  ['display',['display',['../d6/df5/structdisplay.html',1,'display'],['../d6/df5/structdisplay.html#aa8faf09631925e9221fd8a0c086ce75a',1,'display::display()'],['../d6/de3/structwindow.html#a129486f2bd23791194f389ca1405cfd4',1,'window::display()']]],
+  ['dpy',['dpy',['../d6/df5/structdisplay.html#a8a1cbda15a286e41e89a85f158ce9311',1,'display']]]
 ];
 ];
index 89a879e..d8de556 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_5.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_5.js"></script>
 <script type="text/javascript" src="search.js"></script>
index 70c41b2..f5556c3 100644 (file)
@@ -1,19 +1,21 @@
 var searchData=
 [
 var searchData=
 [
-  ['handler_5ffunc',['handler_func',['../de/dd0/class_lib_home_screen.html#a334f11f81c84c98d18284215dcaada3a',1,'LibHomeScreen']]],
-  ['has_5fverb',['has_verb',['../d0/d8a/libhomescreen_8cpp.html#a7a2176c3d71fec0f09dcb2aa0866b17e',1,'libhomescreen.cpp']]],
-  ['hmi_2ddebug_2eh',['hmi-debug.h',['../df/d76/hmi-debug_8h.html',1,'']]],
-  ['hmi_5fdebug',['HMI_DEBUG',['../df/d76/hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0',1,'hmi-debug.h']]],
-  ['hmi_5ferror',['HMI_ERROR',['../df/d76/hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2',1,'hmi-debug.h']]],
-  ['hmi_5finfo',['HMI_INFO',['../df/d76/hmi-debug_8h.html#a11b249a67108f0f4c50a0fc8a3eb4f5c',1,'hmi-debug.h']]],
-  ['hmi_5fnotice',['HMI_NOTICE',['../df/d76/hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15',1,'hmi-debug.h']]],
-  ['hmi_5fwarning',['HMI_WARNING',['../df/d76/hmi-debug_8h.html#a25361812432cd2480bc8f1a8e56ecbf7',1,'hmi-debug.h']]],
-  ['homescreen_2ec',['homescreen.c',['../d0/d1e/homescreen_8c.html',1,'']]],
-  ['hs',['hs',['../df/dac/test_8cpp.html#a529acbd1fed9d98a587edfa62309fa8d',1,'test.cpp']]],
-  ['hs_2dhelper_2ec',['hs-helper.c',['../dd/d1d/hs-helper_8c.html',1,'']]],
-  ['hs_2dhelper_2eh',['hs-helper.h',['../d3/d3d/hs-helper_8h.html',1,'']]],
-  ['hs_5fadd_5fobject_5fto_5fjson_5fobject',['hs_add_object_to_json_object',['../dd/d1d/hs-helper_8c.html#a1ba31a6a94515ff1730ba0043a67d59e',1,'hs_add_object_to_json_object(struct json_object *j_obj, int count,...):&#160;hs-helper.c'],['../d3/d3d/hs-helper_8h.html#a1ba31a6a94515ff1730ba0043a67d59e',1,'hs_add_object_to_json_object(struct json_object *j_obj, int count,...):&#160;hs-helper.c']]],
-  ['hs_5fadd_5fobject_5fto_5fjson_5fobject_5ffunc',['hs_add_object_to_json_object_func',['../dd/d1d/hs-helper_8c.html#ae83604a37134e7bdee3ce4f10bb0b47a',1,'hs_add_object_to_json_object_func(struct json_object *j_obj, const char *verb_name, int count,...):&#160;hs-helper.c'],['../d3/d3d/hs-helper_8h.html#ae83604a37134e7bdee3ce4f10bb0b47a',1,'hs_add_object_to_json_object_func(struct json_object *j_obj, const char *verb_name, int count,...):&#160;hs-helper.c']]],
-  ['hs_5fadd_5fobject_5fto_5fjson_5fobject_5fstr',['hs_add_object_to_json_object_str',['../dd/d1d/hs-helper_8c.html#a8777c53f1d4d5412f19b134ad85ffedf',1,'hs_add_object_to_json_object_str(struct json_object *j_obj, int count,...):&#160;hs-helper.c'],['../d3/d3d/hs-helper_8h.html#a8777c53f1d4d5412f19b134ad85ffedf',1,'hs_add_object_to_json_object_str(struct json_object *j_obj, int count,...):&#160;hs-helper.c']]],
-  ['hs_5fsearch_5fevent_5fname_5findex',['hs_search_event_name_index',['../dd/d1d/hs-helper_8c.html#a2ff1b894941c3b461ca8119079c4146a',1,'hs_search_event_name_index(const char *value):&#160;hs-helper.c'],['../d3/d3d/hs-helper_8h.html#a2ff1b894941c3b461ca8119079c4146a',1,'hs_search_event_name_index(const char *value):&#160;hs-helper.c']]]
+  ['egl',['egl',['../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7',1,'display']]],
+  ['egl_5fbuffer_5fage_5fext',['EGL_BUFFER_AGE_EXT',['../de/da4/simple-egl_8cpp.html#a7045d8a6b4857f268a62fab2de2021fd',1,'simple-egl.cpp']]],
+  ['egl_5fext_5fbuffer_5fage',['EGL_EXT_buffer_age',['../de/da4/simple-egl_8cpp.html#a0792e3d8b2bc978f95917a234b0c81df',1,'simple-egl.cpp']]],
+  ['egl_5fext_5fswap_5fbuffers_5fwith_5fdamage',['EGL_EXT_swap_buffers_with_damage',['../de/da4/simple-egl_8cpp.html#a083d37f289b99270e0391419178d458f',1,'simple-egl.cpp']]],
+  ['egl_5fsurface',['egl_surface',['../d6/de3/structwindow.html#a8de0059f3f1cb0dec33fba1143b7dee1',1,'window']]],
+  ['eglboolean',['EGLBoolean',['../de/da4/simple-egl_8cpp.html#ab4ad070d3bf82abe5e70330578f67893',1,'simple-egl.cpp']]],
+  ['error_5fflag',['ERROR_FLAG',['../d2/d66/include_2hmi-debug_8h.html#a13d4c7647aad2e84766f8b48a6caab09',1,'ERROR_FLAG():&#160;hmi-debug.h'],['../d6/dff/src_2hmi-debug_8h.html#a13d4c7647aad2e84766f8b48a6caab09',1,'ERROR_FLAG():&#160;hmi-debug.h']]],
+  ['event_5fhidewindow',['Event_HideWindow',['../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aef8bb1086ddbc0a125d77af9da3146a0',1,'LibHomeScreen']]],
+  ['event_5flist',['event_list',['../de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9',1,'LibHomeScreen']]],
+  ['event_5fonscreenmessage',['Event_OnScreenMessage',['../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d',1,'LibHomeScreen']]],
+  ['event_5fonscreenreply',['Event_OnScreenReply',['../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd',1,'LibHomeScreen']]],
+  ['event_5freplyshowwindow',['Event_ReplyShowWindow',['../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aaacb8babce7fac884ab4bf7605da0d9f',1,'LibHomeScreen']]],
+  ['event_5fshowinformation',['Event_ShowInformation',['../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a1fad2ac5071a1dae7db9c8e1b522669b',1,'LibHomeScreen']]],
+  ['event_5fshownotification',['Event_ShowNotification',['../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a68119a9c3ff85e807db38d3282e5ca30',1,'LibHomeScreen']]],
+  ['event_5fshowwindow',['Event_ShowWindow',['../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a3fb3563c64786f1a2ae404df6edffd5c',1,'LibHomeScreen']]],
+  ['event_5ftapshortcut',['Event_TapShortcut',['../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f',1,'LibHomeScreen']]],
+  ['eventtype',['EventType',['../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154',1,'LibHomeScreen']]],
+  ['evlist',['evlist',['../df/d66/hs-helper_8cpp.html#a0cd84b1a2184c9b84d1b7bf24582f28e',1,'evlist():&#160;hs-helper.cpp'],['../d3/d3d/hs-helper_8h.html#a0cd84b1a2184c9b84d1b7bf24582f28e',1,'evlist():&#160;hs-helper.cpp']]]
 ];
 ];
index 6afac06..9ba0cc2 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_6.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_6.js"></script>
 <script type="text/javascript" src="search.js"></script>
index a3186af..7afa6c2 100644 (file)
@@ -1,4 +1,8 @@
 var searchData=
 [
 var searchData=
 [
-  ['init',['init',['../de/dd0/class_lib_home_screen.html#a6a57b573cc767725762ba9beab032220',1,'LibHomeScreen::init()'],['../d0/d1e/homescreen_8c.html#a00cbbc0f3f4452db078ae511684a6adc',1,'init():&#160;homescreen.c']]]
+  ['fini_5fegl',['fini_egl',['../de/da4/simple-egl_8cpp.html#a4f71f46ede5b73bd7c770c973826f771',1,'simple-egl.cpp']]],
+  ['frag_5fshader_5ftext',['frag_shader_text',['../de/da4/simple-egl_8cpp.html#ab5a6a2a26ac23f79b1687daa4b0d8980',1,'simple-egl.cpp']]],
+  ['frame_5fsync',['frame_sync',['../d6/de3/structwindow.html#a851bcb65083f5ab5ff768b09522bed70',1,'window']]],
+  ['frames',['frames',['../d6/de3/structwindow.html#a633864bb495ec265bee220a5c70cc98f',1,'window']]],
+  ['fullscreen',['fullscreen',['../d6/de3/structwindow.html#a8da44798a9e1feb7ed3fbd18ec3a28b6',1,'window']]]
 ];
 ];
index de19107..9384ec9 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_7.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_7.js"></script>
 <script type="text/javascript" src="search.js"></script>
index 8d1544e..9925d3e 100644 (file)
@@ -1,14 +1,10 @@
 var searchData=
 [
 var searchData=
 [
-  ['libhomescreen',['LibHomeScreen',['../de/dd0/class_lib_home_screen.html',1,'LibHomeScreen'],['../de/dd0/class_lib_home_screen.html#a724bd949c4154fad041f96a15ef0f5dc',1,'LibHomeScreen::LibHomeScreen()'],['../de/dd0/class_lib_home_screen.html#a0fff2f703c8ce184eb9edd133e0f4137',1,'LibHomeScreen::LibHomeScreen(const LibHomeScreen &amp;)=delete']]],
-  ['libhomescreen_2ecpp',['libhomescreen.cpp',['../d0/d8a/libhomescreen_8cpp.html',1,'']]],
-  ['libhomescreen_2ehpp',['libhomescreen.hpp',['../df/d43/libhomescreen_8hpp.html',1,'']]],
-  ['log_5flevel',['LOG_LEVEL',['../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583',1,'hmi-debug.h']]],
-  ['log_5flevel_5fdebug',['LOG_LEVEL_DEBUG',['../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177',1,'hmi-debug.h']]],
-  ['log_5flevel_5ferror',['LOG_LEVEL_ERROR',['../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f',1,'hmi-debug.h']]],
-  ['log_5flevel_5finfo',['LOG_LEVEL_INFO',['../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4',1,'hmi-debug.h']]],
-  ['log_5flevel_5fmax',['LOG_LEVEL_MAX',['../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444',1,'hmi-debug.h']]],
-  ['log_5flevel_5fnone',['LOG_LEVEL_NONE',['../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848',1,'hmi-debug.h']]],
-  ['log_5flevel_5fnotice',['LOG_LEVEL_NOTICE',['../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e',1,'hmi-debug.h']]],
-  ['log_5flevel_5fwarning',['LOG_LEVEL_WARNING',['../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef',1,'hmi-debug.h']]]
+  ['g_5fclient_5fmanager',['g_client_manager',['../d6/dda/homescreen_8cpp.html#a501f5bca8425de3171d46e0723f466ec',1,'homescreen.cpp']]],
+  ['g_5fid_5fivisurf',['g_id_ivisurf',['../de/da4/simple-egl_8cpp.html#a28f56c9f01ed9f108201950645317cc9',1,'simple-egl.cpp']]],
+  ['geometry',['geometry',['../dd/ddc/structgeometry.html',1,'']]],
+  ['get_5fvalue_5fint16',['get_value_int16',['../df/d66/hs-helper_8cpp.html#af3043612cf74bb92cb073e10cacd594a',1,'get_value_int16(const afb_req_t request, const char *source, int16_t *out_id):&#160;hs-helper.cpp'],['../d3/d3d/hs-helper_8h.html#af3043612cf74bb92cb073e10cacd594a',1,'get_value_int16(const afb_req_t request, const char *source, int16_t *out_id):&#160;hs-helper.cpp']]],
+  ['get_5fvalue_5fint32',['get_value_int32',['../df/d66/hs-helper_8cpp.html#a8121d965b6fd795c16b8576ab03dcaf1',1,'get_value_int32(const afb_req_t request, const char *source, int32_t *out_id):&#160;hs-helper.cpp'],['../d3/d3d/hs-helper_8h.html#a8121d965b6fd795c16b8576ab03dcaf1',1,'get_value_int32(const afb_req_t request, const char *source, int32_t *out_id):&#160;hs-helper.cpp']]],
+  ['get_5fvalue_5fuint16',['get_value_uint16',['../df/d66/hs-helper_8cpp.html#aba9ca63f68b1991f8650871f4eae8e0b',1,'get_value_uint16(const afb_req_t request, const char *source, uint16_t *out_id):&#160;hs-helper.cpp'],['../d3/d3d/hs-helper_8h.html#aba9ca63f68b1991f8650871f4eae8e0b',1,'get_value_uint16(const afb_req_t request, const char *source, uint16_t *out_id):&#160;hs-helper.cpp']]],
+  ['gl',['gl',['../d6/de3/structwindow.html#a6975a930e9a3c166f8201fc4ef5e7728',1,'window']]]
 ];
 ];
index 11e27cd..37566c5 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_8.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_8.js"></script>
 <script type="text/javascript" src="search.js"></script>
index 65e8f49..3242a60 100644 (file)
@@ -1,4 +1,29 @@
 var searchData=
 [
 var searchData=
 [
-  ['main',['main',['../df/dac/test_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627',1,'test.cpp']]]
+  ['handler_5ffunc',['handler_func',['../de/dd0/class_lib_home_screen.html#a334f11f81c84c98d18284215dcaada3a',1,'LibHomeScreen']]],
+  ['has_5fverb',['has_verb',['../d0/d8a/libhomescreen_8cpp.html#a7a2176c3d71fec0f09dcb2aa0866b17e',1,'libhomescreen.cpp']]],
+  ['height',['height',['../dd/ddc/structgeometry.html#a6968ae18c72699d1c164399bf0e5cf14',1,'geometry']]],
+  ['hidewindow',['hideWindow',['../de/dd0/class_lib_home_screen.html#a4dbaea6c7b310e8ce7207155ff11b32a',1,'LibHomeScreen::hideWindow()'],['../d5/d20/class_h_s___client.html#ac29482ffdf1b27733247ba0ffcc28b76',1,'HS_Client::hideWindow()'],['../d2/d8e/class_h_s___client_manager.html#a6195694d281a3b97b0345b96c0add1fd',1,'HS_ClientManager::hideWindow()'],['../d6/dda/homescreen_8cpp.html#a057c380ea38cfba4e2fbccc40fc21798',1,'hideWindow():&#160;homescreen.cpp']]],
+  ['hmi_2ddebug_2eh',['hmi-debug.h',['../d6/dff/src_2hmi-debug_8h.html',1,'']]],
+  ['hmi_2ddebug_2eh',['hmi-debug.h',['../d2/d66/include_2hmi-debug_8h.html',1,'']]],
+  ['hmi_5fdebug',['HMI_DEBUG',['../d2/d66/include_2hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0',1,'HMI_DEBUG():&#160;hmi-debug.h'],['../d6/dff/src_2hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0',1,'HMI_DEBUG():&#160;hmi-debug.h']]],
+  ['hmi_5ferror',['HMI_ERROR',['../d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2',1,'HMI_ERROR():&#160;hmi-debug.h'],['../d6/dff/src_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2',1,'HMI_ERROR():&#160;hmi-debug.h']]],
+  ['hmi_5finfo',['HMI_INFO',['../d2/d66/include_2hmi-debug_8h.html#a11b249a67108f0f4c50a0fc8a3eb4f5c',1,'HMI_INFO():&#160;hmi-debug.h'],['../d6/dff/src_2hmi-debug_8h.html#a11b249a67108f0f4c50a0fc8a3eb4f5c',1,'HMI_INFO():&#160;hmi-debug.h']]],
+  ['hmi_5fnotice',['HMI_NOTICE',['../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15',1,'HMI_NOTICE():&#160;hmi-debug.h'],['../d6/dff/src_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15',1,'HMI_NOTICE():&#160;hmi-debug.h']]],
+  ['hmi_5fwarning',['HMI_WARNING',['../d2/d66/include_2hmi-debug_8h.html#a25361812432cd2480bc8f1a8e56ecbf7',1,'HMI_WARNING():&#160;hmi-debug.h'],['../d6/dff/src_2hmi-debug_8h.html#a25361812432cd2480bc8f1a8e56ecbf7',1,'HMI_WARNING():&#160;hmi-debug.h']]],
+  ['homescreen_2ecpp',['homescreen.cpp',['../d6/dda/homescreen_8cpp.html',1,'']]],
+  ['hs',['hs',['../de/da4/simple-egl_8cpp.html#a529acbd1fed9d98a587edfa62309fa8d',1,'simple-egl.cpp']]],
+  ['hs_2dclient_2ecpp',['hs-client.cpp',['../d8/d55/hs-client_8cpp.html',1,'']]],
+  ['hs_2dclient_2eh',['hs-client.h',['../da/dd3/hs-client_8h.html',1,'']]],
+  ['hs_2dclientmanager_2ecpp',['hs-clientmanager.cpp',['../dd/d30/hs-clientmanager_8cpp.html',1,'']]],
+  ['hs_2dclientmanager_2eh',['hs-clientmanager.h',['../de/dca/hs-clientmanager_8h.html',1,'']]],
+  ['hs_2dhelper_2ecpp',['hs-helper.cpp',['../df/d66/hs-helper_8cpp.html',1,'']]],
+  ['hs_2dhelper_2eh',['hs-helper.h',['../d3/d3d/hs-helper_8h.html',1,'']]],
+  ['hs_5fadd_5fobject_5fto_5fjson_5fobject',['hs_add_object_to_json_object',['../df/d66/hs-helper_8cpp.html#a1ba31a6a94515ff1730ba0043a67d59e',1,'hs_add_object_to_json_object(struct json_object *j_obj, int count,...):&#160;hs-helper.cpp'],['../d3/d3d/hs-helper_8h.html#a1ba31a6a94515ff1730ba0043a67d59e',1,'hs_add_object_to_json_object(struct json_object *j_obj, int count,...):&#160;hs-helper.cpp']]],
+  ['hs_5fadd_5fobject_5fto_5fjson_5fobject_5ffunc',['hs_add_object_to_json_object_func',['../df/d66/hs-helper_8cpp.html#ae83604a37134e7bdee3ce4f10bb0b47a',1,'hs_add_object_to_json_object_func(struct json_object *j_obj, const char *verb_name, int count,...):&#160;hs-helper.cpp'],['../d3/d3d/hs-helper_8h.html#ae83604a37134e7bdee3ce4f10bb0b47a',1,'hs_add_object_to_json_object_func(struct json_object *j_obj, const char *verb_name, int count,...):&#160;hs-helper.cpp']]],
+  ['hs_5fadd_5fobject_5fto_5fjson_5fobject_5fstr',['hs_add_object_to_json_object_str',['../df/d66/hs-helper_8cpp.html#a8777c53f1d4d5412f19b134ad85ffedf',1,'hs_add_object_to_json_object_str(struct json_object *j_obj, int count,...):&#160;hs-helper.cpp'],['../d3/d3d/hs-helper_8h.html#a8777c53f1d4d5412f19b134ad85ffedf',1,'hs_add_object_to_json_object_str(struct json_object *j_obj, int count,...):&#160;hs-helper.cpp']]],
+  ['hs_5fclient',['HS_Client',['../d5/d20/class_h_s___client.html',1,'HS_Client'],['../d5/d20/class_h_s___client.html#a0afac6b86b9a72e74846e47e435f5f90',1,'HS_Client::HS_Client(afb_req_t request, const char *id)'],['../d5/d20/class_h_s___client.html#a47cb0035116ac7be4fffcfc9736e9233',1,'HS_Client::HS_Client(afb_req_t request, std::string id)'],['../d5/d20/class_h_s___client.html#a429a4697767344f3789bb233bc73a2b9',1,'HS_Client::HS_Client(HS_Client &amp;)=delete']]],
+  ['hs_5fclientctxt',['HS_ClientCtxt',['../d0/d53/struct_h_s___client_ctxt.html',1,'HS_ClientCtxt'],['../d0/d53/struct_h_s___client_ctxt.html#a9ff4dcc7b8c6061940a0ee79b5d15459',1,'HS_ClientCtxt::HS_ClientCtxt()'],['../de/dca/hs-clientmanager_8h.html#a58a145d17337b835ab3fe17b50163040',1,'HS_ClientCtxt():&#160;hs-clientmanager.h']]],
+  ['hs_5fclientmanager',['HS_ClientManager',['../d2/d8e/class_h_s___client_manager.html',1,'HS_ClientManager'],['../d2/d8e/class_h_s___client_manager.html#adac35e476e559cc89bc39363525268bf',1,'HS_ClientManager::HS_ClientManager()'],['../d2/d8e/class_h_s___client_manager.html#a0033db6b552f9de818789e76735c1ebc',1,'HS_ClientManager::HS_ClientManager(HS_ClientManager const &amp;)=delete'],['../d2/d8e/class_h_s___client_manager.html#a715811c549cccd93cb1f903d179c8b41',1,'HS_ClientManager::HS_ClientManager(HS_ClientManager &amp;&amp;)=delete']]],
+  ['hs_5fsearch_5fevent_5fname_5findex',['hs_search_event_name_index',['../df/d66/hs-helper_8cpp.html#a2ff1b894941c3b461ca8119079c4146a',1,'hs_search_event_name_index(const char *value):&#160;hs-helper.cpp'],['../d3/d3d/hs-helper_8h.html#a2ff1b894941c3b461ca8119079c4146a',1,'hs_search_event_name_index(const char *value):&#160;hs-helper.cpp']]]
 ];
 ];
index f8abbbe..c8c5102 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_9.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_9.js"></script>
 <script type="text/javascript" src="search.js"></script>
index 3235e35..0df6ca0 100644 (file)
@@ -1,5 +1,17 @@
 var searchData=
 [
 var searchData=
 [
-  ['name',['name',['../df/d7d/structevent.html#a45c6cfb7961a21a3366db067e4cc59ab',1,'event']]],
-  ['not_5fnumber',['NOT_NUMBER',['../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a',1,'hs-helper.h']]]
+  ['id',['id',['../d0/d53/struct_h_s___client_ctxt.html#a04929d7d5f583a821d3d594815f77d1c',1,'HS_ClientCtxt']]],
+  ['init',['init',['../de/dd0/class_lib_home_screen.html#a6a57b573cc767725762ba9beab032220',1,'LibHomeScreen::init()'],['../d2/d8e/class_h_s___client_manager.html#ae0b9b18adeffca7822b060ad4ea8a7a1',1,'HS_ClientManager::init()'],['../d6/dda/homescreen_8cpp.html#a5d7de3437d5dcb79fa035959d95878db',1,'init():&#160;homescreen.cpp']]],
+  ['init_5fegl',['init_egl',['../de/da4/simple-egl_8cpp.html#a1073d4aca1838d3877fe577d813700fc',1,'simple-egl.cpp']]],
+  ['init_5fgl',['init_gl',['../de/da4/simple-egl_8cpp.html#ab3ee863fa45f4026f78f592d6f6e34ff',1,'simple-egl.cpp']]],
+  ['init_5fhs',['init_hs',['../de/da4/simple-egl_8cpp.html#a79aafeb99915566dd3970246f465f306',1,'simple-egl.cpp']]],
+  ['init_5fwm',['init_wm',['../de/da4/simple-egl_8cpp.html#a644e25276ecdea04f2aa3412c1973927',1,'simple-egl.cpp']]],
+  ['instance',['instance',['../d2/d8e/class_h_s___client_manager.html#ad86c1fea7d107d52cbf0466fb7a2658b',1,'HS_ClientManager']]],
+  ['ivi_5fapplication',['ivi_application',['../d6/df5/structdisplay.html#a24c073faff3bb4799c2d46291f27ab89',1,'display']]],
+  ['ivi_5fapplication_5finterface',['ivi_application_interface',['../de/da4/simple-egl_8cpp.html#a769b65b7b0e834f732f1f45e835890d5',1,'simple-egl.cpp']]],
+  ['ivi_5fapplication_5frequests',['ivi_application_requests',['../de/da4/simple-egl_8cpp.html#a21a39b7c6cf5f6d10a62a70b3ebc9bad',1,'simple-egl.cpp']]],
+  ['ivi_5fsurface',['ivi_surface',['../d6/de3/structwindow.html#a40e2c6fb4178953c820fc1b9f41d4b31',1,'window']]],
+  ['ivi_5fsurface_5fevents',['ivi_surface_events',['../de/da4/simple-egl_8cpp.html#ac848f4fbf712a9ba414272fa85577791',1,'simple-egl.cpp']]],
+  ['ivi_5fsurface_5finterface',['ivi_surface_interface',['../de/da4/simple-egl_8cpp.html#adf384de8d12d2edd7265ab85fd16b11c',1,'simple-egl.cpp']]],
+  ['ivi_5fsurface_5frequests',['ivi_surface_requests',['../de/da4/simple-egl_8cpp.html#ada80120c5590d2821da9babef808b98d',1,'simple-egl.cpp']]]
 ];
 ];
index 9601fce..4cb31f0 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_a.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_a.js"></script>
 <script type="text/javascript" src="search.js"></script>
index bd45f3f..6e47c4f 100644 (file)
@@ -1,16 +1,15 @@
 var searchData=
 [
 var searchData=
 [
-  ['on_5fcall',['on_call',['../de/dd0/class_lib_home_screen.html#a608638eb87b2772a3dcc92d8ca8f3596',1,'LibHomeScreen']]],
-  ['on_5fevent',['on_event',['../de/dd0/class_lib_home_screen.html#a9c4885b51b43ab24a548d49fb3ab2de3',1,'LibHomeScreen']]],
-  ['on_5fhangup',['on_hangup',['../de/dd0/class_lib_home_screen.html#ab1c1fa69f24b981e824dd9fb810c4b74',1,'LibHomeScreen']]],
-  ['on_5freply',['on_reply',['../de/dd0/class_lib_home_screen.html#a248d9648c6186287a7632ec1c75fc9c5',1,'LibHomeScreen']]],
-  ['on_5fscreen_5fmessage',['on_screen_message',['../d0/d1e/homescreen_8c.html#a640cf8ed97d804c5ed1c09a349056338',1,'homescreen.c']]],
-  ['on_5fscreen_5freply',['on_screen_reply',['../d0/d1e/homescreen_8c.html#a2f380055d7d69828115d2a8951634933',1,'homescreen.c']]],
-  ['onev',['onEv',['../df/dac/test_8cpp.html#a6a2874c419fe5936fcccadc7e6cf268e',1,'test.cpp']]],
-  ['onevent',['onevent',['../d0/d1e/homescreen_8c.html#a1279893c0fe937311a81e0a98fb4cf1c',1,'homescreen.c']]],
-  ['onrep',['onRep',['../df/dac/test_8cpp.html#a6d3cb4886e7afd45bd56b49800da932d',1,'test.cpp']]],
-  ['onscreenmessage',['onScreenMessage',['../de/dd0/class_lib_home_screen.html#ac336482036a72b51a822725f1929523c',1,'LibHomeScreen']]],
-  ['onscreenreply',['onScreenReply',['../de/dd0/class_lib_home_screen.html#a6c065f41f2c5d1f58d2763bfb4da9c37',1,'LibHomeScreen']]],
-  ['operator_3d',['operator=',['../de/dd0/class_lib_home_screen.html#a23bc17798453cfca50904562736f6b25',1,'LibHomeScreen']]],
-  ['out_5frange',['OUT_RANGE',['../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b',1,'hs-helper.h']]]
+  ['libhomescreen',['LibHomeScreen',['../de/dd0/class_lib_home_screen.html',1,'LibHomeScreen'],['../de/dd0/class_lib_home_screen.html#a724bd949c4154fad041f96a15ef0f5dc',1,'LibHomeScreen::LibHomeScreen()'],['../de/dd0/class_lib_home_screen.html#a0fff2f703c8ce184eb9edd133e0f4137',1,'LibHomeScreen::LibHomeScreen(const LibHomeScreen &amp;)=delete']]],
+  ['libhomescreen_2ecpp',['libhomescreen.cpp',['../d0/d8a/libhomescreen_8cpp.html',1,'']]],
+  ['libhomescreen_2ehpp',['libhomescreen.hpp',['../df/d43/libhomescreen_8hpp.html',1,'']]],
+  ['log_5flevel',['LOG_LEVEL',['../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583',1,'LOG_LEVEL():&#160;hmi-debug.h'],['../d6/dff/src_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583',1,'LOG_LEVEL():&#160;hmi-debug.h']]],
+  ['log_5flevel_5fdebug',['LOG_LEVEL_DEBUG',['../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177',1,'LOG_LEVEL_DEBUG():&#160;hmi-debug.h'],['../d6/dff/src_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177',1,'LOG_LEVEL_DEBUG():&#160;hmi-debug.h']]],
+  ['log_5flevel_5ferror',['LOG_LEVEL_ERROR',['../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f',1,'LOG_LEVEL_ERROR():&#160;hmi-debug.h'],['../d6/dff/src_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f',1,'LOG_LEVEL_ERROR():&#160;hmi-debug.h']]],
+  ['log_5flevel_5finfo',['LOG_LEVEL_INFO',['../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4',1,'LOG_LEVEL_INFO():&#160;hmi-debug.h'],['../d6/dff/src_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4',1,'LOG_LEVEL_INFO():&#160;hmi-debug.h']]],
+  ['log_5flevel_5fmax',['LOG_LEVEL_MAX',['../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444',1,'LOG_LEVEL_MAX():&#160;hmi-debug.h'],['../d6/dff/src_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444',1,'LOG_LEVEL_MAX():&#160;hmi-debug.h']]],
+  ['log_5flevel_5fnone',['LOG_LEVEL_NONE',['../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848',1,'LOG_LEVEL_NONE():&#160;hmi-debug.h'],['../d6/dff/src_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848',1,'LOG_LEVEL_NONE():&#160;hmi-debug.h']]],
+  ['log_5flevel_5fnotice',['LOG_LEVEL_NOTICE',['../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e',1,'LOG_LEVEL_NOTICE():&#160;hmi-debug.h'],['../d6/dff/src_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e',1,'LOG_LEVEL_NOTICE():&#160;hmi-debug.h']]],
+  ['log_5flevel_5fwarning',['LOG_LEVEL_WARNING',['../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef',1,'LOG_LEVEL_WARNING():&#160;hmi-debug.h'],['../d6/dff/src_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef',1,'LOG_LEVEL_WARNING():&#160;hmi-debug.h']]],
+  ['log_5fprefix',['log_prefix',['../de/da4/simple-egl_8cpp.html#a894f18168fa25101d792262f59846938',1,'simple-egl.cpp']]]
 ];
 ];
index 0814e4e..d34a612 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_b.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_b.js"></script>
 <script type="text/javascript" src="search.js"></script>
index fe196ed..7b7e904 100644 (file)
@@ -1,5 +1,5 @@
 var searchData=
 [
 var searchData=
 [
-  ['pingsample',['pingSample',['../d0/d1e/homescreen_8c.html#af48cab759d4ae0ddbfcdd60f4051ba05',1,'homescreen.c']]],
-  ['preinit',['preinit',['../d0/d1e/homescreen_8c.html#a83d646edf54a6a082f69121bc89a08de',1,'homescreen.c']]]
+  ['main',['main',['../de/da4/simple-egl_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627',1,'simple-egl.cpp']]],
+  ['main_5frole',['main_role',['../de/da4/simple-egl_8cpp.html#a332251aa739a56836cd4fbf3ecbb8bb2',1,'simple-egl.cpp']]]
 ];
 ];
index da08c38..c1ae2ca 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_c.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_c.js"></script>
 <script type="text/javascript" src="search.js"></script>
index 6066723..39e936e 100644 (file)
@@ -1,7 +1,6 @@
 var searchData=
 [
 var searchData=
 [
-  ['registercallback',['registerCallback',['../de/dd0/class_lib_home_screen.html#a2789e8a5372202cc36f48e71dbb9b7cf',1,'LibHomeScreen']]],
-  ['req_5ferror',['REQ_ERROR',['../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899',1,'REQ_ERROR():&#160;hs-helper.h'],['../d3/d3d/hs-helper_8h.html#ab0d62ccfa9c3ab87f090f67c3d50adce',1,'REQ_ERROR():&#160;hs-helper.h']]],
-  ['req_5ffail',['REQ_FAIL',['../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1',1,'hs-helper.h']]],
-  ['req_5fok',['REQ_OK',['../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee',1,'hs-helper.h']]]
+  ['n_5frects',['n_rects',['../de/da4/simple-egl_8cpp.html#aa6a11810244355f89e6c4961b9dd3b53',1,'simple-egl.cpp']]],
+  ['native',['native',['../d6/de3/structwindow.html#ae41be0955d0e73530e1bc13dfeb9d731',1,'window']]],
+  ['not_5fnumber',['NOT_NUMBER',['../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a',1,'hs-helper.h']]]
 ];
 ];
index 9986c9c..712223c 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_d.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_d.js"></script>
 <script type="text/javascript" src="search.js"></script>
index 657855b..ff81d15 100644 (file)
@@ -1,6 +1,15 @@
 var searchData=
 [
 var searchData=
 [
-  ['set_5fevent_5fhandler',['set_event_handler',['../de/dd0/class_lib_home_screen.html#ab1b0e08bf35415de9064afed899e9f85',1,'LibHomeScreen']]],
-  ['split',['split',['../df/dac/test_8cpp.html#aafb7f182b8bb6ba92354dde1658d86a4',1,'test.cpp']]],
-  ['subscribe',['subscribe',['../de/dd0/class_lib_home_screen.html#aa4c189807b75d070f567967f0d690738',1,'LibHomeScreen::subscribe()'],['../d0/d1e/homescreen_8c.html#a4ff0c8b506669e5622a6ee168134d8f1',1,'subscribe():&#160;homescreen.c']]]
+  ['on_5fcall',['on_call',['../de/dd0/class_lib_home_screen.html#a608638eb87b2772a3dcc92d8ca8f3596',1,'LibHomeScreen']]],
+  ['on_5fevent',['on_event',['../de/dd0/class_lib_home_screen.html#a9c4885b51b43ab24a548d49fb3ab2de3',1,'LibHomeScreen']]],
+  ['on_5fhangup',['on_hangup',['../de/dd0/class_lib_home_screen.html#ab1c1fa69f24b981e824dd9fb810c4b74',1,'LibHomeScreen']]],
+  ['on_5freply',['on_reply',['../de/dd0/class_lib_home_screen.html#a248d9648c6186287a7632ec1c75fc9c5',1,'LibHomeScreen']]],
+  ['on_5fscreen_5fmessage',['on_screen_message',['../d5/d20/class_h_s___client.html#a274301617c9ab629d6916c0dde8c40b9',1,'HS_Client::on_screen_message()'],['../d2/d8e/class_h_s___client_manager.html#a58ce4a013d3694265dd69f481bf88510',1,'HS_ClientManager::on_screen_message()'],['../d6/dda/homescreen_8cpp.html#a0df2b60ff6cd56b53dc87b36bfee2b91',1,'on_screen_message():&#160;homescreen.cpp']]],
+  ['on_5fscreen_5freply',['on_screen_reply',['../d5/d20/class_h_s___client.html#a9f7a30840c95b1348bcce4cd4626b2ae',1,'HS_Client::on_screen_reply()'],['../d2/d8e/class_h_s___client_manager.html#aa78f992287e3b8fe93422b331dc9edc5',1,'HS_ClientManager::on_screen_reply()'],['../d6/dda/homescreen_8cpp.html#a7443596f6ddf459824ecd8138c681532',1,'on_screen_reply():&#160;homescreen.cpp']]],
+  ['onevent',['onevent',['../d6/dda/homescreen_8cpp.html#a60665935681c76d38b3833912109cdd3',1,'homescreen.cpp']]],
+  ['onscreenmessage',['onScreenMessage',['../de/dd0/class_lib_home_screen.html#ac336482036a72b51a822725f1929523c',1,'LibHomeScreen']]],
+  ['onscreenreply',['onScreenReply',['../de/dd0/class_lib_home_screen.html#a6c065f41f2c5d1f58d2763bfb4da9c37',1,'LibHomeScreen']]],
+  ['opaque',['opaque',['../d6/de3/structwindow.html#a026a50808d8323a5a73d585c19916fa8',1,'window']]],
+  ['operator_3d',['operator=',['../de/dd0/class_lib_home_screen.html#a23bc17798453cfca50904562736f6b25',1,'LibHomeScreen::operator=()'],['../d5/d20/class_h_s___client.html#a3e3d8fa1c8746d6d1b1650fe1fcc56a8',1,'HS_Client::operator=()'],['../d2/d8e/class_h_s___client_manager.html#ac8e02cffc79d4530b06e1143abb18891',1,'HS_ClientManager::operator=(HS_ClientManager const &amp;)=delete'],['../d2/d8e/class_h_s___client_manager.html#a49e225bb8421c812ac016309d54a00fa',1,'HS_ClientManager::operator=(HS_ClientManager &amp;&amp;)=delete']]],
+  ['out_5frange',['OUT_RANGE',['../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b',1,'hs-helper.h']]]
 ];
 ];
index 9fa42bb..d553ffa 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_e.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_e.js"></script>
 <script type="text/javascript" src="search.js"></script>
index c5f0227..3d60dba 100644 (file)
@@ -1,6 +1,7 @@
 var searchData=
 [
 var searchData=
 [
-  ['tap_5fshortcut',['tap_shortcut',['../d0/d1e/homescreen_8c.html#a096eae5c8f297f9df142a406eea56227',1,'homescreen.c']]],
-  ['tapshortcut',['tapShortcut',['../de/dd0/class_lib_home_screen.html#afb571c9577087b47065eb23e7fdbc903',1,'LibHomeScreen']]],
-  ['test_2ecpp',['test.cpp',['../df/dac/test_8cpp.html',1,'']]]
+  ['pingsample',['pingSample',['../d6/dda/homescreen_8cpp.html#ace65cfe6008848a3cd66581f536cc4c9',1,'homescreen.cpp']]],
+  ['port',['port',['../de/da4/simple-egl_8cpp.html#a300b6806fe6818927fe4df08f2398124',1,'simple-egl.cpp']]],
+  ['pos',['pos',['../d6/de3/structwindow.html#aaf965f90f9fc938db2315ff62028c362',1,'window']]],
+  ['preinit',['preinit',['../d6/dda/homescreen_8cpp.html#ab3b1914acb53dcc038c1cf86c2975785',1,'homescreen.cpp']]]
 ];
 ];
index 6ecfc0e..c77391a 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_f.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_f.js"></script>
 <script type="text/javascript" src="search.js"></script>
index 1f66bcf..eae9a4a 100644 (file)
@@ -1,5 +1,17 @@
 var searchData=
 [
 var searchData=
 [
-  ['unsubscribe',['unsubscribe',['../de/dd0/class_lib_home_screen.html#aac03a45cbd453ba69ddb00c1016930a6',1,'LibHomeScreen::unsubscribe()'],['../d0/d1e/homescreen_8c.html#ab92621255d7370c6dd8a0f1a8e376ad3',1,'unsubscribe():&#160;homescreen.c']]],
-  ['usage',['usage',['../df/dac/test_8cpp.html#a64a6014565bb3e03294ec4a952d5add0',1,'test.cpp']]]
+  ['rects',['rects',['../de/da4/simple-egl_8cpp.html#a56616f7ca3fc53c0da41d05de9330b11',1,'simple-egl.cpp']]],
+  ['redraw',['redraw',['../de/da4/simple-egl_8cpp.html#a927502f6103ec35422eead39e62ab7ba',1,'simple-egl.cpp']]],
+  ['registercallback',['registerCallback',['../de/dd0/class_lib_home_screen.html#a2789e8a5372202cc36f48e71dbb9b7cf',1,'LibHomeScreen']]],
+  ['registry',['registry',['../d6/df5/structdisplay.html#a925781323f5c8eb84ef2225ed129de4b',1,'display']]],
+  ['registry_5fhandle_5fglobal',['registry_handle_global',['../de/da4/simple-egl_8cpp.html#af288e02a94c196a68b327fc55c049932',1,'simple-egl.cpp']]],
+  ['registry_5fhandle_5fglobal_5fremove',['registry_handle_global_remove',['../de/da4/simple-egl_8cpp.html#a59a731b9efa9d6a2015cdc8ccae1db80',1,'simple-egl.cpp']]],
+  ['registry_5flistener',['registry_listener',['../de/da4/simple-egl_8cpp.html#a8998c87c94cd7d185e8f0cdafab4b1c4',1,'simple-egl.cpp']]],
+  ['removeclientctxt',['removeClientCtxt',['../d2/d8e/class_h_s___client_manager.html#adc23f8b3f5cc06eeab39fb24098af3e2',1,'HS_ClientManager']]],
+  ['replyshowwindow',['replyShowWindow',['../de/dd0/class_lib_home_screen.html#a6310b129fc85ef0623e2e2063950cc4b',1,'LibHomeScreen::replyShowWindow()'],['../d5/d20/class_h_s___client.html#a294e461500ef02aed17ed5d91479f6b9',1,'HS_Client::replyShowWindow()'],['../d2/d8e/class_h_s___client_manager.html#a59b1c1e115b5a257a585c41f854f5fdd',1,'HS_ClientManager::replyShowWindow()'],['../d6/dda/homescreen_8cpp.html#a710bcc84a61e11dbd4517def2764ff95',1,'replyShowWindow():&#160;homescreen.cpp']]],
+  ['req_5ferror',['REQ_ERROR',['../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899',1,'REQ_ERROR():&#160;hs-helper.h'],['../d3/d3d/hs-helper_8h.html#ab0d62ccfa9c3ab87f090f67c3d50adce',1,'REQ_ERROR():&#160;hs-helper.h']]],
+  ['req_5ffail',['REQ_FAIL',['../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1',1,'hs-helper.h']]],
+  ['req_5fok',['REQ_OK',['../d3/d3d/hs-helper_8h.html#aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee',1,'hs-helper.h']]],
+  ['rotation_5funiform',['rotation_uniform',['../d6/de3/structwindow.html#a5202f3b60e262a6fa4fcee68dd47cb67',1,'window']]],
+  ['running',['running',['../de/da4/simple-egl_8cpp.html#a2f45113638a0b749a8a205d2cd7fb42b',1,'simple-egl.cpp']]]
 ];
 ];
index 1c3e406..025587a 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="classes_0.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="classes_0.js"></script>
 <script type="text/javascript" src="search.js"></script>
index d8326d8..f5e7837 100644 (file)
@@ -1,4 +1,4 @@
 var searchData=
 [
 var searchData=
 [
-  ['event',['event',['../df/d7d/structevent.html',1,'']]]
+  ['display',['display',['../d6/df5/structdisplay.html',1,'']]]
 ];
 ];
index a8e7069..86dc4ff 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="classes_1.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="classes_1.js"></script>
 <script type="text/javascript" src="search.js"></script>
index b1b5692..27a6c42 100644 (file)
@@ -1,4 +1,4 @@
 var searchData=
 [
 var searchData=
 [
-  ['libhomescreen',['LibHomeScreen',['../de/dd0/class_lib_home_screen.html',1,'']]]
+  ['geometry',['geometry',['../dd/ddc/structgeometry.html',1,'']]]
 ];
 ];
diff --git a/doc/api-ref/html/search/classes_2.html b/doc/api-ref/html/search/classes_2.html
new file mode 100644 (file)
index 0000000..014caf8
--- /dev/null
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="classes_2.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/api-ref/html/search/classes_2.js b/doc/api-ref/html/search/classes_2.js
new file mode 100644 (file)
index 0000000..17c7606
--- /dev/null
@@ -0,0 +1,6 @@
+var searchData=
+[
+  ['hs_5fclient',['HS_Client',['../d5/d20/class_h_s___client.html',1,'']]],
+  ['hs_5fclientctxt',['HS_ClientCtxt',['../d0/d53/struct_h_s___client_ctxt.html',1,'']]],
+  ['hs_5fclientmanager',['HS_ClientManager',['../d2/d8e/class_h_s___client_manager.html',1,'']]]
+];
diff --git a/doc/api-ref/html/search/classes_3.html b/doc/api-ref/html/search/classes_3.html
new file mode 100644 (file)
index 0000000..2e97201
--- /dev/null
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="classes_3.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/api-ref/html/search/classes_3.js b/doc/api-ref/html/search/classes_3.js
new file mode 100644 (file)
index 0000000..b1b5692
--- /dev/null
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['libhomescreen',['LibHomeScreen',['../de/dd0/class_lib_home_screen.html',1,'']]]
+];
diff --git a/doc/api-ref/html/search/classes_4.html b/doc/api-ref/html/search/classes_4.html
new file mode 100644 (file)
index 0000000..776fee3
--- /dev/null
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="classes_4.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/api-ref/html/search/classes_4.js b/doc/api-ref/html/search/classes_4.js
new file mode 100644 (file)
index 0000000..99735a2
--- /dev/null
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['window',['window',['../d6/de3/structwindow.html',1,'']]]
+];
index 5b25204..17cfaa2 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="defines_0.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="defines_0.js"></script>
 <script type="text/javascript" src="search.js"></script>
index 86d3841..e6976cf 100644 (file)
@@ -1,4 +1,5 @@
 var searchData=
 [
 var searchData=
 [
-  ['_5fgnu_5fsource',['_GNU_SOURCE',['../d0/d1e/homescreen_8c.html#a369266c24eacffb87046522897a570d5',1,'homescreen.c']]]
+  ['_5f_5ffilename_5f_5f',['__FILENAME__',['../d2/d66/include_2hmi-debug_8h.html#a5fccb4fc71e44089a1b1a77fc76c0b68',1,'__FILENAME__():&#160;hmi-debug.h'],['../d6/dff/src_2hmi-debug_8h.html#a5fccb4fc71e44089a1b1a77fc76c0b68',1,'__FILENAME__():&#160;hmi-debug.h']]],
+  ['_5fgnu_5fsource',['_GNU_SOURCE',['../d6/dda/homescreen_8cpp.html#a369266c24eacffb87046522897a570d5',1,'homescreen.cpp']]]
 ];
 ];
index 91488cb..5c0025e 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="defines_1.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="defines_1.js"></script>
 <script type="text/javascript" src="search.js"></script>
index d7b44ea..1bbfa15 100644 (file)
@@ -1,4 +1,9 @@
 var searchData=
 [
 var searchData=
 [
-  ['afb_5fbinding_5fversion',['AFB_BINDING_VERSION',['../d0/d1e/homescreen_8c.html#ad2c1fbc92ba364fcf83f15e6d0af66f0',1,'AFB_BINDING_VERSION():&#160;homescreen.c'],['../d3/d3d/hs-helper_8h.html#ad2c1fbc92ba364fcf83f15e6d0af66f0',1,'AFB_BINDING_VERSION():&#160;hs-helper.h']]]
+  ['afb_5fbinding_5fversion',['AFB_BINDING_VERSION',['../d3/d3d/hs-helper_8h.html#ad2c1fbc92ba364fcf83f15e6d0af66f0',1,'hs-helper.h']]],
+  ['afb_5fevent_5fbad_5frequest',['AFB_EVENT_BAD_REQUEST',['../d3/d3d/hs-helper_8h.html#aa611e2ec24ef295bd87825889fe2ce5e',1,'hs-helper.h']]],
+  ['afb_5freq_5fshowinformation_5ferror',['AFB_REQ_SHOWINFORMATION_ERROR',['../d3/d3d/hs-helper_8h.html#aefe0d7ff8202f954693c235c1fb8e310',1,'hs-helper.h']]],
+  ['afb_5freq_5fshownotification_5ferror',['AFB_REQ_SHOWNOTIFICATION_ERROR',['../d3/d3d/hs-helper_8h.html#a057fc88b8445828c261305cf9107d99d',1,'hs-helper.h']]],
+  ['afb_5freq_5fsubscribe_5ferror',['AFB_REQ_SUBSCRIBE_ERROR',['../d3/d3d/hs-helper_8h.html#a995612de89db4df1483c16e4b9b70571',1,'hs-helper.h']]],
+  ['afb_5freq_5funsubscribe_5ferror',['AFB_REQ_UNSUBSCRIBE_ERROR',['../d3/d3d/hs-helper_8h.html#a78e930a97920b821706a80ca8f430034',1,'hs-helper.h']]]
 ];
 ];
index 8655993..a206bfc 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="defines_2.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="defines_2.js"></script>
 <script type="text/javascript" src="search.js"></script>
index edba057..2470ee0 100644 (file)
@@ -1,4 +1,6 @@
 var searchData=
 [
 var searchData=
 [
-  ['command_5fevent_5fnum',['COMMAND_EVENT_NUM',['../d0/d1e/homescreen_8c.html#a09f43d9e7e1c5d2198c0d66024b4500e',1,'homescreen.c']]]
+  ['egl_5fbuffer_5fage_5fext',['EGL_BUFFER_AGE_EXT',['../de/da4/simple-egl_8cpp.html#a7045d8a6b4857f268a62fab2de2021fd',1,'simple-egl.cpp']]],
+  ['egl_5fext_5fbuffer_5fage',['EGL_EXT_buffer_age',['../de/da4/simple-egl_8cpp.html#a0792e3d8b2bc978f95917a234b0c81df',1,'simple-egl.cpp']]],
+  ['egl_5fext_5fswap_5fbuffers_5fwith_5fdamage',['EGL_EXT_swap_buffers_with_damage',['../de/da4/simple-egl_8cpp.html#a083d37f289b99270e0391419178d458f',1,'simple-egl.cpp']]]
 ];
 ];
index a55d3ff..3826e1f 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="defines_3.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="defines_3.js"></script>
 <script type="text/javascript" src="search.js"></script>
index 02b9aaf..16b117d 100644 (file)
@@ -1,4 +1,8 @@
 var searchData=
 [
 var searchData=
 [
-  ['event_5fsubscribe_5ferror_5fcode',['EVENT_SUBSCRIBE_ERROR_CODE',['../d0/d1e/homescreen_8c.html#a9a68ed04201d9390bb85b2c6ab1d7250',1,'homescreen.c']]]
+  ['hmi_5fdebug',['HMI_DEBUG',['../d2/d66/include_2hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0',1,'HMI_DEBUG():&#160;hmi-debug.h'],['../d6/dff/src_2hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0',1,'HMI_DEBUG():&#160;hmi-debug.h']]],
+  ['hmi_5ferror',['HMI_ERROR',['../d2/d66/include_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2',1,'HMI_ERROR():&#160;hmi-debug.h'],['../d6/dff/src_2hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2',1,'HMI_ERROR():&#160;hmi-debug.h']]],
+  ['hmi_5finfo',['HMI_INFO',['../d2/d66/include_2hmi-debug_8h.html#a11b249a67108f0f4c50a0fc8a3eb4f5c',1,'HMI_INFO():&#160;hmi-debug.h'],['../d6/dff/src_2hmi-debug_8h.html#a11b249a67108f0f4c50a0fc8a3eb4f5c',1,'HMI_INFO():&#160;hmi-debug.h']]],
+  ['hmi_5fnotice',['HMI_NOTICE',['../d2/d66/include_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15',1,'HMI_NOTICE():&#160;hmi-debug.h'],['../d6/dff/src_2hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15',1,'HMI_NOTICE():&#160;hmi-debug.h']]],
+  ['hmi_5fwarning',['HMI_WARNING',['../d2/d66/include_2hmi-debug_8h.html#a25361812432cd2480bc8f1a8e56ecbf7',1,'HMI_WARNING():&#160;hmi-debug.h'],['../d6/dff/src_2hmi-debug_8h.html#a25361812432cd2480bc8f1a8e56ecbf7',1,'HMI_WARNING():&#160;hmi-debug.h']]]
 ];
 ];
diff --git a/doc/api-ref/html/search/defines_4.js b/doc/api-ref/html/search/defines_4.js
deleted file mode 100644 (file)
index e8bbac7..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-var searchData=
-[
-  ['hmi_5fdebug',['HMI_DEBUG',['../df/d76/hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0',1,'hmi-debug.h']]],
-  ['hmi_5ferror',['HMI_ERROR',['../df/d76/hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2',1,'hmi-debug.h']]],
-  ['hmi_5finfo',['HMI_INFO',['../df/d76/hmi-debug_8h.html#a11b249a67108f0f4c50a0fc8a3eb4f5c',1,'hmi-debug.h']]],
-  ['hmi_5fnotice',['HMI_NOTICE',['../df/d76/hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15',1,'hmi-debug.h']]],
-  ['hmi_5fwarning',['HMI_WARNING',['../df/d76/hmi-debug_8h.html#a25361812432cd2480bc8f1a8e56ecbf7',1,'hmi-debug.h']]]
-];
index ee343ac..aba8d79 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="enums_0.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="enums_0.js"></script>
 <script type="text/javascript" src="search.js"></script>
index 3fd210a..a8d3843 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="enums_1.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="enums_1.js"></script>
 <script type="text/javascript" src="search.js"></script>
index da1c230..69cfaa1 100644 (file)
@@ -1,4 +1,4 @@
 var searchData=
 [
 var searchData=
 [
-  ['log_5flevel',['LOG_LEVEL',['../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583',1,'hmi-debug.h']]]
+  ['log_5flevel',['LOG_LEVEL',['../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583',1,'LOG_LEVEL():&#160;hmi-debug.h'],['../d6/dff/src_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583',1,'LOG_LEVEL():&#160;hmi-debug.h']]]
 ];
 ];
index a042e52..ef7d632 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="enums_2.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="enums_2.js"></script>
 <script type="text/javascript" src="search.js"></script>
index 9387b6a..83192d3 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="enumvalues_0.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="enumvalues_0.js"></script>
 <script type="text/javascript" src="search.js"></script>
index f00671f..1cc5127 100644 (file)
@@ -1,6 +1,11 @@
 var searchData=
 [
 var searchData=
 [
+  ['event_5fhidewindow',['Event_HideWindow',['../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aef8bb1086ddbc0a125d77af9da3146a0',1,'LibHomeScreen']]],
   ['event_5fonscreenmessage',['Event_OnScreenMessage',['../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d',1,'LibHomeScreen']]],
   ['event_5fonscreenreply',['Event_OnScreenReply',['../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd',1,'LibHomeScreen']]],
   ['event_5fonscreenmessage',['Event_OnScreenMessage',['../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d',1,'LibHomeScreen']]],
   ['event_5fonscreenreply',['Event_OnScreenReply',['../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd',1,'LibHomeScreen']]],
+  ['event_5freplyshowwindow',['Event_ReplyShowWindow',['../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aaacb8babce7fac884ab4bf7605da0d9f',1,'LibHomeScreen']]],
+  ['event_5fshowinformation',['Event_ShowInformation',['../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a1fad2ac5071a1dae7db9c8e1b522669b',1,'LibHomeScreen']]],
+  ['event_5fshownotification',['Event_ShowNotification',['../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a68119a9c3ff85e807db38d3282e5ca30',1,'LibHomeScreen']]],
+  ['event_5fshowwindow',['Event_ShowWindow',['../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a3fb3563c64786f1a2ae404df6edffd5c',1,'LibHomeScreen']]],
   ['event_5ftapshortcut',['Event_TapShortcut',['../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f',1,'LibHomeScreen']]]
 ];
   ['event_5ftapshortcut',['Event_TapShortcut',['../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f',1,'LibHomeScreen']]]
 ];
index f622aba..0715ef5 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="enumvalues_1.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="enumvalues_1.js"></script>
 <script type="text/javascript" src="search.js"></script>
index 49ed77c..809a1a1 100644 (file)
@@ -1,10 +1,10 @@
 var searchData=
 [
 var searchData=
 [
-  ['log_5flevel_5fdebug',['LOG_LEVEL_DEBUG',['../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177',1,'hmi-debug.h']]],
-  ['log_5flevel_5ferror',['LOG_LEVEL_ERROR',['../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f',1,'hmi-debug.h']]],
-  ['log_5flevel_5finfo',['LOG_LEVEL_INFO',['../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4',1,'hmi-debug.h']]],
-  ['log_5flevel_5fmax',['LOG_LEVEL_MAX',['../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444',1,'hmi-debug.h']]],
-  ['log_5flevel_5fnone',['LOG_LEVEL_NONE',['../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848',1,'hmi-debug.h']]],
-  ['log_5flevel_5fnotice',['LOG_LEVEL_NOTICE',['../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e',1,'hmi-debug.h']]],
-  ['log_5flevel_5fwarning',['LOG_LEVEL_WARNING',['../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef',1,'hmi-debug.h']]]
+  ['log_5flevel_5fdebug',['LOG_LEVEL_DEBUG',['../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177',1,'LOG_LEVEL_DEBUG():&#160;hmi-debug.h'],['../d6/dff/src_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177',1,'LOG_LEVEL_DEBUG():&#160;hmi-debug.h']]],
+  ['log_5flevel_5ferror',['LOG_LEVEL_ERROR',['../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f',1,'LOG_LEVEL_ERROR():&#160;hmi-debug.h'],['../d6/dff/src_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f',1,'LOG_LEVEL_ERROR():&#160;hmi-debug.h']]],
+  ['log_5flevel_5finfo',['LOG_LEVEL_INFO',['../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4',1,'LOG_LEVEL_INFO():&#160;hmi-debug.h'],['../d6/dff/src_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4',1,'LOG_LEVEL_INFO():&#160;hmi-debug.h']]],
+  ['log_5flevel_5fmax',['LOG_LEVEL_MAX',['../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444',1,'LOG_LEVEL_MAX():&#160;hmi-debug.h'],['../d6/dff/src_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444',1,'LOG_LEVEL_MAX():&#160;hmi-debug.h']]],
+  ['log_5flevel_5fnone',['LOG_LEVEL_NONE',['../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848',1,'LOG_LEVEL_NONE():&#160;hmi-debug.h'],['../d6/dff/src_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848',1,'LOG_LEVEL_NONE():&#160;hmi-debug.h']]],
+  ['log_5flevel_5fnotice',['LOG_LEVEL_NOTICE',['../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e',1,'LOG_LEVEL_NOTICE():&#160;hmi-debug.h'],['../d6/dff/src_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e',1,'LOG_LEVEL_NOTICE():&#160;hmi-debug.h']]],
+  ['log_5flevel_5fwarning',['LOG_LEVEL_WARNING',['../d2/d66/include_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef',1,'LOG_LEVEL_WARNING():&#160;hmi-debug.h'],['../d6/dff/src_2hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef',1,'LOG_LEVEL_WARNING():&#160;hmi-debug.h']]]
 ];
 ];
index d499078..0f9b5e9 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="enumvalues_2.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="enumvalues_2.js"></script>
 <script type="text/javascript" src="search.js"></script>
index b4fc3ee..9ebb356 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="enumvalues_3.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="enumvalues_3.js"></script>
 <script type="text/javascript" src="search.js"></script>
index d6f69ac..daa496d 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="enumvalues_4.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="enumvalues_4.js"></script>
 <script type="text/javascript" src="search.js"></script>
index 4f272b8..0b637cf 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="files_0.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="files_0.js"></script>
 <script type="text/javascript" src="search.js"></script>
index 388fa9c..5724348 100644 (file)
@@ -1,7 +1,12 @@
 var searchData=
 [
 var searchData=
 [
-  ['hmi_2ddebug_2eh',['hmi-debug.h',['../df/d76/hmi-debug_8h.html',1,'']]],
-  ['homescreen_2ec',['homescreen.c',['../d0/d1e/homescreen_8c.html',1,'']]],
-  ['hs_2dhelper_2ec',['hs-helper.c',['../dd/d1d/hs-helper_8c.html',1,'']]],
+  ['hmi_2ddebug_2eh',['hmi-debug.h',['../d2/d66/include_2hmi-debug_8h.html',1,'']]],
+  ['hmi_2ddebug_2eh',['hmi-debug.h',['../d6/dff/src_2hmi-debug_8h.html',1,'']]],
+  ['homescreen_2ecpp',['homescreen.cpp',['../d6/dda/homescreen_8cpp.html',1,'']]],
+  ['hs_2dclient_2ecpp',['hs-client.cpp',['../d8/d55/hs-client_8cpp.html',1,'']]],
+  ['hs_2dclient_2eh',['hs-client.h',['../da/dd3/hs-client_8h.html',1,'']]],
+  ['hs_2dclientmanager_2ecpp',['hs-clientmanager.cpp',['../dd/d30/hs-clientmanager_8cpp.html',1,'']]],
+  ['hs_2dclientmanager_2eh',['hs-clientmanager.h',['../de/dca/hs-clientmanager_8h.html',1,'']]],
+  ['hs_2dhelper_2ecpp',['hs-helper.cpp',['../df/d66/hs-helper_8cpp.html',1,'']]],
   ['hs_2dhelper_2eh',['hs-helper.h',['../d3/d3d/hs-helper_8h.html',1,'']]]
 ];
   ['hs_2dhelper_2eh',['hs-helper.h',['../d3/d3d/hs-helper_8h.html',1,'']]]
 ];
index dcce422..1094e74 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="files_1.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="files_1.js"></script>
 <script type="text/javascript" src="search.js"></script>
index d5c6c3b..a08dbd3 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="files_2.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="files_2.js"></script>
 <script type="text/javascript" src="search.js"></script>
index 9fae8fd..686811e 100644 (file)
@@ -1,4 +1,4 @@
 var searchData=
 [
 var searchData=
 [
-  ['test_2ecpp',['test.cpp',['../df/dac/test_8cpp.html',1,'']]]
+  ['simple_2degl_2ecpp',['simple-egl.cpp',['../de/da4/simple-egl_8cpp.html',1,'']]]
 ];
 ];
index 4e6d87d..6bc52b6 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="functions_0.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="functions_0.js"></script>
 <script type="text/javascript" src="search.js"></script>
index 2d6dcae..6a05476 100644 (file)
@@ -1,6 +1,6 @@
 var searchData=
 [
 var searchData=
 [
-  ['_5fhmi_5flog',['_HMI_LOG',['../df/d76/hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a',1,'hmi-debug.h']]],
+  ['_5fhmi_5flog',['_HMI_LOG',['../d2/d66/include_2hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a',1,'_HMI_LOG(enum LOG_LEVEL level, const char *file, const char *func, const int line, const char *prefix, const char *log,...):&#160;hmi-debug.h'],['../d6/dff/src_2hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a',1,'_HMI_LOG(enum LOG_LEVEL level, const char *file, const char *func, const int line, const char *prefix, const char *log,...):&#160;hmi-debug.h']]],
   ['_5fon_5fcall_5fstatic',['_on_call_static',['../d0/d8a/libhomescreen_8cpp.html#a782a05fde0f1c17e0c4c8f972a3f53c8',1,'libhomescreen.cpp']]],
   ['_5fon_5fevent_5fstatic',['_on_event_static',['../d0/d8a/libhomescreen_8cpp.html#a3df86185aa9453726556da201d95a6f9',1,'libhomescreen.cpp']]],
   ['_5fon_5fhangup_5fstatic',['_on_hangup_static',['../d0/d8a/libhomescreen_8cpp.html#a73c05b96c151e5e46c28585ccb143c1c',1,'libhomescreen.cpp']]],
   ['_5fon_5fcall_5fstatic',['_on_call_static',['../d0/d8a/libhomescreen_8cpp.html#a782a05fde0f1c17e0c4c8f972a3f53c8',1,'libhomescreen.cpp']]],
   ['_5fon_5fevent_5fstatic',['_on_event_static',['../d0/d8a/libhomescreen_8cpp.html#a3df86185aa9453726556da201d95a6f9',1,'libhomescreen.cpp']]],
   ['_5fon_5fhangup_5fstatic',['_on_hangup_static',['../d0/d8a/libhomescreen_8cpp.html#a73c05b96c151e5e46c28585ccb143c1c',1,'libhomescreen.cpp']]],
index b343e2d..648831f 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="functions_1.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="functions_1.js"></script>
 <script type="text/javascript" src="search.js"></script>
index f277ddd..8566d79 100644 (file)
@@ -1,5 +1,8 @@
 var searchData=
 [
   ['call',['call',['../de/dd0/class_lib_home_screen.html#a527b49dcfe581be6275d0eb2236ba37f',1,'LibHomeScreen::call(const std::string &amp;verb, struct json_object *arg)'],['../de/dd0/class_lib_home_screen.html#ab5e8e8ab7d53e0f114e9e907fcbb7643',1,'LibHomeScreen::call(const char *verb, struct json_object *arg)']]],
 var searchData=
 [
   ['call',['call',['../de/dd0/class_lib_home_screen.html#a527b49dcfe581be6275d0eb2236ba37f',1,'LibHomeScreen::call(const std::string &amp;verb, struct json_object *arg)'],['../de/dd0/class_lib_home_screen.html#ab5e8e8ab7d53e0f114e9e907fcbb7643',1,'LibHomeScreen::call(const char *verb, struct json_object *arg)']]],
-  ['call_5ftest',['call_test',['../df/dac/test_8cpp.html#aa9b3c43c212b49edee82ac30a11aa255',1,'test.cpp']]]
+  ['cbremoveclientctxt',['cbRemoveClientCtxt',['../dd/d30/hs-clientmanager_8cpp.html#a2e9d0e1086eba0a016056dc43bc90a73',1,'hs-clientmanager.cpp']]],
+  ['create_5fivi_5fsurface',['create_ivi_surface',['../de/da4/simple-egl_8cpp.html#a0122201fe28a7f35b0fbd362fff7094e',1,'simple-egl.cpp']]],
+  ['create_5fshader',['create_shader',['../de/da4/simple-egl_8cpp.html#ab72c580e4d6d47c2fb49c72cc76b85bb',1,'simple-egl.cpp']]],
+  ['create_5fsurface',['create_surface',['../de/da4/simple-egl_8cpp.html#a83c7f2e34bbc715d97f0642def708293',1,'simple-egl.cpp']]]
 ];
 ];
diff --git a/doc/api-ref/html/search/functions_10.html b/doc/api-ref/html/search/functions_10.html
new file mode 100644 (file)
index 0000000..8bc4de4
--- /dev/null
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_10.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/api-ref/html/search/functions_10.js b/doc/api-ref/html/search/functions_10.js
new file mode 100644 (file)
index 0000000..0f353a2
--- /dev/null
@@ -0,0 +1,6 @@
+var searchData=
+[
+  ['_7ehs_5fclient',['~HS_Client',['../d5/d20/class_h_s___client.html#ab29a9e899aaec3c21983c24ec6e5ee70',1,'HS_Client']]],
+  ['_7ehs_5fclientmanager',['~HS_ClientManager',['../d2/d8e/class_h_s___client_manager.html#a50733274a93293fef892fdd453d74cae',1,'HS_ClientManager']]],
+  ['_7elibhomescreen',['~LibHomeScreen',['../de/dd0/class_lib_home_screen.html#a249902aebf71a5383ca8ec6ae558d095',1,'LibHomeScreen']]]
+];
index ecce2f3..c93d089 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="functions_2.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="functions_2.js"></script>
 <script type="text/javascript" src="search.js"></script>
index cde5399..d0271cb 100644 (file)
@@ -1,4 +1,4 @@
 var searchData=
 [
 var searchData=
 [
-  ['event_5floop_5frun',['event_loop_run',['../d0/d8a/libhomescreen_8cpp.html#aa73353e1bf62c68b6b0aba7a1e4e275e',1,'libhomescreen.cpp']]]
+  ['destroy_5fsurface',['destroy_surface',['../de/da4/simple-egl_8cpp.html#aba2ea9aa51701e52d4f36b4f34cecf7a',1,'simple-egl.cpp']]]
 ];
 ];
index 15f06ab..caa48ea 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="functions_3.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="functions_3.js"></script>
 <script type="text/javascript" src="search.js"></script>
index 15928c8..02ee355 100644 (file)
@@ -1,6 +1,4 @@
 var searchData=
 [
 var searchData=
 [
-  ['get_5fvalue_5fint16',['get_value_int16',['../dd/d1d/hs-helper_8c.html#a2e62366684e39ea94436bf017e416827',1,'get_value_int16(const struct afb_req request, const char *source, int16_t *out_id):&#160;hs-helper.c'],['../d3/d3d/hs-helper_8h.html#a2e62366684e39ea94436bf017e416827',1,'get_value_int16(const struct afb_req request, const char *source, int16_t *out_id):&#160;hs-helper.c']]],
-  ['get_5fvalue_5fint32',['get_value_int32',['../dd/d1d/hs-helper_8c.html#ac5b0370643c520377afd3fd4891918d2',1,'get_value_int32(const struct afb_req request, const char *source, int32_t *out_id):&#160;hs-helper.c'],['../d3/d3d/hs-helper_8h.html#ac5b0370643c520377afd3fd4891918d2',1,'get_value_int32(const struct afb_req request, const char *source, int32_t *out_id):&#160;hs-helper.c']]],
-  ['get_5fvalue_5fuint16',['get_value_uint16',['../dd/d1d/hs-helper_8c.html#a649900645417f2df3a70b9ad67529f53',1,'get_value_uint16(const struct afb_req request, const char *source, uint16_t *out_id):&#160;hs-helper.c'],['../d3/d3d/hs-helper_8h.html#a649900645417f2df3a70b9ad67529f53',1,'get_value_uint16(const struct afb_req request, const char *source, uint16_t *out_id):&#160;hs-helper.c']]]
+  ['eglboolean',['EGLBoolean',['../de/da4/simple-egl_8cpp.html#ab4ad070d3bf82abe5e70330578f67893',1,'simple-egl.cpp']]]
 ];
 ];
index 8985ff2..a9c64ad 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="functions_4.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="functions_4.js"></script>
 <script type="text/javascript" src="search.js"></script>
index 5932c24..3e43de5 100644 (file)
@@ -1,8 +1,4 @@
 var searchData=
 [
 var searchData=
 [
-  ['has_5fverb',['has_verb',['../d0/d8a/libhomescreen_8cpp.html#a7a2176c3d71fec0f09dcb2aa0866b17e',1,'libhomescreen.cpp']]],
-  ['hs_5fadd_5fobject_5fto_5fjson_5fobject',['hs_add_object_to_json_object',['../dd/d1d/hs-helper_8c.html#a1ba31a6a94515ff1730ba0043a67d59e',1,'hs_add_object_to_json_object(struct json_object *j_obj, int count,...):&#160;hs-helper.c'],['../d3/d3d/hs-helper_8h.html#a1ba31a6a94515ff1730ba0043a67d59e',1,'hs_add_object_to_json_object(struct json_object *j_obj, int count,...):&#160;hs-helper.c']]],
-  ['hs_5fadd_5fobject_5fto_5fjson_5fobject_5ffunc',['hs_add_object_to_json_object_func',['../dd/d1d/hs-helper_8c.html#ae83604a37134e7bdee3ce4f10bb0b47a',1,'hs_add_object_to_json_object_func(struct json_object *j_obj, const char *verb_name, int count,...):&#160;hs-helper.c'],['../d3/d3d/hs-helper_8h.html#ae83604a37134e7bdee3ce4f10bb0b47a',1,'hs_add_object_to_json_object_func(struct json_object *j_obj, const char *verb_name, int count,...):&#160;hs-helper.c']]],
-  ['hs_5fadd_5fobject_5fto_5fjson_5fobject_5fstr',['hs_add_object_to_json_object_str',['../dd/d1d/hs-helper_8c.html#a8777c53f1d4d5412f19b134ad85ffedf',1,'hs_add_object_to_json_object_str(struct json_object *j_obj, int count,...):&#160;hs-helper.c'],['../d3/d3d/hs-helper_8h.html#a8777c53f1d4d5412f19b134ad85ffedf',1,'hs_add_object_to_json_object_str(struct json_object *j_obj, int count,...):&#160;hs-helper.c']]],
-  ['hs_5fsearch_5fevent_5fname_5findex',['hs_search_event_name_index',['../dd/d1d/hs-helper_8c.html#a2ff1b894941c3b461ca8119079c4146a',1,'hs_search_event_name_index(const char *value):&#160;hs-helper.c'],['../d3/d3d/hs-helper_8h.html#a2ff1b894941c3b461ca8119079c4146a',1,'hs_search_event_name_index(const char *value):&#160;hs-helper.c']]]
+  ['fini_5fegl',['fini_egl',['../de/da4/simple-egl_8cpp.html#a4f71f46ede5b73bd7c770c973826f771',1,'simple-egl.cpp']]]
 ];
 ];
index 0314918..9d135fa 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="functions_5.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="functions_5.js"></script>
 <script type="text/javascript" src="search.js"></script>
index a3186af..4507cdc 100644 (file)
@@ -1,4 +1,6 @@
 var searchData=
 [
 var searchData=
 [
-  ['init',['init',['../de/dd0/class_lib_home_screen.html#a6a57b573cc767725762ba9beab032220',1,'LibHomeScreen::init()'],['../d0/d1e/homescreen_8c.html#a00cbbc0f3f4452db078ae511684a6adc',1,'init():&#160;homescreen.c']]]
+  ['get_5fvalue_5fint16',['get_value_int16',['../df/d66/hs-helper_8cpp.html#af3043612cf74bb92cb073e10cacd594a',1,'get_value_int16(const afb_req_t request, const char *source, int16_t *out_id):&#160;hs-helper.cpp'],['../d3/d3d/hs-helper_8h.html#af3043612cf74bb92cb073e10cacd594a',1,'get_value_int16(const afb_req_t request, const char *source, int16_t *out_id):&#160;hs-helper.cpp']]],
+  ['get_5fvalue_5fint32',['get_value_int32',['../df/d66/hs-helper_8cpp.html#a8121d965b6fd795c16b8576ab03dcaf1',1,'get_value_int32(const afb_req_t request, const char *source, int32_t *out_id):&#160;hs-helper.cpp'],['../d3/d3d/hs-helper_8h.html#a8121d965b6fd795c16b8576ab03dcaf1',1,'get_value_int32(const afb_req_t request, const char *source, int32_t *out_id):&#160;hs-helper.cpp']]],
+  ['get_5fvalue_5fuint16',['get_value_uint16',['../df/d66/hs-helper_8cpp.html#aba9ca63f68b1991f8650871f4eae8e0b',1,'get_value_uint16(const afb_req_t request, const char *source, uint16_t *out_id):&#160;hs-helper.cpp'],['../d3/d3d/hs-helper_8h.html#aba9ca63f68b1991f8650871f4eae8e0b',1,'get_value_uint16(const afb_req_t request, const char *source, uint16_t *out_id):&#160;hs-helper.cpp']]]
 ];
 ];
index c506123..5fca897 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="functions_6.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="functions_6.js"></script>
 <script type="text/javascript" src="search.js"></script>
index ef5d50e..a56a9a3 100644 (file)
@@ -1,4 +1,12 @@
 var searchData=
 [
 var searchData=
 [
-  ['libhomescreen',['LibHomeScreen',['../de/dd0/class_lib_home_screen.html#a724bd949c4154fad041f96a15ef0f5dc',1,'LibHomeScreen::LibHomeScreen()'],['../de/dd0/class_lib_home_screen.html#a0fff2f703c8ce184eb9edd133e0f4137',1,'LibHomeScreen::LibHomeScreen(const LibHomeScreen &amp;)=delete']]]
+  ['has_5fverb',['has_verb',['../d0/d8a/libhomescreen_8cpp.html#a7a2176c3d71fec0f09dcb2aa0866b17e',1,'libhomescreen.cpp']]],
+  ['hidewindow',['hideWindow',['../de/dd0/class_lib_home_screen.html#a4dbaea6c7b310e8ce7207155ff11b32a',1,'LibHomeScreen::hideWindow()'],['../d5/d20/class_h_s___client.html#ac29482ffdf1b27733247ba0ffcc28b76',1,'HS_Client::hideWindow()'],['../d2/d8e/class_h_s___client_manager.html#a6195694d281a3b97b0345b96c0add1fd',1,'HS_ClientManager::hideWindow()'],['../d6/dda/homescreen_8cpp.html#a057c380ea38cfba4e2fbccc40fc21798',1,'hideWindow():&#160;homescreen.cpp']]],
+  ['hs_5fadd_5fobject_5fto_5fjson_5fobject',['hs_add_object_to_json_object',['../df/d66/hs-helper_8cpp.html#a1ba31a6a94515ff1730ba0043a67d59e',1,'hs_add_object_to_json_object(struct json_object *j_obj, int count,...):&#160;hs-helper.cpp'],['../d3/d3d/hs-helper_8h.html#a1ba31a6a94515ff1730ba0043a67d59e',1,'hs_add_object_to_json_object(struct json_object *j_obj, int count,...):&#160;hs-helper.cpp']]],
+  ['hs_5fadd_5fobject_5fto_5fjson_5fobject_5ffunc',['hs_add_object_to_json_object_func',['../df/d66/hs-helper_8cpp.html#ae83604a37134e7bdee3ce4f10bb0b47a',1,'hs_add_object_to_json_object_func(struct json_object *j_obj, const char *verb_name, int count,...):&#160;hs-helper.cpp'],['../d3/d3d/hs-helper_8h.html#ae83604a37134e7bdee3ce4f10bb0b47a',1,'hs_add_object_to_json_object_func(struct json_object *j_obj, const char *verb_name, int count,...):&#160;hs-helper.cpp']]],
+  ['hs_5fadd_5fobject_5fto_5fjson_5fobject_5fstr',['hs_add_object_to_json_object_str',['../df/d66/hs-helper_8cpp.html#a8777c53f1d4d5412f19b134ad85ffedf',1,'hs_add_object_to_json_object_str(struct json_object *j_obj, int count,...):&#160;hs-helper.cpp'],['../d3/d3d/hs-helper_8h.html#a8777c53f1d4d5412f19b134ad85ffedf',1,'hs_add_object_to_json_object_str(struct json_object *j_obj, int count,...):&#160;hs-helper.cpp']]],
+  ['hs_5fclient',['HS_Client',['../d5/d20/class_h_s___client.html#a0afac6b86b9a72e74846e47e435f5f90',1,'HS_Client::HS_Client(afb_req_t request, const char *id)'],['../d5/d20/class_h_s___client.html#a47cb0035116ac7be4fffcfc9736e9233',1,'HS_Client::HS_Client(afb_req_t request, std::string id)'],['../d5/d20/class_h_s___client.html#a429a4697767344f3789bb233bc73a2b9',1,'HS_Client::HS_Client(HS_Client &amp;)=delete']]],
+  ['hs_5fclientctxt',['HS_ClientCtxt',['../d0/d53/struct_h_s___client_ctxt.html#a9ff4dcc7b8c6061940a0ee79b5d15459',1,'HS_ClientCtxt']]],
+  ['hs_5fclientmanager',['HS_ClientManager',['../d2/d8e/class_h_s___client_manager.html#adac35e476e559cc89bc39363525268bf',1,'HS_ClientManager::HS_ClientManager()'],['../d2/d8e/class_h_s___client_manager.html#a0033db6b552f9de818789e76735c1ebc',1,'HS_ClientManager::HS_ClientManager(HS_ClientManager const &amp;)=delete'],['../d2/d8e/class_h_s___client_manager.html#a715811c549cccd93cb1f903d179c8b41',1,'HS_ClientManager::HS_ClientManager(HS_ClientManager &amp;&amp;)=delete']]],
+  ['hs_5fsearch_5fevent_5fname_5findex',['hs_search_event_name_index',['../df/d66/hs-helper_8cpp.html#a2ff1b894941c3b461ca8119079c4146a',1,'hs_search_event_name_index(const char *value):&#160;hs-helper.cpp'],['../d3/d3d/hs-helper_8h.html#a2ff1b894941c3b461ca8119079c4146a',1,'hs_search_event_name_index(const char *value):&#160;hs-helper.cpp']]]
 ];
 ];
index 83a7b84..02631a3 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="functions_7.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="functions_7.js"></script>
 <script type="text/javascript" src="search.js"></script>
index 65e8f49..738487c 100644 (file)
@@ -1,4 +1,9 @@
 var searchData=
 [
 var searchData=
 [
-  ['main',['main',['../df/dac/test_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627',1,'test.cpp']]]
+  ['init',['init',['../de/dd0/class_lib_home_screen.html#a6a57b573cc767725762ba9beab032220',1,'LibHomeScreen::init()'],['../d2/d8e/class_h_s___client_manager.html#ae0b9b18adeffca7822b060ad4ea8a7a1',1,'HS_ClientManager::init()'],['../d6/dda/homescreen_8cpp.html#a5d7de3437d5dcb79fa035959d95878db',1,'init():&#160;homescreen.cpp']]],
+  ['init_5fegl',['init_egl',['../de/da4/simple-egl_8cpp.html#a1073d4aca1838d3877fe577d813700fc',1,'simple-egl.cpp']]],
+  ['init_5fgl',['init_gl',['../de/da4/simple-egl_8cpp.html#ab3ee863fa45f4026f78f592d6f6e34ff',1,'simple-egl.cpp']]],
+  ['init_5fhs',['init_hs',['../de/da4/simple-egl_8cpp.html#a79aafeb99915566dd3970246f465f306',1,'simple-egl.cpp']]],
+  ['init_5fwm',['init_wm',['../de/da4/simple-egl_8cpp.html#a644e25276ecdea04f2aa3412c1973927',1,'simple-egl.cpp']]],
+  ['instance',['instance',['../d2/d8e/class_h_s___client_manager.html#ad86c1fea7d107d52cbf0466fb7a2658b',1,'HS_ClientManager']]]
 ];
 ];
index b55f0e6..ff37095 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="functions_8.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="functions_8.js"></script>
 <script type="text/javascript" src="search.js"></script>
index 5038b19..ef5d50e 100644 (file)
@@ -1,15 +1,4 @@
 var searchData=
 [
 var searchData=
 [
-  ['on_5fcall',['on_call',['../de/dd0/class_lib_home_screen.html#a608638eb87b2772a3dcc92d8ca8f3596',1,'LibHomeScreen']]],
-  ['on_5fevent',['on_event',['../de/dd0/class_lib_home_screen.html#a9c4885b51b43ab24a548d49fb3ab2de3',1,'LibHomeScreen']]],
-  ['on_5fhangup',['on_hangup',['../de/dd0/class_lib_home_screen.html#ab1c1fa69f24b981e824dd9fb810c4b74',1,'LibHomeScreen']]],
-  ['on_5freply',['on_reply',['../de/dd0/class_lib_home_screen.html#a248d9648c6186287a7632ec1c75fc9c5',1,'LibHomeScreen']]],
-  ['on_5fscreen_5fmessage',['on_screen_message',['../d0/d1e/homescreen_8c.html#a640cf8ed97d804c5ed1c09a349056338',1,'homescreen.c']]],
-  ['on_5fscreen_5freply',['on_screen_reply',['../d0/d1e/homescreen_8c.html#a2f380055d7d69828115d2a8951634933',1,'homescreen.c']]],
-  ['onev',['onEv',['../df/dac/test_8cpp.html#a6a2874c419fe5936fcccadc7e6cf268e',1,'test.cpp']]],
-  ['onevent',['onevent',['../d0/d1e/homescreen_8c.html#a1279893c0fe937311a81e0a98fb4cf1c',1,'homescreen.c']]],
-  ['onrep',['onRep',['../df/dac/test_8cpp.html#a6d3cb4886e7afd45bd56b49800da932d',1,'test.cpp']]],
-  ['onscreenmessage',['onScreenMessage',['../de/dd0/class_lib_home_screen.html#ac336482036a72b51a822725f1929523c',1,'LibHomeScreen']]],
-  ['onscreenreply',['onScreenReply',['../de/dd0/class_lib_home_screen.html#a6c065f41f2c5d1f58d2763bfb4da9c37',1,'LibHomeScreen']]],
-  ['operator_3d',['operator=',['../de/dd0/class_lib_home_screen.html#a23bc17798453cfca50904562736f6b25',1,'LibHomeScreen']]]
+  ['libhomescreen',['LibHomeScreen',['../de/dd0/class_lib_home_screen.html#a724bd949c4154fad041f96a15ef0f5dc',1,'LibHomeScreen::LibHomeScreen()'],['../de/dd0/class_lib_home_screen.html#a0fff2f703c8ce184eb9edd133e0f4137',1,'LibHomeScreen::LibHomeScreen(const LibHomeScreen &amp;)=delete']]]
 ];
 ];
index c73f07b..1d34583 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="functions_9.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="functions_9.js"></script>
 <script type="text/javascript" src="search.js"></script>
index fe196ed..04fbc8f 100644 (file)
@@ -1,5 +1,4 @@
 var searchData=
 [
 var searchData=
 [
-  ['pingsample',['pingSample',['../d0/d1e/homescreen_8c.html#af48cab759d4ae0ddbfcdd60f4051ba05',1,'homescreen.c']]],
-  ['preinit',['preinit',['../d0/d1e/homescreen_8c.html#a83d646edf54a6a082f69121bc89a08de',1,'homescreen.c']]]
+  ['main',['main',['../de/da4/simple-egl_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627',1,'simple-egl.cpp']]]
 ];
 ];
index f10ad63..8eb5e56 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="functions_a.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="functions_a.js"></script>
 <script type="text/javascript" src="search.js"></script>
index eefb399..fca0cd7 100644 (file)
@@ -1,4 +1,13 @@
 var searchData=
 [
 var searchData=
 [
-  ['registercallback',['registerCallback',['../de/dd0/class_lib_home_screen.html#a2789e8a5372202cc36f48e71dbb9b7cf',1,'LibHomeScreen']]]
+  ['on_5fcall',['on_call',['../de/dd0/class_lib_home_screen.html#a608638eb87b2772a3dcc92d8ca8f3596',1,'LibHomeScreen']]],
+  ['on_5fevent',['on_event',['../de/dd0/class_lib_home_screen.html#a9c4885b51b43ab24a548d49fb3ab2de3',1,'LibHomeScreen']]],
+  ['on_5fhangup',['on_hangup',['../de/dd0/class_lib_home_screen.html#ab1c1fa69f24b981e824dd9fb810c4b74',1,'LibHomeScreen']]],
+  ['on_5freply',['on_reply',['../de/dd0/class_lib_home_screen.html#a248d9648c6186287a7632ec1c75fc9c5',1,'LibHomeScreen']]],
+  ['on_5fscreen_5fmessage',['on_screen_message',['../d5/d20/class_h_s___client.html#a274301617c9ab629d6916c0dde8c40b9',1,'HS_Client::on_screen_message()'],['../d2/d8e/class_h_s___client_manager.html#a58ce4a013d3694265dd69f481bf88510',1,'HS_ClientManager::on_screen_message()'],['../d6/dda/homescreen_8cpp.html#a0df2b60ff6cd56b53dc87b36bfee2b91',1,'on_screen_message():&#160;homescreen.cpp']]],
+  ['on_5fscreen_5freply',['on_screen_reply',['../d5/d20/class_h_s___client.html#a9f7a30840c95b1348bcce4cd4626b2ae',1,'HS_Client::on_screen_reply()'],['../d2/d8e/class_h_s___client_manager.html#aa78f992287e3b8fe93422b331dc9edc5',1,'HS_ClientManager::on_screen_reply()'],['../d6/dda/homescreen_8cpp.html#a7443596f6ddf459824ecd8138c681532',1,'on_screen_reply():&#160;homescreen.cpp']]],
+  ['onevent',['onevent',['../d6/dda/homescreen_8cpp.html#a60665935681c76d38b3833912109cdd3',1,'homescreen.cpp']]],
+  ['onscreenmessage',['onScreenMessage',['../de/dd0/class_lib_home_screen.html#ac336482036a72b51a822725f1929523c',1,'LibHomeScreen']]],
+  ['onscreenreply',['onScreenReply',['../de/dd0/class_lib_home_screen.html#a6c065f41f2c5d1f58d2763bfb4da9c37',1,'LibHomeScreen']]],
+  ['operator_3d',['operator=',['../de/dd0/class_lib_home_screen.html#a23bc17798453cfca50904562736f6b25',1,'LibHomeScreen::operator=()'],['../d5/d20/class_h_s___client.html#a3e3d8fa1c8746d6d1b1650fe1fcc56a8',1,'HS_Client::operator=()'],['../d2/d8e/class_h_s___client_manager.html#ac8e02cffc79d4530b06e1143abb18891',1,'HS_ClientManager::operator=(HS_ClientManager const &amp;)=delete'],['../d2/d8e/class_h_s___client_manager.html#a49e225bb8421c812ac016309d54a00fa',1,'HS_ClientManager::operator=(HS_ClientManager &amp;&amp;)=delete']]]
 ];
 ];
index 172ea1b..fa9cff5 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="functions_b.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="functions_b.js"></script>
 <script type="text/javascript" src="search.js"></script>
index 657855b..6fa7144 100644 (file)
@@ -1,6 +1,5 @@
 var searchData=
 [
 var searchData=
 [
-  ['set_5fevent_5fhandler',['set_event_handler',['../de/dd0/class_lib_home_screen.html#ab1b0e08bf35415de9064afed899e9f85',1,'LibHomeScreen']]],
-  ['split',['split',['../df/dac/test_8cpp.html#aafb7f182b8bb6ba92354dde1658d86a4',1,'test.cpp']]],
-  ['subscribe',['subscribe',['../de/dd0/class_lib_home_screen.html#aa4c189807b75d070f567967f0d690738',1,'LibHomeScreen::subscribe()'],['../d0/d1e/homescreen_8c.html#a4ff0c8b506669e5622a6ee168134d8f1',1,'subscribe():&#160;homescreen.c']]]
+  ['pingsample',['pingSample',['../d6/dda/homescreen_8cpp.html#ace65cfe6008848a3cd66581f536cc4c9',1,'homescreen.cpp']]],
+  ['preinit',['preinit',['../d6/dda/homescreen_8cpp.html#ab3b1914acb53dcc038c1cf86c2975785',1,'homescreen.cpp']]]
 ];
 ];
index 99492ba..fce7a6b 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="functions_c.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="functions_c.js"></script>
 <script type="text/javascript" src="search.js"></script>
index 655c02c..78af2e8 100644 (file)
@@ -1,5 +1,9 @@
 var searchData=
 [
 var searchData=
 [
-  ['tap_5fshortcut',['tap_shortcut',['../d0/d1e/homescreen_8c.html#a096eae5c8f297f9df142a406eea56227',1,'homescreen.c']]],
-  ['tapshortcut',['tapShortcut',['../de/dd0/class_lib_home_screen.html#afb571c9577087b47065eb23e7fdbc903',1,'LibHomeScreen']]]
+  ['redraw',['redraw',['../de/da4/simple-egl_8cpp.html#a927502f6103ec35422eead39e62ab7ba',1,'simple-egl.cpp']]],
+  ['registercallback',['registerCallback',['../de/dd0/class_lib_home_screen.html#a2789e8a5372202cc36f48e71dbb9b7cf',1,'LibHomeScreen']]],
+  ['registry_5fhandle_5fglobal',['registry_handle_global',['../de/da4/simple-egl_8cpp.html#af288e02a94c196a68b327fc55c049932',1,'simple-egl.cpp']]],
+  ['registry_5fhandle_5fglobal_5fremove',['registry_handle_global_remove',['../de/da4/simple-egl_8cpp.html#a59a731b9efa9d6a2015cdc8ccae1db80',1,'simple-egl.cpp']]],
+  ['removeclientctxt',['removeClientCtxt',['../d2/d8e/class_h_s___client_manager.html#adc23f8b3f5cc06eeab39fb24098af3e2',1,'HS_ClientManager']]],
+  ['replyshowwindow',['replyShowWindow',['../de/dd0/class_lib_home_screen.html#a6310b129fc85ef0623e2e2063950cc4b',1,'LibHomeScreen::replyShowWindow()'],['../d5/d20/class_h_s___client.html#a294e461500ef02aed17ed5d91479f6b9',1,'HS_Client::replyShowWindow()'],['../d2/d8e/class_h_s___client_manager.html#a59b1c1e115b5a257a585c41f854f5fdd',1,'HS_ClientManager::replyShowWindow()'],['../d6/dda/homescreen_8cpp.html#a710bcc84a61e11dbd4517def2764ff95',1,'replyShowWindow():&#160;homescreen.cpp']]]
 ];
 ];
index 5be9ecc..82b2b0c 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="functions_d.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="functions_d.js"></script>
 <script type="text/javascript" src="search.js"></script>
index 1f66bcf..3275772 100644 (file)
@@ -1,5 +1,9 @@
 var searchData=
 [
 var searchData=
 [
-  ['unsubscribe',['unsubscribe',['../de/dd0/class_lib_home_screen.html#aac03a45cbd453ba69ddb00c1016930a6',1,'LibHomeScreen::unsubscribe()'],['../d0/d1e/homescreen_8c.html#ab92621255d7370c6dd8a0f1a8e376ad3',1,'unsubscribe():&#160;homescreen.c']]],
-  ['usage',['usage',['../df/dac/test_8cpp.html#a64a6014565bb3e03294ec4a952d5add0',1,'test.cpp']]]
+  ['set_5fevent_5fhandler',['set_event_handler',['../de/dd0/class_lib_home_screen.html#ab1b0e08bf35415de9064afed899e9f85',1,'LibHomeScreen']]],
+  ['showinformation',['showInformation',['../de/dd0/class_lib_home_screen.html#ada999aeb0444c964428bdf1ee236727f',1,'LibHomeScreen::showInformation()'],['../d5/d20/class_h_s___client.html#a7145c14a7a971b45f647a82e3390ce9c',1,'HS_Client::showInformation()'],['../d2/d8e/class_h_s___client_manager.html#a0645294f89c67fd3c9b0cce62a900f69',1,'HS_ClientManager::showInformation()'],['../d6/dda/homescreen_8cpp.html#a916c8dd31373222ee2b6ef89aca91978',1,'showInformation():&#160;homescreen.cpp']]],
+  ['shownotification',['showNotification',['../de/dd0/class_lib_home_screen.html#a93ad567ed597a80a344ba82457c2bd7f',1,'LibHomeScreen::showNotification()'],['../d5/d20/class_h_s___client.html#a77b41c1bc6f2c939410108d821a0b456',1,'HS_Client::showNotification()'],['../d2/d8e/class_h_s___client_manager.html#a857934af280081ca6ac61d9f2cac37c5',1,'HS_ClientManager::showNotification()'],['../d6/dda/homescreen_8cpp.html#ad96a84455e8676abb4486e48ef67b1ad',1,'showNotification():&#160;homescreen.cpp']]],
+  ['showwindow',['showWindow',['../de/dd0/class_lib_home_screen.html#a69fc770cb3f94d30a10c2c8c81eb892f',1,'LibHomeScreen::showWindow()'],['../d5/d20/class_h_s___client.html#af0f2be967a5b6ee81932c73b101184f7',1,'HS_Client::showWindow()'],['../d2/d8e/class_h_s___client_manager.html#afed8158f276d1d22c32b0d89e970d442',1,'HS_ClientManager::showWindow()'],['../d6/dda/homescreen_8cpp.html#ae475c69e7ca2a539ae0fb40a82963ac1',1,'showWindow():&#160;homescreen.cpp']]],
+  ['signal_5fint',['signal_int',['../de/da4/simple-egl_8cpp.html#a2cfc8c2d3fc1273ba8f811d2e639aec8',1,'simple-egl.cpp']]],
+  ['subscribe',['subscribe',['../de/dd0/class_lib_home_screen.html#aa4c189807b75d070f567967f0d690738',1,'LibHomeScreen::subscribe()'],['../d5/d20/class_h_s___client.html#a3d000ca70bd4a8af7c4895d95bc7d0d0',1,'HS_Client::subscribe()'],['../d2/d8e/class_h_s___client_manager.html#a1b8a4e42342c4bcdc4e7dc4934e02469',1,'HS_ClientManager::subscribe()'],['../d6/dda/homescreen_8cpp.html#a6e942ab2b7207d2aef9adce71a4574e8',1,'subscribe():&#160;homescreen.cpp']]]
 ];
 ];
index e256cb6..557ae9a 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="functions_e.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="functions_e.js"></script>
 <script type="text/javascript" src="search.js"></script>
index 5b08f6d..9c7eee5 100644 (file)
@@ -1,4 +1,5 @@
 var searchData=
 [
 var searchData=
 [
-  ['_7elibhomescreen',['~LibHomeScreen',['../de/dd0/class_lib_home_screen.html#a249902aebf71a5383ca8ec6ae558d095',1,'LibHomeScreen']]]
+  ['tap_5fshortcut',['tap_shortcut',['../d5/d20/class_h_s___client.html#a0d7fb8316248e8946dcb73a6612f21bb',1,'HS_Client::tap_shortcut()'],['../d2/d8e/class_h_s___client_manager.html#a9910fc27c412530b5b9854b00bd16c07',1,'HS_ClientManager::tap_shortcut()'],['../d6/dda/homescreen_8cpp.html#ab8abb667377924d5c073611738febbd3',1,'tap_shortcut():&#160;homescreen.cpp']]],
+  ['tapshortcut',['tapShortcut',['../de/dd0/class_lib_home_screen.html#a6ca8ff4a2aa019a735afaff713e0ef44',1,'LibHomeScreen']]]
 ];
 ];
diff --git a/doc/api-ref/html/search/functions_f.html b/doc/api-ref/html/search/functions_f.html
new file mode 100644 (file)
index 0000000..b27fb7d
--- /dev/null
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_f.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/api-ref/html/search/functions_f.js b/doc/api-ref/html/search/functions_f.js
new file mode 100644 (file)
index 0000000..c20e5ea
--- /dev/null
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['unsubscribe',['unsubscribe',['../de/dd0/class_lib_home_screen.html#aac03a45cbd453ba69ddb00c1016930a6',1,'LibHomeScreen::unsubscribe()'],['../d5/d20/class_h_s___client.html#a3da3b5662f918e11773da75f8f971d9c',1,'HS_Client::unsubscribe()'],['../d2/d8e/class_h_s___client_manager.html#ac86314afbb90116e2f02ce071166226e',1,'HS_ClientManager::unsubscribe()'],['../d6/dda/homescreen_8cpp.html#a3b162ab1856a8fa4284cb2c5c35ea748',1,'unsubscribe():&#160;homescreen.cpp']]]
+];
index 3cf9df9..4d7612f 100644 (file)
@@ -6,12 +6,14 @@
 
 #MSearchBox {
     white-space : nowrap;
 
 #MSearchBox {
     white-space : nowrap;
+    position: absolute;
     float: none;
     float: none;
+    display: inline;
     margin-top: 8px;
     right: 0px;
     width: 170px;
     margin-top: 8px;
     right: 0px;
     width: 170px;
-    height: 24px;
     z-index: 102;
     z-index: 102;
+    background-color: white;
 }
 
 #MSearchBox .left
 }
 
 #MSearchBox .left
     height:19px;
     background:url('search_m.png') repeat-x;
     border:none;
     height:19px;
     background:url('search_m.png') repeat-x;
     border:none;
-    width:115px;
+    width:111px;
     margin-left:20px;
     padding-left:4px;
     color: #909090;
     outline: none;
     font: 9pt Arial, Verdana, sans-serif;
     margin-left:20px;
     padding-left:4px;
     color: #909090;
     outline: none;
     font: 9pt Arial, Verdana, sans-serif;
-    -webkit-border-radius: 0px;
 }
 
 #FSearchBox #MSearchField {
 }
 
 #FSearchBox #MSearchField {
@@ -63,7 +64,7 @@
     display:block;
     position:absolute;
     right:10px;
     display:block;
     position:absolute;
     right:10px;
-    top:8px;
+    top:0px;
     width:20px;
     height:19px;
     background:url('search_r.png') no-repeat;
     width:20px;
     height:19px;
     background:url('search_r.png') no-repeat;
     left: 0; top: 0;
     border: 1px solid #90A5CE;
     background-color: #F9FAFC;
     left: 0; top: 0;
     border: 1px solid #90A5CE;
     background-color: #F9FAFC;
-    z-index: 10001;
+    z-index: 1;
     padding-top: 4px;
     padding-bottom: 4px;
     -moz-border-radius: 4px;
     padding-top: 4px;
     padding-bottom: 4px;
     -moz-border-radius: 4px;
@@ -164,7 +165,6 @@ iframe#MSearchResults {
     left: 0; top: 0;
     border: 1px solid #000;
     background-color: #EEF1F7;
     left: 0; top: 0;
     border: 1px solid #000;
     background-color: #EEF1F7;
-    z-index:10000;
 }
 
 /* ----------------------------------- */
 }
 
 /* ----------------------------------- */
index d69b699..a1a0949 100644 (file)
@@ -1,14 +1,14 @@
 var indexSectionsWithContent =
 {
 var indexSectionsWithContent =
 {
-  0: "_aceghilmnoprstuv~",
-  1: "el",
-  2: "hlt",
-  3: "_ceghilmoprstu~",
-  4: "_aehnv",
-  5: "hr",
+  0: "_abcdefghilmnoprstuvw~",
+  1: "dghlw",
+  2: "hls",
+  3: "_cdefghilmoprstu~",
+  4: "_abcdefghilmnoprstvw",
+  5: "hnrs",
   6: "elr",
   7: "elnor",
   6: "elr",
   7: "elnor",
-  8: "_aceh"
+  8: "_aeh"
 };
 
 var indexSectionNames =
 };
 
 var indexSectionNames =
index 05722e1..fb07195 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="typedefs_0.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="typedefs_0.js"></script>
 <script type="text/javascript" src="search.js"></script>
index 5a33afe..3251aae 100644 (file)
@@ -1,4 +1,5 @@
 var searchData=
 [
 var searchData=
 [
-  ['handler_5ffunc',['handler_func',['../de/dd0/class_lib_home_screen.html#a334f11f81c84c98d18284215dcaada3a',1,'LibHomeScreen']]]
+  ['handler_5ffunc',['handler_func',['../de/dd0/class_lib_home_screen.html#a334f11f81c84c98d18284215dcaada3a',1,'LibHomeScreen']]],
+  ['hs_5fclientctxt',['HS_ClientCtxt',['../de/dca/hs-clientmanager_8h.html#a58a145d17337b835ab3fe17b50163040',1,'hs-clientmanager.h']]]
 ];
 ];
index b77c533..6edac96 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="typedefs_1.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="typedefs_1.js"></script>
 <script type="text/javascript" src="search.js"></script>
index eac379f..7acb4a0 100644 (file)
@@ -1,4 +1,4 @@
 var searchData=
 [
 var searchData=
 [
-  ['req_5ferror',['REQ_ERROR',['../d3/d3d/hs-helper_8h.html#ab0d62ccfa9c3ab87f090f67c3d50adce',1,'hs-helper.h']]]
+  ['n_5frects',['n_rects',['../de/da4/simple-egl_8cpp.html#aa6a11810244355f89e6c4961b9dd3b53',1,'simple-egl.cpp']]]
 ];
 ];
diff --git a/doc/api-ref/html/search/typedefs_2.html b/doc/api-ref/html/search/typedefs_2.html
new file mode 100644 (file)
index 0000000..cc5cc40
--- /dev/null
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="typedefs_2.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/api-ref/html/search/typedefs_2.js b/doc/api-ref/html/search/typedefs_2.js
new file mode 100644 (file)
index 0000000..ca51e9b
--- /dev/null
@@ -0,0 +1,5 @@
+var searchData=
+[
+  ['rects',['rects',['../de/da4/simple-egl_8cpp.html#a56616f7ca3fc53c0da41d05de9330b11',1,'simple-egl.cpp']]],
+  ['req_5ferror',['REQ_ERROR',['../d3/d3d/hs-helper_8h.html#ab0d62ccfa9c3ab87f090f67c3d50adce',1,'hs-helper.h']]]
+];
diff --git a/doc/api-ref/html/search/typedefs_3.html b/doc/api-ref/html/search/typedefs_3.html
new file mode 100644 (file)
index 0000000..3fdb8f2
--- /dev/null
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="typedefs_3.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/api-ref/html/search/typedefs_3.js b/doc/api-ref/html/search/typedefs_3.js
new file mode 100644 (file)
index 0000000..6eb1218
--- /dev/null
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['surface',['surface',['../de/da4/simple-egl_8cpp.html#a0720952aa1caded45b5bcdce589663a9',1,'simple-egl.cpp']]]
+];
index 74ce807..3835278 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="variables_0.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="variables_0.js"></script>
 <script type="text/javascript" src="search.js"></script>
index e4cf187..4f1ef63 100644 (file)
@@ -1,7 +1,20 @@
 var searchData=
 [
 var searchData=
 [
-  ['_5fapplication_5fname',['_application_name',['../d0/d1e/homescreen_8c.html#a1f2c79fa6801b63751e270d67994fe81',1,'homescreen.c']]],
-  ['_5fdisplay_5fmessage',['_display_message',['../d0/d1e/homescreen_8c.html#abfd6c1d6f316fa952b11553f8f275e92',1,'homescreen.c']]],
-  ['_5ferror',['_error',['../d0/d1e/homescreen_8c.html#aed1c5296a2e6d34945507a0fca17a376',1,'homescreen.c']]],
-  ['_5freply_5fmessage',['_reply_message',['../d0/d1e/homescreen_8c.html#a79b0f0b481161527ccb80e83da143219',1,'homescreen.c']]]
+  ['_5fapplication_5fid',['_application_id',['../d6/dda/homescreen_8cpp.html#a6a0e1db2562b442f8131ddf64b61d1ba',1,'_application_id():&#160;homescreen.cpp'],['../d3/d3d/hs-helper_8h.html#a6a0e1db2562b442f8131ddf64b61d1ba',1,'_application_id():&#160;homescreen.cpp']]],
+  ['_5fareafullscreen',['_areaFullScreen',['../de/dd0/class_lib_home_screen.html#ad0569f5323ead77a43bd8735377a6f25',1,'LibHomeScreen']]],
+  ['_5fareanormal',['_areaNormal',['../de/dd0/class_lib_home_screen.html#aac718b60b83c74e2b061f6f7f7ec3bf5',1,'LibHomeScreen']]],
+  ['_5fareasplitmain',['_areaSplitMain',['../de/dd0/class_lib_home_screen.html#a7f201fc366146790520bf8d990f7b2eb',1,'LibHomeScreen']]],
+  ['_5fareasplitsub',['_areaSplitSub',['../de/dd0/class_lib_home_screen.html#ab4f54373b0681de11243152f01c48888',1,'LibHomeScreen']]],
+  ['_5fdisplay_5fmessage',['_display_message',['../d6/dda/homescreen_8cpp.html#abfd6c1d6f316fa952b11553f8f275e92',1,'_display_message():&#160;homescreen.cpp'],['../d3/d3d/hs-helper_8h.html#abfd6c1d6f316fa952b11553f8f275e92',1,'_display_message():&#160;homescreen.cpp']]],
+  ['_5ferror',['_error',['../d6/dda/homescreen_8cpp.html#aed1c5296a2e6d34945507a0fca17a376',1,'_error():&#160;homescreen.cpp'],['../d3/d3d/hs-helper_8h.html#aed1c5296a2e6d34945507a0fca17a376',1,'_error():&#160;homescreen.cpp']]],
+  ['_5fhomescreen',['_homescreen',['../dd/d30/hs-clientmanager_8cpp.html#a8bbab9002543614eacdc7a319d13a476',1,'hs-clientmanager.cpp']]],
+  ['_5ficon',['_icon',['../d8/d55/hs-client_8cpp.html#a5476c8a51997c773220bec9fc02eeaf5',1,'hs-client.cpp']]],
+  ['_5finfo',['_info',['../d8/d55/hs-client_8cpp.html#ae125cd80cb98582684636e46ecf33cac',1,'hs-client.cpp']]],
+  ['_5fkeyarea',['_keyArea',['../de/dd0/class_lib_home_screen.html#a8becda1b035ae45f5a11c7e7963091bf',1,'LibHomeScreen']]],
+  ['_5fkeyparameter',['_keyParameter',['../de/dd0/class_lib_home_screen.html#a927592eff8e34efbbceaf12522f8897f',1,'LibHomeScreen']]],
+  ['_5fparameter',['_parameter',['../d8/d55/hs-client_8cpp.html#ae3fc16098a2461f2f1ae0ac8561437c6',1,'hs-client.cpp']]],
+  ['_5freply_5fmessage',['_reply_message',['../d6/dda/homescreen_8cpp.html#a79b0f0b481161527ccb80e83da143219',1,'_reply_message():&#160;homescreen.cpp'],['../d3/d3d/hs-helper_8h.html#a79b0f0b481161527ccb80e83da143219',1,'_reply_message():&#160;homescreen.cpp']]],
+  ['_5freplyto',['_replyto',['../d8/d55/hs-client_8cpp.html#ac5b722c0d87d2b0e3dfc527b44a1f5db',1,'hs-client.cpp']]],
+  ['_5ftext',['_text',['../d8/d55/hs-client_8cpp.html#ad177811d47939fe9404de88672a980ab',1,'hs-client.cpp']]],
+  ['_5ftype',['_type',['../d8/d55/hs-client_8cpp.html#a1c24b43242df87f75631175c75afdcda',1,'hs-client.cpp']]]
 ];
 ];
index 84237b6..3c65cf2 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="variables_1.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="variables_1.js"></script>
 <script type="text/javascript" src="search.js"></script>
index 8fd9e58..c261c4f 100644 (file)
@@ -1,6 +1,8 @@
 var searchData=
 [
 var searchData=
 [
-  ['afbbindingv2',['afbBindingV2',['../d0/d1e/homescreen_8c.html#ae2a62ab481a2922cbfc788193857a12e',1,'homescreen.c']]],
+  ['afbbindingexport',['afbBindingExport',['../d6/dda/homescreen_8cpp.html#a970e7864dba290a0371534ad4961bcc5',1,'homescreen.cpp']]],
   ['api',['API',['../d0/d8a/libhomescreen_8cpp.html#a1e2d6e77dd8f0162f830058579eab42f',1,'libhomescreen.cpp']]],
   ['api',['API',['../d0/d8a/libhomescreen_8cpp.html#a1e2d6e77dd8f0162f830058579eab42f',1,'libhomescreen.cpp']]],
-  ['api_5flist',['api_list',['../de/dd0/class_lib_home_screen.html#a5593ff5ac78f6495ccb649904cf0ab08',1,'LibHomeScreen']]]
+  ['api_5flist',['api_list',['../de/dd0/class_lib_home_screen.html#a5593ff5ac78f6495ccb649904cf0ab08',1,'LibHomeScreen']]],
+  ['app_5fname',['app_name',['../de/da4/simple-egl_8cpp.html#a0da928eccfc57d1dfadfd29d4ac4854c',1,'simple-egl.cpp']]],
+  ['applicationid',['ApplicationId',['../d0/d8a/libhomescreen_8cpp.html#a5a89bcb5a83f6b2e5c664a041bd8fd00',1,'libhomescreen.cpp']]]
 ];
 ];
diff --git a/doc/api-ref/html/search/variables_10.html b/doc/api-ref/html/search/variables_10.html
new file mode 100644 (file)
index 0000000..52b5fe8
--- /dev/null
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_10.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/api-ref/html/search/variables_10.js b/doc/api-ref/html/search/variables_10.js
new file mode 100644 (file)
index 0000000..32aa8ca
--- /dev/null
@@ -0,0 +1,6 @@
+var searchData=
+[
+  ['seat',['seat',['../d6/df5/structdisplay.html#a9dd8fd9967beb6b3767bd93011373bb8',1,'display']]],
+  ['surface',['surface',['../d6/de3/structwindow.html#a7d0790cfc7c30621611fa26ab5c1ae97',1,'window']]],
+  ['swap_5fbuffers_5fwith_5fdamage',['swap_buffers_with_damage',['../d6/df5/structdisplay.html#a48c46c118e4765ef06596f6341c8f23f',1,'display']]]
+];
diff --git a/doc/api-ref/html/search/variables_11.html b/doc/api-ref/html/search/variables_11.html
new file mode 100644 (file)
index 0000000..476f36e
--- /dev/null
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_11.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/api-ref/html/search/variables_11.js b/doc/api-ref/html/search/variables_11.js
new file mode 100644 (file)
index 0000000..bcfd9f0
--- /dev/null
@@ -0,0 +1,5 @@
+var searchData=
+[
+  ['token',['token',['../de/da4/simple-egl_8cpp.html#a623ef6987ef3bd185c07b28b13e46d34',1,'simple-egl.cpp']]],
+  ['types',['types',['../de/da4/simple-egl_8cpp.html#aea3203db9e218d3e5d60bdb4ebe2fa1f',1,'simple-egl.cpp']]]
+];
diff --git a/doc/api-ref/html/search/variables_12.html b/doc/api-ref/html/search/variables_12.html
new file mode 100644 (file)
index 0000000..ff143dc
--- /dev/null
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_12.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/api-ref/html/search/variables_12.js b/doc/api-ref/html/search/variables_12.js
new file mode 100644 (file)
index 0000000..dd36f26
--- /dev/null
@@ -0,0 +1,5 @@
+var searchData=
+[
+  ['verbs',['verbs',['../d6/dda/homescreen_8cpp.html#a01e06b6317acebc1d5686386b15f0872',1,'homescreen.cpp']]],
+  ['vert_5fshader_5ftext',['vert_shader_text',['../de/da4/simple-egl_8cpp.html#a717575939a37d84dcd4cf0447a630834',1,'simple-egl.cpp']]]
+];
diff --git a/doc/api-ref/html/search/variables_13.html b/doc/api-ref/html/search/variables_13.html
new file mode 100644 (file)
index 0000000..f62f946
--- /dev/null
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_13.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/api-ref/html/search/variables_13.js b/doc/api-ref/html/search/variables_13.js
new file mode 100644 (file)
index 0000000..ebe2f63
--- /dev/null
@@ -0,0 +1,7 @@
+var searchData=
+[
+  ['width',['width',['../dd/ddc/structgeometry.html#a854a87ce277335591f06958a2363c3e1',1,'geometry']]],
+  ['window',['window',['../d6/df5/structdisplay.html#a9974d560bec291487ae2440f897ffc58',1,'display']]],
+  ['window_5fsize',['window_size',['../d6/de3/structwindow.html#ad2b6c8ed8044b41fd1189a0ce26d539a',1,'window']]],
+  ['wm',['wm',['../de/da4/simple-egl_8cpp.html#ad1513698e07197206c290f94d7669d85',1,'simple-egl.cpp']]]
+];
index 5c9de1a..7b43e0a 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="variables_2.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="variables_2.js"></script>
 <script type="text/javascript" src="search.js"></script>
index af57c7f..9e8ced2 100644 (file)
@@ -1,11 +1,5 @@
 var searchData=
 [
 var searchData=
 [
-  ['error_5fflag',['ERROR_FLAG',['../df/d76/hmi-debug_8h.html#a13d4c7647aad2e84766f8b48a6caab09',1,'hmi-debug.h']]],
-  ['ev_5fon_5fscreen_5fmessage',['ev_on_screen_message',['../d0/d1e/homescreen_8c.html#af7cfc4f688bb898c09291252c4cb832c',1,'homescreen.c']]],
-  ['ev_5fon_5fscreen_5freply',['ev_on_screen_reply',['../d0/d1e/homescreen_8c.html#a5c225341e0ecbae0585302ef754a55ec',1,'homescreen.c']]],
-  ['ev_5freserved',['ev_reserved',['../d0/d1e/homescreen_8c.html#a25fbdcc4e5787e3f41d99f4a71e86611',1,'homescreen.c']]],
-  ['ev_5ftap_5fshortcut',['ev_tap_shortcut',['../d0/d1e/homescreen_8c.html#a2af1ff5a4cbf03125e61e903832035f5',1,'homescreen.c']]],
-  ['event',['event',['../df/d7d/structevent.html#a58726ebc551d36562ac3f9e1fe293214',1,'event']]],
-  ['event_5flist',['event_list',['../de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9',1,'LibHomeScreen::event_list()'],['../d0/d1e/homescreen_8c.html#a1c3c5bfa861dcb58d9e9d216d893864c',1,'event_list():&#160;homescreen.c']]],
-  ['evlist',['evlist',['../d3/d3d/hs-helper_8h.html#a0cd84b1a2184c9b84d1b7bf24582f28e',1,'hs-helper.h']]]
+  ['benchmark_5ftime',['benchmark_time',['../d6/de3/structwindow.html#a72629bf021a361ad900504732a74cb68',1,'window']]],
+  ['buffer_5fsize',['buffer_size',['../d6/de3/structwindow.html#a0e634038f669aff472012f25ea250b40',1,'window']]]
 ];
 ];
index f95e34c..ea0392d 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="variables_3.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="variables_3.js"></script>
 <script type="text/javascript" src="search.js"></script>
index f464178..212ce91 100644 (file)
@@ -1,4 +1,8 @@
 var searchData=
 [
 var searchData=
 [
-  ['hs',['hs',['../df/dac/test_8cpp.html#a529acbd1fed9d98a587edfa62309fa8d',1,'test.cpp']]]
+  ['callback',['callback',['../d6/de3/structwindow.html#a35ba639556fa19d9273dad0953a6807e',1,'window']]],
+  ['col',['col',['../d6/de3/structwindow.html#aef10fe94766ccd4831ee611c5ad0e55c',1,'window']]],
+  ['compositor',['compositor',['../d6/df5/structdisplay.html#a41ba32dfde812165dda5b62885000c78',1,'display']]],
+  ['conf',['conf',['../d6/df5/structdisplay.html#a880aef9408b499f5b749541dc6e396c3',1,'display']]],
+  ['ctx',['ctx',['../d6/df5/structdisplay.html#a3420940a29a710e0e5ebd41ba462cc00',1,'display']]]
 ];
 ];
index d7db285..1ed95cb 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="variables_4.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="variables_4.js"></script>
 <script type="text/javascript" src="search.js"></script>
index 6a1e2f2..2117355 100644 (file)
@@ -1,4 +1,5 @@
 var searchData=
 [
 var searchData=
 [
-  ['name',['name',['../df/d7d/structevent.html#a45c6cfb7961a21a3366db067e4cc59ab',1,'event']]]
+  ['display',['display',['../d6/df5/structdisplay.html#aa8faf09631925e9221fd8a0c086ce75a',1,'display::display()'],['../d6/de3/structwindow.html#a129486f2bd23791194f389ca1405cfd4',1,'window::display()']]],
+  ['dpy',['dpy',['../d6/df5/structdisplay.html#a8a1cbda15a286e41e89a85f158ce9311',1,'display']]]
 ];
 ];
index 7bbceeb..ecc883b 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="variables_5.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="variables_5.js"></script>
 <script type="text/javascript" src="search.js"></script>
index 954e53b..d2cc09b 100644 (file)
@@ -1,4 +1,8 @@
 var searchData=
 [
 var searchData=
 [
-  ['verbs',['verbs',['../d0/d1e/homescreen_8c.html#acad6dadf60fac3d701e488e4fcd11c89',1,'homescreen.c']]]
+  ['egl',['egl',['../d6/df5/structdisplay.html#a8b8bc104c19ff228d476a377e572d9c7',1,'display']]],
+  ['egl_5fsurface',['egl_surface',['../d6/de3/structwindow.html#a8de0059f3f1cb0dec33fba1143b7dee1',1,'window']]],
+  ['error_5fflag',['ERROR_FLAG',['../d2/d66/include_2hmi-debug_8h.html#a13d4c7647aad2e84766f8b48a6caab09',1,'ERROR_FLAG():&#160;hmi-debug.h'],['../d6/dff/src_2hmi-debug_8h.html#a13d4c7647aad2e84766f8b48a6caab09',1,'ERROR_FLAG():&#160;hmi-debug.h']]],
+  ['event_5flist',['event_list',['../de/dd0/class_lib_home_screen.html#a6a6d8a4d33a006a08652e7377a4c29e9',1,'LibHomeScreen']]],
+  ['evlist',['evlist',['../df/d66/hs-helper_8cpp.html#a0cd84b1a2184c9b84d1b7bf24582f28e',1,'evlist():&#160;hs-helper.cpp'],['../d3/d3d/hs-helper_8h.html#a0cd84b1a2184c9b84d1b7bf24582f28e',1,'evlist():&#160;hs-helper.cpp']]]
 ];
 ];
diff --git a/doc/api-ref/html/search/variables_6.html b/doc/api-ref/html/search/variables_6.html
new file mode 100644 (file)
index 0000000..0c1a66b
--- /dev/null
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_6.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/api-ref/html/search/variables_6.js b/doc/api-ref/html/search/variables_6.js
new file mode 100644 (file)
index 0000000..7ceff8f
--- /dev/null
@@ -0,0 +1,7 @@
+var searchData=
+[
+  ['frag_5fshader_5ftext',['frag_shader_text',['../de/da4/simple-egl_8cpp.html#ab5a6a2a26ac23f79b1687daa4b0d8980',1,'simple-egl.cpp']]],
+  ['frame_5fsync',['frame_sync',['../d6/de3/structwindow.html#a851bcb65083f5ab5ff768b09522bed70',1,'window']]],
+  ['frames',['frames',['../d6/de3/structwindow.html#a633864bb495ec265bee220a5c70cc98f',1,'window']]],
+  ['fullscreen',['fullscreen',['../d6/de3/structwindow.html#a8da44798a9e1feb7ed3fbd18ec3a28b6',1,'window']]]
+];
diff --git a/doc/api-ref/html/search/variables_7.html b/doc/api-ref/html/search/variables_7.html
new file mode 100644 (file)
index 0000000..e0da2ef
--- /dev/null
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_7.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/api-ref/html/search/variables_7.js b/doc/api-ref/html/search/variables_7.js
new file mode 100644 (file)
index 0000000..adc5bd7
--- /dev/null
@@ -0,0 +1,6 @@
+var searchData=
+[
+  ['g_5fclient_5fmanager',['g_client_manager',['../d6/dda/homescreen_8cpp.html#a501f5bca8425de3171d46e0723f466ec',1,'homescreen.cpp']]],
+  ['g_5fid_5fivisurf',['g_id_ivisurf',['../de/da4/simple-egl_8cpp.html#a28f56c9f01ed9f108201950645317cc9',1,'simple-egl.cpp']]],
+  ['gl',['gl',['../d6/de3/structwindow.html#a6975a930e9a3c166f8201fc4ef5e7728',1,'window']]]
+];
diff --git a/doc/api-ref/html/search/variables_8.html b/doc/api-ref/html/search/variables_8.html
new file mode 100644 (file)
index 0000000..0c3d1df
--- /dev/null
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_8.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/api-ref/html/search/variables_8.js b/doc/api-ref/html/search/variables_8.js
new file mode 100644 (file)
index 0000000..1ef9a07
--- /dev/null
@@ -0,0 +1,5 @@
+var searchData=
+[
+  ['height',['height',['../dd/ddc/structgeometry.html#a6968ae18c72699d1c164399bf0e5cf14',1,'geometry']]],
+  ['hs',['hs',['../de/da4/simple-egl_8cpp.html#a529acbd1fed9d98a587edfa62309fa8d',1,'simple-egl.cpp']]]
+];
diff --git a/doc/api-ref/html/search/variables_9.html b/doc/api-ref/html/search/variables_9.html
new file mode 100644 (file)
index 0000000..e14a107
--- /dev/null
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_9.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/api-ref/html/search/variables_9.js b/doc/api-ref/html/search/variables_9.js
new file mode 100644 (file)
index 0000000..cf40fc6
--- /dev/null
@@ -0,0 +1,11 @@
+var searchData=
+[
+  ['id',['id',['../d0/d53/struct_h_s___client_ctxt.html#a04929d7d5f583a821d3d594815f77d1c',1,'HS_ClientCtxt']]],
+  ['ivi_5fapplication',['ivi_application',['../d6/df5/structdisplay.html#a24c073faff3bb4799c2d46291f27ab89',1,'display']]],
+  ['ivi_5fapplication_5finterface',['ivi_application_interface',['../de/da4/simple-egl_8cpp.html#a769b65b7b0e834f732f1f45e835890d5',1,'simple-egl.cpp']]],
+  ['ivi_5fapplication_5frequests',['ivi_application_requests',['../de/da4/simple-egl_8cpp.html#a21a39b7c6cf5f6d10a62a70b3ebc9bad',1,'simple-egl.cpp']]],
+  ['ivi_5fsurface',['ivi_surface',['../d6/de3/structwindow.html#a40e2c6fb4178953c820fc1b9f41d4b31',1,'window']]],
+  ['ivi_5fsurface_5fevents',['ivi_surface_events',['../de/da4/simple-egl_8cpp.html#ac848f4fbf712a9ba414272fa85577791',1,'simple-egl.cpp']]],
+  ['ivi_5fsurface_5finterface',['ivi_surface_interface',['../de/da4/simple-egl_8cpp.html#adf384de8d12d2edd7265ab85fd16b11c',1,'simple-egl.cpp']]],
+  ['ivi_5fsurface_5frequests',['ivi_surface_requests',['../de/da4/simple-egl_8cpp.html#ada80120c5590d2821da9babef808b98d',1,'simple-egl.cpp']]]
+];
diff --git a/doc/api-ref/html/search/variables_a.html b/doc/api-ref/html/search/variables_a.html
new file mode 100644 (file)
index 0000000..4e38be7
--- /dev/null
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_a.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/api-ref/html/search/variables_a.js b/doc/api-ref/html/search/variables_a.js
new file mode 100644 (file)
index 0000000..4825ad8
--- /dev/null
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['log_5fprefix',['log_prefix',['../de/da4/simple-egl_8cpp.html#a894f18168fa25101d792262f59846938',1,'simple-egl.cpp']]]
+];
diff --git a/doc/api-ref/html/search/variables_b.html b/doc/api-ref/html/search/variables_b.html
new file mode 100644 (file)
index 0000000..c98ef41
--- /dev/null
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_b.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/api-ref/html/search/variables_b.js b/doc/api-ref/html/search/variables_b.js
new file mode 100644 (file)
index 0000000..9215289
--- /dev/null
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['main_5frole',['main_role',['../de/da4/simple-egl_8cpp.html#a332251aa739a56836cd4fbf3ecbb8bb2',1,'simple-egl.cpp']]]
+];
diff --git a/doc/api-ref/html/search/variables_c.html b/doc/api-ref/html/search/variables_c.html
new file mode 100644 (file)
index 0000000..d5f4449
--- /dev/null
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_c.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/api-ref/html/search/variables_c.js b/doc/api-ref/html/search/variables_c.js
new file mode 100644 (file)
index 0000000..795c567
--- /dev/null
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['native',['native',['../d6/de3/structwindow.html#ae41be0955d0e73530e1bc13dfeb9d731',1,'window']]]
+];
diff --git a/doc/api-ref/html/search/variables_d.html b/doc/api-ref/html/search/variables_d.html
new file mode 100644 (file)
index 0000000..a57e383
--- /dev/null
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_d.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/api-ref/html/search/variables_d.js b/doc/api-ref/html/search/variables_d.js
new file mode 100644 (file)
index 0000000..4cbfd9f
--- /dev/null
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['opaque',['opaque',['../d6/de3/structwindow.html#a026a50808d8323a5a73d585c19916fa8',1,'window']]]
+];
diff --git a/doc/api-ref/html/search/variables_e.html b/doc/api-ref/html/search/variables_e.html
new file mode 100644 (file)
index 0000000..d1502e0
--- /dev/null
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_e.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/api-ref/html/search/variables_e.js b/doc/api-ref/html/search/variables_e.js
new file mode 100644 (file)
index 0000000..037c1b9
--- /dev/null
@@ -0,0 +1,5 @@
+var searchData=
+[
+  ['port',['port',['../de/da4/simple-egl_8cpp.html#a300b6806fe6818927fe4df08f2398124',1,'simple-egl.cpp']]],
+  ['pos',['pos',['../d6/de3/structwindow.html#aaf965f90f9fc938db2315ff62028c362',1,'window']]]
+];
diff --git a/doc/api-ref/html/search/variables_f.html b/doc/api-ref/html/search/variables_f.html
new file mode 100644 (file)
index 0000000..f777e71
--- /dev/null
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_f.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/api-ref/html/search/variables_f.js b/doc/api-ref/html/search/variables_f.js
new file mode 100644 (file)
index 0000000..d8a5b29
--- /dev/null
@@ -0,0 +1,7 @@
+var searchData=
+[
+  ['registry',['registry',['../d6/df5/structdisplay.html#a925781323f5c8eb84ef2225ed129de4b',1,'display']]],
+  ['registry_5flistener',['registry_listener',['../de/da4/simple-egl_8cpp.html#a8998c87c94cd7d185e8f0cdafab4b1c4',1,'simple-egl.cpp']]],
+  ['rotation_5funiform',['rotation_uniform',['../d6/de3/structwindow.html#a5202f3b60e262a6fa4fcee68dd47cb67',1,'window']]],
+  ['running',['running',['../de/da4/simple-egl_8cpp.html#a2f45113638a0b749a8a205d2cd7fb42b',1,'simple-egl.cpp']]]
+];
index a28614b..9cf578f 100644 (file)
@@ -1 +1,60 @@
-.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}#doc-content{overflow:auto;display:block;padding:0;margin:0;-webkit-overflow-scrolling:touch}.sm-dox{background-image:url("tab_b.png")}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0 12px;padding-right:43px;font-family:"Lucida Grande","Geneva","Helvetica",Arial,sans-serif;font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:0 1px 1px rgba(255,255,255,0.9);color:#283a5d;outline:0}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox a.current{color:#d23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace!important;text-align:center;text-shadow:none;background:rgba(255,255,255,0.5);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px;border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0;border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox ul{background:rgba(162,162,162,0.1)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:white;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media(min-width:768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:url("tab_b.png");line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:#283a5d transparent transparent transparent;background:transparent;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0 12px;background-image:url("tab_s.png");background-repeat:no-repeat;background-position:right;-moz-border-radius:0!important;-webkit-border-radius:0;border-radius:0!important}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox a:hover span.sub-arrow{border-color:white transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent #fff transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:#fff;-moz-border-radius:5px!important;-webkit-border-radius:5px;border-radius:5px!important;-moz-box-shadow:0 5px 9px rgba(0,0,0,0.2);-webkit-box-shadow:0 5px 9px rgba(0,0,0,0.2);box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #555;border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:#555;background-image:none;border:0!important;color:#555;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent white}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:#fff;height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #d23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#d23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent #555 transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:#555 transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px!important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:url("tab_b.png")}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:#fff}}
\ No newline at end of file
+.tabs, .tabs2, .tabs3 {
+    background-image: url('tab_b.png');
+    width: 100%;
+    z-index: 101;
+    font-size: 13px;
+    font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
+}
+
+.tabs2 {
+    font-size: 10px;
+}
+.tabs3 {
+    font-size: 9px;
+}
+
+.tablist {
+    margin: 0;
+    padding: 0;
+    display: table;
+}
+
+.tablist li {
+    float: left;
+    display: table-cell;
+    background-image: url('tab_b.png');
+    line-height: 36px;
+    list-style: none;
+}
+
+.tablist a {
+    display: block;
+    padding: 0 20px;
+    font-weight: bold;
+    background-image:url('tab_s.png');
+    background-repeat:no-repeat;
+    background-position:right;
+    color: #283A5D;
+    text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
+    text-decoration: none;
+    outline: none;
+}
+
+.tabs3 .tablist a {
+    padding: 0 10px;
+}
+
+.tablist a:hover {
+    background-image: url('tab_h.png');
+    background-repeat:repeat-x;
+    color: #fff;
+    text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
+    text-decoration: none;
+}
+
+.tablist li.current a {
+    background-image: url('tab_a.png');
+    background-repeat:repeat-x;
+    color: #fff;
+    text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
+}
diff --git a/doc/api-ref/latex/Makefile b/doc/api-ref/latex/Makefile
new file mode 100644 (file)
index 0000000..8cc3866
--- /dev/null
@@ -0,0 +1,21 @@
+all: refman.pdf
+
+pdf: refman.pdf
+
+refman.pdf: clean refman.tex
+       pdflatex refman
+       makeindex refman.idx
+       pdflatex refman
+       latex_count=8 ; \
+       while egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ] ;\
+           do \
+             echo "Rerunning latex...." ;\
+             pdflatex refman ;\
+             latex_count=`expr $$latex_count - 1` ;\
+           done
+       makeindex refman.idx
+       pdflatex refman
+
+
+clean:
+       rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out *.brf *.blg *.bbl refman.pdf
index a2fba4c..6ea872e 100644 (file)
@@ -1,5 +1,10 @@
 \section{Class List}
 Here are the classes, structs, unions and interfaces with brief descriptions\+:\begin{DoxyCompactList}
 \section{Class List}
 Here are the classes, structs, unions and interfaces with brief descriptions\+:\begin{DoxyCompactList}
-\item\contentsline{section}{\hyperlink{structevent}{event} }{\pageref{structevent}}{}
-\item\contentsline{section}{\hyperlink{class_lib_home_screen}{Lib\+Home\+Screen} }{\pageref{class_lib_home_screen}}{}
+\item\contentsline{section}{\hyperlink{structdisplay}{display} }{\pageref{d6/df5/structdisplay}}{}
+\item\contentsline{section}{\hyperlink{structgeometry}{geometry} }{\pageref{dd/ddc/structgeometry}}{}
+\item\contentsline{section}{\hyperlink{class_h_s___client}{H\+S\+\_\+\+Client} }{\pageref{d5/d20/class_h_s___client}}{}
+\item\contentsline{section}{\hyperlink{struct_h_s___client_ctxt}{H\+S\+\_\+\+Client\+Ctxt} }{\pageref{d0/d53/struct_h_s___client_ctxt}}{}
+\item\contentsline{section}{\hyperlink{class_h_s___client_manager}{H\+S\+\_\+\+Client\+Manager} }{\pageref{d2/d8e/class_h_s___client_manager}}{}
+\item\contentsline{section}{\hyperlink{class_lib_home_screen}{Lib\+Home\+Screen} }{\pageref{de/dd0/class_lib_home_screen}}{}
+\item\contentsline{section}{\hyperlink{structwindow}{window} }{\pageref{d6/de3/structwindow}}{}
 \end{DoxyCompactList}
 \end{DoxyCompactList}
diff --git a/doc/api-ref/latex/d0/d1e/homescreen_8c.tex b/doc/api-ref/latex/d0/d1e/homescreen_8c.tex
deleted file mode 100644 (file)
index 150bacb..0000000
+++ /dev/null
@@ -1,599 +0,0 @@
-\hypertarget{homescreen_8c}{}\section{src/homescreen.c File Reference}
-\label{homescreen_8c}\index{src/homescreen.\+c@{src/homescreen.\+c}}
-{\ttfamily \#include $<$afb/afb-\/binding.\+h$>$}\newline
-{\ttfamily \#include $<$stdio.\+h$>$}\newline
-{\ttfamily \#include $<$string.\+h$>$}\newline
-{\ttfamily \#include $<$stdlib.\+h$>$}\newline
-{\ttfamily \#include $<$stdint.\+h$>$}\newline
-{\ttfamily \#include $<$unistd.\+h$>$}\newline
-{\ttfamily \#include $<$json-\/c/json.\+h$>$}\newline
-{\ttfamily \#include $<$glib.\+h$>$}\newline
-{\ttfamily \#include $<$pthread.\+h$>$}\newline
-{\ttfamily \#include \char`\"{}hs-\/helper.\+h\char`\"{}}\newline
-\subsection*{Classes}
-\begin{DoxyCompactItemize}
-\item 
-struct \hyperlink{structevent}{event}
-\end{DoxyCompactItemize}
-\subsection*{Macros}
-\begin{DoxyCompactItemize}
-\item 
-\#define \hyperlink{homescreen_8c_a369266c24eacffb87046522897a570d5}{\+\_\+\+G\+N\+U\+\_\+\+S\+O\+U\+R\+CE}
-\item 
-\#define \hyperlink{homescreen_8c_ad2c1fbc92ba364fcf83f15e6d0af66f0}{A\+F\+B\+\_\+\+B\+I\+N\+D\+I\+N\+G\+\_\+\+V\+E\+R\+S\+I\+ON}~2
-\item 
-\#define \hyperlink{homescreen_8c_a09f43d9e7e1c5d2198c0d66024b4500e}{C\+O\+M\+M\+A\+N\+D\+\_\+\+E\+V\+E\+N\+T\+\_\+\+N\+UM}~4
-\item 
-\#define \hyperlink{homescreen_8c_a9a68ed04201d9390bb85b2c6ab1d7250}{E\+V\+E\+N\+T\+\_\+\+S\+U\+B\+S\+C\+R\+I\+B\+E\+\_\+\+E\+R\+R\+O\+R\+\_\+\+C\+O\+DE}~100
-\end{DoxyCompactItemize}
-\subsection*{Functions}
-\begin{DoxyCompactItemize}
-\item 
-static void \hyperlink{homescreen_8c_af48cab759d4ae0ddbfcdd60f4051ba05}{ping\+Sample} (struct afb\+\_\+req request)
-\item 
-static void \hyperlink{homescreen_8c_a096eae5c8f297f9df142a406eea56227}{tap\+\_\+shortcut} (struct afb\+\_\+req request)
-\item 
-static void \hyperlink{homescreen_8c_a640cf8ed97d804c5ed1c09a349056338}{on\+\_\+screen\+\_\+message} (struct afb\+\_\+req request)
-\item 
-static void \hyperlink{homescreen_8c_a2f380055d7d69828115d2a8951634933}{on\+\_\+screen\+\_\+reply} (struct afb\+\_\+req request)
-\item 
-static void \hyperlink{homescreen_8c_a4ff0c8b506669e5622a6ee168134d8f1}{subscribe} (struct afb\+\_\+req request)
-\item 
-static void \hyperlink{homescreen_8c_ab92621255d7370c6dd8a0f1a8e376ad3}{unsubscribe} (struct afb\+\_\+req request)
-\item 
-static int \hyperlink{homescreen_8c_a83d646edf54a6a082f69121bc89a08de}{preinit} ()
-\item 
-static int \hyperlink{homescreen_8c_a00cbbc0f3f4452db078ae511684a6adc}{init} ()
-\item 
-static void \hyperlink{homescreen_8c_a1279893c0fe937311a81e0a98fb4cf1c}{onevent} (const char $\ast$\hyperlink{structevent}{event}, struct json\+\_\+object $\ast$object)
-\end{DoxyCompactItemize}
-\subsection*{Variables}
-\begin{DoxyCompactItemize}
-\item 
-static struct \hyperlink{structevent}{event} \hyperlink{homescreen_8c_a1c3c5bfa861dcb58d9e9d216d893864c}{event\+\_\+list} \mbox{[}\hyperlink{homescreen_8c_a09f43d9e7e1c5d2198c0d66024b4500e}{C\+O\+M\+M\+A\+N\+D\+\_\+\+E\+V\+E\+N\+T\+\_\+\+N\+UM}\mbox{]}
-\item 
-static struct afb\+\_\+event \hyperlink{homescreen_8c_a2af1ff5a4cbf03125e61e903832035f5}{ev\+\_\+tap\+\_\+shortcut}
-\item 
-static struct afb\+\_\+event \hyperlink{homescreen_8c_af7cfc4f688bb898c09291252c4cb832c}{ev\+\_\+on\+\_\+screen\+\_\+message}
-\item 
-static struct afb\+\_\+event \hyperlink{homescreen_8c_a5c225341e0ecbae0585302ef754a55ec}{ev\+\_\+on\+\_\+screen\+\_\+reply}
-\item 
-static struct afb\+\_\+event \hyperlink{homescreen_8c_a25fbdcc4e5787e3f41d99f4a71e86611}{ev\+\_\+reserved}
-\item 
-static const char \hyperlink{homescreen_8c_aed1c5296a2e6d34945507a0fca17a376}{\+\_\+error} \mbox{[}$\,$\mbox{]} = \char`\"{}error\char`\"{}
-\item 
-static const char \hyperlink{homescreen_8c_a1f2c79fa6801b63751e270d67994fe81}{\+\_\+application\+\_\+name} \mbox{[}$\,$\mbox{]} = \char`\"{}application\+\_\+name\char`\"{}
-\item 
-static const char \hyperlink{homescreen_8c_abfd6c1d6f316fa952b11553f8f275e92}{\+\_\+display\+\_\+message} \mbox{[}$\,$\mbox{]} = \char`\"{}display\+\_\+message\char`\"{}
-\item 
-static const char \hyperlink{homescreen_8c_a79b0f0b481161527ccb80e83da143219}{\+\_\+reply\+\_\+message} \mbox{[}$\,$\mbox{]} = \char`\"{}reply\+\_\+message\char`\"{}
-\item 
-static const struct afb\+\_\+verb\+\_\+v2 \hyperlink{homescreen_8c_acad6dadf60fac3d701e488e4fcd11c89}{verbs} \mbox{[}$\,$\mbox{]}
-\item 
-const struct afb\+\_\+binding\+\_\+v2 \hyperlink{homescreen_8c_ae2a62ab481a2922cbfc788193857a12e}{afb\+Binding\+V2}
-\end{DoxyCompactItemize}
-
-
-\subsection{Macro Definition Documentation}
-\mbox{\Hypertarget{homescreen_8c_a369266c24eacffb87046522897a570d5}\label{homescreen_8c_a369266c24eacffb87046522897a570d5}} 
-\index{homescreen.\+c@{homescreen.\+c}!\+\_\+\+G\+N\+U\+\_\+\+S\+O\+U\+R\+CE@{\+\_\+\+G\+N\+U\+\_\+\+S\+O\+U\+R\+CE}}
-\index{\+\_\+\+G\+N\+U\+\_\+\+S\+O\+U\+R\+CE@{\+\_\+\+G\+N\+U\+\_\+\+S\+O\+U\+R\+CE}!homescreen.\+c@{homescreen.\+c}}
-\subsubsection{\texorpdfstring{\+\_\+\+G\+N\+U\+\_\+\+S\+O\+U\+R\+CE}{\_GNU\_SOURCE}}
-{\footnotesize\ttfamily \#define \+\_\+\+G\+N\+U\+\_\+\+S\+O\+U\+R\+CE}
-
-
-
-Definition at line 17 of file homescreen.\+c.
-
-\mbox{\Hypertarget{homescreen_8c_ad2c1fbc92ba364fcf83f15e6d0af66f0}\label{homescreen_8c_ad2c1fbc92ba364fcf83f15e6d0af66f0}} 
-\index{homescreen.\+c@{homescreen.\+c}!A\+F\+B\+\_\+\+B\+I\+N\+D\+I\+N\+G\+\_\+\+V\+E\+R\+S\+I\+ON@{A\+F\+B\+\_\+\+B\+I\+N\+D\+I\+N\+G\+\_\+\+V\+E\+R\+S\+I\+ON}}
-\index{A\+F\+B\+\_\+\+B\+I\+N\+D\+I\+N\+G\+\_\+\+V\+E\+R\+S\+I\+ON@{A\+F\+B\+\_\+\+B\+I\+N\+D\+I\+N\+G\+\_\+\+V\+E\+R\+S\+I\+ON}!homescreen.\+c@{homescreen.\+c}}
-\subsubsection{\texorpdfstring{A\+F\+B\+\_\+\+B\+I\+N\+D\+I\+N\+G\+\_\+\+V\+E\+R\+S\+I\+ON}{AFB\_BINDING\_VERSION}}
-{\footnotesize\ttfamily \#define A\+F\+B\+\_\+\+B\+I\+N\+D\+I\+N\+G\+\_\+\+V\+E\+R\+S\+I\+ON~2}
-
-
-
-Definition at line 18 of file homescreen.\+c.
-
-\mbox{\Hypertarget{homescreen_8c_a09f43d9e7e1c5d2198c0d66024b4500e}\label{homescreen_8c_a09f43d9e7e1c5d2198c0d66024b4500e}} 
-\index{homescreen.\+c@{homescreen.\+c}!C\+O\+M\+M\+A\+N\+D\+\_\+\+E\+V\+E\+N\+T\+\_\+\+N\+UM@{C\+O\+M\+M\+A\+N\+D\+\_\+\+E\+V\+E\+N\+T\+\_\+\+N\+UM}}
-\index{C\+O\+M\+M\+A\+N\+D\+\_\+\+E\+V\+E\+N\+T\+\_\+\+N\+UM@{C\+O\+M\+M\+A\+N\+D\+\_\+\+E\+V\+E\+N\+T\+\_\+\+N\+UM}!homescreen.\+c@{homescreen.\+c}}
-\subsubsection{\texorpdfstring{C\+O\+M\+M\+A\+N\+D\+\_\+\+E\+V\+E\+N\+T\+\_\+\+N\+UM}{COMMAND\_EVENT\_NUM}}
-{\footnotesize\ttfamily \#define C\+O\+M\+M\+A\+N\+D\+\_\+\+E\+V\+E\+N\+T\+\_\+\+N\+UM~4}
-
-
-
-Definition at line 31 of file homescreen.\+c.
-
-\mbox{\Hypertarget{homescreen_8c_a9a68ed04201d9390bb85b2c6ab1d7250}\label{homescreen_8c_a9a68ed04201d9390bb85b2c6ab1d7250}} 
-\index{homescreen.\+c@{homescreen.\+c}!E\+V\+E\+N\+T\+\_\+\+S\+U\+B\+S\+C\+R\+I\+B\+E\+\_\+\+E\+R\+R\+O\+R\+\_\+\+C\+O\+DE@{E\+V\+E\+N\+T\+\_\+\+S\+U\+B\+S\+C\+R\+I\+B\+E\+\_\+\+E\+R\+R\+O\+R\+\_\+\+C\+O\+DE}}
-\index{E\+V\+E\+N\+T\+\_\+\+S\+U\+B\+S\+C\+R\+I\+B\+E\+\_\+\+E\+R\+R\+O\+R\+\_\+\+C\+O\+DE@{E\+V\+E\+N\+T\+\_\+\+S\+U\+B\+S\+C\+R\+I\+B\+E\+\_\+\+E\+R\+R\+O\+R\+\_\+\+C\+O\+DE}!homescreen.\+c@{homescreen.\+c}}
-\subsubsection{\texorpdfstring{E\+V\+E\+N\+T\+\_\+\+S\+U\+B\+S\+C\+R\+I\+B\+E\+\_\+\+E\+R\+R\+O\+R\+\_\+\+C\+O\+DE}{EVENT\_SUBSCRIBE\_ERROR\_CODE}}
-{\footnotesize\ttfamily \#define E\+V\+E\+N\+T\+\_\+\+S\+U\+B\+S\+C\+R\+I\+B\+E\+\_\+\+E\+R\+R\+O\+R\+\_\+\+C\+O\+DE~100}
-
-
-
-Definition at line 32 of file homescreen.\+c.
-
-
-
-\subsection{Function Documentation}
-\mbox{\Hypertarget{homescreen_8c_a00cbbc0f3f4452db078ae511684a6adc}\label{homescreen_8c_a00cbbc0f3f4452db078ae511684a6adc}} 
-\index{homescreen.\+c@{homescreen.\+c}!init@{init}}
-\index{init@{init}!homescreen.\+c@{homescreen.\+c}}
-\subsubsection{\texorpdfstring{init()}{init()}}
-{\footnotesize\ttfamily static int init (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}
-
-
-
-Definition at line 277 of file homescreen.\+c.
-
-
-\begin{DoxyCode}
-278 \{
-279    \hyperlink{hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"binding init"});
-280 
-281    \hyperlink{homescreen_8c_a2af1ff5a4cbf03125e61e903832035f5}{ev\_tap\_shortcut} = afb\_daemon\_make\_event(\hyperlink{hs-helper_8h_a0cd84b1a2184c9b84d1b7bf24582f28e}{evlist}[0]);
-282    \hyperlink{homescreen_8c_af7cfc4f688bb898c09291252c4cb832c}{ev\_on\_screen\_message} = afb\_daemon\_make\_event(\hyperlink{hs-helper_8h_a0cd84b1a2184c9b84d1b7bf24582f28e}{evlist}[1]);
-283    \hyperlink{homescreen_8c_a5c225341e0ecbae0585302ef754a55ec}{ev\_on\_screen\_reply} = afb\_daemon\_make\_event(\hyperlink{hs-helper_8h_a0cd84b1a2184c9b84d1b7bf24582f28e}{evlist}[2]);
-284    \hyperlink{homescreen_8c_a25fbdcc4e5787e3f41d99f4a71e86611}{ev\_reserved} = afb\_daemon\_make\_event(\hyperlink{hs-helper_8h_a0cd84b1a2184c9b84d1b7bf24582f28e}{evlist}[3]);
-285 
-286    \hyperlink{homescreen_8c_a1c3c5bfa861dcb58d9e9d216d893864c}{event\_list}[0].\hyperlink{structevent_a45c6cfb7961a21a3366db067e4cc59ab}{name} = \hyperlink{hs-helper_8h_a0cd84b1a2184c9b84d1b7bf24582f28e}{evlist}[0];
-287    \hyperlink{homescreen_8c_a1c3c5bfa861dcb58d9e9d216d893864c}{event\_list}[0].\hyperlink{structevent_a58726ebc551d36562ac3f9e1fe293214}{event} = &\hyperlink{homescreen_8c_a2af1ff5a4cbf03125e61e903832035f5}{ev\_tap\_shortcut};
-288 
-289    \hyperlink{homescreen_8c_a1c3c5bfa861dcb58d9e9d216d893864c}{event\_list}[1].\hyperlink{structevent_a45c6cfb7961a21a3366db067e4cc59ab}{name} = \hyperlink{hs-helper_8h_a0cd84b1a2184c9b84d1b7bf24582f28e}{evlist}[1];
-290    \hyperlink{homescreen_8c_a1c3c5bfa861dcb58d9e9d216d893864c}{event\_list}[1].\hyperlink{structevent_a58726ebc551d36562ac3f9e1fe293214}{event} = &\hyperlink{homescreen_8c_af7cfc4f688bb898c09291252c4cb832c}{ev\_on\_screen\_message};
-291 
-292    \hyperlink{homescreen_8c_a1c3c5bfa861dcb58d9e9d216d893864c}{event\_list}[2].\hyperlink{structevent_a45c6cfb7961a21a3366db067e4cc59ab}{name} = \hyperlink{hs-helper_8h_a0cd84b1a2184c9b84d1b7bf24582f28e}{evlist}[2];
-293    \hyperlink{homescreen_8c_a1c3c5bfa861dcb58d9e9d216d893864c}{event\_list}[2].\hyperlink{structevent_a58726ebc551d36562ac3f9e1fe293214}{event} = &\hyperlink{homescreen_8c_a5c225341e0ecbae0585302ef754a55ec}{ev\_on\_screen\_reply};
-294 
-295    \hyperlink{homescreen_8c_a1c3c5bfa861dcb58d9e9d216d893864c}{event\_list}[3].\hyperlink{structevent_a45c6cfb7961a21a3366db067e4cc59ab}{name} = \hyperlink{hs-helper_8h_a0cd84b1a2184c9b84d1b7bf24582f28e}{evlist}[3];
-296    \hyperlink{homescreen_8c_a1c3c5bfa861dcb58d9e9d216d893864c}{event\_list}[3].\hyperlink{structevent_a58726ebc551d36562ac3f9e1fe293214}{event} = &\hyperlink{homescreen_8c_a25fbdcc4e5787e3f41d99f4a71e86611}{ev\_reserved};
-297 
-298    \textcolor{keywordflow}{return} 0;
-299 \}
-\end{DoxyCode}
-\mbox{\Hypertarget{homescreen_8c_a640cf8ed97d804c5ed1c09a349056338}\label{homescreen_8c_a640cf8ed97d804c5ed1c09a349056338}} 
-\index{homescreen.\+c@{homescreen.\+c}!on\+\_\+screen\+\_\+message@{on\+\_\+screen\+\_\+message}}
-\index{on\+\_\+screen\+\_\+message@{on\+\_\+screen\+\_\+message}!homescreen.\+c@{homescreen.\+c}}
-\subsubsection{\texorpdfstring{on\+\_\+screen\+\_\+message()}{on\_screen\_message()}}
-{\footnotesize\ttfamily static void on\+\_\+screen\+\_\+message (\begin{DoxyParamCaption}\item[{struct afb\+\_\+req}]{request }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}
-
-Home\+Screen On\+Screen message
-
-\subparagraph*{Parameters}
-
-Request key
-\begin{DoxyItemize}
-\item display\+\_\+message \+: message for display
-\end{DoxyItemize}
-
-\subparagraph*{Return}
-
-Nothing 
-
-Definition at line 114 of file homescreen.\+c.
-
-
-\begin{DoxyCode}
-115 \{
-116     \hyperlink{hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"is called."});
-117 
-118     \textcolor{keywordtype}{int} ret = 0;
-119     \textcolor{keyword}{const} \textcolor{keywordtype}{char}* value = afb\_req\_value(request, \hyperlink{homescreen_8c_abfd6c1d6f316fa952b11553f8f275e92}{\_display\_message});
-120     \textcolor{keywordflow}{if} (value) \{
-121 
-122       \hyperlink{hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"request params = %s."}, value);
-123 
-124       \textcolor{keyword}{struct }json\_object* push\_obj = json\_object\_new\_object();
-125       \hyperlink{hs-helper_8c_a8777c53f1d4d5412f19b134ad85ffedf}{hs\_add\_object\_to\_json\_object\_str}( push\_obj, 2,
-126       \hyperlink{homescreen_8c_abfd6c1d6f316fa952b11553f8f275e92}{\_display\_message}, value);
-127       afb\_event\_push(\hyperlink{homescreen_8c_af7cfc4f688bb898c09291252c4cb832c}{ev\_on\_screen\_message}, push\_obj);
-128     \} \textcolor{keywordflow}{else} \{
-129       afb\_req\_fail\_f(request, \textcolor{stringliteral}{"failed"}, \textcolor{stringliteral}{"called %s, Unknown palameter"}, \_\_FUNCTION\_\_);
-130       \textcolor{keywordflow}{return};
-131     \}
-132 
-133   \textcolor{comment}{// response to HomeScreen}
-134     \textcolor{keyword}{struct }json\_object *res = json\_object\_new\_object();
-135     \hyperlink{hs-helper_8c_ae83604a37134e7bdee3ce4f10bb0b47a}{hs\_add\_object\_to\_json\_object\_func}(res, \_\_FUNCTION\_\_, 2,
-136       \hyperlink{homescreen_8c_aed1c5296a2e6d34945507a0fca17a376}{\_error},  ret);
-137     afb\_req\_success(request, res, \textcolor{stringliteral}{"afb\_event\_push event [on\_screen\_message]"});
-138 \}
-\end{DoxyCode}
-\mbox{\Hypertarget{homescreen_8c_a2f380055d7d69828115d2a8951634933}\label{homescreen_8c_a2f380055d7d69828115d2a8951634933}} 
-\index{homescreen.\+c@{homescreen.\+c}!on\+\_\+screen\+\_\+reply@{on\+\_\+screen\+\_\+reply}}
-\index{on\+\_\+screen\+\_\+reply@{on\+\_\+screen\+\_\+reply}!homescreen.\+c@{homescreen.\+c}}
-\subsubsection{\texorpdfstring{on\+\_\+screen\+\_\+reply()}{on\_screen\_reply()}}
-{\footnotesize\ttfamily static void on\+\_\+screen\+\_\+reply (\begin{DoxyParamCaption}\item[{struct afb\+\_\+req}]{request }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}
-
-Home\+Screen On\+Screen Reply
-
-\subparagraph*{Parameters}
-
-Request key
-\begin{DoxyItemize}
-\item reply\+\_\+message \+: message for reply
-\end{DoxyItemize}
-
-\subparagraph*{Return}
-
-Nothing 
-
-Definition at line 151 of file homescreen.\+c.
-
-
-\begin{DoxyCode}
-152 \{
-153     \hyperlink{hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"is called."});
-154 
-155     \textcolor{keywordtype}{int} ret = 0;
-156     \textcolor{keyword}{const} \textcolor{keywordtype}{char}* value = afb\_req\_value(request, \hyperlink{homescreen_8c_a79b0f0b481161527ccb80e83da143219}{\_reply\_message});
-157     \textcolor{keywordflow}{if} (value) \{
-158 
-159       \hyperlink{hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"request params = %s."}, value);
-160 
-161       \textcolor{keyword}{struct }json\_object* push\_obj = json\_object\_new\_object();
-162       \hyperlink{hs-helper_8c_a8777c53f1d4d5412f19b134ad85ffedf}{hs\_add\_object\_to\_json\_object\_str}( push\_obj, 2,
-163       \hyperlink{homescreen_8c_a79b0f0b481161527ccb80e83da143219}{\_reply\_message}, value);
-164       afb\_event\_push(\hyperlink{homescreen_8c_a5c225341e0ecbae0585302ef754a55ec}{ev\_on\_screen\_reply}, push\_obj);
-165     \} \textcolor{keywordflow}{else} \{
-166       afb\_req\_fail\_f(request, \textcolor{stringliteral}{"failed"}, \textcolor{stringliteral}{"called %s, Unknown palameter"}, \_\_FUNCTION\_\_);
-167       \textcolor{keywordflow}{return};
-168     \}
-169 
-170   \textcolor{comment}{// response to HomeScreen}
-171     \textcolor{keyword}{struct }json\_object *res = json\_object\_new\_object();
-172     \hyperlink{hs-helper_8c_ae83604a37134e7bdee3ce4f10bb0b47a}{hs\_add\_object\_to\_json\_object\_func}(res, \_\_FUNCTION\_\_, 2,
-173       \hyperlink{homescreen_8c_aed1c5296a2e6d34945507a0fca17a376}{\_error},  ret);
-174     afb\_req\_success(request, res, \textcolor{stringliteral}{"afb\_event\_push event [on\_screen\_reply]"});
-175 \}
-\end{DoxyCode}
-\mbox{\Hypertarget{homescreen_8c_a1279893c0fe937311a81e0a98fb4cf1c}\label{homescreen_8c_a1279893c0fe937311a81e0a98fb4cf1c}} 
-\index{homescreen.\+c@{homescreen.\+c}!onevent@{onevent}}
-\index{onevent@{onevent}!homescreen.\+c@{homescreen.\+c}}
-\subsubsection{\texorpdfstring{onevent()}{onevent()}}
-{\footnotesize\ttfamily static void onevent (\begin{DoxyParamCaption}\item[{const char $\ast$}]{event,  }\item[{struct json\+\_\+object $\ast$}]{object }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}
-
-
-
-Definition at line 301 of file homescreen.\+c.
-
-
-\begin{DoxyCode}
-302 \{
-303    \hyperlink{hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"on\_event %s"}, \hyperlink{structevent}{event});
-304 \}
-\end{DoxyCode}
-\mbox{\Hypertarget{homescreen_8c_af48cab759d4ae0ddbfcdd60f4051ba05}\label{homescreen_8c_af48cab759d4ae0ddbfcdd60f4051ba05}} 
-\index{homescreen.\+c@{homescreen.\+c}!ping\+Sample@{ping\+Sample}}
-\index{ping\+Sample@{ping\+Sample}!homescreen.\+c@{homescreen.\+c}}
-\subsubsection{\texorpdfstring{ping\+Sample()}{pingSample()}}
-{\footnotesize\ttfamily static void ping\+Sample (\begin{DoxyParamCaption}\item[{struct afb\+\_\+req}]{request }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}
-
-
-
-Definition at line 57 of file homescreen.\+c.
-
-
-\begin{DoxyCode}
-58 \{
-59    \textcolor{keyword}{static} \textcolor{keywordtype}{int} pingcount = 0;
-60    afb\_req\_success\_f(request, json\_object\_new\_int(pingcount), \textcolor{stringliteral}{"Ping count = %d"}, pingcount);
-61    \hyperlink{hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"Verbosity macro at level notice invoked at ping invocation
-       count = %d"}, pingcount);
-62    pingcount++;
-63 \}
-\end{DoxyCode}
-\mbox{\Hypertarget{homescreen_8c_a83d646edf54a6a082f69121bc89a08de}\label{homescreen_8c_a83d646edf54a6a082f69121bc89a08de}} 
-\index{homescreen.\+c@{homescreen.\+c}!preinit@{preinit}}
-\index{preinit@{preinit}!homescreen.\+c@{homescreen.\+c}}
-\subsubsection{\texorpdfstring{preinit()}{preinit()}}
-{\footnotesize\ttfamily static int preinit (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}
-
-
-
-Definition at line 271 of file homescreen.\+c.
-
-
-\begin{DoxyCode}
-272 \{
-273    \hyperlink{hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"binding preinit (was register)"});
-274    \textcolor{keywordflow}{return} 0;
-275 \}
-\end{DoxyCode}
-\mbox{\Hypertarget{homescreen_8c_a4ff0c8b506669e5622a6ee168134d8f1}\label{homescreen_8c_a4ff0c8b506669e5622a6ee168134d8f1}} 
-\index{homescreen.\+c@{homescreen.\+c}!subscribe@{subscribe}}
-\index{subscribe@{subscribe}!homescreen.\+c@{homescreen.\+c}}
-\subsubsection{\texorpdfstring{subscribe()}{subscribe()}}
-{\footnotesize\ttfamily static void subscribe (\begin{DoxyParamCaption}\item[{struct afb\+\_\+req}]{request }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}
-
-Subscribe event
-
-\subparagraph*{Parameters}
-
-
-\begin{DoxyItemize}
-\item event \+: Event name. Event list is written in \hyperlink{libhomescreen_8cpp}{libhomescreen.\+cpp}
-\end{DoxyItemize}
-
-\subparagraph*{Return}
-
-Nothing
-
-\subparagraph*{Note}
-
-Definition at line 189 of file homescreen.\+c.
-
-
-\begin{DoxyCode}
-190 \{
-191     \textcolor{keyword}{const} \textcolor{keywordtype}{char} *value = afb\_req\_value(request, \textcolor{stringliteral}{"event"});
-192     \hyperlink{hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"value is %s"}, value);
-193     \textcolor{keywordtype}{int} ret = 0;
-194     \textcolor{keywordflow}{if}(value) \{
-195         \textcolor{keywordtype}{int} index = \hyperlink{hs-helper_8c_a2ff1b894941c3b461ca8119079c4146a}{hs\_search\_event\_name\_index}(value);
-196         \textcolor{keywordflow}{if}(index < 0)
-197         \{
-198             \hyperlink{hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"dedicated event doesn't exist"});
-199             ret = \hyperlink{homescreen_8c_a9a68ed04201d9390bb85b2c6ab1d7250}{EVENT\_SUBSCRIBE\_ERROR\_CODE};
-200         \}
-201         \textcolor{keywordflow}{else}
-202         \{
-203             afb\_req\_subscribe(request, *\hyperlink{homescreen_8c_a1c3c5bfa861dcb58d9e9d216d893864c}{event\_list}[index].\hyperlink{structevent}{event});
-204         \}
-205     \}
-206     \textcolor{keywordflow}{else}\{
-207         \hyperlink{hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"Please input event name"});
-208         ret = \hyperlink{homescreen_8c_a9a68ed04201d9390bb85b2c6ab1d7250}{EVENT\_SUBSCRIBE\_ERROR\_CODE};
-209     \}
-210     \textcolor{comment}{/*create response json object*/}
-211     \textcolor{keyword}{struct }json\_object *res = json\_object\_new\_object();
-212     \hyperlink{hs-helper_8c_ae83604a37134e7bdee3ce4f10bb0b47a}{hs\_add\_object\_to\_json\_object\_func}(res, \_\_FUNCTION\_\_, 2,
-213         \hyperlink{homescreen_8c_aed1c5296a2e6d34945507a0fca17a376}{\_error}, ret);
-214     afb\_req\_success\_f(request, res, \textcolor{stringliteral}{"homescreen binder subscribe event name [%s]"}, value);
-215 \}
-\end{DoxyCode}
-\mbox{\Hypertarget{homescreen_8c_a096eae5c8f297f9df142a406eea56227}\label{homescreen_8c_a096eae5c8f297f9df142a406eea56227}} 
-\index{homescreen.\+c@{homescreen.\+c}!tap\+\_\+shortcut@{tap\+\_\+shortcut}}
-\index{tap\+\_\+shortcut@{tap\+\_\+shortcut}!homescreen.\+c@{homescreen.\+c}}
-\subsubsection{\texorpdfstring{tap\+\_\+shortcut()}{tap\_shortcut()}}
-{\footnotesize\ttfamily static void tap\+\_\+shortcut (\begin{DoxyParamCaption}\item[{struct afb\+\_\+req}]{request }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}
-
-tap\+\_\+shortcut notify for homescreen When Shortcut area is tapped, notify these applciations
-
-\subparagraph*{Parameters}
-
-Request key
-\begin{DoxyItemize}
-\item application\+\_\+name \+: application name
-\end{DoxyItemize}
-
-\subparagraph*{Return}
-
-Nothing 
-
-Definition at line 77 of file homescreen.\+c.
-
-
-\begin{DoxyCode}
-78 \{
-79     \hyperlink{hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"is called."});
-80 
-81     \textcolor{keywordtype}{int} ret = 0;
-82     \textcolor{keyword}{const} \textcolor{keywordtype}{char}* value = afb\_req\_value(request, \hyperlink{homescreen_8c_a1f2c79fa6801b63751e270d67994fe81}{\_application\_name});
-83     \textcolor{keywordflow}{if} (value) \{
-84 
-85       \hyperlink{hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"request params = %s."}, value);
-86 
-87       \textcolor{keyword}{struct }json\_object* push\_obj = json\_object\_new\_object();
-88       \hyperlink{hs-helper_8c_a8777c53f1d4d5412f19b134ad85ffedf}{hs\_add\_object\_to\_json\_object\_str}( push\_obj, 2,
-89       \hyperlink{homescreen_8c_a1f2c79fa6801b63751e270d67994fe81}{\_application\_name}, value);
-90       afb\_event\_push(\hyperlink{homescreen_8c_a2af1ff5a4cbf03125e61e903832035f5}{ev\_tap\_shortcut}, push\_obj);
-91     \} \textcolor{keywordflow}{else} \{
-92       afb\_req\_fail\_f(request, \textcolor{stringliteral}{"failed"}, \textcolor{stringliteral}{"called %s, Unknown palameter"}, \_\_FUNCTION\_\_);
-93       \textcolor{keywordflow}{return};
-94     \}
-95 
-96   \textcolor{comment}{// response to HomeScreen}
-97     \textcolor{keyword}{struct }json\_object *res = json\_object\_new\_object();
-98     \hyperlink{hs-helper_8c_ae83604a37134e7bdee3ce4f10bb0b47a}{hs\_add\_object\_to\_json\_object\_func}(res, \_\_FUNCTION\_\_, 2,
-99       \hyperlink{homescreen_8c_aed1c5296a2e6d34945507a0fca17a376}{\_error},  ret);
-100     afb\_req\_success(request, res, \textcolor{stringliteral}{"afb\_event\_push event [tap\_shortcut]"});
-101 \}
-\end{DoxyCode}
-\mbox{\Hypertarget{homescreen_8c_ab92621255d7370c6dd8a0f1a8e376ad3}\label{homescreen_8c_ab92621255d7370c6dd8a0f1a8e376ad3}} 
-\index{homescreen.\+c@{homescreen.\+c}!unsubscribe@{unsubscribe}}
-\index{unsubscribe@{unsubscribe}!homescreen.\+c@{homescreen.\+c}}
-\subsubsection{\texorpdfstring{unsubscribe()}{unsubscribe()}}
-{\footnotesize\ttfamily static void unsubscribe (\begin{DoxyParamCaption}\item[{struct afb\+\_\+req}]{request }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}
-
-Unsubscribe event
-
-\subparagraph*{Parameters}
-
-
-\begin{DoxyItemize}
-\item event \+: Event name. Event list is written in \hyperlink{libhomescreen_8cpp}{libhomescreen.\+cpp}
-\end{DoxyItemize}
-
-\subparagraph*{Return}
-
-Nothing
-
-\subparagraph*{Note}
-
-Definition at line 229 of file homescreen.\+c.
-
-
-\begin{DoxyCode}
-230 \{
-231     \textcolor{keyword}{const} \textcolor{keywordtype}{char} *value = afb\_req\_value(request, \textcolor{stringliteral}{"event"});
-232     \hyperlink{hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"value is %s"}, value);
-233     \textcolor{keywordtype}{int} ret = 0;
-234     \textcolor{keywordflow}{if}(value) \{
-235         \textcolor{keywordtype}{int} index = \hyperlink{hs-helper_8c_a2ff1b894941c3b461ca8119079c4146a}{hs\_search\_event\_name\_index}(value);
-236         \textcolor{keywordflow}{if}(index < 0)
-237         \{
-238             \hyperlink{hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"dedicated event doesn't exist"});
-239             ret = \hyperlink{homescreen_8c_a9a68ed04201d9390bb85b2c6ab1d7250}{EVENT\_SUBSCRIBE\_ERROR\_CODE};
-240         \}
-241         \textcolor{keywordflow}{else}
-242         \{
-243             afb\_req\_unsubscribe(request, *\hyperlink{homescreen_8c_a1c3c5bfa861dcb58d9e9d216d893864c}{event\_list}[index].\hyperlink{structevent}{event});
-244         \}
-245     \}
-246     \textcolor{keywordflow}{else}\{
-247         \hyperlink{hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"Please input event name"});
-248         ret = \hyperlink{homescreen_8c_a9a68ed04201d9390bb85b2c6ab1d7250}{EVENT\_SUBSCRIBE\_ERROR\_CODE};
-249     \}
-250     \textcolor{comment}{/*create response json object*/}
-251     \textcolor{keyword}{struct }json\_object *res = json\_object\_new\_object();
-252     \hyperlink{hs-helper_8c_ae83604a37134e7bdee3ce4f10bb0b47a}{hs\_add\_object\_to\_json\_object\_func}(res, \_\_FUNCTION\_\_, 2,
-253         \hyperlink{homescreen_8c_aed1c5296a2e6d34945507a0fca17a376}{\_error}, ret);
-254     afb\_req\_success\_f(request, res, \textcolor{stringliteral}{"homescreen binder unsubscribe event name [%s]"}, value);
-255 \}
-\end{DoxyCode}
-
-
-\subsection{Variable Documentation}
-\mbox{\Hypertarget{homescreen_8c_a1f2c79fa6801b63751e270d67994fe81}\label{homescreen_8c_a1f2c79fa6801b63751e270d67994fe81}} 
-\index{homescreen.\+c@{homescreen.\+c}!\+\_\+application\+\_\+name@{\+\_\+application\+\_\+name}}
-\index{\+\_\+application\+\_\+name@{\+\_\+application\+\_\+name}!homescreen.\+c@{homescreen.\+c}}
-\subsubsection{\texorpdfstring{\+\_\+application\+\_\+name}{\_application\_name}}
-{\footnotesize\ttfamily const char \+\_\+application\+\_\+name\mbox{[}$\,$\mbox{]} = \char`\"{}application\+\_\+name\char`\"{}\hspace{0.3cm}{\ttfamily [static]}}
-
-
-
-Definition at line 49 of file homescreen.\+c.
-
-\mbox{\Hypertarget{homescreen_8c_abfd6c1d6f316fa952b11553f8f275e92}\label{homescreen_8c_abfd6c1d6f316fa952b11553f8f275e92}} 
-\index{homescreen.\+c@{homescreen.\+c}!\+\_\+display\+\_\+message@{\+\_\+display\+\_\+message}}
-\index{\+\_\+display\+\_\+message@{\+\_\+display\+\_\+message}!homescreen.\+c@{homescreen.\+c}}
-\subsubsection{\texorpdfstring{\+\_\+display\+\_\+message}{\_display\_message}}
-{\footnotesize\ttfamily const char \+\_\+display\+\_\+message\mbox{[}$\,$\mbox{]} = \char`\"{}display\+\_\+message\char`\"{}\hspace{0.3cm}{\ttfamily [static]}}
-
-
-
-Definition at line 50 of file homescreen.\+c.
-
-\mbox{\Hypertarget{homescreen_8c_aed1c5296a2e6d34945507a0fca17a376}\label{homescreen_8c_aed1c5296a2e6d34945507a0fca17a376}} 
-\index{homescreen.\+c@{homescreen.\+c}!\+\_\+error@{\+\_\+error}}
-\index{\+\_\+error@{\+\_\+error}!homescreen.\+c@{homescreen.\+c}}
-\subsubsection{\texorpdfstring{\+\_\+error}{\_error}}
-{\footnotesize\ttfamily const char \+\_\+error\mbox{[}$\,$\mbox{]} = \char`\"{}error\char`\"{}\hspace{0.3cm}{\ttfamily [static]}}
-
-
-
-Definition at line 47 of file homescreen.\+c.
-
-\mbox{\Hypertarget{homescreen_8c_a79b0f0b481161527ccb80e83da143219}\label{homescreen_8c_a79b0f0b481161527ccb80e83da143219}} 
-\index{homescreen.\+c@{homescreen.\+c}!\+\_\+reply\+\_\+message@{\+\_\+reply\+\_\+message}}
-\index{\+\_\+reply\+\_\+message@{\+\_\+reply\+\_\+message}!homescreen.\+c@{homescreen.\+c}}
-\subsubsection{\texorpdfstring{\+\_\+reply\+\_\+message}{\_reply\_message}}
-{\footnotesize\ttfamily const char \+\_\+reply\+\_\+message\mbox{[}$\,$\mbox{]} = \char`\"{}reply\+\_\+message\char`\"{}\hspace{0.3cm}{\ttfamily [static]}}
-
-
-
-Definition at line 51 of file homescreen.\+c.
-
-\mbox{\Hypertarget{homescreen_8c_ae2a62ab481a2922cbfc788193857a12e}\label{homescreen_8c_ae2a62ab481a2922cbfc788193857a12e}} 
-\index{homescreen.\+c@{homescreen.\+c}!afb\+Binding\+V2@{afb\+Binding\+V2}}
-\index{afb\+Binding\+V2@{afb\+Binding\+V2}!homescreen.\+c@{homescreen.\+c}}
-\subsubsection{\texorpdfstring{afb\+Binding\+V2}{afbBindingV2}}
-{\footnotesize\ttfamily const struct afb\+\_\+binding\+\_\+v2 afb\+Binding\+V2}
-
-{\bfseries Initial value\+:}
-\begin{DoxyCode}
-= \{
-    .api = \textcolor{stringliteral}{"homescreen"},
-    .specification = NULL,
-    .verbs = \hyperlink{homescreen_8c_acad6dadf60fac3d701e488e4fcd11c89}{verbs},
-    .preinit = \hyperlink{homescreen_8c_a83d646edf54a6a082f69121bc89a08de}{preinit},
-    .init = \hyperlink{homescreen_8c_a00cbbc0f3f4452db078ae511684a6adc}{init},
-    .onevent = \hyperlink{homescreen_8c_a1279893c0fe937311a81e0a98fb4cf1c}{onevent}
-\}
-\end{DoxyCode}
-
-
-Definition at line 306 of file homescreen.\+c.
-
-\mbox{\Hypertarget{homescreen_8c_af7cfc4f688bb898c09291252c4cb832c}\label{homescreen_8c_af7cfc4f688bb898c09291252c4cb832c}} 
-\index{homescreen.\+c@{homescreen.\+c}!ev\+\_\+on\+\_\+screen\+\_\+message@{ev\+\_\+on\+\_\+screen\+\_\+message}}
-\index{ev\+\_\+on\+\_\+screen\+\_\+message@{ev\+\_\+on\+\_\+screen\+\_\+message}!homescreen.\+c@{homescreen.\+c}}
-\subsubsection{\texorpdfstring{ev\+\_\+on\+\_\+screen\+\_\+message}{ev\_on\_screen\_message}}
-{\footnotesize\ttfamily struct afb\+\_\+event ev\+\_\+on\+\_\+screen\+\_\+message\hspace{0.3cm}{\ttfamily [static]}}
-
-
-
-Definition at line 43 of file homescreen.\+c.
-
-\mbox{\Hypertarget{homescreen_8c_a5c225341e0ecbae0585302ef754a55ec}\label{homescreen_8c_a5c225341e0ecbae0585302ef754a55ec}} 
-\index{homescreen.\+c@{homescreen.\+c}!ev\+\_\+on\+\_\+screen\+\_\+reply@{ev\+\_\+on\+\_\+screen\+\_\+reply}}
-\index{ev\+\_\+on\+\_\+screen\+\_\+reply@{ev\+\_\+on\+\_\+screen\+\_\+reply}!homescreen.\+c@{homescreen.\+c}}
-\subsubsection{\texorpdfstring{ev\+\_\+on\+\_\+screen\+\_\+reply}{ev\_on\_screen\_reply}}
-{\footnotesize\ttfamily struct afb\+\_\+event ev\+\_\+on\+\_\+screen\+\_\+reply\hspace{0.3cm}{\ttfamily [static]}}
-
-
-
-Definition at line 44 of file homescreen.\+c.
-
-\mbox{\Hypertarget{homescreen_8c_a25fbdcc4e5787e3f41d99f4a71e86611}\label{homescreen_8c_a25fbdcc4e5787e3f41d99f4a71e86611}} 
-\index{homescreen.\+c@{homescreen.\+c}!ev\+\_\+reserved@{ev\+\_\+reserved}}
-\index{ev\+\_\+reserved@{ev\+\_\+reserved}!homescreen.\+c@{homescreen.\+c}}
-\subsubsection{\texorpdfstring{ev\+\_\+reserved}{ev\_reserved}}
-{\footnotesize\ttfamily struct afb\+\_\+event ev\+\_\+reserved\hspace{0.3cm}{\ttfamily [static]}}
-
-
-
-Definition at line 45 of file homescreen.\+c.
-
-\mbox{\Hypertarget{homescreen_8c_a2af1ff5a4cbf03125e61e903832035f5}\label{homescreen_8c_a2af1ff5a4cbf03125e61e903832035f5}} 
-\index{homescreen.\+c@{homescreen.\+c}!ev\+\_\+tap\+\_\+shortcut@{ev\+\_\+tap\+\_\+shortcut}}
-\index{ev\+\_\+tap\+\_\+shortcut@{ev\+\_\+tap\+\_\+shortcut}!homescreen.\+c@{homescreen.\+c}}
-\subsubsection{\texorpdfstring{ev\+\_\+tap\+\_\+shortcut}{ev\_tap\_shortcut}}
-{\footnotesize\ttfamily struct afb\+\_\+event ev\+\_\+tap\+\_\+shortcut\hspace{0.3cm}{\ttfamily [static]}}
-
-
-
-Definition at line 42 of file homescreen.\+c.
-
-\mbox{\Hypertarget{homescreen_8c_a1c3c5bfa861dcb58d9e9d216d893864c}\label{homescreen_8c_a1c3c5bfa861dcb58d9e9d216d893864c}} 
-\index{homescreen.\+c@{homescreen.\+c}!event\+\_\+list@{event\+\_\+list}}
-\index{event\+\_\+list@{event\+\_\+list}!homescreen.\+c@{homescreen.\+c}}
-\subsubsection{\texorpdfstring{event\+\_\+list}{event\_list}}
-{\footnotesize\ttfamily struct \hyperlink{structevent}{event} event\+\_\+list\mbox{[}\hyperlink{homescreen_8c_a09f43d9e7e1c5d2198c0d66024b4500e}{C\+O\+M\+M\+A\+N\+D\+\_\+\+E\+V\+E\+N\+T\+\_\+\+N\+UM}\mbox{]}\hspace{0.3cm}{\ttfamily [static]}}
-
-
-
-Definition at line 40 of file homescreen.\+c.
-
-\mbox{\Hypertarget{homescreen_8c_acad6dadf60fac3d701e488e4fcd11c89}\label{homescreen_8c_acad6dadf60fac3d701e488e4fcd11c89}} 
-\index{homescreen.\+c@{homescreen.\+c}!verbs@{verbs}}
-\index{verbs@{verbs}!homescreen.\+c@{homescreen.\+c}}
-\subsubsection{\texorpdfstring{verbs}{verbs}}
-{\footnotesize\ttfamily const struct afb\+\_\+verb\+\_\+v2 verbs\mbox{[}$\,$\mbox{]}\hspace{0.3cm}{\ttfamily [static]}}
-
-{\bfseries Initial value\+:}
-\begin{DoxyCode}
-= \{
-    
-    \{ .verb = \textcolor{stringliteral}{"ping"},              .session = AFB\_SESSION\_NONE,    .callback = 
-      \hyperlink{homescreen_8c_af48cab759d4ae0ddbfcdd60f4051ba05}{pingSample},        .auth = NULL \},
-    \{ .verb = \textcolor{stringliteral}{"tap\_shortcut"},      .session = AFB\_SESSION\_NONE,    .callback = 
-      \hyperlink{homescreen_8c_a096eae5c8f297f9df142a406eea56227}{tap\_shortcut},      .auth = NULL \},
-    \{ .verb = \textcolor{stringliteral}{"on\_screen\_message"}, .session = AFB\_SESSION\_NONE,    .callback = 
-      \hyperlink{homescreen_8c_a640cf8ed97d804c5ed1c09a349056338}{on\_screen\_message}, .auth = NULL \},
-    \{ .verb = \textcolor{stringliteral}{"on\_screen\_reply"},   .session = AFB\_SESSION\_NONE,    .callback = 
-      \hyperlink{homescreen_8c_a2f380055d7d69828115d2a8951634933}{on\_screen\_reply},   .auth = NULL \},
-    \{ .verb = \textcolor{stringliteral}{"subscribe"},         .session = AFB\_SESSION\_NONE,    .callback = 
-      \hyperlink{homescreen_8c_a4ff0c8b506669e5622a6ee168134d8f1}{subscribe},         .auth = NULL \},
-    \{ .verb = \textcolor{stringliteral}{"unsubscribe"},       .session = AFB\_SESSION\_NONE,    .callback = 
-      \hyperlink{homescreen_8c_ab92621255d7370c6dd8a0f1a8e376ad3}{unsubscribe},       .auth = NULL \},
-    \{NULL \} 
-\}
-\end{DoxyCode}
-
-
-Definition at line 260 of file homescreen.\+c.
-
diff --git a/doc/api-ref/latex/d0/d53/struct_h_s___client_ctxt.tex b/doc/api-ref/latex/d0/d53/struct_h_s___client_ctxt.tex
new file mode 100644 (file)
index 0000000..7da15c3
--- /dev/null
@@ -0,0 +1,58 @@
+\hypertarget{struct_h_s___client_ctxt}{}\section{H\+S\+\_\+\+Client\+Ctxt Struct Reference}
+\label{struct_h_s___client_ctxt}\index{H\+S\+\_\+\+Client\+Ctxt@{H\+S\+\_\+\+Client\+Ctxt}}
+
+
+{\ttfamily \#include $<$hs-\/clientmanager.\+h$>$}
+
+\subsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item 
+\hyperlink{struct_h_s___client_ctxt_a9ff4dcc7b8c6061940a0ee79b5d15459}{H\+S\+\_\+\+Client\+Ctxt} (const char $\ast$appid)
+\end{DoxyCompactItemize}
+\subsection*{Public Attributes}
+\begin{DoxyCompactItemize}
+\item 
+std\+::string \hyperlink{struct_h_s___client_ctxt_a04929d7d5f583a821d3d594815f77d1c}{id}
+\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+
+
+Definition at line 27 of file hs-\/clientmanager.\+h.
+
+
+
+\subsection{Constructor \& Destructor Documentation}
+\index{H\+S\+\_\+\+Client\+Ctxt@{H\+S\+\_\+\+Client\+Ctxt}!H\+S\+\_\+\+Client\+Ctxt@{H\+S\+\_\+\+Client\+Ctxt}}
+\index{H\+S\+\_\+\+Client\+Ctxt@{H\+S\+\_\+\+Client\+Ctxt}!H\+S\+\_\+\+Client\+Ctxt@{H\+S\+\_\+\+Client\+Ctxt}}
+\subsubsection[{\texorpdfstring{H\+S\+\_\+\+Client\+Ctxt(const char $\ast$appid)}{HS_ClientCtxt(const char *appid)}}]{\setlength{\rightskip}{0pt plus 5cm}H\+S\+\_\+\+Client\+Ctxt\+::\+H\+S\+\_\+\+Client\+Ctxt (
+\begin{DoxyParamCaption}
+\item[{const char $\ast$}]{appid}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}\hypertarget{struct_h_s___client_ctxt_a9ff4dcc7b8c6061940a0ee79b5d15459}{}\label{struct_h_s___client_ctxt_a9ff4dcc7b8c6061940a0ee79b5d15459}
+
+
+Definition at line 30 of file hs-\/clientmanager.\+h.
+
+
+\begin{DoxyCode}
+31     \{
+32         \textcolor{keywordtype}{id} = appid;
+33     \}
+\end{DoxyCode}
+
+
+\subsection{Member Data Documentation}
+\index{H\+S\+\_\+\+Client\+Ctxt@{H\+S\+\_\+\+Client\+Ctxt}!id@{id}}
+\index{id@{id}!H\+S\+\_\+\+Client\+Ctxt@{H\+S\+\_\+\+Client\+Ctxt}}
+\subsubsection[{\texorpdfstring{id}{id}}]{\setlength{\rightskip}{0pt plus 5cm}std\+::string H\+S\+\_\+\+Client\+Ctxt\+::id}\hypertarget{struct_h_s___client_ctxt_a04929d7d5f583a821d3d594815f77d1c}{}\label{struct_h_s___client_ctxt_a04929d7d5f583a821d3d594815f77d1c}
+
+
+Definition at line 29 of file hs-\/clientmanager.\+h.
+
+
+
+The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
+\item 
+src/\hyperlink{hs-clientmanager_8h}{hs-\/clientmanager.\+h}\end{DoxyCompactItemize}
index 3a824b9..794e5ee 100644 (file)
@@ -1,19 +1,18 @@
 \hypertarget{libhomescreen_8cpp}{}\section{libhomescreen/libhomescreen.cpp File Reference}
 \label{libhomescreen_8cpp}\index{libhomescreen/libhomescreen.\+cpp@{libhomescreen/libhomescreen.\+cpp}}
 \hypertarget{libhomescreen_8cpp}{}\section{libhomescreen/libhomescreen.cpp File Reference}
 \label{libhomescreen_8cpp}\index{libhomescreen/libhomescreen.\+cpp@{libhomescreen/libhomescreen.\+cpp}}
-{\ttfamily \#include $<$stdarg.\+h$>$}\newline
-{\ttfamily \#include $<$sys/socket.\+h$>$}\newline
-{\ttfamily \#include $<$iostream$>$}\newline
-{\ttfamily \#include $<$algorithm$>$}\newline
-{\ttfamily \#include $<$thread$>$}\newline
-{\ttfamily \#include $<$errno.\+h$>$}\newline
-{\ttfamily \#include $<$cassert$>$}\newline
-{\ttfamily \#include $<$cctype$>$}\newline
-{\ttfamily \#include $<$cerrno$>$}\newline
-{\ttfamily \#include $<$cstdio$>$}\newline
-{\ttfamily \#include $<$cstdlib$>$}\newline
-{\ttfamily \#include $<$cstring$>$}\newline
-{\ttfamily \#include $<$libhomescreen.\+hpp$>$}\newline
-{\ttfamily \#include \char`\"{}hmi-\/debug.\+h\char`\"{}}\newline
+{\ttfamily \#include $<$stdarg.\+h$>$}\\*
+{\ttfamily \#include $<$sys/socket.\+h$>$}\\*
+{\ttfamily \#include $<$iostream$>$}\\*
+{\ttfamily \#include $<$algorithm$>$}\\*
+{\ttfamily \#include $<$errno.\+h$>$}\\*
+{\ttfamily \#include $<$cassert$>$}\\*
+{\ttfamily \#include $<$cctype$>$}\\*
+{\ttfamily \#include $<$cerrno$>$}\\*
+{\ttfamily \#include $<$cstdio$>$}\\*
+{\ttfamily \#include $<$cstdlib$>$}\\*
+{\ttfamily \#include $<$cstring$>$}\\*
+{\ttfamily \#include $<$libhomescreen.\+hpp$>$}\\*
+{\ttfamily \#include \char`\"{}hmi-\/debug.\+h\char`\"{}}\\*
 \subsection*{Functions}
 \begin{DoxyCompactItemize}
 \item 
 \subsection*{Functions}
 \begin{DoxyCompactItemize}
 \item 
@@ -23,134 +22,131 @@ static void \hyperlink{libhomescreen_8cpp_a73c05b96c151e5e46c28585ccb143c1c}{\+\
 \item 
 static void \hyperlink{libhomescreen_8cpp_a782a05fde0f1c17e0c4c8f972a3f53c8}{\+\_\+on\+\_\+call\+\_\+static} (void $\ast$closure, const char $\ast$api, const char $\ast$verb, struct afb\+\_\+wsj1\+\_\+msg $\ast$msg)
 \item 
 \item 
 static void \hyperlink{libhomescreen_8cpp_a782a05fde0f1c17e0c4c8f972a3f53c8}{\+\_\+on\+\_\+call\+\_\+static} (void $\ast$closure, const char $\ast$api, const char $\ast$verb, struct afb\+\_\+wsj1\+\_\+msg $\ast$msg)
 \item 
-static void \hyperlink{libhomescreen_8cpp_a3df86185aa9453726556da201d95a6f9}{\+\_\+on\+\_\+event\+\_\+static} (void $\ast$closure, const char $\ast$\hyperlink{structevent}{event}, struct afb\+\_\+wsj1\+\_\+msg $\ast$msg)
+static void \hyperlink{libhomescreen_8cpp_a3df86185aa9453726556da201d95a6f9}{\+\_\+on\+\_\+event\+\_\+static} (void $\ast$closure, const char $\ast$event, struct afb\+\_\+wsj1\+\_\+msg $\ast$msg)
 \item 
 static void \hyperlink{libhomescreen_8cpp_a7778933bffa862c63fa0a1b8219faa8b}{\+\_\+on\+\_\+reply\+\_\+static} (void $\ast$closure, struct afb\+\_\+wsj1\+\_\+msg $\ast$msg)
 \item 
 static void \hyperlink{libhomescreen_8cpp_a7778933bffa862c63fa0a1b8219faa8b}{\+\_\+on\+\_\+reply\+\_\+static} (void $\ast$closure, struct afb\+\_\+wsj1\+\_\+msg $\ast$msg)
-\item 
-static void $\ast$ \hyperlink{libhomescreen_8cpp_aa73353e1bf62c68b6b0aba7a1e4e275e}{event\+\_\+loop\+\_\+run} (void $\ast$args)
 \end{DoxyCompactItemize}
 \subsection*{Variables}
 \begin{DoxyCompactItemize}
 \item 
 static const char \hyperlink{libhomescreen_8cpp_a1e2d6e77dd8f0162f830058579eab42f}{A\+PI} \mbox{[}$\,$\mbox{]} = \char`\"{}homescreen\char`\"{}
 \end{DoxyCompactItemize}
 \subsection*{Variables}
 \begin{DoxyCompactItemize}
 \item 
 static const char \hyperlink{libhomescreen_8cpp_a1e2d6e77dd8f0162f830058579eab42f}{A\+PI} \mbox{[}$\,$\mbox{]} = \char`\"{}homescreen\char`\"{}
+\item 
+static const char \hyperlink{libhomescreen_8cpp_a5a89bcb5a83f6b2e5c664a041bd8fd00}{Application\+Id} \mbox{[}$\,$\mbox{]} = \char`\"{}application\+\_\+id\char`\"{}
 \end{DoxyCompactItemize}
 
 
 \subsection{Function Documentation}
 \end{DoxyCompactItemize}
 
 
 \subsection{Function Documentation}
-\mbox{\Hypertarget{libhomescreen_8cpp_a782a05fde0f1c17e0c4c8f972a3f53c8}\label{libhomescreen_8cpp_a782a05fde0f1c17e0c4c8f972a3f53c8}} 
 \index{libhomescreen.\+cpp@{libhomescreen.\+cpp}!\+\_\+on\+\_\+call\+\_\+static@{\+\_\+on\+\_\+call\+\_\+static}}
 \index{\+\_\+on\+\_\+call\+\_\+static@{\+\_\+on\+\_\+call\+\_\+static}!libhomescreen.\+cpp@{libhomescreen.\+cpp}}
 \index{libhomescreen.\+cpp@{libhomescreen.\+cpp}!\+\_\+on\+\_\+call\+\_\+static@{\+\_\+on\+\_\+call\+\_\+static}}
 \index{\+\_\+on\+\_\+call\+\_\+static@{\+\_\+on\+\_\+call\+\_\+static}!libhomescreen.\+cpp@{libhomescreen.\+cpp}}
-\subsubsection{\texorpdfstring{\+\_\+on\+\_\+call\+\_\+static()}{\_on\_call\_static()}}
-{\footnotesize\ttfamily static void \+\_\+on\+\_\+call\+\_\+static (\begin{DoxyParamCaption}\item[{void $\ast$}]{closure,  }\item[{const char $\ast$}]{api,  }\item[{const char $\ast$}]{verb,  }\item[{struct afb\+\_\+wsj1\+\_\+msg $\ast$}]{msg }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}
+\subsubsection[{\texorpdfstring{\+\_\+on\+\_\+call\+\_\+static(void $\ast$closure, const char $\ast$api, const char $\ast$verb, struct afb\+\_\+wsj1\+\_\+msg $\ast$msg)}{_on_call_static(void *closure, const char *api, const char *verb, struct afb_wsj1_msg *msg)}}]{\setlength{\rightskip}{0pt plus 5cm}static void \+\_\+on\+\_\+call\+\_\+static (
+\begin{DoxyParamCaption}
+\item[{void $\ast$}]{closure, }
+\item[{const char $\ast$}]{api, }
+\item[{const char $\ast$}]{verb, }
+\item[{struct afb\+\_\+wsj1\+\_\+msg $\ast$}]{msg}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{libhomescreen_8cpp_a782a05fde0f1c17e0c4c8f972a3f53c8}{}\label{libhomescreen_8cpp_a782a05fde0f1c17e0c4c8f972a3f53c8}
 
 
 
 
-
-Definition at line 64 of file libhomescreen.\+cpp.
+Definition at line 74 of file libhomescreen.\+cpp.
 
 
 \begin{DoxyCode}
 
 
 \begin{DoxyCode}
-65 \{
-66     \textcolor{comment}{/* LibHomeScreen is not called from other process */}
-67 \}
+75 \{
+76     \textcolor{comment}{/* LibHomeScreen is not called from other process */}
+77 \}
 \end{DoxyCode}
 \end{DoxyCode}
-\mbox{\Hypertarget{libhomescreen_8cpp_a3df86185aa9453726556da201d95a6f9}\label{libhomescreen_8cpp_a3df86185aa9453726556da201d95a6f9}} 
 \index{libhomescreen.\+cpp@{libhomescreen.\+cpp}!\+\_\+on\+\_\+event\+\_\+static@{\+\_\+on\+\_\+event\+\_\+static}}
 \index{\+\_\+on\+\_\+event\+\_\+static@{\+\_\+on\+\_\+event\+\_\+static}!libhomescreen.\+cpp@{libhomescreen.\+cpp}}
 \index{libhomescreen.\+cpp@{libhomescreen.\+cpp}!\+\_\+on\+\_\+event\+\_\+static@{\+\_\+on\+\_\+event\+\_\+static}}
 \index{\+\_\+on\+\_\+event\+\_\+static@{\+\_\+on\+\_\+event\+\_\+static}!libhomescreen.\+cpp@{libhomescreen.\+cpp}}
-\subsubsection{\texorpdfstring{\+\_\+on\+\_\+event\+\_\+static()}{\_on\_event\_static()}}
-{\footnotesize\ttfamily static void \+\_\+on\+\_\+event\+\_\+static (\begin{DoxyParamCaption}\item[{void $\ast$}]{closure,  }\item[{const char $\ast$}]{event,  }\item[{struct afb\+\_\+wsj1\+\_\+msg $\ast$}]{msg }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}
-
+\subsubsection[{\texorpdfstring{\+\_\+on\+\_\+event\+\_\+static(void $\ast$closure, const char $\ast$event, struct afb\+\_\+wsj1\+\_\+msg $\ast$msg)}{_on_event_static(void *closure, const char *event, struct afb_wsj1_msg *msg)}}]{\setlength{\rightskip}{0pt plus 5cm}static void \+\_\+on\+\_\+event\+\_\+static (
+\begin{DoxyParamCaption}
+\item[{void $\ast$}]{closure, }
+\item[{const char $\ast$}]{event, }
+\item[{struct afb\+\_\+wsj1\+\_\+msg $\ast$}]{msg}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{libhomescreen_8cpp_a3df86185aa9453726556da201d95a6f9}{}\label{libhomescreen_8cpp_a3df86185aa9453726556da201d95a6f9}
 
 
 
 
-Definition at line 69 of file libhomescreen.\+cpp.
+Definition at line 79 of file libhomescreen.\+cpp.
 
 
 \begin{DoxyCode}
 
 
 \begin{DoxyCode}
-70 \{
-71     \textcolor{keyword}{static\_cast<}\hyperlink{class_lib_home_screen}{LibHomeScreen}*\textcolor{keyword}{>}(closure)->on\_event(NULL,\hyperlink{structevent}{event},msg);
-72 \}
+80 \{
+81     \textcolor{keyword}{static\_cast<}\hyperlink{class_lib_home_screen}{LibHomeScreen}*\textcolor{keyword}{>}(closure)->on\_event(NULL,event,msg);
+82 \}
 \end{DoxyCode}
 \end{DoxyCode}
-\mbox{\Hypertarget{libhomescreen_8cpp_a73c05b96c151e5e46c28585ccb143c1c}\label{libhomescreen_8cpp_a73c05b96c151e5e46c28585ccb143c1c}} 
 \index{libhomescreen.\+cpp@{libhomescreen.\+cpp}!\+\_\+on\+\_\+hangup\+\_\+static@{\+\_\+on\+\_\+hangup\+\_\+static}}
 \index{\+\_\+on\+\_\+hangup\+\_\+static@{\+\_\+on\+\_\+hangup\+\_\+static}!libhomescreen.\+cpp@{libhomescreen.\+cpp}}
 \index{libhomescreen.\+cpp@{libhomescreen.\+cpp}!\+\_\+on\+\_\+hangup\+\_\+static@{\+\_\+on\+\_\+hangup\+\_\+static}}
 \index{\+\_\+on\+\_\+hangup\+\_\+static@{\+\_\+on\+\_\+hangup\+\_\+static}!libhomescreen.\+cpp@{libhomescreen.\+cpp}}
-\subsubsection{\texorpdfstring{\+\_\+on\+\_\+hangup\+\_\+static()}{\_on\_hangup\_static()}}
-{\footnotesize\ttfamily static void \+\_\+on\+\_\+hangup\+\_\+static (\begin{DoxyParamCaption}\item[{void $\ast$}]{closure,  }\item[{struct afb\+\_\+wsj1 $\ast$}]{wsj }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}
-
+\subsubsection[{\texorpdfstring{\+\_\+on\+\_\+hangup\+\_\+static(void $\ast$closure, struct afb\+\_\+wsj1 $\ast$wsj)}{_on_hangup_static(void *closure, struct afb_wsj1 *wsj)}}]{\setlength{\rightskip}{0pt plus 5cm}static void \+\_\+on\+\_\+hangup\+\_\+static (
+\begin{DoxyParamCaption}
+\item[{void $\ast$}]{closure, }
+\item[{struct afb\+\_\+wsj1 $\ast$}]{wsj}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{libhomescreen_8cpp_a73c05b96c151e5e46c28585ccb143c1c}{}\label{libhomescreen_8cpp_a73c05b96c151e5e46c28585ccb143c1c}
 websocket 
 
 websocket 
 
-Definition at line 59 of file libhomescreen.\+cpp.
+Definition at line 69 of file libhomescreen.\+cpp.
 
 
 \begin{DoxyCode}
 
 
 \begin{DoxyCode}
-60 \{
-61     \textcolor{keyword}{static\_cast<}\hyperlink{class_lib_home_screen}{LibHomeScreen}*\textcolor{keyword}{>}(closure)->on\_hangup(NULL,wsj);
-62 \}
+70 \{
+71     \textcolor{keyword}{static\_cast<}\hyperlink{class_lib_home_screen}{LibHomeScreen}*\textcolor{keyword}{>}(closure)->on\_hangup(NULL,wsj);
+72 \}
 \end{DoxyCode}
 \end{DoxyCode}
-\mbox{\Hypertarget{libhomescreen_8cpp_a7778933bffa862c63fa0a1b8219faa8b}\label{libhomescreen_8cpp_a7778933bffa862c63fa0a1b8219faa8b}} 
 \index{libhomescreen.\+cpp@{libhomescreen.\+cpp}!\+\_\+on\+\_\+reply\+\_\+static@{\+\_\+on\+\_\+reply\+\_\+static}}
 \index{\+\_\+on\+\_\+reply\+\_\+static@{\+\_\+on\+\_\+reply\+\_\+static}!libhomescreen.\+cpp@{libhomescreen.\+cpp}}
 \index{libhomescreen.\+cpp@{libhomescreen.\+cpp}!\+\_\+on\+\_\+reply\+\_\+static@{\+\_\+on\+\_\+reply\+\_\+static}}
 \index{\+\_\+on\+\_\+reply\+\_\+static@{\+\_\+on\+\_\+reply\+\_\+static}!libhomescreen.\+cpp@{libhomescreen.\+cpp}}
-\subsubsection{\texorpdfstring{\+\_\+on\+\_\+reply\+\_\+static()}{\_on\_reply\_static()}}
-{\footnotesize\ttfamily static void \+\_\+on\+\_\+reply\+\_\+static (\begin{DoxyParamCaption}\item[{void $\ast$}]{closure,  }\item[{struct afb\+\_\+wsj1\+\_\+msg $\ast$}]{msg }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}
+\subsubsection[{\texorpdfstring{\+\_\+on\+\_\+reply\+\_\+static(void $\ast$closure, struct afb\+\_\+wsj1\+\_\+msg $\ast$msg)}{_on_reply_static(void *closure, struct afb_wsj1_msg *msg)}}]{\setlength{\rightskip}{0pt plus 5cm}static void \+\_\+on\+\_\+reply\+\_\+static (
+\begin{DoxyParamCaption}
+\item[{void $\ast$}]{closure, }
+\item[{struct afb\+\_\+wsj1\+\_\+msg $\ast$}]{msg}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{libhomescreen_8cpp_a7778933bffa862c63fa0a1b8219faa8b}{}\label{libhomescreen_8cpp_a7778933bffa862c63fa0a1b8219faa8b}
 
 
 
 
-
-Definition at line 74 of file libhomescreen.\+cpp.
-
-
-\begin{DoxyCode}
-75 \{
-76     \textcolor{keyword}{static\_cast<}\hyperlink{class_lib_home_screen}{LibHomeScreen}*\textcolor{keyword}{>}(closure)->on\_reply(NULL,msg);
-77 \}
-\end{DoxyCode}
-\mbox{\Hypertarget{libhomescreen_8cpp_aa73353e1bf62c68b6b0aba7a1e4e275e}\label{libhomescreen_8cpp_aa73353e1bf62c68b6b0aba7a1e4e275e}} 
-\index{libhomescreen.\+cpp@{libhomescreen.\+cpp}!event\+\_\+loop\+\_\+run@{event\+\_\+loop\+\_\+run}}
-\index{event\+\_\+loop\+\_\+run@{event\+\_\+loop\+\_\+run}!libhomescreen.\+cpp@{libhomescreen.\+cpp}}
-\subsubsection{\texorpdfstring{event\+\_\+loop\+\_\+run()}{event\_loop\_run()}}
-{\footnotesize\ttfamily static void$\ast$ event\+\_\+loop\+\_\+run (\begin{DoxyParamCaption}\item[{void $\ast$}]{args }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}
-
-
-
-Definition at line 201 of file libhomescreen.\+cpp.
+Definition at line 84 of file libhomescreen.\+cpp.
 
 
 \begin{DoxyCode}
 
 
 \begin{DoxyCode}
-202 \{
-203     \textcolor{keyword}{struct }sd\_event* loop = (\textcolor{keyword}{struct }sd\_event*)(args);
-204     \hyperlink{hmi-debug_8h_a0d26d8b8201011dade787236519711c0}{HMI\_DEBUG}(\textcolor{stringliteral}{"libhomescreen"},\textcolor{stringliteral}{"start eventloop"});
-205     \textcolor{keywordflow}{for}(;;)
-206         sd\_event\_run(loop, 30000000);
-207 \}
+85 \{
+86     \textcolor{keyword}{static\_cast<}\hyperlink{class_lib_home_screen}{LibHomeScreen}*\textcolor{keyword}{>}(closure)->on\_reply(NULL,msg);
+87 \}
 \end{DoxyCode}
 \end{DoxyCode}
-\mbox{\Hypertarget{libhomescreen_8cpp_a7a2176c3d71fec0f09dcb2aa0866b17e}\label{libhomescreen_8cpp_a7a2176c3d71fec0f09dcb2aa0866b17e}} 
 \index{libhomescreen.\+cpp@{libhomescreen.\+cpp}!has\+\_\+verb@{has\+\_\+verb}}
 \index{has\+\_\+verb@{has\+\_\+verb}!libhomescreen.\+cpp@{libhomescreen.\+cpp}}
 \index{libhomescreen.\+cpp@{libhomescreen.\+cpp}!has\+\_\+verb@{has\+\_\+verb}}
 \index{has\+\_\+verb@{has\+\_\+verb}!libhomescreen.\+cpp@{libhomescreen.\+cpp}}
-\subsubsection{\texorpdfstring{has\+\_\+verb()}{has\_verb()}}
-{\footnotesize\ttfamily static bool has\+\_\+verb (\begin{DoxyParamCaption}\item[{const string \&}]{verb }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}
+\subsubsection[{\texorpdfstring{has\+\_\+verb(const string \&verb)}{has_verb(const string &verb)}}]{\setlength{\rightskip}{0pt plus 5cm}static bool has\+\_\+verb (
+\begin{DoxyParamCaption}
+\item[{const string \&}]{verb}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{libhomescreen_8cpp_a7a2176c3d71fec0f09dcb2aa0866b17e}{}\label{libhomescreen_8cpp_a7a2176c3d71fec0f09dcb2aa0866b17e}
 
 
 
 
-
-Definition at line 518 of file libhomescreen.\+cpp.
+Definition at line 705 of file libhomescreen.\+cpp.
 
 
 \begin{DoxyCode}
 
 
 \begin{DoxyCode}
-519 \{
-520     \hyperlink{hmi-debug_8h_a0d26d8b8201011dade787236519711c0}{HMI\_DEBUG}(\textcolor{stringliteral}{"libhomescreen"},\textcolor{stringliteral}{"verb is %s"}, verb.c\_str());
-521     \textcolor{keywordflow}{if}(find(\hyperlink{class_lib_home_screen_a5593ff5ac78f6495ccb649904cf0ab08}{LibHomeScreen::api\_list}.begin(), 
+706 \{
+707     \hyperlink{include_2hmi-debug_8h_a0d26d8b8201011dade787236519711c0}{HMI\_DEBUG}(\textcolor{stringliteral}{"libhomescreen"},\textcolor{stringliteral}{"verb is %s"}, verb.c\_str());
+708     \textcolor{keywordflow}{if}(find(\hyperlink{class_lib_home_screen_a5593ff5ac78f6495ccb649904cf0ab08}{LibHomeScreen::api\_list}.begin(), 
       \hyperlink{class_lib_home_screen_a5593ff5ac78f6495ccb649904cf0ab08}{LibHomeScreen::api\_list}.end(), verb) != 
       \hyperlink{class_lib_home_screen_a5593ff5ac78f6495ccb649904cf0ab08}{LibHomeScreen::api\_list}.end())
       \hyperlink{class_lib_home_screen_a5593ff5ac78f6495ccb649904cf0ab08}{LibHomeScreen::api\_list}.end(), verb) != 
       \hyperlink{class_lib_home_screen_a5593ff5ac78f6495ccb649904cf0ab08}{LibHomeScreen::api\_list}.end())
-522         \textcolor{keywordflow}{return} \textcolor{keyword}{true};
-523     \textcolor{keywordflow}{else}
-524         \textcolor{keywordflow}{return} \textcolor{keyword}{false};
-525 \}
+709         \textcolor{keywordflow}{return} \textcolor{keyword}{true};
+710     \textcolor{keywordflow}{else}
+711         \textcolor{keywordflow}{return} \textcolor{keyword}{false};
+712 \}
 \end{DoxyCode}
 
 
 \subsection{Variable Documentation}
 \end{DoxyCode}
 
 
 \subsection{Variable Documentation}
-\mbox{\Hypertarget{libhomescreen_8cpp_a1e2d6e77dd8f0162f830058579eab42f}\label{libhomescreen_8cpp_a1e2d6e77dd8f0162f830058579eab42f}} 
 \index{libhomescreen.\+cpp@{libhomescreen.\+cpp}!A\+PI@{A\+PI}}
 \index{A\+PI@{A\+PI}!libhomescreen.\+cpp@{libhomescreen.\+cpp}}
 \index{libhomescreen.\+cpp@{libhomescreen.\+cpp}!A\+PI@{A\+PI}}
 \index{A\+PI@{A\+PI}!libhomescreen.\+cpp@{libhomescreen.\+cpp}}
-\subsubsection{\texorpdfstring{A\+PI}{API}}
-{\footnotesize\ttfamily const char A\+PI\mbox{[}$\,$\mbox{]} = \char`\"{}homescreen\char`\"{}\hspace{0.3cm}{\ttfamily [static]}}
+\subsubsection[{\texorpdfstring{A\+PI}{API}}]{\setlength{\rightskip}{0pt plus 5cm}const char A\+PI\mbox{[}$\,$\mbox{]} = \char`\"{}homescreen\char`\"{}\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{libhomescreen_8cpp_a1e2d6e77dd8f0162f830058579eab42f}{}\label{libhomescreen_8cpp_a1e2d6e77dd8f0162f830058579eab42f}
+
+
+Definition at line 35 of file libhomescreen.\+cpp.
 
 
+\index{libhomescreen.\+cpp@{libhomescreen.\+cpp}!Application\+Id@{Application\+Id}}
+\index{Application\+Id@{Application\+Id}!libhomescreen.\+cpp@{libhomescreen.\+cpp}}
+\subsubsection[{\texorpdfstring{Application\+Id}{ApplicationId}}]{\setlength{\rightskip}{0pt plus 5cm}const char Application\+Id\mbox{[}$\,$\mbox{]} = \char`\"{}application\+\_\+id\char`\"{}\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{libhomescreen_8cpp_a5a89bcb5a83f6b2e5c664a041bd8fd00}{}\label{libhomescreen_8cpp_a5a89bcb5a83f6b2e5c664a041bd8fd00}
 
 
 Definition at line 36 of file libhomescreen.\+cpp.
 
 
 Definition at line 36 of file libhomescreen.\+cpp.
diff --git a/doc/api-ref/latex/d2/d66/include_2hmi-debug_8h.tex b/doc/api-ref/latex/d2/d66/include_2hmi-debug_8h.tex
new file mode 100644 (file)
index 0000000..bfd9980
--- /dev/null
@@ -0,0 +1,242 @@
+\hypertarget{include_2hmi-debug_8h}{}\section{include/hmi-\/debug.h File Reference}
+\label{include_2hmi-debug_8h}\index{include/hmi-\/debug.\+h@{include/hmi-\/debug.\+h}}
+{\ttfamily \#include $<$time.\+h$>$}\\*
+{\ttfamily \#include $<$stdio.\+h$>$}\\*
+{\ttfamily \#include $<$stdarg.\+h$>$}\\*
+{\ttfamily \#include $<$string.\+h$>$}\\*
+{\ttfamily \#include $<$stdlib.\+h$>$}\\*
+\subsection*{Macros}
+\begin{DoxyCompactItemize}
+\item 
+\#define \hyperlink{include_2hmi-debug_8h_a5fccb4fc71e44089a1b1a77fc76c0b68}{\+\_\+\+\_\+\+F\+I\+L\+E\+N\+A\+M\+E\+\_\+\+\_\+}~(strrchr(\+\_\+\+\_\+\+F\+I\+L\+E\+\_\+\+\_\+, \textquotesingle{}/\textquotesingle{}) ? strrchr(\+\_\+\+\_\+\+F\+I\+L\+E\+\_\+\+\_\+, \textquotesingle{}/\textquotesingle{}) + 1 \+: \+\_\+\+\_\+\+F\+I\+L\+E\+\_\+\+\_\+)
+\item 
+\#define \hyperlink{include_2hmi-debug_8h_a65bb6c7cfe38f8a724beab5059d36fb2}{H\+M\+I\+\_\+\+E\+R\+R\+OR}(prefix,  args, ...)~\hyperlink{src_2hmi-debug_8h_a0846b9d51e2e0612c4825a9a581aa40a}{\+\_\+\+H\+M\+I\+\_\+\+L\+OG}(\hyperlink{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+E\+R\+R\+OR}, \hyperlink{src_2hmi-debug_8h_a5fccb4fc71e44089a1b1a77fc76c0b68}{\+\_\+\+\_\+\+F\+I\+L\+E\+N\+A\+M\+E\+\_\+\+\_\+}, \+\_\+\+\_\+\+F\+U\+N\+C\+T\+I\+O\+N\+\_\+\+\_\+, \+\_\+\+\_\+\+L\+I\+N\+E\+\_\+\+\_\+, prefix, args, \#\#\+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+)
+\item 
+\#define \hyperlink{include_2hmi-debug_8h_a25361812432cd2480bc8f1a8e56ecbf7}{H\+M\+I\+\_\+\+W\+A\+R\+N\+I\+NG}(prefix,  args, ...)~\hyperlink{src_2hmi-debug_8h_a0846b9d51e2e0612c4825a9a581aa40a}{\+\_\+\+H\+M\+I\+\_\+\+L\+OG}(\hyperlink{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+W\+A\+R\+N\+I\+NG}, \hyperlink{src_2hmi-debug_8h_a5fccb4fc71e44089a1b1a77fc76c0b68}{\+\_\+\+\_\+\+F\+I\+L\+E\+N\+A\+M\+E\+\_\+\+\_\+}, \+\_\+\+\_\+\+F\+U\+N\+C\+T\+I\+O\+N\+\_\+\+\_\+,\+\_\+\+\_\+\+L\+I\+N\+E\+\_\+\+\_\+, prefix, args,\#\#\+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+)
+\item 
+\#define \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{H\+M\+I\+\_\+\+N\+O\+T\+I\+CE}(prefix,  args, ...)~\hyperlink{src_2hmi-debug_8h_a0846b9d51e2e0612c4825a9a581aa40a}{\+\_\+\+H\+M\+I\+\_\+\+L\+OG}(\hyperlink{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+T\+I\+CE}, \hyperlink{src_2hmi-debug_8h_a5fccb4fc71e44089a1b1a77fc76c0b68}{\+\_\+\+\_\+\+F\+I\+L\+E\+N\+A\+M\+E\+\_\+\+\_\+}, \+\_\+\+\_\+\+F\+U\+N\+C\+T\+I\+O\+N\+\_\+\+\_\+,\+\_\+\+\_\+\+L\+I\+N\+E\+\_\+\+\_\+, prefix, args,\#\#\+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+)
+\item 
+\#define \hyperlink{include_2hmi-debug_8h_a11b249a67108f0f4c50a0fc8a3eb4f5c}{H\+M\+I\+\_\+\+I\+N\+FO}(prefix,  args, ...)~\hyperlink{src_2hmi-debug_8h_a0846b9d51e2e0612c4825a9a581aa40a}{\+\_\+\+H\+M\+I\+\_\+\+L\+OG}(\hyperlink{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+I\+N\+FO}, \hyperlink{src_2hmi-debug_8h_a5fccb4fc71e44089a1b1a77fc76c0b68}{\+\_\+\+\_\+\+F\+I\+L\+E\+N\+A\+M\+E\+\_\+\+\_\+}, \+\_\+\+\_\+\+F\+U\+N\+C\+T\+I\+O\+N\+\_\+\+\_\+,\+\_\+\+\_\+\+L\+I\+N\+E\+\_\+\+\_\+, prefix, args,\#\#\+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+)
+\item 
+\#define \hyperlink{include_2hmi-debug_8h_a0d26d8b8201011dade787236519711c0}{H\+M\+I\+\_\+\+D\+E\+B\+UG}(prefix,  args, ...)~\hyperlink{src_2hmi-debug_8h_a0846b9d51e2e0612c4825a9a581aa40a}{\+\_\+\+H\+M\+I\+\_\+\+L\+OG}(\hyperlink{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+D\+E\+B\+UG}, \hyperlink{src_2hmi-debug_8h_a5fccb4fc71e44089a1b1a77fc76c0b68}{\+\_\+\+\_\+\+F\+I\+L\+E\+N\+A\+M\+E\+\_\+\+\_\+}, \+\_\+\+\_\+\+F\+U\+N\+C\+T\+I\+O\+N\+\_\+\+\_\+,\+\_\+\+\_\+\+L\+I\+N\+E\+\_\+\+\_\+, prefix, args,\#\#\+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+)
+\end{DoxyCompactItemize}
+\subsection*{Enumerations}
+\begin{DoxyCompactItemize}
+\item 
+enum \hyperlink{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583}{L\+O\+G\+\_\+\+L\+E\+V\+EL} \{ \\*
+\hyperlink{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+NE} = 0, 
+\hyperlink{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+E\+R\+R\+OR}, 
+\hyperlink{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+W\+A\+R\+N\+I\+NG}, 
+\hyperlink{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+T\+I\+CE}, 
+\\*
+\hyperlink{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+I\+N\+FO}, 
+\hyperlink{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+D\+E\+B\+UG}, 
+\hyperlink{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+M\+AX} = L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+D\+E\+B\+UG, 
+\hyperlink{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+NE} = 0, 
+\\*
+\hyperlink{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+E\+R\+R\+OR}, 
+\hyperlink{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+W\+A\+R\+N\+I\+NG}, 
+\hyperlink{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+T\+I\+CE}, 
+\hyperlink{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+I\+N\+FO}, 
+\\*
+\hyperlink{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+D\+E\+B\+UG}, 
+\hyperlink{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+M\+AX} = L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+D\+E\+B\+UG
+ \}
+\end{DoxyCompactItemize}
+\subsection*{Functions}
+\begin{DoxyCompactItemize}
+\item 
+static void \hyperlink{include_2hmi-debug_8h_a0846b9d51e2e0612c4825a9a581aa40a}{\+\_\+\+H\+M\+I\+\_\+\+L\+OG} (enum \hyperlink{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583}{L\+O\+G\+\_\+\+L\+E\+V\+EL} level, const char $\ast$file, const char $\ast$func, const int line, const char $\ast$prefix, const char $\ast$log,...)
+\end{DoxyCompactItemize}
+\subsection*{Variables}
+\begin{DoxyCompactItemize}
+\item 
+static char \hyperlink{include_2hmi-debug_8h_a13d4c7647aad2e84766f8b48a6caab09}{E\+R\+R\+O\+R\+\_\+\+F\+L\+AG} \mbox{[}6\mbox{]}\mbox{[}20\mbox{]} = \{\char`\"{}N\+O\+NE\char`\"{}, \char`\"{}E\+R\+R\+OR\char`\"{}, \char`\"{}W\+A\+R\+N\+I\+NG\char`\"{}, \char`\"{}N\+O\+T\+I\+CE\char`\"{}, \char`\"{}I\+N\+FO\char`\"{}, \char`\"{}D\+E\+B\+UG\char`\"{}\}
+\end{DoxyCompactItemize}
+
+
+\subsection{Macro Definition Documentation}
+\index{include/hmi-\/debug.\+h@{include/hmi-\/debug.\+h}!\+\_\+\+\_\+\+F\+I\+L\+E\+N\+A\+M\+E\+\_\+\+\_\+@{\+\_\+\+\_\+\+F\+I\+L\+E\+N\+A\+M\+E\+\_\+\+\_\+}}
+\index{\+\_\+\+\_\+\+F\+I\+L\+E\+N\+A\+M\+E\+\_\+\+\_\+@{\+\_\+\+\_\+\+F\+I\+L\+E\+N\+A\+M\+E\+\_\+\+\_\+}!include/hmi-\/debug.\+h@{include/hmi-\/debug.\+h}}
+\subsubsection[{\texorpdfstring{\+\_\+\+\_\+\+F\+I\+L\+E\+N\+A\+M\+E\+\_\+\+\_\+}{__FILENAME__}}]{\setlength{\rightskip}{0pt plus 5cm}\#define \+\_\+\+\_\+\+F\+I\+L\+E\+N\+A\+M\+E\+\_\+\+\_\+~(strrchr(\+\_\+\+\_\+\+F\+I\+L\+E\+\_\+\+\_\+, \textquotesingle{}/\textquotesingle{}) ? strrchr(\+\_\+\+\_\+\+F\+I\+L\+E\+\_\+\+\_\+, \textquotesingle{}/\textquotesingle{}) + 1 \+: \+\_\+\+\_\+\+F\+I\+L\+E\+\_\+\+\_\+)}\hypertarget{include_2hmi-debug_8h_a5fccb4fc71e44089a1b1a77fc76c0b68}{}\label{include_2hmi-debug_8h_a5fccb4fc71e44089a1b1a77fc76c0b68}
+
+
+Definition at line 36 of file hmi-\/debug.\+h.
+
+\index{include/hmi-\/debug.\+h@{include/hmi-\/debug.\+h}!H\+M\+I\+\_\+\+D\+E\+B\+UG@{H\+M\+I\+\_\+\+D\+E\+B\+UG}}
+\index{H\+M\+I\+\_\+\+D\+E\+B\+UG@{H\+M\+I\+\_\+\+D\+E\+B\+UG}!include/hmi-\/debug.\+h@{include/hmi-\/debug.\+h}}
+\subsubsection[{\texorpdfstring{H\+M\+I\+\_\+\+D\+E\+B\+UG}{HMI_DEBUG}}]{\setlength{\rightskip}{0pt plus 5cm}\#define H\+M\+I\+\_\+\+D\+E\+B\+UG(
+\begin{DoxyParamCaption}
+\item[{}]{prefix, }
+\item[{}]{args, }
+\item[{}]{...}
+\end{DoxyParamCaption}
+)~{\bf \+\_\+\+H\+M\+I\+\_\+\+L\+OG}({\bf L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+D\+E\+B\+UG}, {\bf \+\_\+\+\_\+\+F\+I\+L\+E\+N\+A\+M\+E\+\_\+\+\_\+}, \+\_\+\+\_\+\+F\+U\+N\+C\+T\+I\+O\+N\+\_\+\+\_\+,\+\_\+\+\_\+\+L\+I\+N\+E\+\_\+\+\_\+, prefix, args,\#\#\+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+)}\hypertarget{include_2hmi-debug_8h_a0d26d8b8201011dade787236519711c0}{}\label{include_2hmi-debug_8h_a0d26d8b8201011dade787236519711c0}
+
+
+Definition at line 42 of file hmi-\/debug.\+h.
+
+\index{include/hmi-\/debug.\+h@{include/hmi-\/debug.\+h}!H\+M\+I\+\_\+\+E\+R\+R\+OR@{H\+M\+I\+\_\+\+E\+R\+R\+OR}}
+\index{H\+M\+I\+\_\+\+E\+R\+R\+OR@{H\+M\+I\+\_\+\+E\+R\+R\+OR}!include/hmi-\/debug.\+h@{include/hmi-\/debug.\+h}}
+\subsubsection[{\texorpdfstring{H\+M\+I\+\_\+\+E\+R\+R\+OR}{HMI_ERROR}}]{\setlength{\rightskip}{0pt plus 5cm}\#define H\+M\+I\+\_\+\+E\+R\+R\+OR(
+\begin{DoxyParamCaption}
+\item[{}]{prefix, }
+\item[{}]{args, }
+\item[{}]{...}
+\end{DoxyParamCaption}
+)~{\bf \+\_\+\+H\+M\+I\+\_\+\+L\+OG}({\bf L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+E\+R\+R\+OR}, {\bf \+\_\+\+\_\+\+F\+I\+L\+E\+N\+A\+M\+E\+\_\+\+\_\+}, \+\_\+\+\_\+\+F\+U\+N\+C\+T\+I\+O\+N\+\_\+\+\_\+, \+\_\+\+\_\+\+L\+I\+N\+E\+\_\+\+\_\+, prefix, args, \#\#\+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+)}\hypertarget{include_2hmi-debug_8h_a65bb6c7cfe38f8a724beab5059d36fb2}{}\label{include_2hmi-debug_8h_a65bb6c7cfe38f8a724beab5059d36fb2}
+
+
+Definition at line 38 of file hmi-\/debug.\+h.
+
+\index{include/hmi-\/debug.\+h@{include/hmi-\/debug.\+h}!H\+M\+I\+\_\+\+I\+N\+FO@{H\+M\+I\+\_\+\+I\+N\+FO}}
+\index{H\+M\+I\+\_\+\+I\+N\+FO@{H\+M\+I\+\_\+\+I\+N\+FO}!include/hmi-\/debug.\+h@{include/hmi-\/debug.\+h}}
+\subsubsection[{\texorpdfstring{H\+M\+I\+\_\+\+I\+N\+FO}{HMI_INFO}}]{\setlength{\rightskip}{0pt plus 5cm}\#define H\+M\+I\+\_\+\+I\+N\+FO(
+\begin{DoxyParamCaption}
+\item[{}]{prefix, }
+\item[{}]{args, }
+\item[{}]{...}
+\end{DoxyParamCaption}
+)~{\bf \+\_\+\+H\+M\+I\+\_\+\+L\+OG}({\bf L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+I\+N\+FO}, {\bf \+\_\+\+\_\+\+F\+I\+L\+E\+N\+A\+M\+E\+\_\+\+\_\+}, \+\_\+\+\_\+\+F\+U\+N\+C\+T\+I\+O\+N\+\_\+\+\_\+,\+\_\+\+\_\+\+L\+I\+N\+E\+\_\+\+\_\+, prefix, args,\#\#\+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+)}\hypertarget{include_2hmi-debug_8h_a11b249a67108f0f4c50a0fc8a3eb4f5c}{}\label{include_2hmi-debug_8h_a11b249a67108f0f4c50a0fc8a3eb4f5c}
+
+
+Definition at line 41 of file hmi-\/debug.\+h.
+
+\index{include/hmi-\/debug.\+h@{include/hmi-\/debug.\+h}!H\+M\+I\+\_\+\+N\+O\+T\+I\+CE@{H\+M\+I\+\_\+\+N\+O\+T\+I\+CE}}
+\index{H\+M\+I\+\_\+\+N\+O\+T\+I\+CE@{H\+M\+I\+\_\+\+N\+O\+T\+I\+CE}!include/hmi-\/debug.\+h@{include/hmi-\/debug.\+h}}
+\subsubsection[{\texorpdfstring{H\+M\+I\+\_\+\+N\+O\+T\+I\+CE}{HMI_NOTICE}}]{\setlength{\rightskip}{0pt plus 5cm}\#define H\+M\+I\+\_\+\+N\+O\+T\+I\+CE(
+\begin{DoxyParamCaption}
+\item[{}]{prefix, }
+\item[{}]{args, }
+\item[{}]{...}
+\end{DoxyParamCaption}
+)~{\bf \+\_\+\+H\+M\+I\+\_\+\+L\+OG}({\bf L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+T\+I\+CE}, {\bf \+\_\+\+\_\+\+F\+I\+L\+E\+N\+A\+M\+E\+\_\+\+\_\+}, \+\_\+\+\_\+\+F\+U\+N\+C\+T\+I\+O\+N\+\_\+\+\_\+,\+\_\+\+\_\+\+L\+I\+N\+E\+\_\+\+\_\+, prefix, args,\#\#\+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+)}\hypertarget{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{}\label{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}
+
+
+Definition at line 40 of file hmi-\/debug.\+h.
+
+\index{include/hmi-\/debug.\+h@{include/hmi-\/debug.\+h}!H\+M\+I\+\_\+\+W\+A\+R\+N\+I\+NG@{H\+M\+I\+\_\+\+W\+A\+R\+N\+I\+NG}}
+\index{H\+M\+I\+\_\+\+W\+A\+R\+N\+I\+NG@{H\+M\+I\+\_\+\+W\+A\+R\+N\+I\+NG}!include/hmi-\/debug.\+h@{include/hmi-\/debug.\+h}}
+\subsubsection[{\texorpdfstring{H\+M\+I\+\_\+\+W\+A\+R\+N\+I\+NG}{HMI_WARNING}}]{\setlength{\rightskip}{0pt plus 5cm}\#define H\+M\+I\+\_\+\+W\+A\+R\+N\+I\+NG(
+\begin{DoxyParamCaption}
+\item[{}]{prefix, }
+\item[{}]{args, }
+\item[{}]{...}
+\end{DoxyParamCaption}
+)~{\bf \+\_\+\+H\+M\+I\+\_\+\+L\+OG}({\bf L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+W\+A\+R\+N\+I\+NG}, {\bf \+\_\+\+\_\+\+F\+I\+L\+E\+N\+A\+M\+E\+\_\+\+\_\+}, \+\_\+\+\_\+\+F\+U\+N\+C\+T\+I\+O\+N\+\_\+\+\_\+,\+\_\+\+\_\+\+L\+I\+N\+E\+\_\+\+\_\+, prefix, args,\#\#\+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+)}\hypertarget{include_2hmi-debug_8h_a25361812432cd2480bc8f1a8e56ecbf7}{}\label{include_2hmi-debug_8h_a25361812432cd2480bc8f1a8e56ecbf7}
+
+
+Definition at line 39 of file hmi-\/debug.\+h.
+
+
+
+\subsection{Enumeration Type Documentation}
+\index{include/hmi-\/debug.\+h@{include/hmi-\/debug.\+h}!L\+O\+G\+\_\+\+L\+E\+V\+EL@{L\+O\+G\+\_\+\+L\+E\+V\+EL}}
+\index{L\+O\+G\+\_\+\+L\+E\+V\+EL@{L\+O\+G\+\_\+\+L\+E\+V\+EL}!include/hmi-\/debug.\+h@{include/hmi-\/debug.\+h}}
+\subsubsection[{\texorpdfstring{L\+O\+G\+\_\+\+L\+E\+V\+EL}{LOG_LEVEL}}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf L\+O\+G\+\_\+\+L\+E\+V\+EL}}\hypertarget{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583}{}\label{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583}
+\begin{Desc}
+\item[Enumerator]\par
+\begin{description}
+\index{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+NE@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+NE}!include/hmi-\/debug.\+h@{include/hmi-\/debug.\+h}}\index{include/hmi-\/debug.\+h@{include/hmi-\/debug.\+h}!L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+NE@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+NE}}\item[{\em 
+L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+NE\hypertarget{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848}{}\label{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848}
+}]\index{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+E\+R\+R\+OR@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+E\+R\+R\+OR}!include/hmi-\/debug.\+h@{include/hmi-\/debug.\+h}}\index{include/hmi-\/debug.\+h@{include/hmi-\/debug.\+h}!L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+E\+R\+R\+OR@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+E\+R\+R\+OR}}\item[{\em 
+L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+E\+R\+R\+OR\hypertarget{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f}{}\label{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f}
+}]\index{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+W\+A\+R\+N\+I\+NG@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+W\+A\+R\+N\+I\+NG}!include/hmi-\/debug.\+h@{include/hmi-\/debug.\+h}}\index{include/hmi-\/debug.\+h@{include/hmi-\/debug.\+h}!L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+W\+A\+R\+N\+I\+NG@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+W\+A\+R\+N\+I\+NG}}\item[{\em 
+L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+W\+A\+R\+N\+I\+NG\hypertarget{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef}{}\label{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef}
+}]\index{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+T\+I\+CE@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+T\+I\+CE}!include/hmi-\/debug.\+h@{include/hmi-\/debug.\+h}}\index{include/hmi-\/debug.\+h@{include/hmi-\/debug.\+h}!L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+T\+I\+CE@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+T\+I\+CE}}\item[{\em 
+L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+T\+I\+CE\hypertarget{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e}{}\label{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e}
+}]\index{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+I\+N\+FO@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+I\+N\+FO}!include/hmi-\/debug.\+h@{include/hmi-\/debug.\+h}}\index{include/hmi-\/debug.\+h@{include/hmi-\/debug.\+h}!L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+I\+N\+FO@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+I\+N\+FO}}\item[{\em 
+L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+I\+N\+FO\hypertarget{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4}{}\label{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4}
+}]\index{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+D\+E\+B\+UG@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+D\+E\+B\+UG}!include/hmi-\/debug.\+h@{include/hmi-\/debug.\+h}}\index{include/hmi-\/debug.\+h@{include/hmi-\/debug.\+h}!L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+D\+E\+B\+UG@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+D\+E\+B\+UG}}\item[{\em 
+L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+D\+E\+B\+UG\hypertarget{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177}{}\label{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177}
+}]\index{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+M\+AX@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+M\+AX}!include/hmi-\/debug.\+h@{include/hmi-\/debug.\+h}}\index{include/hmi-\/debug.\+h@{include/hmi-\/debug.\+h}!L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+M\+AX@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+M\+AX}}\item[{\em 
+L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+M\+AX\hypertarget{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444}{}\label{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444}
+}]\index{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+NE@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+NE}!include/hmi-\/debug.\+h@{include/hmi-\/debug.\+h}}\index{include/hmi-\/debug.\+h@{include/hmi-\/debug.\+h}!L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+NE@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+NE}}\item[{\em 
+L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+NE\hypertarget{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848}{}\label{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848}
+}]\index{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+E\+R\+R\+OR@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+E\+R\+R\+OR}!include/hmi-\/debug.\+h@{include/hmi-\/debug.\+h}}\index{include/hmi-\/debug.\+h@{include/hmi-\/debug.\+h}!L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+E\+R\+R\+OR@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+E\+R\+R\+OR}}\item[{\em 
+L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+E\+R\+R\+OR\hypertarget{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f}{}\label{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f}
+}]\index{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+W\+A\+R\+N\+I\+NG@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+W\+A\+R\+N\+I\+NG}!include/hmi-\/debug.\+h@{include/hmi-\/debug.\+h}}\index{include/hmi-\/debug.\+h@{include/hmi-\/debug.\+h}!L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+W\+A\+R\+N\+I\+NG@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+W\+A\+R\+N\+I\+NG}}\item[{\em 
+L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+W\+A\+R\+N\+I\+NG\hypertarget{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef}{}\label{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef}
+}]\index{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+T\+I\+CE@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+T\+I\+CE}!include/hmi-\/debug.\+h@{include/hmi-\/debug.\+h}}\index{include/hmi-\/debug.\+h@{include/hmi-\/debug.\+h}!L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+T\+I\+CE@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+T\+I\+CE}}\item[{\em 
+L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+T\+I\+CE\hypertarget{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e}{}\label{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e}
+}]\index{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+I\+N\+FO@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+I\+N\+FO}!include/hmi-\/debug.\+h@{include/hmi-\/debug.\+h}}\index{include/hmi-\/debug.\+h@{include/hmi-\/debug.\+h}!L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+I\+N\+FO@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+I\+N\+FO}}\item[{\em 
+L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+I\+N\+FO\hypertarget{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4}{}\label{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4}
+}]\index{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+D\+E\+B\+UG@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+D\+E\+B\+UG}!include/hmi-\/debug.\+h@{include/hmi-\/debug.\+h}}\index{include/hmi-\/debug.\+h@{include/hmi-\/debug.\+h}!L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+D\+E\+B\+UG@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+D\+E\+B\+UG}}\item[{\em 
+L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+D\+E\+B\+UG\hypertarget{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177}{}\label{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177}
+}]\index{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+M\+AX@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+M\+AX}!include/hmi-\/debug.\+h@{include/hmi-\/debug.\+h}}\index{include/hmi-\/debug.\+h@{include/hmi-\/debug.\+h}!L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+M\+AX@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+M\+AX}}\item[{\em 
+L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+M\+AX\hypertarget{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444}{}\label{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444}
+}]\end{description}
+\end{Desc}
+
+
+Definition at line 26 of file hmi-\/debug.\+h.
+
+
+\begin{DoxyCode}
+26               \{
+27     \hyperlink{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848}{LOG\_LEVEL\_NONE} = 0,
+28     \hyperlink{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f}{LOG\_LEVEL\_ERROR},
+29     \hyperlink{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef}{LOG\_LEVEL\_WARNING},
+30     \hyperlink{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e}{LOG\_LEVEL\_NOTICE},
+31     \hyperlink{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4}{LOG\_LEVEL\_INFO},
+32     \hyperlink{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177}{LOG\_LEVEL\_DEBUG},
+33     \hyperlink{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444}{LOG\_LEVEL\_MAX} = LOG\_LEVEL\_DEBUG
+34 \};
+\end{DoxyCode}
+
+
+\subsection{Function Documentation}
+\index{include/hmi-\/debug.\+h@{include/hmi-\/debug.\+h}!\+\_\+\+H\+M\+I\+\_\+\+L\+OG@{\+\_\+\+H\+M\+I\+\_\+\+L\+OG}}
+\index{\+\_\+\+H\+M\+I\+\_\+\+L\+OG@{\+\_\+\+H\+M\+I\+\_\+\+L\+OG}!include/hmi-\/debug.\+h@{include/hmi-\/debug.\+h}}
+\subsubsection[{\texorpdfstring{\+\_\+\+H\+M\+I\+\_\+\+L\+O\+G(enum L\+O\+G\+\_\+\+L\+E\+V\+E\+L level, const char $\ast$file, const char $\ast$func, const int line, const char $\ast$prefix, const char $\ast$log,...)}{_HMI_LOG(enum LOG_LEVEL level, const char *file, const char *func, const int line, const char *prefix, const char *log,...)}}]{\setlength{\rightskip}{0pt plus 5cm}static void \+\_\+\+H\+M\+I\+\_\+\+L\+OG (
+\begin{DoxyParamCaption}
+\item[{enum {\bf L\+O\+G\+\_\+\+L\+E\+V\+EL}}]{level, }
+\item[{const char $\ast$}]{file, }
+\item[{const char $\ast$}]{func, }
+\item[{const int}]{line, }
+\item[{const char $\ast$}]{prefix, }
+\item[{const char $\ast$}]{log, }
+\item[{}]{...}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{include_2hmi-debug_8h_a0846b9d51e2e0612c4825a9a581aa40a}{}\label{include_2hmi-debug_8h_a0846b9d51e2e0612c4825a9a581aa40a}
+
+
+Definition at line 46 of file hmi-\/debug.\+h.
+
+
+\begin{DoxyCode}
+47 \{
+48     \textcolor{keyword}{const} \textcolor{keywordtype}{int} log\_level = (getenv(\textcolor{stringliteral}{"USE\_HMI\_DEBUG"}) == NULL)?\hyperlink{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f}{LOG\_LEVEL\_ERROR}:atoi(getenv(\textcolor{stringliteral}{"
+      USE\_HMI\_DEBUG"}));
+49     \textcolor{keywordflow}{if}(log\_level < level)
+50     \{
+51         \textcolor{keywordflow}{return};
+52     \}
+53 
+54     \textcolor{keywordtype}{char} *message;
+55     \textcolor{keyword}{struct }timespec tp;
+56     \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} time;
+57 
+58     clock\_gettime(CLOCK\_REALTIME, &tp);
+59     time = (tp.tv\_sec * 1000000L) + (tp.tv\_nsec / 1000);
+60 
+61     va\_list args;
+62     va\_start(args, log);
+63     \textcolor{keywordflow}{if} (log == NULL || vasprintf(&message, log, args) < 0)
+64         message = NULL;
+65     fprintf(stderr,  \textcolor{stringliteral}{"[%10.3f] [%s %s] [%s, %s(), Line:%d] >>> %s \(\backslash\)n"}, time / 1000.0, prefix, 
+      \hyperlink{include_2hmi-debug_8h_a13d4c7647aad2e84766f8b48a6caab09}{ERROR\_FLAG}[level], file, func, line, message);
+66     va\_end(args);
+67     free(message);
+68 \}
+\end{DoxyCode}
+
+
+\subsection{Variable Documentation}
+\index{include/hmi-\/debug.\+h@{include/hmi-\/debug.\+h}!E\+R\+R\+O\+R\+\_\+\+F\+L\+AG@{E\+R\+R\+O\+R\+\_\+\+F\+L\+AG}}
+\index{E\+R\+R\+O\+R\+\_\+\+F\+L\+AG@{E\+R\+R\+O\+R\+\_\+\+F\+L\+AG}!include/hmi-\/debug.\+h@{include/hmi-\/debug.\+h}}
+\subsubsection[{\texorpdfstring{E\+R\+R\+O\+R\+\_\+\+F\+L\+AG}{ERROR_FLAG}}]{\setlength{\rightskip}{0pt plus 5cm}char E\+R\+R\+O\+R\+\_\+\+F\+L\+AG\mbox{[}6\mbox{]}\mbox{[}20\mbox{]} = \{\char`\"{}N\+O\+NE\char`\"{}, \char`\"{}E\+R\+R\+OR\char`\"{}, \char`\"{}W\+A\+R\+N\+I\+NG\char`\"{}, \char`\"{}N\+O\+T\+I\+CE\char`\"{}, \char`\"{}I\+N\+FO\char`\"{}, \char`\"{}D\+E\+B\+UG\char`\"{}\}\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{include_2hmi-debug_8h_a13d4c7647aad2e84766f8b48a6caab09}{}\label{include_2hmi-debug_8h_a13d4c7647aad2e84766f8b48a6caab09}
+
+
+Definition at line 44 of file hmi-\/debug.\+h.
+
diff --git a/doc/api-ref/latex/d2/d8e/class_h_s___client_manager.tex b/doc/api-ref/latex/d2/d8e/class_h_s___client_manager.tex
new file mode 100644 (file)
index 0000000..28e0cbc
--- /dev/null
@@ -0,0 +1,657 @@
+\hypertarget{class_h_s___client_manager}{}\section{H\+S\+\_\+\+Client\+Manager Class Reference}
+\label{class_h_s___client_manager}\index{H\+S\+\_\+\+Client\+Manager@{H\+S\+\_\+\+Client\+Manager}}
+
+
+{\ttfamily \#include $<$hs-\/clientmanager.\+h$>$}
+
+\subsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item 
+\hyperlink{class_h_s___client_manager_adac35e476e559cc89bc39363525268bf}{H\+S\+\_\+\+Client\+Manager} ()
+\item 
+\hyperlink{class_h_s___client_manager_a50733274a93293fef892fdd453d74cae}{$\sim$\+H\+S\+\_\+\+Client\+Manager} ()=default
+\item 
+\hyperlink{class_h_s___client_manager_a0033db6b552f9de818789e76735c1ebc}{H\+S\+\_\+\+Client\+Manager} (\hyperlink{class_h_s___client_manager}{H\+S\+\_\+\+Client\+Manager} const \&)=delete
+\item 
+\hyperlink{class_h_s___client_manager}{H\+S\+\_\+\+Client\+Manager} \& \hyperlink{class_h_s___client_manager_ac8e02cffc79d4530b06e1143abb18891}{operator=} (\hyperlink{class_h_s___client_manager}{H\+S\+\_\+\+Client\+Manager} const \&)=delete
+\item 
+\hyperlink{class_h_s___client_manager_a715811c549cccd93cb1f903d179c8b41}{H\+S\+\_\+\+Client\+Manager} (\hyperlink{class_h_s___client_manager}{H\+S\+\_\+\+Client\+Manager} \&\&)=delete
+\item 
+\hyperlink{class_h_s___client_manager}{H\+S\+\_\+\+Client\+Manager} \& \hyperlink{class_h_s___client_manager_a49e225bb8421c812ac016309d54a00fa}{operator=} (\hyperlink{class_h_s___client_manager}{H\+S\+\_\+\+Client\+Manager} \&\&)=delete
+\item 
+int \hyperlink{class_h_s___client_manager_ae0b9b18adeffca7822b060ad4ea8a7a1}{init} (void)
+\item 
+void \hyperlink{class_h_s___client_manager_adc23f8b3f5cc06eeab39fb24098af3e2}{remove\+Client\+Ctxt} (void $\ast$data)
+\item 
+int \hyperlink{class_h_s___client_manager_a9910fc27c412530b5b9854b00bd16c07}{tap\+\_\+shortcut} (afb\+\_\+req\+\_\+t request)
+\item 
+int \hyperlink{class_h_s___client_manager_afed8158f276d1d22c32b0d89e970d442}{show\+Window} (afb\+\_\+req\+\_\+t request)
+\item 
+int \hyperlink{class_h_s___client_manager_a6195694d281a3b97b0345b96c0add1fd}{hide\+Window} (afb\+\_\+req\+\_\+t request)
+\item 
+int \hyperlink{class_h_s___client_manager_a59b1c1e115b5a257a585c41f854f5fdd}{reply\+Show\+Window} (afb\+\_\+req\+\_\+t request)
+\item 
+int \hyperlink{class_h_s___client_manager_a58ce4a013d3694265dd69f481bf88510}{on\+\_\+screen\+\_\+message} (afb\+\_\+req\+\_\+t request)
+\item 
+int \hyperlink{class_h_s___client_manager_aa78f992287e3b8fe93422b331dc9edc5}{on\+\_\+screen\+\_\+reply} (afb\+\_\+req\+\_\+t request)
+\item 
+int \hyperlink{class_h_s___client_manager_a1b8a4e42342c4bcdc4e7dc4934e02469}{subscribe} (afb\+\_\+req\+\_\+t request)
+\item 
+int \hyperlink{class_h_s___client_manager_ac86314afbb90116e2f02ce071166226e}{unsubscribe} (afb\+\_\+req\+\_\+t request)
+\item 
+int \hyperlink{class_h_s___client_manager_a857934af280081ca6ac61d9f2cac37c5}{show\+Notification} (afb\+\_\+req\+\_\+t request)
+\item 
+int \hyperlink{class_h_s___client_manager_a0645294f89c67fd3c9b0cce62a900f69}{show\+Information} (afb\+\_\+req\+\_\+t request)
+\end{DoxyCompactItemize}
+\subsection*{Static Public Member Functions}
+\begin{DoxyCompactItemize}
+\item 
+static \hyperlink{class_h_s___client_manager}{H\+S\+\_\+\+Client\+Manager} $\ast$ \hyperlink{class_h_s___client_manager_ad86c1fea7d107d52cbf0466fb7a2658b}{instance} (void)
+\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+
+
+Definition at line 37 of file hs-\/clientmanager.\+h.
+
+
+
+\subsection{Constructor \& Destructor Documentation}
+\index{H\+S\+\_\+\+Client\+Manager@{H\+S\+\_\+\+Client\+Manager}!H\+S\+\_\+\+Client\+Manager@{H\+S\+\_\+\+Client\+Manager}}
+\index{H\+S\+\_\+\+Client\+Manager@{H\+S\+\_\+\+Client\+Manager}!H\+S\+\_\+\+Client\+Manager@{H\+S\+\_\+\+Client\+Manager}}
+\subsubsection[{\texorpdfstring{H\+S\+\_\+\+Client\+Manager()}{HS_ClientManager()}}]{\setlength{\rightskip}{0pt plus 5cm}H\+S\+\_\+\+Client\+Manager\+::\+H\+S\+\_\+\+Client\+Manager (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)}\hypertarget{class_h_s___client_manager_adac35e476e559cc89bc39363525268bf}{}\label{class_h_s___client_manager_adac35e476e559cc89bc39363525268bf}
+\hyperlink{class_h_s___client_manager}{H\+S\+\_\+\+Client\+Manager} construction function
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item Nothing
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+None 
+
+Definition at line 39 of file hs-\/clientmanager.\+cpp.
+
+
+\begin{DoxyCode}
+40 \{
+41 \}
+\end{DoxyCode}
+\index{H\+S\+\_\+\+Client\+Manager@{H\+S\+\_\+\+Client\+Manager}!````~H\+S\+\_\+\+Client\+Manager@{$\sim$\+H\+S\+\_\+\+Client\+Manager}}
+\index{````~H\+S\+\_\+\+Client\+Manager@{$\sim$\+H\+S\+\_\+\+Client\+Manager}!H\+S\+\_\+\+Client\+Manager@{H\+S\+\_\+\+Client\+Manager}}
+\subsubsection[{\texorpdfstring{$\sim$\+H\+S\+\_\+\+Client\+Manager()=default}{~HS_ClientManager()=default}}]{\setlength{\rightskip}{0pt plus 5cm}H\+S\+\_\+\+Client\+Manager\+::$\sim$\+H\+S\+\_\+\+Client\+Manager (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [default]}}\hypertarget{class_h_s___client_manager_a50733274a93293fef892fdd453d74cae}{}\label{class_h_s___client_manager_a50733274a93293fef892fdd453d74cae}
+\index{H\+S\+\_\+\+Client\+Manager@{H\+S\+\_\+\+Client\+Manager}!H\+S\+\_\+\+Client\+Manager@{H\+S\+\_\+\+Client\+Manager}}
+\index{H\+S\+\_\+\+Client\+Manager@{H\+S\+\_\+\+Client\+Manager}!H\+S\+\_\+\+Client\+Manager@{H\+S\+\_\+\+Client\+Manager}}
+\subsubsection[{\texorpdfstring{H\+S\+\_\+\+Client\+Manager(\+H\+S\+\_\+\+Client\+Manager const \&)=delete}{HS_ClientManager(HS_ClientManager const &)=delete}}]{\setlength{\rightskip}{0pt plus 5cm}H\+S\+\_\+\+Client\+Manager\+::\+H\+S\+\_\+\+Client\+Manager (
+\begin{DoxyParamCaption}
+\item[{{\bf H\+S\+\_\+\+Client\+Manager} const \&}]{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [delete]}}\hypertarget{class_h_s___client_manager_a0033db6b552f9de818789e76735c1ebc}{}\label{class_h_s___client_manager_a0033db6b552f9de818789e76735c1ebc}
+\index{H\+S\+\_\+\+Client\+Manager@{H\+S\+\_\+\+Client\+Manager}!H\+S\+\_\+\+Client\+Manager@{H\+S\+\_\+\+Client\+Manager}}
+\index{H\+S\+\_\+\+Client\+Manager@{H\+S\+\_\+\+Client\+Manager}!H\+S\+\_\+\+Client\+Manager@{H\+S\+\_\+\+Client\+Manager}}
+\subsubsection[{\texorpdfstring{H\+S\+\_\+\+Client\+Manager(\+H\+S\+\_\+\+Client\+Manager \&\&)=delete}{HS_ClientManager(HS_ClientManager &&)=delete}}]{\setlength{\rightskip}{0pt plus 5cm}H\+S\+\_\+\+Client\+Manager\+::\+H\+S\+\_\+\+Client\+Manager (
+\begin{DoxyParamCaption}
+\item[{{\bf H\+S\+\_\+\+Client\+Manager} \&\&}]{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [delete]}}\hypertarget{class_h_s___client_manager_a715811c549cccd93cb1f903d179c8b41}{}\label{class_h_s___client_manager_a715811c549cccd93cb1f903d179c8b41}
+
+
+\subsection{Member Function Documentation}
+\index{H\+S\+\_\+\+Client\+Manager@{H\+S\+\_\+\+Client\+Manager}!hide\+Window@{hide\+Window}}
+\index{hide\+Window@{hide\+Window}!H\+S\+\_\+\+Client\+Manager@{H\+S\+\_\+\+Client\+Manager}}
+\subsubsection[{\texorpdfstring{hide\+Window(afb\+\_\+req\+\_\+t request)}{hideWindow(afb_req_t request)}}]{\setlength{\rightskip}{0pt plus 5cm}int H\+S\+\_\+\+Client\+Manager\+::hide\+Window (
+\begin{DoxyParamCaption}
+\item[{afb\+\_\+req\+\_\+t}]{request}
+\end{DoxyParamCaption}
+)}\hypertarget{class_h_s___client_manager_a6195694d281a3b97b0345b96c0add1fd}{}\label{class_h_s___client_manager_a6195694d281a3b97b0345b96c0add1fd}
+hide\+Window event
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item request \+: the request
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+0 \+: success others \+: fail 
+
+Definition at line 356 of file hs-\/clientmanager.\+cpp.
+
+
+\begin{DoxyCode}
+357 \{
+358     \textcolor{keywordtype}{int} ret = 0;
+359     \textcolor{keyword}{const} \textcolor{keywordtype}{char}* value = afb\_req\_value(request, \hyperlink{homescreen_8cpp_a6a0e1db2562b442f8131ddf64b61d1ba}{\_application\_id});
+360     \textcolor{keywordflow}{if} (value) \{
+361         \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"request params = %s."}, value);
+362         std::lock\_guard<std::mutex> lock(this->mtx);
+363         \textcolor{keyword}{auto} ip = client\_list.find(std::string(value));
+364         \textcolor{keywordflow}{if}(ip != client\_list.end()) \{
+365             ret = ip->second->hideWindow(request);
+366         \}
+367     \}
+368     \textcolor{keywordflow}{else} \{
+369         \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"Please input application\_id"});
+370         ret = \hyperlink{hs-helper_8h_aa611e2ec24ef295bd87825889fe2ce5e}{AFB\_EVENT\_BAD\_REQUEST};
+371     \}
+372     \textcolor{keywordflow}{return} ret;
+373 \}
+\end{DoxyCode}
+\index{H\+S\+\_\+\+Client\+Manager@{H\+S\+\_\+\+Client\+Manager}!init@{init}}
+\index{init@{init}!H\+S\+\_\+\+Client\+Manager@{H\+S\+\_\+\+Client\+Manager}}
+\subsubsection[{\texorpdfstring{init(void)}{init(void)}}]{\setlength{\rightskip}{0pt plus 5cm}int H\+S\+\_\+\+Client\+Manager\+::init (
+\begin{DoxyParamCaption}
+\item[{void}]{}
+\end{DoxyParamCaption}
+)}\hypertarget{class_h_s___client_manager_ae0b9b18adeffca7822b060ad4ea8a7a1}{}\label{class_h_s___client_manager_ae0b9b18adeffca7822b060ad4ea8a7a1}
+\hyperlink{class_h_s___client_manager}{H\+S\+\_\+\+Client\+Manager} init function
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item Nothing
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+init result 
+
+Definition at line 71 of file hs-\/clientmanager.\+cpp.
+
+
+\begin{DoxyCode}
+72 \{
+73     \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"called."});
+74 \}
+\end{DoxyCode}
+\index{H\+S\+\_\+\+Client\+Manager@{H\+S\+\_\+\+Client\+Manager}!instance@{instance}}
+\index{instance@{instance}!H\+S\+\_\+\+Client\+Manager@{H\+S\+\_\+\+Client\+Manager}}
+\subsubsection[{\texorpdfstring{instance(void)}{instance(void)}}]{\setlength{\rightskip}{0pt plus 5cm}{\bf H\+S\+\_\+\+Client\+Manager} $\ast$ H\+S\+\_\+\+Client\+Manager\+::instance (
+\begin{DoxyParamCaption}
+\item[{void}]{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{class_h_s___client_manager_ad86c1fea7d107d52cbf0466fb7a2658b}{}\label{class_h_s___client_manager_ad86c1fea7d107d52cbf0466fb7a2658b}
+get instance
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item Nothing
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+\hyperlink{class_h_s___client_manager}{H\+S\+\_\+\+Client\+Manager} instance pointer 
+
+Definition at line 53 of file hs-\/clientmanager.\+cpp.
+
+
+\begin{DoxyCode}
+54 \{
+55     \textcolor{keywordflow}{if}(me == \textcolor{keyword}{nullptr})
+56         me = \textcolor{keyword}{new} \hyperlink{class_h_s___client_manager_adac35e476e559cc89bc39363525268bf}{HS\_ClientManager}();
+57 
+58     \textcolor{keywordflow}{return} me;
+59 \}
+\end{DoxyCode}
+\index{H\+S\+\_\+\+Client\+Manager@{H\+S\+\_\+\+Client\+Manager}!on\+\_\+screen\+\_\+message@{on\+\_\+screen\+\_\+message}}
+\index{on\+\_\+screen\+\_\+message@{on\+\_\+screen\+\_\+message}!H\+S\+\_\+\+Client\+Manager@{H\+S\+\_\+\+Client\+Manager}}
+\subsubsection[{\texorpdfstring{on\+\_\+screen\+\_\+message(afb\+\_\+req\+\_\+t request)}{on_screen_message(afb_req_t request)}}]{\setlength{\rightskip}{0pt plus 5cm}int H\+S\+\_\+\+Client\+Manager\+::on\+\_\+screen\+\_\+message (
+\begin{DoxyParamCaption}
+\item[{afb\+\_\+req\+\_\+t}]{request}
+\end{DoxyParamCaption}
+)}\hypertarget{class_h_s___client_manager_a58ce4a013d3694265dd69f481bf88510}{}\label{class_h_s___client_manager_a58ce4a013d3694265dd69f481bf88510}
+on\+\_\+screen\+\_\+message
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item request\+: the request to bindings
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+result 
+
+Definition at line 195 of file hs-\/clientmanager.\+cpp.
+
+
+\begin{DoxyCode}
+196 \{
+197     \textcolor{keywordtype}{int} ret = 0;
+198     \textcolor{keyword}{const} \textcolor{keywordtype}{char}* value = afb\_req\_value(request, \hyperlink{homescreen_8cpp_abfd6c1d6f316fa952b11553f8f275e92}{\_display\_message});
+199     \textcolor{keywordflow}{if} (value) \{
+200         \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"request params = %s."}, value);
+201         std::lock\_guard<std::mutex> lock(this->mtx);
+202         \textcolor{keywordflow}{for}(\textcolor{keyword}{auto} m : client\_list) \{
+203             m.second->on\_screen\_message(request, value);
+204         \}
+205     \}
+206     \textcolor{keywordflow}{else} \{
+207         \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"Please input display\_message"});
+208         ret = \hyperlink{hs-helper_8h_aa611e2ec24ef295bd87825889fe2ce5e}{AFB\_EVENT\_BAD\_REQUEST};
+209     \}
+210     \textcolor{keywordflow}{return} ret;
+211 \}
+\end{DoxyCode}
+\index{H\+S\+\_\+\+Client\+Manager@{H\+S\+\_\+\+Client\+Manager}!on\+\_\+screen\+\_\+reply@{on\+\_\+screen\+\_\+reply}}
+\index{on\+\_\+screen\+\_\+reply@{on\+\_\+screen\+\_\+reply}!H\+S\+\_\+\+Client\+Manager@{H\+S\+\_\+\+Client\+Manager}}
+\subsubsection[{\texorpdfstring{on\+\_\+screen\+\_\+reply(afb\+\_\+req\+\_\+t request)}{on_screen_reply(afb_req_t request)}}]{\setlength{\rightskip}{0pt plus 5cm}int H\+S\+\_\+\+Client\+Manager\+::on\+\_\+screen\+\_\+reply (
+\begin{DoxyParamCaption}
+\item[{afb\+\_\+req\+\_\+t}]{request}
+\end{DoxyParamCaption}
+)}\hypertarget{class_h_s___client_manager_aa78f992287e3b8fe93422b331dc9edc5}{}\label{class_h_s___client_manager_aa78f992287e3b8fe93422b331dc9edc5}
+on\+\_\+screen\+\_\+reply
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item request\+: the request to bindings
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+result 
+
+Definition at line 223 of file hs-\/clientmanager.\+cpp.
+
+
+\begin{DoxyCode}
+224 \{
+225     \textcolor{keywordtype}{int} ret = 0;
+226     \textcolor{keyword}{const} \textcolor{keywordtype}{char}* value = afb\_req\_value(request, \hyperlink{homescreen_8cpp_a79b0f0b481161527ccb80e83da143219}{\_reply\_message});
+227     \textcolor{keywordflow}{if} (value) \{
+228       \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"request params = %s."}, value);
+229       std::lock\_guard<std::mutex> lock(this->mtx);
+230       \textcolor{keywordflow}{for}(\textcolor{keyword}{auto} m : client\_list) \{
+231         m.second->on\_screen\_reply(request, value);
+232       \}
+233     \}
+234     \textcolor{keywordflow}{else} \{
+235         \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"Please input reply\_message"});
+236         ret = \hyperlink{hs-helper_8h_aa611e2ec24ef295bd87825889fe2ce5e}{AFB\_EVENT\_BAD\_REQUEST};
+237     \}
+238     \textcolor{keywordflow}{return} ret;
+239 \}
+\end{DoxyCode}
+\index{H\+S\+\_\+\+Client\+Manager@{H\+S\+\_\+\+Client\+Manager}!operator=@{operator=}}
+\index{operator=@{operator=}!H\+S\+\_\+\+Client\+Manager@{H\+S\+\_\+\+Client\+Manager}}
+\subsubsection[{\texorpdfstring{operator=(\+H\+S\+\_\+\+Client\+Manager const \&)=delete}{operator=(HS_ClientManager const &)=delete}}]{\setlength{\rightskip}{0pt plus 5cm}{\bf H\+S\+\_\+\+Client\+Manager}\& H\+S\+\_\+\+Client\+Manager\+::operator= (
+\begin{DoxyParamCaption}
+\item[{{\bf H\+S\+\_\+\+Client\+Manager} const \&}]{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [delete]}}\hypertarget{class_h_s___client_manager_ac8e02cffc79d4530b06e1143abb18891}{}\label{class_h_s___client_manager_ac8e02cffc79d4530b06e1143abb18891}
+\index{H\+S\+\_\+\+Client\+Manager@{H\+S\+\_\+\+Client\+Manager}!operator=@{operator=}}
+\index{operator=@{operator=}!H\+S\+\_\+\+Client\+Manager@{H\+S\+\_\+\+Client\+Manager}}
+\subsubsection[{\texorpdfstring{operator=(\+H\+S\+\_\+\+Client\+Manager \&\&)=delete}{operator=(HS_ClientManager &&)=delete}}]{\setlength{\rightskip}{0pt plus 5cm}{\bf H\+S\+\_\+\+Client\+Manager}\& H\+S\+\_\+\+Client\+Manager\+::operator= (
+\begin{DoxyParamCaption}
+\item[{{\bf H\+S\+\_\+\+Client\+Manager} \&\&}]{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [delete]}}\hypertarget{class_h_s___client_manager_a49e225bb8421c812ac016309d54a00fa}{}\label{class_h_s___client_manager_a49e225bb8421c812ac016309d54a00fa}
+\index{H\+S\+\_\+\+Client\+Manager@{H\+S\+\_\+\+Client\+Manager}!remove\+Client\+Ctxt@{remove\+Client\+Ctxt}}
+\index{remove\+Client\+Ctxt@{remove\+Client\+Ctxt}!H\+S\+\_\+\+Client\+Manager@{H\+S\+\_\+\+Client\+Manager}}
+\subsubsection[{\texorpdfstring{remove\+Client\+Ctxt(void $\ast$data)}{removeClientCtxt(void *data)}}]{\setlength{\rightskip}{0pt plus 5cm}void H\+S\+\_\+\+Client\+Manager\+::remove\+Client\+Ctxt (
+\begin{DoxyParamCaption}
+\item[{void $\ast$}]{data}
+\end{DoxyParamCaption}
+)}\hypertarget{class_h_s___client_manager_adc23f8b3f5cc06eeab39fb24098af3e2}{}\label{class_h_s___client_manager_adc23f8b3f5cc06eeab39fb24098af3e2}
+remove Client from list
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item data\+: \hyperlink{struct_h_s___client_ctxt}{H\+S\+\_\+\+Client\+Ctxt} pointer
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+None 
+
+Definition at line 140 of file hs-\/clientmanager.\+cpp.
+
+
+\begin{DoxyCode}
+141 \{
+142     \hyperlink{struct_h_s___client_ctxt}{HS\_ClientCtxt} *ctxt = (\hyperlink{struct_h_s___client_ctxt}{HS\_ClientCtxt} *)data;
+143     \textcolor{keywordflow}{if}(ctxt == \textcolor{keyword}{nullptr})
+144     \{
+145         \hyperlink{include_2hmi-debug_8h_a65bb6c7cfe38f8a724beab5059d36fb2}{HMI\_ERROR}(\textcolor{stringliteral}{"homescreen-service"}, \textcolor{stringliteral}{"data is nullptr"});
+146         \textcolor{keywordflow}{return};
+147     \}
+148 
+149     \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"}, \textcolor{stringliteral}{"remove app %s"}, ctxt->\hyperlink{struct_h_s___client_ctxt_a04929d7d5f583a821d3d594815f77d1c}{id}.c\_str());
+150     std::lock\_guard<std::mutex> lock(this->mtx);
+151     removeClient(ctxt->\hyperlink{struct_h_s___client_ctxt_a04929d7d5f583a821d3d594815f77d1c}{id});
+152     \textcolor{keyword}{delete} appid2ctxt[ctxt->\hyperlink{struct_h_s___client_ctxt_a04929d7d5f583a821d3d594815f77d1c}{id}];
+153     appid2ctxt.erase(ctxt->\hyperlink{struct_h_s___client_ctxt_a04929d7d5f583a821d3d594815f77d1c}{id});
+154 \}
+\end{DoxyCode}
+\index{H\+S\+\_\+\+Client\+Manager@{H\+S\+\_\+\+Client\+Manager}!reply\+Show\+Window@{reply\+Show\+Window}}
+\index{reply\+Show\+Window@{reply\+Show\+Window}!H\+S\+\_\+\+Client\+Manager@{H\+S\+\_\+\+Client\+Manager}}
+\subsubsection[{\texorpdfstring{reply\+Show\+Window(afb\+\_\+req\+\_\+t request)}{replyShowWindow(afb_req_t request)}}]{\setlength{\rightskip}{0pt plus 5cm}int H\+S\+\_\+\+Client\+Manager\+::reply\+Show\+Window (
+\begin{DoxyParamCaption}
+\item[{afb\+\_\+req\+\_\+t}]{request}
+\end{DoxyParamCaption}
+)}\hypertarget{class_h_s___client_manager_a59b1c1e115b5a257a585c41f854f5fdd}{}\label{class_h_s___client_manager_a59b1c1e115b5a257a585c41f854f5fdd}
+reply\+Show\+Window event
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item request \+: the request
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+0 \+: success others \+: fail 
+
+Definition at line 386 of file hs-\/clientmanager.\+cpp.
+
+
+\begin{DoxyCode}
+387 \{
+388     \textcolor{keywordtype}{int} ret = 0;
+389     \textcolor{keyword}{const} \textcolor{keywordtype}{char}* value = afb\_req\_value(request, \hyperlink{homescreen_8cpp_a6a0e1db2562b442f8131ddf64b61d1ba}{\_application\_id});
+390     \textcolor{keywordflow}{if} (value) \{
+391         \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"request params = %s."}, value);
+392         std::lock\_guard<std::mutex> lock(this->mtx);
+393         \textcolor{keyword}{auto} ip = client\_list.find(std::string(value));
+394         \textcolor{keywordflow}{if}(ip != client\_list.end()) \{
+395             ret = ip->second->replyShowWindow(request, value);
+396         \}
+397     \}
+398     \textcolor{keywordflow}{else} \{
+399         \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"Please input application\_id"});
+400         ret = \hyperlink{hs-helper_8h_aa611e2ec24ef295bd87825889fe2ce5e}{AFB\_EVENT\_BAD\_REQUEST};
+401     \}
+402     \textcolor{keywordflow}{return} ret;
+403 \}
+\end{DoxyCode}
+\index{H\+S\+\_\+\+Client\+Manager@{H\+S\+\_\+\+Client\+Manager}!show\+Information@{show\+Information}}
+\index{show\+Information@{show\+Information}!H\+S\+\_\+\+Client\+Manager@{H\+S\+\_\+\+Client\+Manager}}
+\subsubsection[{\texorpdfstring{show\+Information(afb\+\_\+req\+\_\+t request)}{showInformation(afb_req_t request)}}]{\setlength{\rightskip}{0pt plus 5cm}int H\+S\+\_\+\+Client\+Manager\+::show\+Information (
+\begin{DoxyParamCaption}
+\item[{afb\+\_\+req\+\_\+t}]{request}
+\end{DoxyParamCaption}
+)}\hypertarget{class_h_s___client_manager_a0645294f89c67fd3c9b0cce62a900f69}{}\label{class_h_s___client_manager_a0645294f89c67fd3c9b0cce62a900f69}
+show\+Information event
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item request \+: the request
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+0 \+: success others \+: fail 
+
+Definition at line 443 of file hs-\/clientmanager.\+cpp.
+
+
+\begin{DoxyCode}
+444 \{
+445     \textcolor{keywordtype}{int} ret = 0;
+446     std::lock\_guard<std::mutex> lock(this->mtx);
+447     \textcolor{keyword}{auto} ip = client\_list.find(\hyperlink{hs-clientmanager_8cpp_a8bbab9002543614eacdc7a319d13a476}{\_homescreen});
+448     \textcolor{keywordflow}{if}(ip != client\_list.end()) \{
+449         ret = ip->second->showInformation(request);
+450     \}
+451     \textcolor{keywordflow}{else} \{
+452         \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"not exist sessiion with homescreen"});
+453         ret = \hyperlink{hs-helper_8h_aefe0d7ff8202f954693c235c1fb8e310}{AFB\_REQ\_SHOWINFORMATION\_ERROR};
+454     \}
+455 
+456     \textcolor{keywordflow}{return} ret;
+457 \}
+\end{DoxyCode}
+\index{H\+S\+\_\+\+Client\+Manager@{H\+S\+\_\+\+Client\+Manager}!show\+Notification@{show\+Notification}}
+\index{show\+Notification@{show\+Notification}!H\+S\+\_\+\+Client\+Manager@{H\+S\+\_\+\+Client\+Manager}}
+\subsubsection[{\texorpdfstring{show\+Notification(afb\+\_\+req\+\_\+t request)}{showNotification(afb_req_t request)}}]{\setlength{\rightskip}{0pt plus 5cm}int H\+S\+\_\+\+Client\+Manager\+::show\+Notification (
+\begin{DoxyParamCaption}
+\item[{afb\+\_\+req\+\_\+t}]{request}
+\end{DoxyParamCaption}
+)}\hypertarget{class_h_s___client_manager_a857934af280081ca6ac61d9f2cac37c5}{}\label{class_h_s___client_manager_a857934af280081ca6ac61d9f2cac37c5}
+show\+Notification event
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item request \+: the request
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+0 \+: success others \+: fail 
+
+Definition at line 416 of file hs-\/clientmanager.\+cpp.
+
+
+\begin{DoxyCode}
+417 \{
+418     \textcolor{keywordtype}{int} ret = 0;
+419     std::lock\_guard<std::mutex> lock(this->mtx);
+420     \textcolor{keyword}{auto} ip = client\_list.find(\hyperlink{hs-clientmanager_8cpp_a8bbab9002543614eacdc7a319d13a476}{\_homescreen});
+421     \textcolor{keywordflow}{if}(ip != client\_list.end()) \{
+422         ret = ip->second->showNotification(request);
+423     \}
+424     \textcolor{keywordflow}{else} \{
+425         \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"not exist sessiion with homescreen"});
+426         ret = \hyperlink{hs-helper_8h_a057fc88b8445828c261305cf9107d99d}{AFB\_REQ\_SHOWNOTIFICATION\_ERROR};
+427     \}
+428 
+429     \textcolor{keywordflow}{return} ret;
+430 \}
+\end{DoxyCode}
+\index{H\+S\+\_\+\+Client\+Manager@{H\+S\+\_\+\+Client\+Manager}!show\+Window@{show\+Window}}
+\index{show\+Window@{show\+Window}!H\+S\+\_\+\+Client\+Manager@{H\+S\+\_\+\+Client\+Manager}}
+\subsubsection[{\texorpdfstring{show\+Window(afb\+\_\+req\+\_\+t request)}{showWindow(afb_req_t request)}}]{\setlength{\rightskip}{0pt plus 5cm}int H\+S\+\_\+\+Client\+Manager\+::show\+Window (
+\begin{DoxyParamCaption}
+\item[{afb\+\_\+req\+\_\+t}]{request}
+\end{DoxyParamCaption}
+)}\hypertarget{class_h_s___client_manager_afed8158f276d1d22c32b0d89e970d442}{}\label{class_h_s___client_manager_afed8158f276d1d22c32b0d89e970d442}
+show\+Window event
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item request \+: the request
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+0 \+: success others \+: fail 
+
+Definition at line 326 of file hs-\/clientmanager.\+cpp.
+
+
+\begin{DoxyCode}
+327 \{
+328     \textcolor{keywordtype}{int} ret = 0;
+329     \textcolor{keyword}{const} \textcolor{keywordtype}{char}* value = afb\_req\_value(request, \hyperlink{homescreen_8cpp_a6a0e1db2562b442f8131ddf64b61d1ba}{\_application\_id});
+330     \textcolor{keywordflow}{if} (value) \{
+331         \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"request params = %s."}, value);
+332         std::lock\_guard<std::mutex> lock(this->mtx);
+333         \textcolor{keyword}{auto} ip = client\_list.find(std::string(value));
+334         \textcolor{keywordflow}{if}(ip != client\_list.end()) \{
+335             ret = ip->second->showWindow(request, value);
+336         \}
+337     \}
+338     \textcolor{keywordflow}{else} \{
+339         \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"Please input application\_id"});
+340         ret = \hyperlink{hs-helper_8h_aa611e2ec24ef295bd87825889fe2ce5e}{AFB\_EVENT\_BAD\_REQUEST};
+341     \}
+342     \textcolor{keywordflow}{return} ret;
+343 \}
+\end{DoxyCode}
+\index{H\+S\+\_\+\+Client\+Manager@{H\+S\+\_\+\+Client\+Manager}!subscribe@{subscribe}}
+\index{subscribe@{subscribe}!H\+S\+\_\+\+Client\+Manager@{H\+S\+\_\+\+Client\+Manager}}
+\subsubsection[{\texorpdfstring{subscribe(afb\+\_\+req\+\_\+t request)}{subscribe(afb_req_t request)}}]{\setlength{\rightskip}{0pt plus 5cm}int H\+S\+\_\+\+Client\+Manager\+::subscribe (
+\begin{DoxyParamCaption}
+\item[{afb\+\_\+req\+\_\+t}]{request}
+\end{DoxyParamCaption}
+)}\hypertarget{class_h_s___client_manager_a1b8a4e42342c4bcdc4e7dc4934e02469}{}\label{class_h_s___client_manager_a1b8a4e42342c4bcdc4e7dc4934e02469}
+subscribe
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item request\+: the request to bindings
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+result 
+
+Definition at line 251 of file hs-\/clientmanager.\+cpp.
+
+
+\begin{DoxyCode}
+252 \{
+253     \textcolor{keywordtype}{int} ret = 0;
+254     \textcolor{keyword}{const} \textcolor{keywordtype}{char} *value = afb\_req\_value(request, \textcolor{stringliteral}{"event"});
+255     \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"value is %s"}, value);
+256     \textcolor{keywordflow}{if}(value) \{
+257         std::string appid(afb\_req\_get\_application\_id(request));
+258         std::lock\_guard<std::mutex> lock(this->mtx);
+259 
+260         \hyperlink{class_h_s___client}{HS\_Client}* client = \textcolor{keyword}{nullptr};
+261         \textcolor{keyword}{auto} ip = client\_list.find(appid);
+262         \textcolor{keywordflow}{if}(ip != client\_list.end()) \{
+263             client = client\_list[appid];
+264         \}
+265         \textcolor{keywordflow}{else} \{
+266             appid2ctxt[appid] = createClientCtxt(request, appid);
+267             client = addClient(request, appid);
+268         \}
+269 
+270         \textcolor{keywordflow}{if}(client->\hyperlink{class_h_s___client_a3d000ca70bd4a8af7c4895d95bc7d0d0}{subscribe}(request, value) != 0) \{
+271             \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"subscribe failed"});
+272             ret = \hyperlink{hs-helper_8h_a995612de89db4df1483c16e4b9b70571}{AFB\_REQ\_SUBSCRIBE\_ERROR};
+273         \}
+274     \}
+275     \textcolor{keywordflow}{else} \{
+276         \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"Please input event name"});
+277         ret = \hyperlink{hs-helper_8h_aa611e2ec24ef295bd87825889fe2ce5e}{AFB\_EVENT\_BAD\_REQUEST};
+278     \}
+279     \textcolor{keywordflow}{return} ret;
+280 \}
+\end{DoxyCode}
+\index{H\+S\+\_\+\+Client\+Manager@{H\+S\+\_\+\+Client\+Manager}!tap\+\_\+shortcut@{tap\+\_\+shortcut}}
+\index{tap\+\_\+shortcut@{tap\+\_\+shortcut}!H\+S\+\_\+\+Client\+Manager@{H\+S\+\_\+\+Client\+Manager}}
+\subsubsection[{\texorpdfstring{tap\+\_\+shortcut(afb\+\_\+req\+\_\+t request)}{tap_shortcut(afb_req_t request)}}]{\setlength{\rightskip}{0pt plus 5cm}int H\+S\+\_\+\+Client\+Manager\+::tap\+\_\+shortcut (
+\begin{DoxyParamCaption}
+\item[{afb\+\_\+req\+\_\+t}]{request}
+\end{DoxyParamCaption}
+)}\hypertarget{class_h_s___client_manager_a9910fc27c412530b5b9854b00bd16c07}{}\label{class_h_s___client_manager_a9910fc27c412530b5b9854b00bd16c07}
+tap\+\_\+shortcut
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item request\+: the request to bindings
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+result 
+
+Definition at line 166 of file hs-\/clientmanager.\+cpp.
+
+
+\begin{DoxyCode}
+167 \{
+168     \textcolor{keywordtype}{int} ret = 0;
+169     \textcolor{keyword}{const} \textcolor{keywordtype}{char}* value = afb\_req\_value(request, \hyperlink{homescreen_8cpp_a6a0e1db2562b442f8131ddf64b61d1ba}{\_application\_id});
+170     \textcolor{keywordflow}{if} (value) \{
+171         \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"request params = %s."}, value);
+172         std::lock\_guard<std::mutex> lock(this->mtx);
+173         \textcolor{keyword}{auto} ip = client\_list.find(std::string(value));
+174         \textcolor{keywordflow}{if}(ip != client\_list.end()) \{
+175             ip->second->tap\_shortcut(value);
+176         \}
+177     \}
+178     \textcolor{keywordflow}{else} \{
+179         \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"Please input application\_id"});
+180         ret = \hyperlink{hs-helper_8h_aa611e2ec24ef295bd87825889fe2ce5e}{AFB\_EVENT\_BAD\_REQUEST};
+181     \}
+182     \textcolor{keywordflow}{return} ret;
+183 \}
+\end{DoxyCode}
+\index{H\+S\+\_\+\+Client\+Manager@{H\+S\+\_\+\+Client\+Manager}!unsubscribe@{unsubscribe}}
+\index{unsubscribe@{unsubscribe}!H\+S\+\_\+\+Client\+Manager@{H\+S\+\_\+\+Client\+Manager}}
+\subsubsection[{\texorpdfstring{unsubscribe(afb\+\_\+req\+\_\+t request)}{unsubscribe(afb_req_t request)}}]{\setlength{\rightskip}{0pt plus 5cm}int H\+S\+\_\+\+Client\+Manager\+::unsubscribe (
+\begin{DoxyParamCaption}
+\item[{afb\+\_\+req\+\_\+t}]{request}
+\end{DoxyParamCaption}
+)}\hypertarget{class_h_s___client_manager_ac86314afbb90116e2f02ce071166226e}{}\label{class_h_s___client_manager_ac86314afbb90116e2f02ce071166226e}
+unsubscribe
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item request\+: the request to bindings
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+result 
+
+Definition at line 292 of file hs-\/clientmanager.\+cpp.
+
+
+\begin{DoxyCode}
+293 \{
+294     \textcolor{keyword}{const} \textcolor{keywordtype}{char} *value = afb\_req\_value(request, \textcolor{stringliteral}{"event"});
+295     \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"value is %s"}, value);
+296     \textcolor{keywordtype}{int} ret = 0;
+297     \textcolor{keywordflow}{if}(value) \{
+298         std::string appid(afb\_req\_get\_application\_id(request));
+299         std::lock\_guard<std::mutex> lock(this->mtx);
+300 
+301         \textcolor{keyword}{auto} ip = client\_list.find(appid);
+302         \textcolor{keywordflow}{if}(ip != client\_list.end()
+303         && ip->second->unsubscribe(request, value) != 0) \{
+304             \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"unsubscribe failed"});
+305             ret = \hyperlink{hs-helper_8h_a78e930a97920b821706a80ca8f430034}{AFB\_REQ\_UNSUBSCRIBE\_ERROR};
+306         \}
+307     \}
+308     \textcolor{keywordflow}{else} \{
+309         \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"Please input event name"});
+310         ret = \hyperlink{hs-helper_8h_aa611e2ec24ef295bd87825889fe2ce5e}{AFB\_EVENT\_BAD\_REQUEST};
+311     \}
+312     \textcolor{keywordflow}{return} ret;
+313 \}
+\end{DoxyCode}
+
+
+The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
+\item 
+src/\hyperlink{hs-clientmanager_8h}{hs-\/clientmanager.\+h}\item 
+src/\hyperlink{hs-clientmanager_8cpp}{hs-\/clientmanager.\+cpp}\end{DoxyCompactItemize}
index d6e9808..8f217ca 100644 (file)
@@ -1,14 +1,21 @@
 \hypertarget{hs-helper_8h}{}\section{src/hs-\/helper.h File Reference}
 \label{hs-helper_8h}\index{src/hs-\/helper.\+h@{src/hs-\/helper.\+h}}
 \hypertarget{hs-helper_8h}{}\section{src/hs-\/helper.h File Reference}
 \label{hs-helper_8h}\index{src/hs-\/helper.\+h@{src/hs-\/helper.\+h}}
-{\ttfamily \#include $<$afb/afb-\/binding.\+h$>$}\newline
-{\ttfamily \#include $<$stdint.\+h$>$}\newline
-{\ttfamily \#include $<$glib.\+h$>$}\newline
-{\ttfamily \#include $<$errno.\+h$>$}\newline
-{\ttfamily \#include \char`\"{}hmi-\/debug.\+h\char`\"{}}\newline
+{\ttfamily \#include $<$afb/afb-\/binding.\+h$>$}\\*
+{\ttfamily \#include $<$json-\/c/json.\+h$>$}\\*
 \subsection*{Macros}
 \begin{DoxyCompactItemize}
 \item 
 \subsection*{Macros}
 \begin{DoxyCompactItemize}
 \item 
-\#define \hyperlink{hs-helper_8h_ad2c1fbc92ba364fcf83f15e6d0af66f0}{A\+F\+B\+\_\+\+B\+I\+N\+D\+I\+N\+G\+\_\+\+V\+E\+R\+S\+I\+ON}~2
+\#define \hyperlink{hs-helper_8h_ad2c1fbc92ba364fcf83f15e6d0af66f0}{A\+F\+B\+\_\+\+B\+I\+N\+D\+I\+N\+G\+\_\+\+V\+E\+R\+S\+I\+ON}~3
+\item 
+\#define \hyperlink{hs-helper_8h_aa611e2ec24ef295bd87825889fe2ce5e}{A\+F\+B\+\_\+\+E\+V\+E\+N\+T\+\_\+\+B\+A\+D\+\_\+\+R\+E\+Q\+U\+E\+ST}~100
+\item 
+\#define \hyperlink{hs-helper_8h_a995612de89db4df1483c16e4b9b70571}{A\+F\+B\+\_\+\+R\+E\+Q\+\_\+\+S\+U\+B\+S\+C\+R\+I\+B\+E\+\_\+\+E\+R\+R\+OR}~101
+\item 
+\#define \hyperlink{hs-helper_8h_a78e930a97920b821706a80ca8f430034}{A\+F\+B\+\_\+\+R\+E\+Q\+\_\+\+U\+N\+S\+U\+B\+S\+C\+R\+I\+B\+E\+\_\+\+E\+R\+R\+OR}~102
+\item 
+\#define \hyperlink{hs-helper_8h_a057fc88b8445828c261305cf9107d99d}{A\+F\+B\+\_\+\+R\+E\+Q\+\_\+\+S\+H\+O\+W\+N\+O\+T\+I\+F\+I\+C\+A\+T\+I\+O\+N\+\_\+\+E\+R\+R\+OR}~103
+\item 
+\#define \hyperlink{hs-helper_8h_aefe0d7ff8202f954693c235c1fb8e310}{A\+F\+B\+\_\+\+R\+E\+Q\+\_\+\+S\+H\+O\+W\+I\+N\+F\+O\+R\+M\+A\+T\+I\+O\+N\+\_\+\+E\+R\+R\+OR}~104
 \end{DoxyCompactItemize}
 \subsection*{Typedefs}
 \begin{DoxyCompactItemize}
 \end{DoxyCompactItemize}
 \subsection*{Typedefs}
 \begin{DoxyCompactItemize}
@@ -27,11 +34,11 @@ enum \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899}{R\+E\+Q\+\_\+\+E
 \subsection*{Functions}
 \begin{DoxyCompactItemize}
 \item 
 \subsection*{Functions}
 \begin{DoxyCompactItemize}
 \item 
-\hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899}{R\+E\+Q\+\_\+\+E\+R\+R\+OR} \hyperlink{hs-helper_8h_a649900645417f2df3a70b9ad67529f53}{get\+\_\+value\+\_\+uint16} (const struct afb\+\_\+req request, const char $\ast$source, uint16\+\_\+t $\ast$out\+\_\+id)
+\hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899}{R\+E\+Q\+\_\+\+E\+R\+R\+OR} \hyperlink{hs-helper_8h_aba9ca63f68b1991f8650871f4eae8e0b}{get\+\_\+value\+\_\+uint16} (const afb\+\_\+req\+\_\+t request, const char $\ast$source, uint16\+\_\+t $\ast$out\+\_\+id)
 \item 
 \item 
-\hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899}{R\+E\+Q\+\_\+\+E\+R\+R\+OR} \hyperlink{hs-helper_8h_a2e62366684e39ea94436bf017e416827}{get\+\_\+value\+\_\+int16} (const struct afb\+\_\+req request, const char $\ast$source, int16\+\_\+t $\ast$out\+\_\+id)
+\hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899}{R\+E\+Q\+\_\+\+E\+R\+R\+OR} \hyperlink{hs-helper_8h_af3043612cf74bb92cb073e10cacd594a}{get\+\_\+value\+\_\+int16} (const afb\+\_\+req\+\_\+t request, const char $\ast$source, int16\+\_\+t $\ast$out\+\_\+id)
 \item 
 \item 
-\hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899}{R\+E\+Q\+\_\+\+E\+R\+R\+OR} \hyperlink{hs-helper_8h_ac5b0370643c520377afd3fd4891918d2}{get\+\_\+value\+\_\+int32} (const struct afb\+\_\+req request, const char $\ast$source, int32\+\_\+t $\ast$out\+\_\+id)
+\hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899}{R\+E\+Q\+\_\+\+E\+R\+R\+OR} \hyperlink{hs-helper_8h_a8121d965b6fd795c16b8576ab03dcaf1}{get\+\_\+value\+\_\+int32} (const afb\+\_\+req\+\_\+t request, const char $\ast$source, int32\+\_\+t $\ast$out\+\_\+id)
 \item 
 void \hyperlink{hs-helper_8h_a1ba31a6a94515ff1730ba0043a67d59e}{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object} (struct json\+\_\+object $\ast$j\+\_\+obj, int count,...)
 \item 
 \item 
 void \hyperlink{hs-helper_8h_a1ba31a6a94515ff1730ba0043a67d59e}{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object} (struct json\+\_\+object $\ast$j\+\_\+obj, int count,...)
 \item 
@@ -44,302 +51,457 @@ int \hyperlink{hs-helper_8h_a2ff1b894941c3b461ca8119079c4146a}{hs\+\_\+search\+\
 \subsection*{Variables}
 \begin{DoxyCompactItemize}
 \item 
 \subsection*{Variables}
 \begin{DoxyCompactItemize}
 \item 
-static const char $\ast$ \hyperlink{hs-helper_8h_a0cd84b1a2184c9b84d1b7bf24582f28e}{evlist} \mbox{[}$\,$\mbox{]}
+const char $\ast$ \hyperlink{hs-helper_8h_a0cd84b1a2184c9b84d1b7bf24582f28e}{evlist} \mbox{[}$\,$\mbox{]}
+\item 
+const char \hyperlink{hs-helper_8h_aed1c5296a2e6d34945507a0fca17a376}{\+\_\+error} \mbox{[}$\,$\mbox{]}
+\item 
+const char \hyperlink{hs-helper_8h_a6a0e1db2562b442f8131ddf64b61d1ba}{\+\_\+application\+\_\+id} \mbox{[}$\,$\mbox{]}
+\item 
+const char \hyperlink{hs-helper_8h_abfd6c1d6f316fa952b11553f8f275e92}{\+\_\+display\+\_\+message} \mbox{[}$\,$\mbox{]}
+\item 
+const char \hyperlink{hs-helper_8h_a79b0f0b481161527ccb80e83da143219}{\+\_\+reply\+\_\+message} \mbox{[}$\,$\mbox{]}
 \end{DoxyCompactItemize}
 
 
 \subsection{Macro Definition Documentation}
 \end{DoxyCompactItemize}
 
 
 \subsection{Macro Definition Documentation}
-\mbox{\Hypertarget{hs-helper_8h_ad2c1fbc92ba364fcf83f15e6d0af66f0}\label{hs-helper_8h_ad2c1fbc92ba364fcf83f15e6d0af66f0}} 
 \index{hs-\/helper.\+h@{hs-\/helper.\+h}!A\+F\+B\+\_\+\+B\+I\+N\+D\+I\+N\+G\+\_\+\+V\+E\+R\+S\+I\+ON@{A\+F\+B\+\_\+\+B\+I\+N\+D\+I\+N\+G\+\_\+\+V\+E\+R\+S\+I\+ON}}
 \index{A\+F\+B\+\_\+\+B\+I\+N\+D\+I\+N\+G\+\_\+\+V\+E\+R\+S\+I\+ON@{A\+F\+B\+\_\+\+B\+I\+N\+D\+I\+N\+G\+\_\+\+V\+E\+R\+S\+I\+ON}!hs-\/helper.\+h@{hs-\/helper.\+h}}
 \index{hs-\/helper.\+h@{hs-\/helper.\+h}!A\+F\+B\+\_\+\+B\+I\+N\+D\+I\+N\+G\+\_\+\+V\+E\+R\+S\+I\+ON@{A\+F\+B\+\_\+\+B\+I\+N\+D\+I\+N\+G\+\_\+\+V\+E\+R\+S\+I\+ON}}
 \index{A\+F\+B\+\_\+\+B\+I\+N\+D\+I\+N\+G\+\_\+\+V\+E\+R\+S\+I\+ON@{A\+F\+B\+\_\+\+B\+I\+N\+D\+I\+N\+G\+\_\+\+V\+E\+R\+S\+I\+ON}!hs-\/helper.\+h@{hs-\/helper.\+h}}
-\subsubsection{\texorpdfstring{A\+F\+B\+\_\+\+B\+I\+N\+D\+I\+N\+G\+\_\+\+V\+E\+R\+S\+I\+ON}{AFB\_BINDING\_VERSION}}
-{\footnotesize\ttfamily \#define A\+F\+B\+\_\+\+B\+I\+N\+D\+I\+N\+G\+\_\+\+V\+E\+R\+S\+I\+ON~2}
-
+\subsubsection[{\texorpdfstring{A\+F\+B\+\_\+\+B\+I\+N\+D\+I\+N\+G\+\_\+\+V\+E\+R\+S\+I\+ON}{AFB_BINDING_VERSION}}]{\setlength{\rightskip}{0pt plus 5cm}\#define A\+F\+B\+\_\+\+B\+I\+N\+D\+I\+N\+G\+\_\+\+V\+E\+R\+S\+I\+ON~3}\hypertarget{hs-helper_8h_ad2c1fbc92ba364fcf83f15e6d0af66f0}{}\label{hs-helper_8h_ad2c1fbc92ba364fcf83f15e6d0af66f0}
 
 
 Definition at line 19 of file hs-\/helper.\+h.
 
 
 
 Definition at line 19 of file hs-\/helper.\+h.
 
+\index{hs-\/helper.\+h@{hs-\/helper.\+h}!A\+F\+B\+\_\+\+E\+V\+E\+N\+T\+\_\+\+B\+A\+D\+\_\+\+R\+E\+Q\+U\+E\+ST@{A\+F\+B\+\_\+\+E\+V\+E\+N\+T\+\_\+\+B\+A\+D\+\_\+\+R\+E\+Q\+U\+E\+ST}}
+\index{A\+F\+B\+\_\+\+E\+V\+E\+N\+T\+\_\+\+B\+A\+D\+\_\+\+R\+E\+Q\+U\+E\+ST@{A\+F\+B\+\_\+\+E\+V\+E\+N\+T\+\_\+\+B\+A\+D\+\_\+\+R\+E\+Q\+U\+E\+ST}!hs-\/helper.\+h@{hs-\/helper.\+h}}
+\subsubsection[{\texorpdfstring{A\+F\+B\+\_\+\+E\+V\+E\+N\+T\+\_\+\+B\+A\+D\+\_\+\+R\+E\+Q\+U\+E\+ST}{AFB_EVENT_BAD_REQUEST}}]{\setlength{\rightskip}{0pt plus 5cm}\#define A\+F\+B\+\_\+\+E\+V\+E\+N\+T\+\_\+\+B\+A\+D\+\_\+\+R\+E\+Q\+U\+E\+ST~100}\hypertarget{hs-helper_8h_aa611e2ec24ef295bd87825889fe2ce5e}{}\label{hs-helper_8h_aa611e2ec24ef295bd87825889fe2ce5e}
 
 
 
 
-\subsection{Typedef Documentation}
-\mbox{\Hypertarget{hs-helper_8h_ab0d62ccfa9c3ab87f090f67c3d50adce}\label{hs-helper_8h_ab0d62ccfa9c3ab87f090f67c3d50adce}} 
-\index{hs-\/helper.\+h@{hs-\/helper.\+h}!R\+E\+Q\+\_\+\+E\+R\+R\+OR@{R\+E\+Q\+\_\+\+E\+R\+R\+OR}}
-\index{R\+E\+Q\+\_\+\+E\+R\+R\+OR@{R\+E\+Q\+\_\+\+E\+R\+R\+OR}!hs-\/helper.\+h@{hs-\/helper.\+h}}
-\subsubsection{\texorpdfstring{R\+E\+Q\+\_\+\+E\+R\+R\+OR}{REQ\_ERROR}}
-{\footnotesize\ttfamily typedef enum \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899}{R\+E\+Q\+\_\+\+E\+R\+R\+OR} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899}{R\+E\+Q\+\_\+\+E\+R\+R\+OR}}
+Definition at line 23 of file hs-\/helper.\+h.
 
 
+\index{hs-\/helper.\+h@{hs-\/helper.\+h}!A\+F\+B\+\_\+\+R\+E\+Q\+\_\+\+S\+H\+O\+W\+I\+N\+F\+O\+R\+M\+A\+T\+I\+O\+N\+\_\+\+E\+R\+R\+OR@{A\+F\+B\+\_\+\+R\+E\+Q\+\_\+\+S\+H\+O\+W\+I\+N\+F\+O\+R\+M\+A\+T\+I\+O\+N\+\_\+\+E\+R\+R\+OR}}
+\index{A\+F\+B\+\_\+\+R\+E\+Q\+\_\+\+S\+H\+O\+W\+I\+N\+F\+O\+R\+M\+A\+T\+I\+O\+N\+\_\+\+E\+R\+R\+OR@{A\+F\+B\+\_\+\+R\+E\+Q\+\_\+\+S\+H\+O\+W\+I\+N\+F\+O\+R\+M\+A\+T\+I\+O\+N\+\_\+\+E\+R\+R\+OR}!hs-\/helper.\+h@{hs-\/helper.\+h}}
+\subsubsection[{\texorpdfstring{A\+F\+B\+\_\+\+R\+E\+Q\+\_\+\+S\+H\+O\+W\+I\+N\+F\+O\+R\+M\+A\+T\+I\+O\+N\+\_\+\+E\+R\+R\+OR}{AFB_REQ_SHOWINFORMATION_ERROR}}]{\setlength{\rightskip}{0pt plus 5cm}\#define A\+F\+B\+\_\+\+R\+E\+Q\+\_\+\+S\+H\+O\+W\+I\+N\+F\+O\+R\+M\+A\+T\+I\+O\+N\+\_\+\+E\+R\+R\+OR~104}\hypertarget{hs-helper_8h_aefe0d7ff8202f954693c235c1fb8e310}{}\label{hs-helper_8h_aefe0d7ff8202f954693c235c1fb8e310}
 
 
 
 
-\subsection{Enumeration Type Documentation}
-\mbox{\Hypertarget{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899}\label{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899}} 
-\index{hs-\/helper.\+h@{hs-\/helper.\+h}!R\+E\+Q\+\_\+\+E\+R\+R\+OR@{R\+E\+Q\+\_\+\+E\+R\+R\+OR}}
-\index{R\+E\+Q\+\_\+\+E\+R\+R\+OR@{R\+E\+Q\+\_\+\+E\+R\+R\+OR}!hs-\/helper.\+h@{hs-\/helper.\+h}}
-\subsubsection{\texorpdfstring{R\+E\+Q\+\_\+\+E\+R\+R\+OR}{REQ\_ERROR}}
-{\footnotesize\ttfamily enum \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899}{R\+E\+Q\+\_\+\+E\+R\+R\+OR}}
+Definition at line 27 of file hs-\/helper.\+h.
+
+\index{hs-\/helper.\+h@{hs-\/helper.\+h}!A\+F\+B\+\_\+\+R\+E\+Q\+\_\+\+S\+H\+O\+W\+N\+O\+T\+I\+F\+I\+C\+A\+T\+I\+O\+N\+\_\+\+E\+R\+R\+OR@{A\+F\+B\+\_\+\+R\+E\+Q\+\_\+\+S\+H\+O\+W\+N\+O\+T\+I\+F\+I\+C\+A\+T\+I\+O\+N\+\_\+\+E\+R\+R\+OR}}
+\index{A\+F\+B\+\_\+\+R\+E\+Q\+\_\+\+S\+H\+O\+W\+N\+O\+T\+I\+F\+I\+C\+A\+T\+I\+O\+N\+\_\+\+E\+R\+R\+OR@{A\+F\+B\+\_\+\+R\+E\+Q\+\_\+\+S\+H\+O\+W\+N\+O\+T\+I\+F\+I\+C\+A\+T\+I\+O\+N\+\_\+\+E\+R\+R\+OR}!hs-\/helper.\+h@{hs-\/helper.\+h}}
+\subsubsection[{\texorpdfstring{A\+F\+B\+\_\+\+R\+E\+Q\+\_\+\+S\+H\+O\+W\+N\+O\+T\+I\+F\+I\+C\+A\+T\+I\+O\+N\+\_\+\+E\+R\+R\+OR}{AFB_REQ_SHOWNOTIFICATION_ERROR}}]{\setlength{\rightskip}{0pt plus 5cm}\#define A\+F\+B\+\_\+\+R\+E\+Q\+\_\+\+S\+H\+O\+W\+N\+O\+T\+I\+F\+I\+C\+A\+T\+I\+O\+N\+\_\+\+E\+R\+R\+OR~103}\hypertarget{hs-helper_8h_a057fc88b8445828c261305cf9107d99d}{}\label{hs-helper_8h_a057fc88b8445828c261305cf9107d99d}
 
 
-\begin{DoxyEnumFields}{Enumerator}
-\raisebox{\heightof{T}}[0pt][0pt]{\index{R\+E\+Q\+\_\+\+F\+A\+IL@{R\+E\+Q\+\_\+\+F\+A\+IL}!hs-\/helper.\+h@{hs-\/helper.\+h}}\index{hs-\/helper.\+h@{hs-\/helper.\+h}!R\+E\+Q\+\_\+\+F\+A\+IL@{R\+E\+Q\+\_\+\+F\+A\+IL}}}\mbox{\Hypertarget{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1}\label{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1}} 
-R\+E\+Q\+\_\+\+F\+A\+IL&\\
-\hline
 
 
-\raisebox{\heightof{T}}[0pt][0pt]{\index{R\+E\+Q\+\_\+\+OK@{R\+E\+Q\+\_\+\+OK}!hs-\/helper.\+h@{hs-\/helper.\+h}}\index{hs-\/helper.\+h@{hs-\/helper.\+h}!R\+E\+Q\+\_\+\+OK@{R\+E\+Q\+\_\+\+OK}}}\mbox{\Hypertarget{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee}\label{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee}} 
-R\+E\+Q\+\_\+\+OK&\\
-\hline
+Definition at line 26 of file hs-\/helper.\+h.
 
 
-\raisebox{\heightof{T}}[0pt][0pt]{\index{N\+O\+T\+\_\+\+N\+U\+M\+B\+ER@{N\+O\+T\+\_\+\+N\+U\+M\+B\+ER}!hs-\/helper.\+h@{hs-\/helper.\+h}}\index{hs-\/helper.\+h@{hs-\/helper.\+h}!N\+O\+T\+\_\+\+N\+U\+M\+B\+ER@{N\+O\+T\+\_\+\+N\+U\+M\+B\+ER}}}\mbox{\Hypertarget{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a}\label{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a}} 
-N\+O\+T\+\_\+\+N\+U\+M\+B\+ER&\\
-\hline
+\index{hs-\/helper.\+h@{hs-\/helper.\+h}!A\+F\+B\+\_\+\+R\+E\+Q\+\_\+\+S\+U\+B\+S\+C\+R\+I\+B\+E\+\_\+\+E\+R\+R\+OR@{A\+F\+B\+\_\+\+R\+E\+Q\+\_\+\+S\+U\+B\+S\+C\+R\+I\+B\+E\+\_\+\+E\+R\+R\+OR}}
+\index{A\+F\+B\+\_\+\+R\+E\+Q\+\_\+\+S\+U\+B\+S\+C\+R\+I\+B\+E\+\_\+\+E\+R\+R\+OR@{A\+F\+B\+\_\+\+R\+E\+Q\+\_\+\+S\+U\+B\+S\+C\+R\+I\+B\+E\+\_\+\+E\+R\+R\+OR}!hs-\/helper.\+h@{hs-\/helper.\+h}}
+\subsubsection[{\texorpdfstring{A\+F\+B\+\_\+\+R\+E\+Q\+\_\+\+S\+U\+B\+S\+C\+R\+I\+B\+E\+\_\+\+E\+R\+R\+OR}{AFB_REQ_SUBSCRIBE_ERROR}}]{\setlength{\rightskip}{0pt plus 5cm}\#define A\+F\+B\+\_\+\+R\+E\+Q\+\_\+\+S\+U\+B\+S\+C\+R\+I\+B\+E\+\_\+\+E\+R\+R\+OR~101}\hypertarget{hs-helper_8h_a995612de89db4df1483c16e4b9b70571}{}\label{hs-helper_8h_a995612de89db4df1483c16e4b9b70571}
 
 
-\raisebox{\heightof{T}}[0pt][0pt]{\index{O\+U\+T\+\_\+\+R\+A\+N\+GE@{O\+U\+T\+\_\+\+R\+A\+N\+GE}!hs-\/helper.\+h@{hs-\/helper.\+h}}\index{hs-\/helper.\+h@{hs-\/helper.\+h}!O\+U\+T\+\_\+\+R\+A\+N\+GE@{O\+U\+T\+\_\+\+R\+A\+N\+GE}}}\mbox{\Hypertarget{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b}\label{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b}} 
-O\+U\+T\+\_\+\+R\+A\+N\+GE&\\
-\hline
 
 
-\end{DoxyEnumFields}
+Definition at line 24 of file hs-\/helper.\+h.
 
 
+\index{hs-\/helper.\+h@{hs-\/helper.\+h}!A\+F\+B\+\_\+\+R\+E\+Q\+\_\+\+U\+N\+S\+U\+B\+S\+C\+R\+I\+B\+E\+\_\+\+E\+R\+R\+OR@{A\+F\+B\+\_\+\+R\+E\+Q\+\_\+\+U\+N\+S\+U\+B\+S\+C\+R\+I\+B\+E\+\_\+\+E\+R\+R\+OR}}
+\index{A\+F\+B\+\_\+\+R\+E\+Q\+\_\+\+U\+N\+S\+U\+B\+S\+C\+R\+I\+B\+E\+\_\+\+E\+R\+R\+OR@{A\+F\+B\+\_\+\+R\+E\+Q\+\_\+\+U\+N\+S\+U\+B\+S\+C\+R\+I\+B\+E\+\_\+\+E\+R\+R\+OR}!hs-\/helper.\+h@{hs-\/helper.\+h}}
+\subsubsection[{\texorpdfstring{A\+F\+B\+\_\+\+R\+E\+Q\+\_\+\+U\+N\+S\+U\+B\+S\+C\+R\+I\+B\+E\+\_\+\+E\+R\+R\+OR}{AFB_REQ_UNSUBSCRIBE_ERROR}}]{\setlength{\rightskip}{0pt plus 5cm}\#define A\+F\+B\+\_\+\+R\+E\+Q\+\_\+\+U\+N\+S\+U\+B\+S\+C\+R\+I\+B\+E\+\_\+\+E\+R\+R\+OR~102}\hypertarget{hs-helper_8h_a78e930a97920b821706a80ca8f430034}{}\label{hs-helper_8h_a78e930a97920b821706a80ca8f430034}
 
 
-Definition at line 26 of file hs-\/helper.\+h.
+
+Definition at line 25 of file hs-\/helper.\+h.
+
+
+
+\subsection{Typedef Documentation}
+\index{hs-\/helper.\+h@{hs-\/helper.\+h}!R\+E\+Q\+\_\+\+E\+R\+R\+OR@{R\+E\+Q\+\_\+\+E\+R\+R\+OR}}
+\index{R\+E\+Q\+\_\+\+E\+R\+R\+OR@{R\+E\+Q\+\_\+\+E\+R\+R\+OR}!hs-\/helper.\+h@{hs-\/helper.\+h}}
+\subsubsection[{\texorpdfstring{R\+E\+Q\+\_\+\+E\+R\+R\+OR}{REQ_ERROR}}]{\setlength{\rightskip}{0pt plus 5cm}typedef enum {\bf R\+E\+Q\+\_\+\+E\+R\+R\+OR} {\bf R\+E\+Q\+\_\+\+E\+R\+R\+OR}}\hypertarget{hs-helper_8h_ab0d62ccfa9c3ab87f090f67c3d50adce}{}\label{hs-helper_8h_ab0d62ccfa9c3ab87f090f67c3d50adce}
+
+
+\subsection{Enumeration Type Documentation}
+\index{hs-\/helper.\+h@{hs-\/helper.\+h}!R\+E\+Q\+\_\+\+E\+R\+R\+OR@{R\+E\+Q\+\_\+\+E\+R\+R\+OR}}
+\index{R\+E\+Q\+\_\+\+E\+R\+R\+OR@{R\+E\+Q\+\_\+\+E\+R\+R\+OR}!hs-\/helper.\+h@{hs-\/helper.\+h}}
+\subsubsection[{\texorpdfstring{R\+E\+Q\+\_\+\+E\+R\+R\+OR}{REQ_ERROR}}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf R\+E\+Q\+\_\+\+E\+R\+R\+OR}}\hypertarget{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899}{}\label{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899}
+\begin{Desc}
+\item[Enumerator]\par
+\begin{description}
+\index{R\+E\+Q\+\_\+\+F\+A\+IL@{R\+E\+Q\+\_\+\+F\+A\+IL}!hs-\/helper.\+h@{hs-\/helper.\+h}}\index{hs-\/helper.\+h@{hs-\/helper.\+h}!R\+E\+Q\+\_\+\+F\+A\+IL@{R\+E\+Q\+\_\+\+F\+A\+IL}}\item[{\em 
+R\+E\+Q\+\_\+\+F\+A\+IL\hypertarget{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1}{}\label{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1}
+}]\index{R\+E\+Q\+\_\+\+OK@{R\+E\+Q\+\_\+\+OK}!hs-\/helper.\+h@{hs-\/helper.\+h}}\index{hs-\/helper.\+h@{hs-\/helper.\+h}!R\+E\+Q\+\_\+\+OK@{R\+E\+Q\+\_\+\+OK}}\item[{\em 
+R\+E\+Q\+\_\+\+OK\hypertarget{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee}{}\label{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee}
+}]\index{N\+O\+T\+\_\+\+N\+U\+M\+B\+ER@{N\+O\+T\+\_\+\+N\+U\+M\+B\+ER}!hs-\/helper.\+h@{hs-\/helper.\+h}}\index{hs-\/helper.\+h@{hs-\/helper.\+h}!N\+O\+T\+\_\+\+N\+U\+M\+B\+ER@{N\+O\+T\+\_\+\+N\+U\+M\+B\+ER}}\item[{\em 
+N\+O\+T\+\_\+\+N\+U\+M\+B\+ER\hypertarget{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a}{}\label{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a}
+}]\index{O\+U\+T\+\_\+\+R\+A\+N\+GE@{O\+U\+T\+\_\+\+R\+A\+N\+GE}!hs-\/helper.\+h@{hs-\/helper.\+h}}\index{hs-\/helper.\+h@{hs-\/helper.\+h}!O\+U\+T\+\_\+\+R\+A\+N\+GE@{O\+U\+T\+\_\+\+R\+A\+N\+GE}}\item[{\em 
+O\+U\+T\+\_\+\+R\+A\+N\+GE\hypertarget{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b}{}\label{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b}
+}]\end{description}
+\end{Desc}
+
+
+Definition at line 29 of file hs-\/helper.\+h.
 
 
 \begin{DoxyCode}
 
 
 \begin{DoxyCode}
-27 \{
-28   \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1}{REQ\_FAIL} = -1,
-29   \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee}{REQ\_OK}=0,
-30   \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a}{NOT\_NUMBER},
-31   \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b}{OUT\_RANGE}
-32 \}\hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899}{REQ\_ERROR};
+30 \{
+31   \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1}{REQ\_FAIL} = -1,
+32   \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee}{REQ\_OK}=0,
+33   \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a}{NOT\_NUMBER},
+34   \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b}{OUT\_RANGE}
+35 \}\hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899}{REQ\_ERROR};
 \end{DoxyCode}
 
 
 \subsection{Function Documentation}
 \end{DoxyCode}
 
 
 \subsection{Function Documentation}
-\mbox{\Hypertarget{hs-helper_8h_a2e62366684e39ea94436bf017e416827}\label{hs-helper_8h_a2e62366684e39ea94436bf017e416827}} 
 \index{hs-\/helper.\+h@{hs-\/helper.\+h}!get\+\_\+value\+\_\+int16@{get\+\_\+value\+\_\+int16}}
 \index{get\+\_\+value\+\_\+int16@{get\+\_\+value\+\_\+int16}!hs-\/helper.\+h@{hs-\/helper.\+h}}
 \index{hs-\/helper.\+h@{hs-\/helper.\+h}!get\+\_\+value\+\_\+int16@{get\+\_\+value\+\_\+int16}}
 \index{get\+\_\+value\+\_\+int16@{get\+\_\+value\+\_\+int16}!hs-\/helper.\+h@{hs-\/helper.\+h}}
-\subsubsection{\texorpdfstring{get\+\_\+value\+\_\+int16()}{get\_value\_int16()}}
-{\footnotesize\ttfamily \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899}{R\+E\+Q\+\_\+\+E\+R\+R\+OR} get\+\_\+value\+\_\+int16 (\begin{DoxyParamCaption}\item[{const struct afb\+\_\+req}]{request,  }\item[{const char $\ast$}]{source,  }\item[{int16\+\_\+t $\ast$}]{out\+\_\+id }\end{DoxyParamCaption})}
+\subsubsection[{\texorpdfstring{get\+\_\+value\+\_\+int16(const afb\+\_\+req\+\_\+t request, const char $\ast$source, int16\+\_\+t $\ast$out\+\_\+id)}{get_value_int16(const afb_req_t request, const char *source, int16_t *out_id)}}]{\setlength{\rightskip}{0pt plus 5cm}{\bf R\+E\+Q\+\_\+\+E\+R\+R\+OR} get\+\_\+value\+\_\+int16 (
+\begin{DoxyParamCaption}
+\item[{const afb\+\_\+req\+\_\+t}]{request, }
+\item[{const char $\ast$}]{source, }
+\item[{int16\+\_\+t $\ast$}]{out\+\_\+id}
+\end{DoxyParamCaption}
+)}\hypertarget{hs-helper_8h_af3043612cf74bb92cb073e10cacd594a}{}\label{hs-helper_8h_af3043612cf74bb92cb073e10cacd594a}
+get int16 value from source
 
 
+\subparagraph*{Parameters}
 
 
 
 
-Definition at line 48 of file hs-\/helper.\+c.
+\begin{DoxyItemize}
+\item request \+: Describes the request by bindings from afb-\/daemon
+\item source \+: input source
+\item out\+\_\+id \+: output int16 value
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+error code 
+
+Definition at line 82 of file hs-\/helper.\+cpp.
 
 
 \begin{DoxyCode}
 
 
 \begin{DoxyCode}
-49 \{
-50     \textcolor{keywordtype}{char}* endptr;
-51     \textcolor{keyword}{const} \textcolor{keywordtype}{char}* tmp = afb\_req\_value (request, source);
-52     \textcolor{keywordflow}{if}(!tmp)
-53     \{
-54         \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1}{REQ\_FAIL};
-55     \}
-56     \textcolor{keywordtype}{long} tmp\_id = strtol(tmp,&endptr,10);
-57 
-58     \textcolor{comment}{/* error check of range */}
-59     \textcolor{keywordflow}{if}( (tmp\_id > INT16\_MAX) || (tmp\_id < INT16\_MIN) )
-60     \{
-61         \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b}{OUT\_RANGE};
-62     \}
-63     \textcolor{keywordflow}{if}(*endptr != \textcolor{charliteral}{'\(\backslash\)0'})
-64     \{
-65         \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a}{NOT\_NUMBER};
-66     \}
-67 
-68     *out\_id = (int16\_t)tmp\_id;
-69     \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee}{REQ\_OK};
-70 \}
+83 \{
+84     \textcolor{keywordtype}{char}* endptr;
+85     \textcolor{keyword}{const} \textcolor{keywordtype}{char}* tmp = afb\_req\_value (request, source);
+86     \textcolor{keywordflow}{if}(!tmp)
+87     \{
+88         \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1}{REQ\_FAIL};
+89     \}
+90     \textcolor{keywordtype}{long} tmp\_id = strtol(tmp,&endptr,10);
+91 
+92     \textcolor{comment}{/* error check of range */}
+93     \textcolor{keywordflow}{if}( (tmp\_id > INT16\_MAX) || (tmp\_id < INT16\_MIN) )
+94     \{
+95         \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b}{OUT\_RANGE};
+96     \}
+97     \textcolor{keywordflow}{if}(*endptr != \textcolor{charliteral}{'\(\backslash\)0'})
+98     \{
+99         \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a}{NOT\_NUMBER};
+100     \}
+101 
+102     *out\_id = (int16\_t)tmp\_id;
+103     \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee}{REQ\_OK};
+104 \}
 \end{DoxyCode}
 \end{DoxyCode}
-\mbox{\Hypertarget{hs-helper_8h_ac5b0370643c520377afd3fd4891918d2}\label{hs-helper_8h_ac5b0370643c520377afd3fd4891918d2}} 
 \index{hs-\/helper.\+h@{hs-\/helper.\+h}!get\+\_\+value\+\_\+int32@{get\+\_\+value\+\_\+int32}}
 \index{get\+\_\+value\+\_\+int32@{get\+\_\+value\+\_\+int32}!hs-\/helper.\+h@{hs-\/helper.\+h}}
 \index{hs-\/helper.\+h@{hs-\/helper.\+h}!get\+\_\+value\+\_\+int32@{get\+\_\+value\+\_\+int32}}
 \index{get\+\_\+value\+\_\+int32@{get\+\_\+value\+\_\+int32}!hs-\/helper.\+h@{hs-\/helper.\+h}}
-\subsubsection{\texorpdfstring{get\+\_\+value\+\_\+int32()}{get\_value\_int32()}}
-{\footnotesize\ttfamily \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899}{R\+E\+Q\+\_\+\+E\+R\+R\+OR} get\+\_\+value\+\_\+int32 (\begin{DoxyParamCaption}\item[{const struct afb\+\_\+req}]{request,  }\item[{const char $\ast$}]{source,  }\item[{int32\+\_\+t $\ast$}]{out\+\_\+id }\end{DoxyParamCaption})}
+\subsubsection[{\texorpdfstring{get\+\_\+value\+\_\+int32(const afb\+\_\+req\+\_\+t request, const char $\ast$source, int32\+\_\+t $\ast$out\+\_\+id)}{get_value_int32(const afb_req_t request, const char *source, int32_t *out_id)}}]{\setlength{\rightskip}{0pt plus 5cm}{\bf R\+E\+Q\+\_\+\+E\+R\+R\+OR} get\+\_\+value\+\_\+int32 (
+\begin{DoxyParamCaption}
+\item[{const afb\+\_\+req\+\_\+t}]{request, }
+\item[{const char $\ast$}]{source, }
+\item[{int32\+\_\+t $\ast$}]{out\+\_\+id}
+\end{DoxyParamCaption}
+)}\hypertarget{hs-helper_8h_a8121d965b6fd795c16b8576ab03dcaf1}{}\label{hs-helper_8h_a8121d965b6fd795c16b8576ab03dcaf1}
+get int32 value from source
 
 
+\subparagraph*{Parameters}
 
 
 
 
-Definition at line 72 of file hs-\/helper.\+c.
+\begin{DoxyItemize}
+\item request \+: Describes the request by bindings from afb-\/daemon
+\item source \+: input source
+\item out\+\_\+id \+: output int32 value
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+error code 
+
+Definition at line 118 of file hs-\/helper.\+cpp.
 
 
 \begin{DoxyCode}
 
 
 \begin{DoxyCode}
-73 \{
-74     \textcolor{keywordtype}{char}* endptr;
-75     \textcolor{keyword}{const} \textcolor{keywordtype}{char}* tmp = afb\_req\_value (request, source);
-76     \textcolor{keywordflow}{if}(!tmp)
-77     \{
-78         \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1}{REQ\_FAIL};
-79     \}
-80     \textcolor{keywordtype}{long} tmp\_id = strtol(tmp,&endptr,10);
-81 
-82     \textcolor{comment}{/* error check of range */}
-83     \textcolor{keywordflow}{if}( (tmp\_id > INT32\_MAX) || (tmp\_id < INT32\_MIN) )
-84     \{
-85         \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b}{OUT\_RANGE};
-86     \}
-87     \textcolor{keywordflow}{if}(*endptr != \textcolor{charliteral}{'\(\backslash\)0'})
-88     \{
-89         \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a}{NOT\_NUMBER};
-90     \}
-91 
-92     *out\_id = (int32\_t)tmp\_id;
-93     \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee}{REQ\_OK};
-94 \}
+119 \{
+120     \textcolor{keywordtype}{char}* endptr;
+121     \textcolor{keyword}{const} \textcolor{keywordtype}{char}* tmp = afb\_req\_value (request, source);
+122     \textcolor{keywordflow}{if}(!tmp)
+123     \{
+124         \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1}{REQ\_FAIL};
+125     \}
+126     \textcolor{keywordtype}{long} tmp\_id = strtol(tmp,&endptr,10);
+127 
+128     \textcolor{comment}{/* error check of range */}
+129     \textcolor{keywordflow}{if}( (tmp\_id > INT32\_MAX) || (tmp\_id < INT32\_MIN) )
+130     \{
+131         \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b}{OUT\_RANGE};
+132     \}
+133     \textcolor{keywordflow}{if}(*endptr != \textcolor{charliteral}{'\(\backslash\)0'})
+134     \{
+135         \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a}{NOT\_NUMBER};
+136     \}
+137 
+138     *out\_id = (int32\_t)tmp\_id;
+139     \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee}{REQ\_OK};
+140 \}
 \end{DoxyCode}
 \end{DoxyCode}
-\mbox{\Hypertarget{hs-helper_8h_a649900645417f2df3a70b9ad67529f53}\label{hs-helper_8h_a649900645417f2df3a70b9ad67529f53}} 
 \index{hs-\/helper.\+h@{hs-\/helper.\+h}!get\+\_\+value\+\_\+uint16@{get\+\_\+value\+\_\+uint16}}
 \index{get\+\_\+value\+\_\+uint16@{get\+\_\+value\+\_\+uint16}!hs-\/helper.\+h@{hs-\/helper.\+h}}
 \index{hs-\/helper.\+h@{hs-\/helper.\+h}!get\+\_\+value\+\_\+uint16@{get\+\_\+value\+\_\+uint16}}
 \index{get\+\_\+value\+\_\+uint16@{get\+\_\+value\+\_\+uint16}!hs-\/helper.\+h@{hs-\/helper.\+h}}
-\subsubsection{\texorpdfstring{get\+\_\+value\+\_\+uint16()}{get\_value\_uint16()}}
-{\footnotesize\ttfamily \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899}{R\+E\+Q\+\_\+\+E\+R\+R\+OR} get\+\_\+value\+\_\+uint16 (\begin{DoxyParamCaption}\item[{const struct afb\+\_\+req}]{request,  }\item[{const char $\ast$}]{source,  }\item[{uint16\+\_\+t $\ast$}]{out\+\_\+id }\end{DoxyParamCaption})}
+\subsubsection[{\texorpdfstring{get\+\_\+value\+\_\+uint16(const afb\+\_\+req\+\_\+t request, const char $\ast$source, uint16\+\_\+t $\ast$out\+\_\+id)}{get_value_uint16(const afb_req_t request, const char *source, uint16_t *out_id)}}]{\setlength{\rightskip}{0pt plus 5cm}{\bf R\+E\+Q\+\_\+\+E\+R\+R\+OR} get\+\_\+value\+\_\+uint16 (
+\begin{DoxyParamCaption}
+\item[{const afb\+\_\+req\+\_\+t}]{request, }
+\item[{const char $\ast$}]{source, }
+\item[{uint16\+\_\+t $\ast$}]{out\+\_\+id}
+\end{DoxyParamCaption}
+)}\hypertarget{hs-helper_8h_aba9ca63f68b1991f8650871f4eae8e0b}{}\label{hs-helper_8h_aba9ca63f68b1991f8650871f4eae8e0b}
+get uint16 value from source
 
 
+\subparagraph*{Parameters}
 
 
 
 
-Definition at line 24 of file hs-\/helper.\+c.
+\begin{DoxyItemize}
+\item request \+: Describes the request by bindings from afb-\/daemon
+\item source \+: input source
+\item out\+\_\+id \+: output uint16 value
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+error code 
+
+Definition at line 46 of file hs-\/helper.\+cpp.
 
 
 \begin{DoxyCode}
 
 
 \begin{DoxyCode}
-25 \{
-26     \textcolor{keywordtype}{char}* endptr;
-27     \textcolor{keyword}{const} \textcolor{keywordtype}{char}* tmp = afb\_req\_value (request, source);
-28     \textcolor{keywordflow}{if}(!tmp)
-29     \{
-30         \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1}{REQ\_FAIL};
-31     \}
-32     \textcolor{keywordtype}{long} tmp\_id = strtol(tmp,&endptr,10);
-33 
-34     \textcolor{comment}{/* error check of range */}
-35     \textcolor{keywordflow}{if}( (tmp\_id > UINT16\_MAX) || (tmp\_id < 0) )
-36     \{
-37         \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b}{OUT\_RANGE};
-38     \}
-39     \textcolor{keywordflow}{if}(*endptr != \textcolor{charliteral}{'\(\backslash\)0'})
-40     \{
-41         \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a}{NOT\_NUMBER};
-42     \}
-43 
-44     *out\_id = (uint16\_t)tmp\_id;
-45     \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee}{REQ\_OK};
-46 \}
+47 \{
+48     \textcolor{keywordtype}{char}* endptr;
+49     \textcolor{keyword}{const} \textcolor{keywordtype}{char}* tmp = afb\_req\_value (request, source);
+50     \textcolor{keywordflow}{if}(!tmp)
+51     \{
+52         \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1}{REQ\_FAIL};
+53     \}
+54     \textcolor{keywordtype}{long} tmp\_id = strtol(tmp,&endptr,10);
+55 
+56     \textcolor{comment}{/* error check of range */}
+57     \textcolor{keywordflow}{if}( (tmp\_id > UINT16\_MAX) || (tmp\_id < 0) )
+58     \{
+59         \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b}{OUT\_RANGE};
+60     \}
+61     \textcolor{keywordflow}{if}(*endptr != \textcolor{charliteral}{'\(\backslash\)0'})
+62     \{
+63         \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a}{NOT\_NUMBER};
+64     \}
+65 
+66     *out\_id = (uint16\_t)tmp\_id;
+67     \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee}{REQ\_OK};
+68 \}
 \end{DoxyCode}
 \end{DoxyCode}
-\mbox{\Hypertarget{hs-helper_8h_a1ba31a6a94515ff1730ba0043a67d59e}\label{hs-helper_8h_a1ba31a6a94515ff1730ba0043a67d59e}} 
 \index{hs-\/helper.\+h@{hs-\/helper.\+h}!hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object@{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object}}
 \index{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object@{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object}!hs-\/helper.\+h@{hs-\/helper.\+h}}
 \index{hs-\/helper.\+h@{hs-\/helper.\+h}!hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object@{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object}}
 \index{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object@{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object}!hs-\/helper.\+h@{hs-\/helper.\+h}}
-\subsubsection{\texorpdfstring{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object()}{hs\_add\_object\_to\_json\_object()}}
-{\footnotesize\ttfamily void hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object (\begin{DoxyParamCaption}\item[{struct json\+\_\+object $\ast$}]{j\+\_\+obj,  }\item[{int}]{count,  }\item[{}]{... }\end{DoxyParamCaption})}
+\subsubsection[{\texorpdfstring{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object(struct json\+\_\+object $\ast$j\+\_\+obj, int count,...)}{hs_add_object_to_json_object(struct json_object *j_obj, int count,...)}}]{\setlength{\rightskip}{0pt plus 5cm}void hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object (
+\begin{DoxyParamCaption}
+\item[{struct json\+\_\+object $\ast$}]{j\+\_\+obj, }
+\item[{int}]{count, }
+\item[{}]{...}
+\end{DoxyParamCaption}
+)}\hypertarget{hs-helper_8h_a1ba31a6a94515ff1730ba0043a67d59e}{}\label{hs-helper_8h_a1ba31a6a94515ff1730ba0043a67d59e}
+add int object to json object
+
+\subparagraph*{Parameters}
 
 
 
 
+\begin{DoxyItemize}
+\item j\+\_\+obj \+: the json object will join in int json object
+\item count \+: input parameter number
+\item ... \+: parameter list
+\end{DoxyItemize}
 
 
-Definition at line 96 of file hs-\/helper.\+c.
+\subparagraph*{Return}
+
+None 
+
+Definition at line 154 of file hs-\/helper.\+cpp.
 
 
 \begin{DoxyCode}
 
 
 \begin{DoxyCode}
-97 \{
-98     va\_list args;
-99     va\_start(args, count);
-100     \textcolor{keywordflow}{for}(\textcolor{keywordtype}{int} i = 0; i < count; ++i )
-101     \{
-102         \textcolor{keywordtype}{char} *key = va\_arg(args, \textcolor{keywordtype}{char}*);
-103         \textcolor{keywordtype}{int} value = va\_arg(args, \textcolor{keywordtype}{int});
-104         json\_object\_object\_add(j\_obj, key, json\_object\_new\_int((int32\_t)value));
-105         ++i;
-106     \}
-107     va\_end(args);
-108 \}
+155 \{
+156     va\_list args;
+157     va\_start(args, count);
+158     \textcolor{keywordflow}{for}(\textcolor{keywordtype}{int} i = 0; i < count; ++i )
+159     \{
+160         \textcolor{keywordtype}{char} *key = va\_arg(args, \textcolor{keywordtype}{char}*);
+161         \textcolor{keywordtype}{int} value = va\_arg(args, \textcolor{keywordtype}{int});
+162         json\_object\_object\_add(j\_obj, key, json\_object\_new\_int((int32\_t)value));
+163         ++i;
+164     \}
+165     va\_end(args);
+166 \}
 \end{DoxyCode}
 \end{DoxyCode}
-\mbox{\Hypertarget{hs-helper_8h_ae83604a37134e7bdee3ce4f10bb0b47a}\label{hs-helper_8h_ae83604a37134e7bdee3ce4f10bb0b47a}} 
 \index{hs-\/helper.\+h@{hs-\/helper.\+h}!hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+func@{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+func}}
 \index{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+func@{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+func}!hs-\/helper.\+h@{hs-\/helper.\+h}}
 \index{hs-\/helper.\+h@{hs-\/helper.\+h}!hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+func@{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+func}}
 \index{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+func@{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+func}!hs-\/helper.\+h@{hs-\/helper.\+h}}
-\subsubsection{\texorpdfstring{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+func()}{hs\_add\_object\_to\_json\_object\_func()}}
-{\footnotesize\ttfamily void hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+func (\begin{DoxyParamCaption}\item[{struct json\+\_\+object $\ast$}]{j\+\_\+obj,  }\item[{const char $\ast$}]{verb\+\_\+name,  }\item[{int}]{count,  }\item[{}]{... }\end{DoxyParamCaption})}
+\subsubsection[{\texorpdfstring{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+func(struct json\+\_\+object $\ast$j\+\_\+obj, const char $\ast$verb\+\_\+name, int count,...)}{hs_add_object_to_json_object_func(struct json_object *j_obj, const char *verb_name, int count,...)}}]{\setlength{\rightskip}{0pt plus 5cm}void hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+func (
+\begin{DoxyParamCaption}
+\item[{struct json\+\_\+object $\ast$}]{j\+\_\+obj, }
+\item[{const char $\ast$}]{verb\+\_\+name, }
+\item[{int}]{count, }
+\item[{}]{...}
+\end{DoxyParamCaption}
+)}\hypertarget{hs-helper_8h_ae83604a37134e7bdee3ce4f10bb0b47a}{}\label{hs-helper_8h_ae83604a37134e7bdee3ce4f10bb0b47a}
+add new json object to json object
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item j\+\_\+obj \+: the json object will join in new json object
+\item verb\+\_\+name \+: new json object\textquotesingle{}s verb value
+\item count \+: input parameter number
+\item ... \+: parameter list
+\end{DoxyItemize}
 
 
+\subparagraph*{Return}
 
 
+None 
 
 
-Definition at line 125 of file hs-\/helper.\+c.
+Definition at line 207 of file hs-\/helper.\+cpp.
 
 
 \begin{DoxyCode}
 
 
 \begin{DoxyCode}
-126 \{
-127     va\_list args;
-128     va\_start(args, count);
-129 
-130     json\_object\_object\_add(j\_obj,\textcolor{stringliteral}{"verb"}, json\_object\_new\_string(verb\_name));
-131 
-132     \textcolor{keywordflow}{for}(\textcolor{keywordtype}{int} i = 0; i < count; ++i )
-133     \{
-134         \textcolor{keywordtype}{char} *key = va\_arg(args, \textcolor{keywordtype}{char}*);
-135         \textcolor{keywordtype}{int} value = va\_arg(args, \textcolor{keywordtype}{int});
-136         json\_object\_object\_add(j\_obj, key, json\_object\_new\_int((int32\_t)value));
-137         ++i;
-138     \}
-139     va\_end(args);
-140 \}
+208 \{
+209     va\_list args;
+210     va\_start(args, count);
+211 
+212     json\_object\_object\_add(j\_obj,\textcolor{stringliteral}{"verb"}, json\_object\_new\_string(verb\_name));
+213 
+214     \textcolor{keywordflow}{for}(\textcolor{keywordtype}{int} i = 0; i < count; ++i )
+215     \{
+216         \textcolor{keywordtype}{char} *key = va\_arg(args, \textcolor{keywordtype}{char}*);
+217         \textcolor{keywordtype}{int} value = va\_arg(args, \textcolor{keywordtype}{int});
+218         json\_object\_object\_add(j\_obj, key, json\_object\_new\_int((int32\_t)value));
+219         ++i;
+220     \}
+221     va\_end(args);
+222 \}
 \end{DoxyCode}
 \end{DoxyCode}
-\mbox{\Hypertarget{hs-helper_8h_a8777c53f1d4d5412f19b134ad85ffedf}\label{hs-helper_8h_a8777c53f1d4d5412f19b134ad85ffedf}} 
 \index{hs-\/helper.\+h@{hs-\/helper.\+h}!hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+str@{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+str}}
 \index{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+str@{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+str}!hs-\/helper.\+h@{hs-\/helper.\+h}}
 \index{hs-\/helper.\+h@{hs-\/helper.\+h}!hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+str@{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+str}}
 \index{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+str@{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+str}!hs-\/helper.\+h@{hs-\/helper.\+h}}
-\subsubsection{\texorpdfstring{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+str()}{hs\_add\_object\_to\_json\_object\_str()}}
-{\footnotesize\ttfamily void hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+str (\begin{DoxyParamCaption}\item[{struct json\+\_\+object $\ast$}]{j\+\_\+obj,  }\item[{int}]{count,  }\item[{}]{... }\end{DoxyParamCaption})}
+\subsubsection[{\texorpdfstring{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+str(struct json\+\_\+object $\ast$j\+\_\+obj, int count,...)}{hs_add_object_to_json_object_str(struct json_object *j_obj, int count,...)}}]{\setlength{\rightskip}{0pt plus 5cm}void hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+str (
+\begin{DoxyParamCaption}
+\item[{struct json\+\_\+object $\ast$}]{j\+\_\+obj, }
+\item[{int}]{count, }
+\item[{}]{...}
+\end{DoxyParamCaption}
+)}\hypertarget{hs-helper_8h_a8777c53f1d4d5412f19b134ad85ffedf}{}\label{hs-helper_8h_a8777c53f1d4d5412f19b134ad85ffedf}
+add string object to json object
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item j\+\_\+obj \+: the json object will join in string json object
+\item count \+: input parameter number
+\item ... \+: parameter list
+\end{DoxyItemize}
 
 
+\subparagraph*{Return}
 
 
+None 
 
 
-Definition at line 110 of file hs-\/helper.\+c.
+Definition at line 180 of file hs-\/helper.\+cpp.
 
 
 \begin{DoxyCode}
 
 
 \begin{DoxyCode}
-111 \{
-112     va\_list args;
-113     va\_start(args, count);
-114     \textcolor{keywordflow}{for}(\textcolor{keywordtype}{int} i = 0; i < count; ++i )
-115     \{
-116         \textcolor{keywordtype}{char} *key = va\_arg(args, \textcolor{keywordtype}{char}*);
-117         \textcolor{keywordtype}{char} *value = va\_arg(args, \textcolor{keywordtype}{char}*);
-118         json\_object\_object\_add(j\_obj, key, json\_object\_new\_string(value));
-119         ++i;
-120     \}
-121     va\_end(args);
-122 \}
+181 \{
+182     va\_list args;
+183     va\_start(args, count);
+184     \textcolor{keywordflow}{for}(\textcolor{keywordtype}{int} i = 0; i < count; ++i )
+185     \{
+186         \textcolor{keywordtype}{char} *key = va\_arg(args, \textcolor{keywordtype}{char}*);
+187         \textcolor{keywordtype}{char} *value = va\_arg(args, \textcolor{keywordtype}{char}*);
+188         json\_object\_object\_add(j\_obj, key, json\_object\_new\_string(value));
+189         ++i;
+190     \}
+191     va\_end(args);
+192 \}
 \end{DoxyCode}
 \end{DoxyCode}
-\mbox{\Hypertarget{hs-helper_8h_a2ff1b894941c3b461ca8119079c4146a}\label{hs-helper_8h_a2ff1b894941c3b461ca8119079c4146a}} 
 \index{hs-\/helper.\+h@{hs-\/helper.\+h}!hs\+\_\+search\+\_\+event\+\_\+name\+\_\+index@{hs\+\_\+search\+\_\+event\+\_\+name\+\_\+index}}
 \index{hs\+\_\+search\+\_\+event\+\_\+name\+\_\+index@{hs\+\_\+search\+\_\+event\+\_\+name\+\_\+index}!hs-\/helper.\+h@{hs-\/helper.\+h}}
 \index{hs-\/helper.\+h@{hs-\/helper.\+h}!hs\+\_\+search\+\_\+event\+\_\+name\+\_\+index@{hs\+\_\+search\+\_\+event\+\_\+name\+\_\+index}}
 \index{hs\+\_\+search\+\_\+event\+\_\+name\+\_\+index@{hs\+\_\+search\+\_\+event\+\_\+name\+\_\+index}!hs-\/helper.\+h@{hs-\/helper.\+h}}
-\subsubsection{\texorpdfstring{hs\+\_\+search\+\_\+event\+\_\+name\+\_\+index()}{hs\_search\_event\_name\_index()}}
-{\footnotesize\ttfamily int hs\+\_\+search\+\_\+event\+\_\+name\+\_\+index (\begin{DoxyParamCaption}\item[{const char $\ast$}]{value }\end{DoxyParamCaption})}
+\subsubsection[{\texorpdfstring{hs\+\_\+search\+\_\+event\+\_\+name\+\_\+index(const char $\ast$value)}{hs_search_event_name_index(const char *value)}}]{\setlength{\rightskip}{0pt plus 5cm}int hs\+\_\+search\+\_\+event\+\_\+name\+\_\+index (
+\begin{DoxyParamCaption}
+\item[{const char $\ast$}]{value}
+\end{DoxyParamCaption}
+)}\hypertarget{hs-helper_8h_a2ff1b894941c3b461ca8119079c4146a}{}\label{hs-helper_8h_a2ff1b894941c3b461ca8119079c4146a}
+search event position in event list
 
 
+\subparagraph*{Parameters}
 
 
 
 
-Definition at line 142 of file hs-\/helper.\+c.
+\begin{DoxyItemize}
+\item value \+: searched event name
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+event\textquotesingle{}s index in event list 
+
+Definition at line 234 of file hs-\/helper.\+cpp.
 
 
 \begin{DoxyCode}
 
 
 \begin{DoxyCode}
-143 \{
-144     \textcolor{keywordtype}{size\_t} buf\_size = 50;
-145     \textcolor{keywordtype}{size\_t} size = \textcolor{keyword}{sizeof} \hyperlink{hs-helper_8h_a0cd84b1a2184c9b84d1b7bf24582f28e}{evlist} / \textcolor{keyword}{sizeof} *\hyperlink{hs-helper_8h_a0cd84b1a2184c9b84d1b7bf24582f28e}{evlist};
-146     \textcolor{keywordtype}{int} ret = -1;
-147     \textcolor{keywordflow}{for}(\textcolor{keywordtype}{size\_t} i = 0 ; i < size ; ++i)
-148     \{
-149         \textcolor{keywordflow}{if}(!strncmp(value, \hyperlink{hs-helper_8h_a0cd84b1a2184c9b84d1b7bf24582f28e}{evlist}[i], buf\_size))
-150         \{
-151             ret = i;
-152             \textcolor{keywordflow}{break};
-153         \}
-154     \}
-155     \textcolor{keywordflow}{return} ret;
-156 \}
+235 \{
+236     \textcolor{keywordtype}{size\_t} buf\_size = 50;
+237     \textcolor{keywordtype}{size\_t} size = \textcolor{keyword}{sizeof} \hyperlink{hs-helper_8cpp_a0cd84b1a2184c9b84d1b7bf24582f28e}{evlist} / \textcolor{keyword}{sizeof} *\hyperlink{hs-helper_8cpp_a0cd84b1a2184c9b84d1b7bf24582f28e}{evlist};
+238     \textcolor{keywordtype}{int} ret = -1;
+239     \textcolor{keywordflow}{for}(\textcolor{keywordtype}{size\_t} i = 0 ; i < size ; ++i)
+240     \{
+241         \textcolor{keywordflow}{if}(!strncmp(value, \hyperlink{hs-helper_8cpp_a0cd84b1a2184c9b84d1b7bf24582f28e}{evlist}[i], buf\_size))
+242         \{
+243             ret = i;
+244             \textcolor{keywordflow}{break};
+245         \}
+246     \}
+247     \textcolor{keywordflow}{return} ret;
+248 \}
 \end{DoxyCode}
 
 
 \subsection{Variable Documentation}
 \end{DoxyCode}
 
 
 \subsection{Variable Documentation}
-\mbox{\Hypertarget{hs-helper_8h_a0cd84b1a2184c9b84d1b7bf24582f28e}\label{hs-helper_8h_a0cd84b1a2184c9b84d1b7bf24582f28e}} 
+\index{hs-\/helper.\+h@{hs-\/helper.\+h}!\+\_\+application\+\_\+id@{\+\_\+application\+\_\+id}}
+\index{\+\_\+application\+\_\+id@{\+\_\+application\+\_\+id}!hs-\/helper.\+h@{hs-\/helper.\+h}}
+\subsubsection[{\texorpdfstring{\+\_\+application\+\_\+id}{_application_id}}]{\setlength{\rightskip}{0pt plus 5cm}const char \+\_\+application\+\_\+id\mbox{[}$\,$\mbox{]}}\hypertarget{hs-helper_8h_a6a0e1db2562b442f8131ddf64b61d1ba}{}\label{hs-helper_8h_a6a0e1db2562b442f8131ddf64b61d1ba}
+
+
+Definition at line 28 of file homescreen.\+cpp.
+
+\index{hs-\/helper.\+h@{hs-\/helper.\+h}!\+\_\+display\+\_\+message@{\+\_\+display\+\_\+message}}
+\index{\+\_\+display\+\_\+message@{\+\_\+display\+\_\+message}!hs-\/helper.\+h@{hs-\/helper.\+h}}
+\subsubsection[{\texorpdfstring{\+\_\+display\+\_\+message}{_display_message}}]{\setlength{\rightskip}{0pt plus 5cm}const char \+\_\+display\+\_\+message\mbox{[}$\,$\mbox{]}}\hypertarget{hs-helper_8h_abfd6c1d6f316fa952b11553f8f275e92}{}\label{hs-helper_8h_abfd6c1d6f316fa952b11553f8f275e92}
+
+
+Definition at line 29 of file homescreen.\+cpp.
+
+\index{hs-\/helper.\+h@{hs-\/helper.\+h}!\+\_\+error@{\+\_\+error}}
+\index{\+\_\+error@{\+\_\+error}!hs-\/helper.\+h@{hs-\/helper.\+h}}
+\subsubsection[{\texorpdfstring{\+\_\+error}{_error}}]{\setlength{\rightskip}{0pt plus 5cm}const char \+\_\+error\mbox{[}$\,$\mbox{]}}\hypertarget{hs-helper_8h_aed1c5296a2e6d34945507a0fca17a376}{}\label{hs-helper_8h_aed1c5296a2e6d34945507a0fca17a376}
+
+
+Definition at line 27 of file homescreen.\+cpp.
+
+\index{hs-\/helper.\+h@{hs-\/helper.\+h}!\+\_\+reply\+\_\+message@{\+\_\+reply\+\_\+message}}
+\index{\+\_\+reply\+\_\+message@{\+\_\+reply\+\_\+message}!hs-\/helper.\+h@{hs-\/helper.\+h}}
+\subsubsection[{\texorpdfstring{\+\_\+reply\+\_\+message}{_reply_message}}]{\setlength{\rightskip}{0pt plus 5cm}const char \+\_\+reply\+\_\+message\mbox{[}$\,$\mbox{]}}\hypertarget{hs-helper_8h_a79b0f0b481161527ccb80e83da143219}{}\label{hs-helper_8h_a79b0f0b481161527ccb80e83da143219}
+
+
+Definition at line 30 of file homescreen.\+cpp.
+
 \index{hs-\/helper.\+h@{hs-\/helper.\+h}!evlist@{evlist}}
 \index{evlist@{evlist}!hs-\/helper.\+h@{hs-\/helper.\+h}}
 \index{hs-\/helper.\+h@{hs-\/helper.\+h}!evlist@{evlist}}
 \index{evlist@{evlist}!hs-\/helper.\+h@{hs-\/helper.\+h}}
-\subsubsection{\texorpdfstring{evlist}{evlist}}
-{\footnotesize\ttfamily const char$\ast$ evlist\mbox{[}$\,$\mbox{]}\hspace{0.3cm}{\ttfamily [static]}}
-
-{\bfseries Initial value\+:}
-\begin{DoxyCode}
-= \{
-    \textcolor{stringliteral}{"tap\_shortcut"},
-    \textcolor{stringliteral}{"on\_screen\_message"},
-    \textcolor{stringliteral}{"on\_screen\_reply"},
-    \textcolor{stringliteral}{"reserved"}
-  \}
-\end{DoxyCode}
+\subsubsection[{\texorpdfstring{evlist}{evlist}}]{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ evlist\mbox{[}$\,$\mbox{]}}\hypertarget{hs-helper_8h_a0cd84b1a2184c9b84d1b7bf24582f28e}{}\label{hs-helper_8h_a0cd84b1a2184c9b84d1b7bf24582f28e}
 
 
 
 
-Definition at line 34 of file hs-\/helper.\+h.
+Definition at line 22 of file hs-\/helper.\+cpp.
 
 
diff --git a/doc/api-ref/latex/d5/d20/class_h_s___client.tex b/doc/api-ref/latex/d5/d20/class_h_s___client.tex
new file mode 100644 (file)
index 0000000..e9f25cc
--- /dev/null
@@ -0,0 +1,579 @@
+\hypertarget{class_h_s___client}{}\section{H\+S\+\_\+\+Client Class Reference}
+\label{class_h_s___client}\index{H\+S\+\_\+\+Client@{H\+S\+\_\+\+Client}}
+
+
+{\ttfamily \#include $<$hs-\/client.\+h$>$}
+
+\subsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item 
+\hyperlink{class_h_s___client_a0afac6b86b9a72e74846e47e435f5f90}{H\+S\+\_\+\+Client} (afb\+\_\+req\+\_\+t request, const char $\ast$id)
+\item 
+\hyperlink{class_h_s___client_a47cb0035116ac7be4fffcfc9736e9233}{H\+S\+\_\+\+Client} (afb\+\_\+req\+\_\+t request, std\+::string id)
+\item 
+\hyperlink{class_h_s___client_a429a4697767344f3789bb233bc73a2b9}{H\+S\+\_\+\+Client} (\hyperlink{class_h_s___client}{H\+S\+\_\+\+Client} \&)=delete
+\item 
+\hyperlink{class_h_s___client}{H\+S\+\_\+\+Client} \& \hyperlink{class_h_s___client_a3e3d8fa1c8746d6d1b1650fe1fcc56a8}{operator=} (\hyperlink{class_h_s___client}{H\+S\+\_\+\+Client} \&)=delete
+\item 
+\hyperlink{class_h_s___client_ab29a9e899aaec3c21983c24ec6e5ee70}{$\sim$\+H\+S\+\_\+\+Client} ()
+\item 
+int \hyperlink{class_h_s___client_a0d7fb8316248e8946dcb73a6612f21bb}{tap\+\_\+shortcut} (const char $\ast$appid)
+\item 
+int \hyperlink{class_h_s___client_af0f2be967a5b6ee81932c73b101184f7}{show\+Window} (afb\+\_\+req\+\_\+t request, const char $\ast$appid)
+\item 
+int \hyperlink{class_h_s___client_ac29482ffdf1b27733247ba0ffcc28b76}{hide\+Window} (afb\+\_\+req\+\_\+t request)
+\item 
+int \hyperlink{class_h_s___client_a294e461500ef02aed17ed5d91479f6b9}{reply\+Show\+Window} (afb\+\_\+req\+\_\+t request, const char $\ast$appid)
+\item 
+int \hyperlink{class_h_s___client_a274301617c9ab629d6916c0dde8c40b9}{on\+\_\+screen\+\_\+message} (afb\+\_\+req\+\_\+t request, const char $\ast$message)
+\item 
+int \hyperlink{class_h_s___client_a9f7a30840c95b1348bcce4cd4626b2ae}{on\+\_\+screen\+\_\+reply} (afb\+\_\+req\+\_\+t request, const char $\ast$message)
+\item 
+int \hyperlink{class_h_s___client_a3d000ca70bd4a8af7c4895d95bc7d0d0}{subscribe} (afb\+\_\+req\+\_\+t request, const char $\ast$event)
+\item 
+int \hyperlink{class_h_s___client_a3da3b5662f918e11773da75f8f971d9c}{unsubscribe} (afb\+\_\+req\+\_\+t request, const char $\ast$event)
+\item 
+int \hyperlink{class_h_s___client_a77b41c1bc6f2c939410108d821a0b456}{show\+Notification} (afb\+\_\+req\+\_\+t request)
+\item 
+int \hyperlink{class_h_s___client_a7145c14a7a971b45f647a82e3390ce9c}{show\+Information} (afb\+\_\+req\+\_\+t request)
+\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+
+
+Definition at line 25 of file hs-\/client.\+h.
+
+
+
+\subsection{Constructor \& Destructor Documentation}
+\index{H\+S\+\_\+\+Client@{H\+S\+\_\+\+Client}!H\+S\+\_\+\+Client@{H\+S\+\_\+\+Client}}
+\index{H\+S\+\_\+\+Client@{H\+S\+\_\+\+Client}!H\+S\+\_\+\+Client@{H\+S\+\_\+\+Client}}
+\subsubsection[{\texorpdfstring{H\+S\+\_\+\+Client(afb\+\_\+req\+\_\+t request, const char $\ast$id)}{HS_Client(afb_req_t request, const char *id)}}]{\setlength{\rightskip}{0pt plus 5cm}H\+S\+\_\+\+Client\+::\+H\+S\+\_\+\+Client (
+\begin{DoxyParamCaption}
+\item[{afb\+\_\+req\+\_\+t}]{request, }
+\item[{const char $\ast$}]{id}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}\hypertarget{class_h_s___client_a0afac6b86b9a72e74846e47e435f5f90}{}\label{class_h_s___client_a0afac6b86b9a72e74846e47e435f5f90}
+
+
+Definition at line 27 of file hs-\/client.\+h.
+
+
+\begin{DoxyCode}
+27 : \hyperlink{class_h_s___client_a0afac6b86b9a72e74846e47e435f5f90}{HS\_Client}(request, std::string(\textcolor{keywordtype}{id}))\{\}
+\end{DoxyCode}
+\index{H\+S\+\_\+\+Client@{H\+S\+\_\+\+Client}!H\+S\+\_\+\+Client@{H\+S\+\_\+\+Client}}
+\index{H\+S\+\_\+\+Client@{H\+S\+\_\+\+Client}!H\+S\+\_\+\+Client@{H\+S\+\_\+\+Client}}
+\subsubsection[{\texorpdfstring{H\+S\+\_\+\+Client(afb\+\_\+req\+\_\+t request, std\+::string id)}{HS_Client(afb_req_t request, std::string id)}}]{\setlength{\rightskip}{0pt plus 5cm}H\+S\+\_\+\+Client\+::\+H\+S\+\_\+\+Client (
+\begin{DoxyParamCaption}
+\item[{afb\+\_\+req\+\_\+t}]{request, }
+\item[{std\+::string}]{id}
+\end{DoxyParamCaption}
+)}\hypertarget{class_h_s___client_a47cb0035116ac7be4fffcfc9736e9233}{}\label{class_h_s___client_a47cb0035116ac7be4fffcfc9736e9233}
+\hyperlink{class_h_s___client}{H\+S\+\_\+\+Client} construction function
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item id\+: app\textquotesingle{}s id
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+None 
+
+Definition at line 38 of file hs-\/client.\+cpp.
+
+
+\begin{DoxyCode}
+38                                                     : my\_id(\textcolor{keywordtype}{id})
+39 \{
+40     \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"called."});
+41     my\_event = afb\_api\_make\_event(request->api, \textcolor{keywordtype}{id}.c\_str());
+42 \}
+\end{DoxyCode}
+\index{H\+S\+\_\+\+Client@{H\+S\+\_\+\+Client}!H\+S\+\_\+\+Client@{H\+S\+\_\+\+Client}}
+\index{H\+S\+\_\+\+Client@{H\+S\+\_\+\+Client}!H\+S\+\_\+\+Client@{H\+S\+\_\+\+Client}}
+\subsubsection[{\texorpdfstring{H\+S\+\_\+\+Client(\+H\+S\+\_\+\+Client \&)=delete}{HS_Client(HS_Client &)=delete}}]{\setlength{\rightskip}{0pt plus 5cm}H\+S\+\_\+\+Client\+::\+H\+S\+\_\+\+Client (
+\begin{DoxyParamCaption}
+\item[{{\bf H\+S\+\_\+\+Client} \&}]{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [delete]}}\hypertarget{class_h_s___client_a429a4697767344f3789bb233bc73a2b9}{}\label{class_h_s___client_a429a4697767344f3789bb233bc73a2b9}
+\index{H\+S\+\_\+\+Client@{H\+S\+\_\+\+Client}!````~H\+S\+\_\+\+Client@{$\sim$\+H\+S\+\_\+\+Client}}
+\index{````~H\+S\+\_\+\+Client@{$\sim$\+H\+S\+\_\+\+Client}!H\+S\+\_\+\+Client@{H\+S\+\_\+\+Client}}
+\subsubsection[{\texorpdfstring{$\sim$\+H\+S\+\_\+\+Client()}{~HS_Client()}}]{\setlength{\rightskip}{0pt plus 5cm}H\+S\+\_\+\+Client\+::$\sim$\+H\+S\+\_\+\+Client (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)}\hypertarget{class_h_s___client_ab29a9e899aaec3c21983c24ec6e5ee70}{}\label{class_h_s___client_ab29a9e899aaec3c21983c24ec6e5ee70}
+\hyperlink{class_h_s___client}{H\+S\+\_\+\+Client} destruction function
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item null
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+None 
+
+Definition at line 54 of file hs-\/client.\+cpp.
+
+
+\begin{DoxyCode}
+55 \{
+56     \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"called."});
+57     afb\_event\_unref(my\_event);
+58 \}
+\end{DoxyCode}
+
+
+\subsection{Member Function Documentation}
+\index{H\+S\+\_\+\+Client@{H\+S\+\_\+\+Client}!hide\+Window@{hide\+Window}}
+\index{hide\+Window@{hide\+Window}!H\+S\+\_\+\+Client@{H\+S\+\_\+\+Client}}
+\subsubsection[{\texorpdfstring{hide\+Window(afb\+\_\+req\+\_\+t request)}{hideWindow(afb_req_t request)}}]{\setlength{\rightskip}{0pt plus 5cm}int H\+S\+\_\+\+Client\+::hide\+Window (
+\begin{DoxyParamCaption}
+\item[{afb\+\_\+req\+\_\+t}]{request}
+\end{DoxyParamCaption}
+)}\hypertarget{class_h_s___client_ac29482ffdf1b27733247ba0ffcc28b76}{}\label{class_h_s___client_ac29482ffdf1b27733247ba0ffcc28b76}
+hide\+Window event
+
+input contents \+: \{\char`\"{}application\+\_\+id\char`\"{}\+:\char`\"{}the appid that want to hide\char`\"{}\}
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item request \+: the request
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+0 \+: success others \+: fail 
+
+Definition at line 245 of file hs-\/client.\+cpp.
+
+
+\begin{DoxyCode}
+246 \{
+247     \textcolor{keywordflow}{if}(!checkEvent(\_\_FUNCTION\_\_))
+248         \textcolor{keywordflow}{return} 0;
+249 
+250     \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"%s application\_id = %s."}, \_\_FUNCTION\_\_);
+251     \textcolor{keyword}{const} \textcolor{keywordtype}{char}* req\_appid = afb\_req\_get\_application\_id(request);
+252     \textcolor{keyword}{struct }json\_object* push\_obj = json\_object\_new\_object();
+253     \hyperlink{hs-helper_8cpp_a8777c53f1d4d5412f19b134ad85ffedf}{hs\_add\_object\_to\_json\_object\_str}( push\_obj, 4, 
+      \hyperlink{homescreen_8cpp_a6a0e1db2562b442f8131ddf64b61d1ba}{\_application\_id}, req\_appid,
+254     \hyperlink{hs-client_8cpp_a1c24b43242df87f75631175c75afdcda}{\_type}, \_\_FUNCTION\_\_);
+255     afb\_event\_push(my\_event, push\_obj);
+256     \textcolor{keywordflow}{return} 0;
+257 \}
+\end{DoxyCode}
+\index{H\+S\+\_\+\+Client@{H\+S\+\_\+\+Client}!on\+\_\+screen\+\_\+message@{on\+\_\+screen\+\_\+message}}
+\index{on\+\_\+screen\+\_\+message@{on\+\_\+screen\+\_\+message}!H\+S\+\_\+\+Client@{H\+S\+\_\+\+Client}}
+\subsubsection[{\texorpdfstring{on\+\_\+screen\+\_\+message(afb\+\_\+req\+\_\+t request, const char $\ast$message)}{on_screen_message(afb_req_t request, const char *message)}}]{\setlength{\rightskip}{0pt plus 5cm}int H\+S\+\_\+\+Client\+::on\+\_\+screen\+\_\+message (
+\begin{DoxyParamCaption}
+\item[{afb\+\_\+req\+\_\+t}]{request, }
+\item[{const char $\ast$}]{message}
+\end{DoxyParamCaption}
+)}\hypertarget{class_h_s___client_a274301617c9ab629d6916c0dde8c40b9}{}\label{class_h_s___client_a274301617c9ab629d6916c0dde8c40b9}
+push on\+\_\+screen\+\_\+message event
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item message\+: post message.
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+result 
+
+Definition at line 93 of file hs-\/client.\+cpp.
+
+
+\begin{DoxyCode}
+94 \{
+95     \textcolor{keywordflow}{if}(!checkEvent(\_\_FUNCTION\_\_))
+96         \textcolor{keywordflow}{return} 0;
+97 
+98     \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"push %s event message [%s]."}, \_\_FUNCTION\_\_, message);
+99     \textcolor{keyword}{struct }json\_object* push\_obj = json\_object\_new\_object();
+100     \hyperlink{hs-helper_8cpp_a8777c53f1d4d5412f19b134ad85ffedf}{hs\_add\_object\_to\_json\_object\_str}( push\_obj, 4, 
+      \hyperlink{homescreen_8cpp_abfd6c1d6f316fa952b11553f8f275e92}{\_display\_message}, message,
+101     \hyperlink{hs-client_8cpp_a1c24b43242df87f75631175c75afdcda}{\_type}, \_\_FUNCTION\_\_);
+102     afb\_event\_push(my\_event, push\_obj);
+103     \textcolor{keywordflow}{return} 0;
+104 \}
+\end{DoxyCode}
+\index{H\+S\+\_\+\+Client@{H\+S\+\_\+\+Client}!on\+\_\+screen\+\_\+reply@{on\+\_\+screen\+\_\+reply}}
+\index{on\+\_\+screen\+\_\+reply@{on\+\_\+screen\+\_\+reply}!H\+S\+\_\+\+Client@{H\+S\+\_\+\+Client}}
+\subsubsection[{\texorpdfstring{on\+\_\+screen\+\_\+reply(afb\+\_\+req\+\_\+t request, const char $\ast$message)}{on_screen_reply(afb_req_t request, const char *message)}}]{\setlength{\rightskip}{0pt plus 5cm}int H\+S\+\_\+\+Client\+::on\+\_\+screen\+\_\+reply (
+\begin{DoxyParamCaption}
+\item[{afb\+\_\+req\+\_\+t}]{request, }
+\item[{const char $\ast$}]{message}
+\end{DoxyParamCaption}
+)}\hypertarget{class_h_s___client_a9f7a30840c95b1348bcce4cd4626b2ae}{}\label{class_h_s___client_a9f7a30840c95b1348bcce4cd4626b2ae}
+push on\+\_\+screen\+\_\+reply event
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item message\+: reply message.
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+result 
+
+Definition at line 116 of file hs-\/client.\+cpp.
+
+
+\begin{DoxyCode}
+117 \{
+118     \textcolor{keywordflow}{if}(!checkEvent(\_\_FUNCTION\_\_))
+119         \textcolor{keywordflow}{return} 0;
+120 
+121     \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"push %s event message [%s]."}, \_\_FUNCTION\_\_, message);
+122     \textcolor{keyword}{struct }json\_object* push\_obj = json\_object\_new\_object();
+123     \hyperlink{hs-helper_8cpp_a8777c53f1d4d5412f19b134ad85ffedf}{hs\_add\_object\_to\_json\_object\_str}( push\_obj, 4, 
+      \hyperlink{homescreen_8cpp_a79b0f0b481161527ccb80e83da143219}{\_reply\_message}, message,
+124     \hyperlink{hs-client_8cpp_a1c24b43242df87f75631175c75afdcda}{\_type}, \_\_FUNCTION\_\_);
+125     afb\_event\_push(my\_event, push\_obj);
+126     \textcolor{keywordflow}{return} 0;
+127 \}
+\end{DoxyCode}
+\index{H\+S\+\_\+\+Client@{H\+S\+\_\+\+Client}!operator=@{operator=}}
+\index{operator=@{operator=}!H\+S\+\_\+\+Client@{H\+S\+\_\+\+Client}}
+\subsubsection[{\texorpdfstring{operator=(\+H\+S\+\_\+\+Client \&)=delete}{operator=(HS_Client &)=delete}}]{\setlength{\rightskip}{0pt plus 5cm}{\bf H\+S\+\_\+\+Client}\& H\+S\+\_\+\+Client\+::operator= (
+\begin{DoxyParamCaption}
+\item[{{\bf H\+S\+\_\+\+Client} \&}]{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [delete]}}\hypertarget{class_h_s___client_a3e3d8fa1c8746d6d1b1650fe1fcc56a8}{}\label{class_h_s___client_a3e3d8fa1c8746d6d1b1650fe1fcc56a8}
+\index{H\+S\+\_\+\+Client@{H\+S\+\_\+\+Client}!reply\+Show\+Window@{reply\+Show\+Window}}
+\index{reply\+Show\+Window@{reply\+Show\+Window}!H\+S\+\_\+\+Client@{H\+S\+\_\+\+Client}}
+\subsubsection[{\texorpdfstring{reply\+Show\+Window(afb\+\_\+req\+\_\+t request, const char $\ast$appid)}{replyShowWindow(afb_req_t request, const char *appid)}}]{\setlength{\rightskip}{0pt plus 5cm}int H\+S\+\_\+\+Client\+::reply\+Show\+Window (
+\begin{DoxyParamCaption}
+\item[{afb\+\_\+req\+\_\+t}]{request, }
+\item[{const char $\ast$}]{appid}
+\end{DoxyParamCaption}
+)}\hypertarget{class_h_s___client_a294e461500ef02aed17ed5d91479f6b9}{}\label{class_h_s___client_a294e461500ef02aed17ed5d91479f6b9}
+reply\+Show\+Window event
+
+input contens \+: \{\char`\"{}application\+\_\+id\char`\"{}\+: \char`\"{}the appid that want to reply\char`\"{}, \char`\"{}parameter\char`\"{}\+: \{...\}\}
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item request \+: the request
+\item appid \+: the appid that want to reply
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+0 \+: success others \+: fail 
+
+Definition at line 273 of file hs-\/client.\+cpp.
+
+
+\begin{DoxyCode}
+274 \{
+275     \textcolor{keywordflow}{if}(!checkEvent(\_\_FUNCTION\_\_))
+276         \textcolor{keywordflow}{return} 0;
+277 
+278     \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"%s application\_id = %s."}, \_\_FUNCTION\_\_, appid);
+279     \textcolor{keyword}{struct }json\_object* push\_obj = json\_object\_new\_object();
+280     \hyperlink{hs-helper_8cpp_a8777c53f1d4d5412f19b134ad85ffedf}{hs\_add\_object\_to\_json\_object\_str}( push\_obj, 4, 
+      \hyperlink{homescreen_8cpp_a6a0e1db2562b442f8131ddf64b61d1ba}{\_application\_id}, appid, \hyperlink{hs-client_8cpp_a1c24b43242df87f75631175c75afdcda}{\_type}, \_\_FUNCTION\_\_);
+281     \textcolor{keyword}{const} \textcolor{keywordtype}{char}* param = afb\_req\_value(request, \hyperlink{hs-client_8cpp_ae3fc16098a2461f2f1ae0ac8561437c6}{\_parameter});
+282     \textcolor{keywordflow}{if}(param) \{
+283         json\_object\_object\_add(push\_obj, \hyperlink{hs-client_8cpp_ae3fc16098a2461f2f1ae0ac8561437c6}{\_parameter}, json\_tokener\_parse(param));
+284     \}
+285     \textcolor{keywordflow}{else} \{
+286         \hyperlink{include_2hmi-debug_8h_a65bb6c7cfe38f8a724beab5059d36fb2}{HMI\_ERROR}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"please input correct parameter."});
+287         \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa611e2ec24ef295bd87825889fe2ce5e}{AFB\_EVENT\_BAD\_REQUEST};
+288     \}
+289 
+290     afb\_event\_push(my\_event, push\_obj);
+291     \textcolor{keywordflow}{return} 0;
+292 \}
+\end{DoxyCode}
+\index{H\+S\+\_\+\+Client@{H\+S\+\_\+\+Client}!show\+Information@{show\+Information}}
+\index{show\+Information@{show\+Information}!H\+S\+\_\+\+Client@{H\+S\+\_\+\+Client}}
+\subsubsection[{\texorpdfstring{show\+Information(afb\+\_\+req\+\_\+t request)}{showInformation(afb_req_t request)}}]{\setlength{\rightskip}{0pt plus 5cm}int H\+S\+\_\+\+Client\+::show\+Information (
+\begin{DoxyParamCaption}
+\item[{afb\+\_\+req\+\_\+t}]{request}
+\end{DoxyParamCaption}
+)}\hypertarget{class_h_s___client_a7145c14a7a971b45f647a82e3390ce9c}{}\label{class_h_s___client_a7145c14a7a971b45f647a82e3390ce9c}
+show\+Information event
+
+input contents \+: \{\char`\"{}info\char`\"{}\+: \char`\"{}information contents\char`\"{}\}
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item request \+: the request
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+0 \+: success others \+: fail 
+
+Definition at line 350 of file hs-\/client.\+cpp.
+
+
+\begin{DoxyCode}
+351 \{
+352     \textcolor{keywordtype}{int} ret = 0;
+353     \textcolor{keyword}{const} \textcolor{keywordtype}{char} *value = afb\_req\_value(request, \hyperlink{hs-client_8cpp_ae125cd80cb98582684636e46ecf33cac}{\_info});
+354     \textcolor{keywordflow}{if}(value) \{
+355         \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"info is %s"}, value);
+356         \textcolor{keyword}{const} \textcolor{keywordtype}{char}* appid = afb\_req\_get\_application\_id(request);
+357         \textcolor{keyword}{struct }json\_object* param\_obj = json\_object\_new\_object();
+358         json\_object\_object\_add(param\_obj, \hyperlink{hs-client_8cpp_ae125cd80cb98582684636e46ecf33cac}{\_info}, json\_object\_new\_string(value));
+359         \textcolor{keyword}{struct }json\_object* push\_obj = json\_object\_new\_object();
+360         \hyperlink{hs-helper_8cpp_a8777c53f1d4d5412f19b134ad85ffedf}{hs\_add\_object\_to\_json\_object\_str}( push\_obj, 4, 
+      \hyperlink{homescreen_8cpp_a6a0e1db2562b442f8131ddf64b61d1ba}{\_application\_id}, appid, \hyperlink{hs-client_8cpp_a1c24b43242df87f75631175c75afdcda}{\_type}, \_\_FUNCTION\_\_);
+361         json\_object\_object\_add(push\_obj, \hyperlink{hs-client_8cpp_ae3fc16098a2461f2f1ae0ac8561437c6}{\_parameter}, param\_obj);
+362         afb\_event\_push(my\_event, push\_obj);
+363     \}
+364     \textcolor{keywordflow}{else} \{
+365         \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"please input information."});
+366         ret = \hyperlink{hs-helper_8h_aefe0d7ff8202f954693c235c1fb8e310}{AFB\_REQ\_SHOWINFORMATION\_ERROR};
+367     \}
+368 
+369     \textcolor{keywordflow}{return} ret;
+370 \}
+\end{DoxyCode}
+\index{H\+S\+\_\+\+Client@{H\+S\+\_\+\+Client}!show\+Notification@{show\+Notification}}
+\index{show\+Notification@{show\+Notification}!H\+S\+\_\+\+Client@{H\+S\+\_\+\+Client}}
+\subsubsection[{\texorpdfstring{show\+Notification(afb\+\_\+req\+\_\+t request)}{showNotification(afb_req_t request)}}]{\setlength{\rightskip}{0pt plus 5cm}int H\+S\+\_\+\+Client\+::show\+Notification (
+\begin{DoxyParamCaption}
+\item[{afb\+\_\+req\+\_\+t}]{request}
+\end{DoxyParamCaption}
+)}\hypertarget{class_h_s___client_a77b41c1bc6f2c939410108d821a0b456}{}\label{class_h_s___client_a77b41c1bc6f2c939410108d821a0b456}
+show\+Notification event
+
+input contents \+: \{\char`\"{}icon\char`\"{}\+: \char`\"{}icon path\char`\"{}, \char`\"{}text\char`\"{}\+: \char`\"{}message contents\char`\"{}\}
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item request \+: the request
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+0 \+: success others \+: fail 
+
+Definition at line 307 of file hs-\/client.\+cpp.
+
+
+\begin{DoxyCode}
+308 \{
+309     \textcolor{keywordtype}{int} ret = 0;
+310     \textcolor{keyword}{const} \textcolor{keywordtype}{char} *value = afb\_req\_value(request, \hyperlink{hs-client_8cpp_ad177811d47939fe9404de88672a980ab}{\_text});
+311     \textcolor{keywordflow}{if}(value) \{
+312         \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"text is %s"}, value);
+313         \textcolor{keyword}{const} \textcolor{keywordtype}{char}* appid = afb\_req\_get\_application\_id(request);
+314         \textcolor{keyword}{struct }json\_object* param\_obj = json\_object\_new\_object();
+315         \textcolor{keyword}{const} \textcolor{keywordtype}{char} *icon = afb\_req\_value(request, \hyperlink{hs-client_8cpp_a5476c8a51997c773220bec9fc02eeaf5}{\_icon});
+316         \textcolor{keywordflow}{if}(icon) \{
+317             json\_object\_object\_add(param\_obj, \hyperlink{hs-client_8cpp_a5476c8a51997c773220bec9fc02eeaf5}{\_icon}, json\_object\_new\_string(icon));
+318             json\_object\_object\_add(param\_obj, \hyperlink{hs-client_8cpp_ad177811d47939fe9404de88672a980ab}{\_text}, json\_object\_new\_string(value));
+319             \textcolor{keyword}{struct }json\_object* push\_obj = json\_object\_new\_object();
+320             \hyperlink{hs-helper_8cpp_a8777c53f1d4d5412f19b134ad85ffedf}{hs\_add\_object\_to\_json\_object\_str}( push\_obj, 4, 
+      \hyperlink{homescreen_8cpp_a6a0e1db2562b442f8131ddf64b61d1ba}{\_application\_id}, appid, \hyperlink{hs-client_8cpp_a1c24b43242df87f75631175c75afdcda}{\_type}, \_\_FUNCTION\_\_);
+321             json\_object\_object\_add(push\_obj, \hyperlink{hs-client_8cpp_ae3fc16098a2461f2f1ae0ac8561437c6}{\_parameter}, param\_obj);
+322             afb\_event\_push(my\_event, push\_obj);
+323         \}
+324         \textcolor{keywordflow}{else} \{
+325             \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"please input icon."});
+326             ret = \hyperlink{hs-helper_8h_a057fc88b8445828c261305cf9107d99d}{AFB\_REQ\_SHOWNOTIFICATION\_ERROR};
+327         \}
+328     \}
+329     \textcolor{keywordflow}{else} \{
+330         \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"please input text."});
+331         ret = \hyperlink{hs-helper_8h_a057fc88b8445828c261305cf9107d99d}{AFB\_REQ\_SHOWNOTIFICATION\_ERROR};
+332     \}
+333 
+334     \textcolor{keywordflow}{return} ret;
+335 \}
+\end{DoxyCode}
+\index{H\+S\+\_\+\+Client@{H\+S\+\_\+\+Client}!show\+Window@{show\+Window}}
+\index{show\+Window@{show\+Window}!H\+S\+\_\+\+Client@{H\+S\+\_\+\+Client}}
+\subsubsection[{\texorpdfstring{show\+Window(afb\+\_\+req\+\_\+t request, const char $\ast$appid)}{showWindow(afb_req_t request, const char *appid)}}]{\setlength{\rightskip}{0pt plus 5cm}int H\+S\+\_\+\+Client\+::show\+Window (
+\begin{DoxyParamCaption}
+\item[{afb\+\_\+req\+\_\+t}]{request, }
+\item[{const char $\ast$}]{appid}
+\end{DoxyParamCaption}
+)}\hypertarget{class_h_s___client_af0f2be967a5b6ee81932c73b101184f7}{}\label{class_h_s___client_af0f2be967a5b6ee81932c73b101184f7}
+show\+Window event
+
+input contents \+: \{\char`\"{}application\+\_\+id\char`\"{}\+:\char`\"{}the appid that want to display\char`\"{}, \char`\"{}parameter\char`\"{}\+:\{\char`\"{}area\char`\"{}\+: \char`\"{}display area\char`\"{}, ...\}\}
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item request \+: the request
+\item appid \+: the appid that want to display
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+0 \+: success others \+: fail 
+
+Definition at line 209 of file hs-\/client.\+cpp.
+
+
+\begin{DoxyCode}
+210 \{
+211     \textcolor{keywordflow}{if}(!checkEvent(\_\_FUNCTION\_\_))
+212         \textcolor{keywordflow}{return} 0;
+213 
+214     \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"%s application\_id = %s."}, \_\_FUNCTION\_\_, appid);
+215     \textcolor{keyword}{struct }json\_object* push\_obj = json\_object\_new\_object();
+216     \hyperlink{hs-helper_8cpp_a8777c53f1d4d5412f19b134ad85ffedf}{hs\_add\_object\_to\_json\_object\_str}( push\_obj, 4, 
+      \hyperlink{homescreen_8cpp_a6a0e1db2562b442f8131ddf64b61d1ba}{\_application\_id}, appid, \hyperlink{hs-client_8cpp_a1c24b43242df87f75631175c75afdcda}{\_type}, \_\_FUNCTION\_\_);
+217     \textcolor{keyword}{const} \textcolor{keywordtype}{char}* param = afb\_req\_value(request, \hyperlink{hs-client_8cpp_ae3fc16098a2461f2f1ae0ac8561437c6}{\_parameter});
+218     \textcolor{keywordflow}{if}(param) \{
+219         \textcolor{keyword}{const} \textcolor{keywordtype}{char}* req\_appid = afb\_req\_get\_application\_id(request);
+220         \textcolor{keyword}{struct }json\_object* param\_obj = json\_tokener\_parse(param);
+221         json\_object\_object\_add(param\_obj, \hyperlink{hs-client_8cpp_ac5b722c0d87d2b0e3dfc527b44a1f5db}{\_replyto}, json\_object\_new\_string(req\_appid));
+222         json\_object\_object\_add(push\_obj, \hyperlink{hs-client_8cpp_ae3fc16098a2461f2f1ae0ac8561437c6}{\_parameter}, param\_obj);
+223     \}
+224     \textcolor{keywordflow}{else} \{
+225         \hyperlink{include_2hmi-debug_8h_a65bb6c7cfe38f8a724beab5059d36fb2}{HMI\_ERROR}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"please input correct parameter."});
+226         \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa611e2ec24ef295bd87825889fe2ce5e}{AFB\_EVENT\_BAD\_REQUEST};
+227     \}
+228     afb\_event\_push(my\_event, push\_obj);
+229     \textcolor{keywordflow}{return} 0;
+230 \}
+\end{DoxyCode}
+\index{H\+S\+\_\+\+Client@{H\+S\+\_\+\+Client}!subscribe@{subscribe}}
+\index{subscribe@{subscribe}!H\+S\+\_\+\+Client@{H\+S\+\_\+\+Client}}
+\subsubsection[{\texorpdfstring{subscribe(afb\+\_\+req\+\_\+t request, const char $\ast$event)}{subscribe(afb_req_t request, const char *event)}}]{\setlength{\rightskip}{0pt plus 5cm}int H\+S\+\_\+\+Client\+::subscribe (
+\begin{DoxyParamCaption}
+\item[{afb\+\_\+req\+\_\+t}]{request, }
+\item[{const char $\ast$}]{event}
+\end{DoxyParamCaption}
+)}\hypertarget{class_h_s___client_a3d000ca70bd4a8af7c4895d95bc7d0d0}{}\label{class_h_s___client_a3d000ca70bd4a8af7c4895d95bc7d0d0}
+subscribe event
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item event\+: homescreen event, tap\+\_\+shortcut etc.
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+result 
+
+Definition at line 139 of file hs-\/client.\+cpp.
+
+
+\begin{DoxyCode}
+140 \{
+141     \textcolor{keywordtype}{int} ret = 0;
+142     \textcolor{keyword}{auto} ip = event\_list.find(std::string(event));
+143     \textcolor{keywordflow}{if}(ip == event\_list.end()) \{
+144         event\_list[std::string(event)] = 0;
+145     \}
+146     \textcolor{keywordflow}{if}(!subscription) \{
+147         ret = afb\_req\_subscribe(request, my\_event);
+148         \textcolor{keywordflow}{if}(ret == 0) \{
+149             subscription = \textcolor{keyword}{true};
+150         \}
+151     \}
+152     \textcolor{keywordflow}{return} ret;
+153 \}
+\end{DoxyCode}
+\index{H\+S\+\_\+\+Client@{H\+S\+\_\+\+Client}!tap\+\_\+shortcut@{tap\+\_\+shortcut}}
+\index{tap\+\_\+shortcut@{tap\+\_\+shortcut}!H\+S\+\_\+\+Client@{H\+S\+\_\+\+Client}}
+\subsubsection[{\texorpdfstring{tap\+\_\+shortcut(const char $\ast$appid)}{tap_shortcut(const char *appid)}}]{\setlength{\rightskip}{0pt plus 5cm}int H\+S\+\_\+\+Client\+::tap\+\_\+shortcut (
+\begin{DoxyParamCaption}
+\item[{const char $\ast$}]{appid}
+\end{DoxyParamCaption}
+)}\hypertarget{class_h_s___client_a0d7fb8316248e8946dcb73a6612f21bb}{}\label{class_h_s___client_a0d7fb8316248e8946dcb73a6612f21bb}
+push tap\+\_\+shortcut event
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item appid\+: app\textquotesingle{}s id.
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+result 
+
+Definition at line 70 of file hs-\/client.\+cpp.
+
+
+\begin{DoxyCode}
+71 \{
+72     \textcolor{keywordflow}{if}(!checkEvent(\_\_FUNCTION\_\_))
+73         \textcolor{keywordflow}{return} 0;
+74 
+75     \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"%s application\_id = %s."}, \_\_FUNCTION\_\_, appid);
+76     \textcolor{keyword}{struct }json\_object* push\_obj = json\_object\_new\_object();
+77     \hyperlink{hs-helper_8cpp_a8777c53f1d4d5412f19b134ad85ffedf}{hs\_add\_object\_to\_json\_object\_str}( push\_obj, 4, 
+      \hyperlink{homescreen_8cpp_a6a0e1db2562b442f8131ddf64b61d1ba}{\_application\_id}, appid,
+78     \hyperlink{hs-client_8cpp_a1c24b43242df87f75631175c75afdcda}{\_type}, \_\_FUNCTION\_\_);
+79     afb\_event\_push(my\_event, push\_obj);
+80     \textcolor{keywordflow}{return} 0;
+81 \}
+\end{DoxyCode}
+\index{H\+S\+\_\+\+Client@{H\+S\+\_\+\+Client}!unsubscribe@{unsubscribe}}
+\index{unsubscribe@{unsubscribe}!H\+S\+\_\+\+Client@{H\+S\+\_\+\+Client}}
+\subsubsection[{\texorpdfstring{unsubscribe(afb\+\_\+req\+\_\+t request, const char $\ast$event)}{unsubscribe(afb_req_t request, const char *event)}}]{\setlength{\rightskip}{0pt plus 5cm}int H\+S\+\_\+\+Client\+::unsubscribe (
+\begin{DoxyParamCaption}
+\item[{afb\+\_\+req\+\_\+t}]{request, }
+\item[{const char $\ast$}]{event}
+\end{DoxyParamCaption}
+)}\hypertarget{class_h_s___client_a3da3b5662f918e11773da75f8f971d9c}{}\label{class_h_s___client_a3da3b5662f918e11773da75f8f971d9c}
+unsubscribe event
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item event\+: homescreen event, tap\+\_\+shortcut etc.
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+result 
+
+Definition at line 165 of file hs-\/client.\+cpp.
+
+
+\begin{DoxyCode}
+166 \{
+167     \textcolor{keywordtype}{int} ret = 0;
+168     event\_list.erase(std::string(event));
+169     \textcolor{keywordflow}{if}(event\_list.empty()) \{
+170         ret = afb\_req\_unsubscribe(request, my\_event);
+171     \}
+172     \textcolor{keywordflow}{return} ret;
+173 \}
+\end{DoxyCode}
+
+
+The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
+\item 
+src/\hyperlink{hs-client_8h}{hs-\/client.\+h}\item 
+src/\hyperlink{hs-client_8cpp}{hs-\/client.\+cpp}\end{DoxyCompactItemize}
diff --git a/doc/api-ref/latex/d6/dda/homescreen_8cpp.tex b/doc/api-ref/latex/d6/dda/homescreen_8cpp.tex
new file mode 100644 (file)
index 0000000..4620f7b
--- /dev/null
@@ -0,0 +1,672 @@
+\hypertarget{homescreen_8cpp}{}\section{src/homescreen.cpp File Reference}
+\label{homescreen_8cpp}\index{src/homescreen.\+cpp@{src/homescreen.\+cpp}}
+{\ttfamily \#include $<$memory$>$}\\*
+{\ttfamily \#include $<$algorithm$>$}\\*
+{\ttfamily \#include \char`\"{}hs-\/helper.\+h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}hmi-\/debug.\+h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}hs-\/clientmanager.\+h\char`\"{}}\\*
+\subsection*{Macros}
+\begin{DoxyCompactItemize}
+\item 
+\#define \hyperlink{homescreen_8cpp_a369266c24eacffb87046522897a570d5}{\+\_\+\+G\+N\+U\+\_\+\+S\+O\+U\+R\+CE}
+\end{DoxyCompactItemize}
+\subsection*{Functions}
+\begin{DoxyCompactItemize}
+\item 
+static void \hyperlink{homescreen_8cpp_ace65cfe6008848a3cd66581f536cc4c9}{ping\+Sample} (afb\+\_\+req\+\_\+t request)
+\item 
+static void \hyperlink{homescreen_8cpp_ab8abb667377924d5c073611738febbd3}{tap\+\_\+shortcut} (afb\+\_\+req\+\_\+t request)
+\item 
+static void \hyperlink{homescreen_8cpp_a0df2b60ff6cd56b53dc87b36bfee2b91}{on\+\_\+screen\+\_\+message} (afb\+\_\+req\+\_\+t request)
+\item 
+static void \hyperlink{homescreen_8cpp_a7443596f6ddf459824ecd8138c681532}{on\+\_\+screen\+\_\+reply} (afb\+\_\+req\+\_\+t request)
+\item 
+static void \hyperlink{homescreen_8cpp_a6e942ab2b7207d2aef9adce71a4574e8}{subscribe} (afb\+\_\+req\+\_\+t request)
+\item 
+static void \hyperlink{homescreen_8cpp_a3b162ab1856a8fa4284cb2c5c35ea748}{unsubscribe} (afb\+\_\+req\+\_\+t request)
+\item 
+static void \hyperlink{homescreen_8cpp_ae475c69e7ca2a539ae0fb40a82963ac1}{show\+Window} (afb\+\_\+req\+\_\+t request)
+\item 
+static void \hyperlink{homescreen_8cpp_a057c380ea38cfba4e2fbccc40fc21798}{hide\+Window} (afb\+\_\+req\+\_\+t request)
+\item 
+static void \hyperlink{homescreen_8cpp_a710bcc84a61e11dbd4517def2764ff95}{reply\+Show\+Window} (afb\+\_\+req\+\_\+t request)
+\item 
+static void \hyperlink{homescreen_8cpp_ad96a84455e8676abb4486e48ef67b1ad}{show\+Notification} (afb\+\_\+req\+\_\+t request)
+\item 
+static void \hyperlink{homescreen_8cpp_a916c8dd31373222ee2b6ef89aca91978}{show\+Information} (afb\+\_\+req\+\_\+t request)
+\item 
+static int \hyperlink{homescreen_8cpp_ab3b1914acb53dcc038c1cf86c2975785}{preinit} (afb\+\_\+api\+\_\+t api)
+\item 
+static int \hyperlink{homescreen_8cpp_a5d7de3437d5dcb79fa035959d95878db}{init} (afb\+\_\+api\+\_\+t api)
+\item 
+static void \hyperlink{homescreen_8cpp_a60665935681c76d38b3833912109cdd3}{onevent} (afb\+\_\+api\+\_\+t api, const char $\ast$event, struct json\+\_\+object $\ast$object)
+\end{DoxyCompactItemize}
+\subsection*{Variables}
+\begin{DoxyCompactItemize}
+\item 
+const char \hyperlink{homescreen_8cpp_aed1c5296a2e6d34945507a0fca17a376}{\+\_\+error} \mbox{[}$\,$\mbox{]} = \char`\"{}error\char`\"{}
+\item 
+const char \hyperlink{homescreen_8cpp_a6a0e1db2562b442f8131ddf64b61d1ba}{\+\_\+application\+\_\+id} \mbox{[}$\,$\mbox{]} = \char`\"{}application\+\_\+id\char`\"{}
+\item 
+const char \hyperlink{homescreen_8cpp_abfd6c1d6f316fa952b11553f8f275e92}{\+\_\+display\+\_\+message} \mbox{[}$\,$\mbox{]} = \char`\"{}display\+\_\+message\char`\"{}
+\item 
+const char \hyperlink{homescreen_8cpp_a79b0f0b481161527ccb80e83da143219}{\+\_\+reply\+\_\+message} \mbox{[}$\,$\mbox{]} = \char`\"{}reply\+\_\+message\char`\"{}
+\item 
+static \hyperlink{class_h_s___client_manager}{H\+S\+\_\+\+Client\+Manager} $\ast$ \hyperlink{homescreen_8cpp_a501f5bca8425de3171d46e0723f466ec}{g\+\_\+client\+\_\+manager} = \hyperlink{class_h_s___client_manager_ad86c1fea7d107d52cbf0466fb7a2658b}{H\+S\+\_\+\+Client\+Manager\+::instance}()
+\item 
+static const afb\+\_\+verb\+\_\+t \hyperlink{homescreen_8cpp_a01e06b6317acebc1d5686386b15f0872}{verbs} \mbox{[}$\,$\mbox{]}
+\item 
+const afb\+\_\+binding\+\_\+t \hyperlink{homescreen_8cpp_a970e7864dba290a0371534ad4961bcc5}{afb\+Binding\+Export}
+\end{DoxyCompactItemize}
+
+
+\subsection{Macro Definition Documentation}
+\index{homescreen.\+cpp@{homescreen.\+cpp}!\+\_\+\+G\+N\+U\+\_\+\+S\+O\+U\+R\+CE@{\+\_\+\+G\+N\+U\+\_\+\+S\+O\+U\+R\+CE}}
+\index{\+\_\+\+G\+N\+U\+\_\+\+S\+O\+U\+R\+CE@{\+\_\+\+G\+N\+U\+\_\+\+S\+O\+U\+R\+CE}!homescreen.\+cpp@{homescreen.\+cpp}}
+\subsubsection[{\texorpdfstring{\+\_\+\+G\+N\+U\+\_\+\+S\+O\+U\+R\+CE}{_GNU_SOURCE}}]{\setlength{\rightskip}{0pt plus 5cm}\#define \+\_\+\+G\+N\+U\+\_\+\+S\+O\+U\+R\+CE}\hypertarget{homescreen_8cpp_a369266c24eacffb87046522897a570d5}{}\label{homescreen_8cpp_a369266c24eacffb87046522897a570d5}
+
+
+Definition at line 18 of file homescreen.\+cpp.
+
+
+
+\subsection{Function Documentation}
+\index{homescreen.\+cpp@{homescreen.\+cpp}!hide\+Window@{hide\+Window}}
+\index{hide\+Window@{hide\+Window}!homescreen.\+cpp@{homescreen.\+cpp}}
+\subsubsection[{\texorpdfstring{hide\+Window(afb\+\_\+req\+\_\+t request)}{hideWindow(afb_req_t request)}}]{\setlength{\rightskip}{0pt plus 5cm}static void hide\+Window (
+\begin{DoxyParamCaption}
+\item[{afb\+\_\+req\+\_\+t}]{request}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{homescreen_8cpp_a057c380ea38cfba4e2fbccc40fc21798}{}\label{homescreen_8cpp_a057c380ea38cfba4e2fbccc40fc21798}
+hide\+Window event
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item request \+: the request
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+None 
+
+Definition at line 221 of file homescreen.\+cpp.
+
+
+\begin{DoxyCode}
+222 \{
+223     \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"called."});
+224 
+225     \textcolor{keywordtype}{int} ret = \hyperlink{homescreen_8cpp_a501f5bca8425de3171d46e0723f466ec}{g\_client\_manager}->\hyperlink{class_h_s___client_manager_a6195694d281a3b97b0345b96c0add1fd}{hideWindow}(request);
+226     \textcolor{keywordflow}{if} (ret != 0) \{
+227       afb\_req\_fail\_f(request, \textcolor{stringliteral}{"failed"}, \textcolor{stringliteral}{"called %s, Unknown parameter"}, \_\_FUNCTION\_\_);
+228       \textcolor{keywordflow}{return};
+229     \}
+230 
+231     \textcolor{comment}{// response to HomeScreen}
+232     \textcolor{keyword}{struct }json\_object *res = json\_object\_new\_object();
+233     \hyperlink{hs-helper_8cpp_ae83604a37134e7bdee3ce4f10bb0b47a}{hs\_add\_object\_to\_json\_object\_func}(res, \_\_FUNCTION\_\_, 2,
+234       \hyperlink{homescreen_8cpp_aed1c5296a2e6d34945507a0fca17a376}{\_error},  ret);
+235     afb\_req\_success(request, res, \textcolor{stringliteral}{"afb\_event\_push event [hideWindow]"});
+236 \}
+\end{DoxyCode}
+\index{homescreen.\+cpp@{homescreen.\+cpp}!init@{init}}
+\index{init@{init}!homescreen.\+cpp@{homescreen.\+cpp}}
+\subsubsection[{\texorpdfstring{init(afb\+\_\+api\+\_\+t api)}{init(afb_api_t api)}}]{\setlength{\rightskip}{0pt plus 5cm}static int init (
+\begin{DoxyParamCaption}
+\item[{afb\+\_\+api\+\_\+t}]{api}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{homescreen_8cpp_a5d7de3437d5dcb79fa035959d95878db}{}\label{homescreen_8cpp_a5d7de3437d5dcb79fa035959d95878db}
+homescreen binding init function
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item api \+: the api serving the request
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+None 
+
+Definition at line 368 of file homescreen.\+cpp.
+
+
+\begin{DoxyCode}
+369 \{
+370     \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"binding init"});
+371 
+372     \hyperlink{homescreen_8cpp_a501f5bca8425de3171d46e0723f466ec}{g\_client\_manager}->\hyperlink{class_h_s___client_manager_ae0b9b18adeffca7822b060ad4ea8a7a1}{init}();
+373 
+374     \textcolor{keywordflow}{return} 0;
+375 \}
+\end{DoxyCode}
+\index{homescreen.\+cpp@{homescreen.\+cpp}!on\+\_\+screen\+\_\+message@{on\+\_\+screen\+\_\+message}}
+\index{on\+\_\+screen\+\_\+message@{on\+\_\+screen\+\_\+message}!homescreen.\+cpp@{homescreen.\+cpp}}
+\subsubsection[{\texorpdfstring{on\+\_\+screen\+\_\+message(afb\+\_\+req\+\_\+t request)}{on_screen_message(afb_req_t request)}}]{\setlength{\rightskip}{0pt plus 5cm}static void on\+\_\+screen\+\_\+message (
+\begin{DoxyParamCaption}
+\item[{afb\+\_\+req\+\_\+t}]{request}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{homescreen_8cpp_a0df2b60ff6cd56b53dc87b36bfee2b91}{}\label{homescreen_8cpp_a0df2b60ff6cd56b53dc87b36bfee2b91}
+Home\+Screen On\+Screen message
+
+\subparagraph*{Parameters}
+
+Request key
+\begin{DoxyItemize}
+\item display\+\_\+message \+: message for display
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+None 
+
+Definition at line 85 of file homescreen.\+cpp.
+
+
+\begin{DoxyCode}
+86 \{
+87     \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"called."});
+88 
+89     \textcolor{keywordtype}{int} ret = \hyperlink{homescreen_8cpp_a501f5bca8425de3171d46e0723f466ec}{g\_client\_manager}->\hyperlink{class_h_s___client_manager_a58ce4a013d3694265dd69f481bf88510}{on\_screen\_message}(request);
+90     \textcolor{keywordflow}{if} (ret != 0) \{
+91       afb\_req\_fail\_f(request, \textcolor{stringliteral}{"failed"}, \textcolor{stringliteral}{"called %s, Unknown parameter"}, \_\_FUNCTION\_\_);
+92       \textcolor{keywordflow}{return};
+93     \}
+94 
+95   \textcolor{comment}{// response to HomeScreen}
+96     \textcolor{keyword}{struct }json\_object *res = json\_object\_new\_object();
+97     \hyperlink{hs-helper_8cpp_ae83604a37134e7bdee3ce4f10bb0b47a}{hs\_add\_object\_to\_json\_object\_func}(res, \_\_FUNCTION\_\_, 2,
+98       \hyperlink{homescreen_8cpp_aed1c5296a2e6d34945507a0fca17a376}{\_error},  ret);
+99     afb\_req\_success(request, res, \textcolor{stringliteral}{"afb\_event\_push event [on\_screen\_message]"});
+100 \}
+\end{DoxyCode}
+\index{homescreen.\+cpp@{homescreen.\+cpp}!on\+\_\+screen\+\_\+reply@{on\+\_\+screen\+\_\+reply}}
+\index{on\+\_\+screen\+\_\+reply@{on\+\_\+screen\+\_\+reply}!homescreen.\+cpp@{homescreen.\+cpp}}
+\subsubsection[{\texorpdfstring{on\+\_\+screen\+\_\+reply(afb\+\_\+req\+\_\+t request)}{on_screen_reply(afb_req_t request)}}]{\setlength{\rightskip}{0pt plus 5cm}static void on\+\_\+screen\+\_\+reply (
+\begin{DoxyParamCaption}
+\item[{afb\+\_\+req\+\_\+t}]{request}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{homescreen_8cpp_a7443596f6ddf459824ecd8138c681532}{}\label{homescreen_8cpp_a7443596f6ddf459824ecd8138c681532}
+Home\+Screen On\+Screen Reply
+
+\subparagraph*{Parameters}
+
+Request key
+\begin{DoxyItemize}
+\item reply\+\_\+message \+: message for reply
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+None 
+
+Definition at line 113 of file homescreen.\+cpp.
+
+
+\begin{DoxyCode}
+114 \{
+115     \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"called."});
+116 
+117     \textcolor{keywordtype}{int} ret = \hyperlink{homescreen_8cpp_a501f5bca8425de3171d46e0723f466ec}{g\_client\_manager}->\hyperlink{class_h_s___client_manager_aa78f992287e3b8fe93422b331dc9edc5}{on\_screen\_reply}(request);
+118     \textcolor{keywordflow}{if} (ret != 0) \{
+119       afb\_req\_fail\_f(request, \textcolor{stringliteral}{"failed"}, \textcolor{stringliteral}{"called %s, Unknown parameter"}, \_\_FUNCTION\_\_);
+120       \textcolor{keywordflow}{return};
+121     \}
+122 
+123   \textcolor{comment}{// response to HomeScreen}
+124     \textcolor{keyword}{struct }json\_object *res = json\_object\_new\_object();
+125     \hyperlink{hs-helper_8cpp_ae83604a37134e7bdee3ce4f10bb0b47a}{hs\_add\_object\_to\_json\_object\_func}(res, \_\_FUNCTION\_\_, 2,
+126       \hyperlink{homescreen_8cpp_aed1c5296a2e6d34945507a0fca17a376}{\_error},  ret);
+127     afb\_req\_success(request, res, \textcolor{stringliteral}{"afb\_event\_push event [on\_screen\_reply]"});
+128 \}
+\end{DoxyCode}
+\index{homescreen.\+cpp@{homescreen.\+cpp}!onevent@{onevent}}
+\index{onevent@{onevent}!homescreen.\+cpp@{homescreen.\+cpp}}
+\subsubsection[{\texorpdfstring{onevent(afb\+\_\+api\+\_\+t api, const char $\ast$event, struct json\+\_\+object $\ast$object)}{onevent(afb_api_t api, const char *event, struct json_object *object)}}]{\setlength{\rightskip}{0pt plus 5cm}static void onevent (
+\begin{DoxyParamCaption}
+\item[{afb\+\_\+api\+\_\+t}]{api, }
+\item[{const char $\ast$}]{event, }
+\item[{struct json\+\_\+object $\ast$}]{object}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{homescreen_8cpp_a60665935681c76d38b3833912109cdd3}{}\label{homescreen_8cpp_a60665935681c76d38b3833912109cdd3}
+homescreen binding event function
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item api \+: the api serving the request
+\item event \+: event name
+\item object \+: event json object
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+None 
+
+Definition at line 389 of file homescreen.\+cpp.
+
+
+\begin{DoxyCode}
+390 \{
+391    \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"on\_event %s"}, event);
+392 \}
+\end{DoxyCode}
+\index{homescreen.\+cpp@{homescreen.\+cpp}!ping\+Sample@{ping\+Sample}}
+\index{ping\+Sample@{ping\+Sample}!homescreen.\+cpp@{homescreen.\+cpp}}
+\subsubsection[{\texorpdfstring{ping\+Sample(afb\+\_\+req\+\_\+t request)}{pingSample(afb_req_t request)}}]{\setlength{\rightskip}{0pt plus 5cm}static void ping\+Sample (
+\begin{DoxyParamCaption}
+\item[{afb\+\_\+req\+\_\+t}]{request}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{homescreen_8cpp_ace65cfe6008848a3cd66581f536cc4c9}{}\label{homescreen_8cpp_ace65cfe6008848a3cd66581f536cc4c9}
+
+
+Definition at line 38 of file homescreen.\+cpp.
+
+
+\begin{DoxyCode}
+39 \{
+40    \textcolor{keyword}{static} \textcolor{keywordtype}{int} pingcount = 0;
+41    afb\_req\_success\_f(request, json\_object\_new\_int(pingcount), \textcolor{stringliteral}{"Ping count = %d"}, pingcount);
+42    \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"Verbosity macro at level notice invoked at ping invocation
+       count = %d"}, pingcount);
+43    pingcount++;
+44 \}
+\end{DoxyCode}
+\index{homescreen.\+cpp@{homescreen.\+cpp}!preinit@{preinit}}
+\index{preinit@{preinit}!homescreen.\+cpp@{homescreen.\+cpp}}
+\subsubsection[{\texorpdfstring{preinit(afb\+\_\+api\+\_\+t api)}{preinit(afb_api_t api)}}]{\setlength{\rightskip}{0pt plus 5cm}static int preinit (
+\begin{DoxyParamCaption}
+\item[{afb\+\_\+api\+\_\+t}]{api}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{homescreen_8cpp_ab3b1914acb53dcc038c1cf86c2975785}{}\label{homescreen_8cpp_ab3b1914acb53dcc038c1cf86c2975785}
+homescreen binding preinit function
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item api \+: the api serving the request
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+None 
+
+Definition at line 352 of file homescreen.\+cpp.
+
+
+\begin{DoxyCode}
+353 \{
+354    \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"binding preinit (was register)"});
+355    \textcolor{keywordflow}{return} 0;
+356 \}
+\end{DoxyCode}
+\index{homescreen.\+cpp@{homescreen.\+cpp}!reply\+Show\+Window@{reply\+Show\+Window}}
+\index{reply\+Show\+Window@{reply\+Show\+Window}!homescreen.\+cpp@{homescreen.\+cpp}}
+\subsubsection[{\texorpdfstring{reply\+Show\+Window(afb\+\_\+req\+\_\+t request)}{replyShowWindow(afb_req_t request)}}]{\setlength{\rightskip}{0pt plus 5cm}static void reply\+Show\+Window (
+\begin{DoxyParamCaption}
+\item[{afb\+\_\+req\+\_\+t}]{request}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{homescreen_8cpp_a710bcc84a61e11dbd4517def2764ff95}{}\label{homescreen_8cpp_a710bcc84a61e11dbd4517def2764ff95}
+reply\+Show\+Window event
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item request \+: the request
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+None 
+
+Definition at line 248 of file homescreen.\+cpp.
+
+
+\begin{DoxyCode}
+249 \{
+250     \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"called."});
+251 
+252     \textcolor{keywordtype}{int} ret = \hyperlink{homescreen_8cpp_a501f5bca8425de3171d46e0723f466ec}{g\_client\_manager}->\hyperlink{class_h_s___client_manager_a59b1c1e115b5a257a585c41f854f5fdd}{replyShowWindow}(request);
+253     \textcolor{keywordflow}{if} (ret != 0) \{
+254       afb\_req\_fail\_f(request, \textcolor{stringliteral}{"failed"}, \textcolor{stringliteral}{"called %s, Unknown parameter"}, \_\_FUNCTION\_\_);
+255       \textcolor{keywordflow}{return};
+256     \}
+257 
+258     \textcolor{comment}{// response to HomeScreen}
+259     \textcolor{keyword}{struct }json\_object *res = json\_object\_new\_object();
+260     \hyperlink{hs-helper_8cpp_ae83604a37134e7bdee3ce4f10bb0b47a}{hs\_add\_object\_to\_json\_object\_func}(res, \_\_FUNCTION\_\_, 2,
+261       \hyperlink{homescreen_8cpp_aed1c5296a2e6d34945507a0fca17a376}{\_error},  ret);
+262     afb\_req\_success(request, res, \textcolor{stringliteral}{"afb\_event\_push event [replyShowWindow]"});
+263 \}
+\end{DoxyCode}
+\index{homescreen.\+cpp@{homescreen.\+cpp}!show\+Information@{show\+Information}}
+\index{show\+Information@{show\+Information}!homescreen.\+cpp@{homescreen.\+cpp}}
+\subsubsection[{\texorpdfstring{show\+Information(afb\+\_\+req\+\_\+t request)}{showInformation(afb_req_t request)}}]{\setlength{\rightskip}{0pt plus 5cm}static void show\+Information (
+\begin{DoxyParamCaption}
+\item[{afb\+\_\+req\+\_\+t}]{request}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{homescreen_8cpp_a916c8dd31373222ee2b6ef89aca91978}{}\label{homescreen_8cpp_a916c8dd31373222ee2b6ef89aca91978}
+show\+Information event
+
+the contents to homescreen which display at bottom area.
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item request \+: the request
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+None 
+
+Definition at line 306 of file homescreen.\+cpp.
+
+
+\begin{DoxyCode}
+307 \{
+308     \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"called."});
+309 
+310     \textcolor{keywordtype}{int} ret = \hyperlink{homescreen_8cpp_a501f5bca8425de3171d46e0723f466ec}{g\_client\_manager}->\hyperlink{class_h_s___client_manager_a0645294f89c67fd3c9b0cce62a900f69}{showInformation}(request);
+311     \textcolor{keywordflow}{if} (ret != 0) \{
+312       afb\_req\_fail\_f(request, \textcolor{stringliteral}{"failed"}, \textcolor{stringliteral}{"called %s, Unknown parameter"}, \_\_FUNCTION\_\_);
+313       \textcolor{keywordflow}{return};
+314     \}
+315 
+316     \textcolor{comment}{// response to Application}
+317     \textcolor{keyword}{struct }json\_object *res = json\_object\_new\_object();
+318     \hyperlink{hs-helper_8cpp_ae83604a37134e7bdee3ce4f10bb0b47a}{hs\_add\_object\_to\_json\_object\_func}(res, \_\_FUNCTION\_\_, 2,
+319       \hyperlink{homescreen_8cpp_aed1c5296a2e6d34945507a0fca17a376}{\_error},  ret);
+320     afb\_req\_success(request, res, \textcolor{stringliteral}{"afb\_event\_push event [showInformation]"});
+321 \}
+\end{DoxyCode}
+\index{homescreen.\+cpp@{homescreen.\+cpp}!show\+Notification@{show\+Notification}}
+\index{show\+Notification@{show\+Notification}!homescreen.\+cpp@{homescreen.\+cpp}}
+\subsubsection[{\texorpdfstring{show\+Notification(afb\+\_\+req\+\_\+t request)}{showNotification(afb_req_t request)}}]{\setlength{\rightskip}{0pt plus 5cm}static void show\+Notification (
+\begin{DoxyParamCaption}
+\item[{afb\+\_\+req\+\_\+t}]{request}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{homescreen_8cpp_ad96a84455e8676abb4486e48ef67b1ad}{}\label{homescreen_8cpp_ad96a84455e8676abb4486e48ef67b1ad}
+show\+Notification event
+
+the contents to homescreen which display at top area.
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item request \+: the request
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+None 
+
+Definition at line 277 of file homescreen.\+cpp.
+
+
+\begin{DoxyCode}
+278 \{
+279     \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"called."});
+280 
+281     \textcolor{keywordtype}{int} ret = \hyperlink{homescreen_8cpp_a501f5bca8425de3171d46e0723f466ec}{g\_client\_manager}->\hyperlink{class_h_s___client_manager_a857934af280081ca6ac61d9f2cac37c5}{showNotification}(request);
+282     \textcolor{keywordflow}{if} (ret != 0) \{
+283       afb\_req\_fail\_f(request, \textcolor{stringliteral}{"failed"}, \textcolor{stringliteral}{"called %s, Unknown parameter"}, \_\_FUNCTION\_\_);
+284       \textcolor{keywordflow}{return};
+285     \}
+286 
+287     \textcolor{comment}{// response to Application}
+288     \textcolor{keyword}{struct }json\_object *res = json\_object\_new\_object();
+289     \hyperlink{hs-helper_8cpp_ae83604a37134e7bdee3ce4f10bb0b47a}{hs\_add\_object\_to\_json\_object\_func}(res, \_\_FUNCTION\_\_, 2,
+290       \hyperlink{homescreen_8cpp_aed1c5296a2e6d34945507a0fca17a376}{\_error},  ret);
+291     afb\_req\_success(request, res, \textcolor{stringliteral}{"afb\_event\_push event [showNotification]"});
+292 \}
+\end{DoxyCode}
+\index{homescreen.\+cpp@{homescreen.\+cpp}!show\+Window@{show\+Window}}
+\index{show\+Window@{show\+Window}!homescreen.\+cpp@{homescreen.\+cpp}}
+\subsubsection[{\texorpdfstring{show\+Window(afb\+\_\+req\+\_\+t request)}{showWindow(afb_req_t request)}}]{\setlength{\rightskip}{0pt plus 5cm}static void show\+Window (
+\begin{DoxyParamCaption}
+\item[{afb\+\_\+req\+\_\+t}]{request}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{homescreen_8cpp_ae475c69e7ca2a539ae0fb40a82963ac1}{}\label{homescreen_8cpp_ae475c69e7ca2a539ae0fb40a82963ac1}
+show\+Window event
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item request \+: the request
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+None 
+
+Definition at line 194 of file homescreen.\+cpp.
+
+
+\begin{DoxyCode}
+195 \{
+196     \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"called."});
+197 
+198     \textcolor{keywordtype}{int} ret = \hyperlink{homescreen_8cpp_a501f5bca8425de3171d46e0723f466ec}{g\_client\_manager}->\hyperlink{class_h_s___client_manager_afed8158f276d1d22c32b0d89e970d442}{showWindow}(request);
+199     \textcolor{keywordflow}{if} (ret != 0) \{
+200       afb\_req\_fail\_f(request, \textcolor{stringliteral}{"failed"}, \textcolor{stringliteral}{"called %s, Unknown parameter"}, \_\_FUNCTION\_\_);
+201       \textcolor{keywordflow}{return};
+202     \}
+203 
+204     \textcolor{comment}{// response to HomeScreen}
+205     \textcolor{keyword}{struct }json\_object *res = json\_object\_new\_object();
+206     \hyperlink{hs-helper_8cpp_ae83604a37134e7bdee3ce4f10bb0b47a}{hs\_add\_object\_to\_json\_object\_func}(res, \_\_FUNCTION\_\_, 2,
+207       \hyperlink{homescreen_8cpp_aed1c5296a2e6d34945507a0fca17a376}{\_error},  ret);
+208     afb\_req\_success(request, res, \textcolor{stringliteral}{"afb\_event\_push event [showWindow]"});
+209 \}
+\end{DoxyCode}
+\index{homescreen.\+cpp@{homescreen.\+cpp}!subscribe@{subscribe}}
+\index{subscribe@{subscribe}!homescreen.\+cpp@{homescreen.\+cpp}}
+\subsubsection[{\texorpdfstring{subscribe(afb\+\_\+req\+\_\+t request)}{subscribe(afb_req_t request)}}]{\setlength{\rightskip}{0pt plus 5cm}static void subscribe (
+\begin{DoxyParamCaption}
+\item[{afb\+\_\+req\+\_\+t}]{request}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{homescreen_8cpp_a6e942ab2b7207d2aef9adce71a4574e8}{}\label{homescreen_8cpp_a6e942ab2b7207d2aef9adce71a4574e8}
+Subscribe event
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item event \+: Event name. Event list is written in \hyperlink{libhomescreen_8cpp}{libhomescreen.\+cpp}
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+None 
+
+Definition at line 140 of file homescreen.\+cpp.
+
+
+\begin{DoxyCode}
+141 \{
+142     \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"called."});
+143 
+144     \textcolor{keywordtype}{int} ret = \hyperlink{homescreen_8cpp_a501f5bca8425de3171d46e0723f466ec}{g\_client\_manager}->\hyperlink{class_h_s___client_manager_a1b8a4e42342c4bcdc4e7dc4934e02469}{subscribe}(request);
+145     \textcolor{keywordflow}{if}(ret) \{
+146       afb\_req\_fail\_f(request, \textcolor{stringliteral}{"afb\_req\_subscribe failed"}, \textcolor{stringliteral}{"called %s."}, \_\_FUNCTION\_\_);
+147       \textcolor{keywordflow}{return};
+148     \}
+149 
+150     \textcolor{comment}{/*create response json object*/}
+151     \textcolor{keyword}{struct }json\_object *res = json\_object\_new\_object();
+152     \hyperlink{hs-helper_8cpp_ae83604a37134e7bdee3ce4f10bb0b47a}{hs\_add\_object\_to\_json\_object\_func}(res, \_\_FUNCTION\_\_, 2,
+153         \hyperlink{homescreen_8cpp_aed1c5296a2e6d34945507a0fca17a376}{\_error}, ret);
+154     afb\_req\_success\_f(request, res, \textcolor{stringliteral}{"homescreen binder subscribe."});
+155 \}
+\end{DoxyCode}
+\index{homescreen.\+cpp@{homescreen.\+cpp}!tap\+\_\+shortcut@{tap\+\_\+shortcut}}
+\index{tap\+\_\+shortcut@{tap\+\_\+shortcut}!homescreen.\+cpp@{homescreen.\+cpp}}
+\subsubsection[{\texorpdfstring{tap\+\_\+shortcut(afb\+\_\+req\+\_\+t request)}{tap_shortcut(afb_req_t request)}}]{\setlength{\rightskip}{0pt plus 5cm}static void tap\+\_\+shortcut (
+\begin{DoxyParamCaption}
+\item[{afb\+\_\+req\+\_\+t}]{request}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{homescreen_8cpp_ab8abb667377924d5c073611738febbd3}{}\label{homescreen_8cpp_ab8abb667377924d5c073611738febbd3}
+tap\+\_\+shortcut notify for homescreen When Shortcut area is tapped, notify these applciations
+
+\subparagraph*{Parameters}
+
+Request key
+\begin{DoxyItemize}
+\item application\+\_\+id \+: application id
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+None 
+
+Definition at line 58 of file homescreen.\+cpp.
+
+
+\begin{DoxyCode}
+59 \{
+60     \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"called."});
+61     \textcolor{keywordtype}{int} ret = \hyperlink{homescreen_8cpp_a501f5bca8425de3171d46e0723f466ec}{g\_client\_manager}->\hyperlink{class_h_s___client_manager_a9910fc27c412530b5b9854b00bd16c07}{tap\_shortcut}(request);
+62     \textcolor{keywordflow}{if} (ret != 0) \{
+63       afb\_req\_fail\_f(request, \textcolor{stringliteral}{"failed"}, \textcolor{stringliteral}{"called %s, Unknown parameter"}, \_\_FUNCTION\_\_);
+64       \textcolor{keywordflow}{return};
+65     \}
+66 
+67     \textcolor{comment}{// response to HomeScreen}
+68     \textcolor{keyword}{struct }json\_object *res = json\_object\_new\_object();
+69     \hyperlink{hs-helper_8cpp_ae83604a37134e7bdee3ce4f10bb0b47a}{hs\_add\_object\_to\_json\_object\_func}(res, \_\_FUNCTION\_\_, 2,
+70       \hyperlink{homescreen_8cpp_aed1c5296a2e6d34945507a0fca17a376}{\_error},  ret);
+71     afb\_req\_success(request, res, \textcolor{stringliteral}{"afb\_event\_push event [tap\_shortcut]"});
+72 \}
+\end{DoxyCode}
+\index{homescreen.\+cpp@{homescreen.\+cpp}!unsubscribe@{unsubscribe}}
+\index{unsubscribe@{unsubscribe}!homescreen.\+cpp@{homescreen.\+cpp}}
+\subsubsection[{\texorpdfstring{unsubscribe(afb\+\_\+req\+\_\+t request)}{unsubscribe(afb_req_t request)}}]{\setlength{\rightskip}{0pt plus 5cm}static void unsubscribe (
+\begin{DoxyParamCaption}
+\item[{afb\+\_\+req\+\_\+t}]{request}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{homescreen_8cpp_a3b162ab1856a8fa4284cb2c5c35ea748}{}\label{homescreen_8cpp_a3b162ab1856a8fa4284cb2c5c35ea748}
+Unsubscribe event
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item event \+: Event name. Event list is written in \hyperlink{libhomescreen_8cpp}{libhomescreen.\+cpp}
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+None 
+
+Definition at line 167 of file homescreen.\+cpp.
+
+
+\begin{DoxyCode}
+168 \{
+169     \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"called."});
+170 
+171     \textcolor{keywordtype}{int} ret = \hyperlink{homescreen_8cpp_a501f5bca8425de3171d46e0723f466ec}{g\_client\_manager}->\hyperlink{class_h_s___client_manager_ac86314afbb90116e2f02ce071166226e}{unsubscribe}(request);
+172     \textcolor{keywordflow}{if}(ret) \{
+173       afb\_req\_fail\_f(request, \textcolor{stringliteral}{"afb\_req\_unsubscribe failed"}, \textcolor{stringliteral}{"called %s."}, \_\_FUNCTION\_\_);
+174       \textcolor{keywordflow}{return};
+175     \}
+176 
+177     \textcolor{comment}{/*create response json object*/}
+178     \textcolor{keyword}{struct }json\_object *res = json\_object\_new\_object();
+179     \hyperlink{hs-helper_8cpp_ae83604a37134e7bdee3ce4f10bb0b47a}{hs\_add\_object\_to\_json\_object\_func}(res, \_\_FUNCTION\_\_, 2,
+180         \hyperlink{homescreen_8cpp_aed1c5296a2e6d34945507a0fca17a376}{\_error}, ret);
+181     afb\_req\_success\_f(request, res, \textcolor{stringliteral}{"homescreen binder unsubscribe success."});
+182 \}
+\end{DoxyCode}
+
+
+\subsection{Variable Documentation}
+\index{homescreen.\+cpp@{homescreen.\+cpp}!\+\_\+application\+\_\+id@{\+\_\+application\+\_\+id}}
+\index{\+\_\+application\+\_\+id@{\+\_\+application\+\_\+id}!homescreen.\+cpp@{homescreen.\+cpp}}
+\subsubsection[{\texorpdfstring{\+\_\+application\+\_\+id}{_application_id}}]{\setlength{\rightskip}{0pt plus 5cm}const char \+\_\+application\+\_\+id\mbox{[}$\,$\mbox{]} = \char`\"{}application\+\_\+id\char`\"{}}\hypertarget{homescreen_8cpp_a6a0e1db2562b442f8131ddf64b61d1ba}{}\label{homescreen_8cpp_a6a0e1db2562b442f8131ddf64b61d1ba}
+
+
+Definition at line 28 of file homescreen.\+cpp.
+
+\index{homescreen.\+cpp@{homescreen.\+cpp}!\+\_\+display\+\_\+message@{\+\_\+display\+\_\+message}}
+\index{\+\_\+display\+\_\+message@{\+\_\+display\+\_\+message}!homescreen.\+cpp@{homescreen.\+cpp}}
+\subsubsection[{\texorpdfstring{\+\_\+display\+\_\+message}{_display_message}}]{\setlength{\rightskip}{0pt plus 5cm}const char \+\_\+display\+\_\+message\mbox{[}$\,$\mbox{]} = \char`\"{}display\+\_\+message\char`\"{}}\hypertarget{homescreen_8cpp_abfd6c1d6f316fa952b11553f8f275e92}{}\label{homescreen_8cpp_abfd6c1d6f316fa952b11553f8f275e92}
+
+
+Definition at line 29 of file homescreen.\+cpp.
+
+\index{homescreen.\+cpp@{homescreen.\+cpp}!\+\_\+error@{\+\_\+error}}
+\index{\+\_\+error@{\+\_\+error}!homescreen.\+cpp@{homescreen.\+cpp}}
+\subsubsection[{\texorpdfstring{\+\_\+error}{_error}}]{\setlength{\rightskip}{0pt plus 5cm}const char \+\_\+error\mbox{[}$\,$\mbox{]} = \char`\"{}error\char`\"{}}\hypertarget{homescreen_8cpp_aed1c5296a2e6d34945507a0fca17a376}{}\label{homescreen_8cpp_aed1c5296a2e6d34945507a0fca17a376}
+
+
+Definition at line 27 of file homescreen.\+cpp.
+
+\index{homescreen.\+cpp@{homescreen.\+cpp}!\+\_\+reply\+\_\+message@{\+\_\+reply\+\_\+message}}
+\index{\+\_\+reply\+\_\+message@{\+\_\+reply\+\_\+message}!homescreen.\+cpp@{homescreen.\+cpp}}
+\subsubsection[{\texorpdfstring{\+\_\+reply\+\_\+message}{_reply_message}}]{\setlength{\rightskip}{0pt plus 5cm}const char \+\_\+reply\+\_\+message\mbox{[}$\,$\mbox{]} = \char`\"{}reply\+\_\+message\char`\"{}}\hypertarget{homescreen_8cpp_a79b0f0b481161527ccb80e83da143219}{}\label{homescreen_8cpp_a79b0f0b481161527ccb80e83da143219}
+
+
+Definition at line 30 of file homescreen.\+cpp.
+
+\index{homescreen.\+cpp@{homescreen.\+cpp}!afb\+Binding\+Export@{afb\+Binding\+Export}}
+\index{afb\+Binding\+Export@{afb\+Binding\+Export}!homescreen.\+cpp@{homescreen.\+cpp}}
+\subsubsection[{\texorpdfstring{afb\+Binding\+Export}{afbBindingExport}}]{\setlength{\rightskip}{0pt plus 5cm}const afb\+\_\+binding\+\_\+t afb\+Binding\+Export}\hypertarget{homescreen_8cpp_a970e7864dba290a0371534ad4961bcc5}{}\label{homescreen_8cpp_a970e7864dba290a0371534ad4961bcc5}
+{\bfseries Initial value\+:}
+\begin{DoxyCode}
+= \{
+    .api = \textcolor{stringliteral}{"homescreen"},
+    .specification = NULL,
+    .info = NULL,
+    .verbs = \hyperlink{homescreen_8cpp_a01e06b6317acebc1d5686386b15f0872}{verbs},
+    .preinit = \hyperlink{homescreen_8cpp_ab3b1914acb53dcc038c1cf86c2975785}{preinit},
+    .init = \hyperlink{homescreen_8cpp_a5d7de3437d5dcb79fa035959d95878db}{init},
+    .onevent = \hyperlink{homescreen_8cpp_a60665935681c76d38b3833912109cdd3}{onevent}
+\}
+\end{DoxyCode}
+
+
+Definition at line 394 of file homescreen.\+cpp.
+
+\index{homescreen.\+cpp@{homescreen.\+cpp}!g\+\_\+client\+\_\+manager@{g\+\_\+client\+\_\+manager}}
+\index{g\+\_\+client\+\_\+manager@{g\+\_\+client\+\_\+manager}!homescreen.\+cpp@{homescreen.\+cpp}}
+\subsubsection[{\texorpdfstring{g\+\_\+client\+\_\+manager}{g_client_manager}}]{\setlength{\rightskip}{0pt plus 5cm}{\bf H\+S\+\_\+\+Client\+Manager}$\ast$ g\+\_\+client\+\_\+manager = {\bf H\+S\+\_\+\+Client\+Manager\+::instance}()\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{homescreen_8cpp_a501f5bca8425de3171d46e0723f466ec}{}\label{homescreen_8cpp_a501f5bca8425de3171d46e0723f466ec}
+
+
+Definition at line 32 of file homescreen.\+cpp.
+
+\index{homescreen.\+cpp@{homescreen.\+cpp}!verbs@{verbs}}
+\index{verbs@{verbs}!homescreen.\+cpp@{homescreen.\+cpp}}
+\subsubsection[{\texorpdfstring{verbs}{verbs}}]{\setlength{\rightskip}{0pt plus 5cm}const afb\+\_\+verb\+\_\+t verbs\mbox{[}$\,$\mbox{]}\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{homescreen_8cpp_a01e06b6317acebc1d5686386b15f0872}{}\label{homescreen_8cpp_a01e06b6317acebc1d5686386b15f0872}
+{\bfseries Initial value\+:}
+\begin{DoxyCode}
+= \{
+    
+    \{ .verb=\textcolor{stringliteral}{"ping"},              .callback=\hyperlink{homescreen_8cpp_ace65cfe6008848a3cd66581f536cc4c9}{pingSample}             \},
+    \{ .verb=\textcolor{stringliteral}{"tap\_shortcut"},      .callback=\hyperlink{homescreen_8cpp_ab8abb667377924d5c073611738febbd3}{tap\_shortcut}           \},
+    \{ .verb=\textcolor{stringliteral}{"showWindow"},        .callback=\hyperlink{homescreen_8cpp_ae475c69e7ca2a539ae0fb40a82963ac1}{showWindow}             \},
+    \{ .verb=\textcolor{stringliteral}{"hideWindow"},        .callback=\hyperlink{homescreen_8cpp_a057c380ea38cfba4e2fbccc40fc21798}{hideWindow}             \},
+    \{ .verb=\textcolor{stringliteral}{"replyShowWindow"},   .callback=\hyperlink{homescreen_8cpp_a710bcc84a61e11dbd4517def2764ff95}{replyShowWindow}        \},
+    \{ .verb=\textcolor{stringliteral}{"on\_screen\_message"}, .callback=\hyperlink{homescreen_8cpp_a0df2b60ff6cd56b53dc87b36bfee2b91}{on\_screen\_message}      \},
+    \{ .verb=\textcolor{stringliteral}{"on\_screen\_reply"},   .callback=\hyperlink{homescreen_8cpp_a7443596f6ddf459824ecd8138c681532}{on\_screen\_reply}        \},
+    \{ .verb=\textcolor{stringliteral}{"subscribe"},         .callback=\hyperlink{homescreen_8cpp_a6e942ab2b7207d2aef9adce71a4574e8}{subscribe}              \},
+    \{ .verb=\textcolor{stringliteral}{"unsubscribe"},       .callback=\hyperlink{homescreen_8cpp_a3b162ab1856a8fa4284cb2c5c35ea748}{unsubscribe}            \},
+    \{ .verb=\textcolor{stringliteral}{"showNotification"},  .callback=\hyperlink{homescreen_8cpp_ad96a84455e8676abb4486e48ef67b1ad}{showNotification}       \},
+    \{ .verb=\textcolor{stringliteral}{"showInformation"},   .callback=\hyperlink{homescreen_8cpp_a916c8dd31373222ee2b6ef89aca91978}{showInformation}        \},
+    \{NULL \} 
+\}
+\end{DoxyCode}
+
+
+Definition at line 326 of file homescreen.\+cpp.
+
diff --git a/doc/api-ref/latex/d6/de3/structwindow.tex b/doc/api-ref/latex/d6/de3/structwindow.tex
new file mode 100644 (file)
index 0000000..bf61d03
--- /dev/null
@@ -0,0 +1,170 @@
+\hypertarget{structwindow}{}\section{window Struct Reference}
+\label{structwindow}\index{window@{window}}
+\subsection*{Public Attributes}
+\begin{DoxyCompactItemize}
+\item 
+struct \hyperlink{structdisplay}{display} $\ast$ \hyperlink{structwindow_a129486f2bd23791194f389ca1405cfd4}{display}
+\item 
+struct \hyperlink{structgeometry}{geometry} \hyperlink{structgeometry}{geometry} \hyperlink{structwindow_ad2b6c8ed8044b41fd1189a0ce26d539a}{window\+\_\+size}
+\item 
+\begin{tabbing}
+xx\=xx\=xx\=xx\=xx\=xx\=xx\=xx\=xx\=\kill
+struct \{\\
+\>GLuint \hyperlink{structwindow_a5202f3b60e262a6fa4fcee68dd47cb67}{rotation\_uniform}\\
+\>GLuint \hyperlink{structwindow_aaf965f90f9fc938db2315ff62028c362}{pos}\\
+\>GLuint \hyperlink{structwindow_aef10fe94766ccd4831ee611c5ad0e55c}{col}\\
+\} \hyperlink{structwindow_a6975a930e9a3c166f8201fc4ef5e7728}{gl}\\
+
+\end{tabbing}\item 
+uint32\+\_\+t \hyperlink{structwindow_a72629bf021a361ad900504732a74cb68}{benchmark\+\_\+time}
+\item 
+uint32\+\_\+t \hyperlink{structwindow_a633864bb495ec265bee220a5c70cc98f}{frames}
+\item 
+struct wl\+\_\+egl\+\_\+window $\ast$ \hyperlink{structwindow_ae41be0955d0e73530e1bc13dfeb9d731}{native}
+\item 
+struct wl\+\_\+surface $\ast$ \hyperlink{structwindow_a7d0790cfc7c30621611fa26ab5c1ae97}{surface}
+\item 
+struct ivi\+\_\+surface $\ast$ \hyperlink{structwindow_a40e2c6fb4178953c820fc1b9f41d4b31}{ivi\+\_\+surface}
+\item 
+E\+G\+L\+Surface \hyperlink{structwindow_a8de0059f3f1cb0dec33fba1143b7dee1}{egl\+\_\+surface}
+\item 
+struct wl\+\_\+callback $\ast$ \hyperlink{structwindow_a35ba639556fa19d9273dad0953a6807e}{callback}
+\item 
+int \hyperlink{structwindow_a8da44798a9e1feb7ed3fbd18ec3a28b6}{fullscreen}
+\item 
+int \hyperlink{structwindow_a026a50808d8323a5a73d585c19916fa8}{opaque}
+\item 
+int \hyperlink{structwindow_a0e634038f669aff472012f25ea250b40}{buffer\+\_\+size}
+\item 
+int \hyperlink{structwindow_a851bcb65083f5ab5ff768b09522bed70}{frame\+\_\+sync}
+\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+
+
+Definition at line 136 of file simple-\/egl.\+cpp.
+
+
+
+\subsection{Member Data Documentation}
+\index{window@{window}!benchmark\+\_\+time@{benchmark\+\_\+time}}
+\index{benchmark\+\_\+time@{benchmark\+\_\+time}!window@{window}}
+\subsubsection[{\texorpdfstring{benchmark\+\_\+time}{benchmark_time}}]{\setlength{\rightskip}{0pt plus 5cm}uint32\+\_\+t window\+::benchmark\+\_\+time}\hypertarget{structwindow_a72629bf021a361ad900504732a74cb68}{}\label{structwindow_a72629bf021a361ad900504732a74cb68}
+
+
+Definition at line 145 of file simple-\/egl.\+cpp.
+
+\index{window@{window}!buffer\+\_\+size@{buffer\+\_\+size}}
+\index{buffer\+\_\+size@{buffer\+\_\+size}!window@{window}}
+\subsubsection[{\texorpdfstring{buffer\+\_\+size}{buffer_size}}]{\setlength{\rightskip}{0pt plus 5cm}int window\+::buffer\+\_\+size}\hypertarget{structwindow_a0e634038f669aff472012f25ea250b40}{}\label{structwindow_a0e634038f669aff472012f25ea250b40}
+
+
+Definition at line 151 of file simple-\/egl.\+cpp.
+
+\index{window@{window}!callback@{callback}}
+\index{callback@{callback}!window@{window}}
+\subsubsection[{\texorpdfstring{callback}{callback}}]{\setlength{\rightskip}{0pt plus 5cm}struct wl\+\_\+callback$\ast$ window\+::callback}\hypertarget{structwindow_a35ba639556fa19d9273dad0953a6807e}{}\label{structwindow_a35ba639556fa19d9273dad0953a6807e}
+
+
+Definition at line 150 of file simple-\/egl.\+cpp.
+
+\index{window@{window}!col@{col}}
+\index{col@{col}!window@{window}}
+\subsubsection[{\texorpdfstring{col}{col}}]{\setlength{\rightskip}{0pt plus 5cm}G\+Luint window\+::col}\hypertarget{structwindow_aef10fe94766ccd4831ee611c5ad0e55c}{}\label{structwindow_aef10fe94766ccd4831ee611c5ad0e55c}
+
+
+Definition at line 142 of file simple-\/egl.\+cpp.
+
+\index{window@{window}!display@{display}}
+\index{display@{display}!window@{window}}
+\subsubsection[{\texorpdfstring{display}{display}}]{\setlength{\rightskip}{0pt plus 5cm}struct {\bf display}$\ast$ window\+::display}\hypertarget{structwindow_a129486f2bd23791194f389ca1405cfd4}{}\label{structwindow_a129486f2bd23791194f389ca1405cfd4}
+
+
+Definition at line 137 of file simple-\/egl.\+cpp.
+
+\index{window@{window}!egl\+\_\+surface@{egl\+\_\+surface}}
+\index{egl\+\_\+surface@{egl\+\_\+surface}!window@{window}}
+\subsubsection[{\texorpdfstring{egl\+\_\+surface}{egl_surface}}]{\setlength{\rightskip}{0pt plus 5cm}E\+G\+L\+Surface window\+::egl\+\_\+surface}\hypertarget{structwindow_a8de0059f3f1cb0dec33fba1143b7dee1}{}\label{structwindow_a8de0059f3f1cb0dec33fba1143b7dee1}
+
+
+Definition at line 149 of file simple-\/egl.\+cpp.
+
+\index{window@{window}!frame\+\_\+sync@{frame\+\_\+sync}}
+\index{frame\+\_\+sync@{frame\+\_\+sync}!window@{window}}
+\subsubsection[{\texorpdfstring{frame\+\_\+sync}{frame_sync}}]{\setlength{\rightskip}{0pt plus 5cm}int window\+::frame\+\_\+sync}\hypertarget{structwindow_a851bcb65083f5ab5ff768b09522bed70}{}\label{structwindow_a851bcb65083f5ab5ff768b09522bed70}
+
+
+Definition at line 151 of file simple-\/egl.\+cpp.
+
+\index{window@{window}!frames@{frames}}
+\index{frames@{frames}!window@{window}}
+\subsubsection[{\texorpdfstring{frames}{frames}}]{\setlength{\rightskip}{0pt plus 5cm}uint32\+\_\+t window\+::frames}\hypertarget{structwindow_a633864bb495ec265bee220a5c70cc98f}{}\label{structwindow_a633864bb495ec265bee220a5c70cc98f}
+
+
+Definition at line 145 of file simple-\/egl.\+cpp.
+
+\index{window@{window}!fullscreen@{fullscreen}}
+\index{fullscreen@{fullscreen}!window@{window}}
+\subsubsection[{\texorpdfstring{fullscreen}{fullscreen}}]{\setlength{\rightskip}{0pt plus 5cm}int window\+::fullscreen}\hypertarget{structwindow_a8da44798a9e1feb7ed3fbd18ec3a28b6}{}\label{structwindow_a8da44798a9e1feb7ed3fbd18ec3a28b6}
+
+
+Definition at line 151 of file simple-\/egl.\+cpp.
+
+\index{window@{window}!gl@{gl}}
+\index{gl@{gl}!window@{window}}
+\subsubsection[{\texorpdfstring{gl}{gl}}]{\setlength{\rightskip}{0pt plus 5cm}struct \{ ... \}   window\+::gl}\hypertarget{structwindow_a6975a930e9a3c166f8201fc4ef5e7728}{}\label{structwindow_a6975a930e9a3c166f8201fc4ef5e7728}
+\index{window@{window}!ivi\+\_\+surface@{ivi\+\_\+surface}}
+\index{ivi\+\_\+surface@{ivi\+\_\+surface}!window@{window}}
+\subsubsection[{\texorpdfstring{ivi\+\_\+surface}{ivi_surface}}]{\setlength{\rightskip}{0pt plus 5cm}struct ivi\+\_\+surface$\ast$ window\+::ivi\+\_\+surface}\hypertarget{structwindow_a40e2c6fb4178953c820fc1b9f41d4b31}{}\label{structwindow_a40e2c6fb4178953c820fc1b9f41d4b31}
+
+
+Definition at line 148 of file simple-\/egl.\+cpp.
+
+\index{window@{window}!native@{native}}
+\index{native@{native}!window@{window}}
+\subsubsection[{\texorpdfstring{native}{native}}]{\setlength{\rightskip}{0pt plus 5cm}struct wl\+\_\+egl\+\_\+window$\ast$ window\+::native}\hypertarget{structwindow_ae41be0955d0e73530e1bc13dfeb9d731}{}\label{structwindow_ae41be0955d0e73530e1bc13dfeb9d731}
+
+
+Definition at line 146 of file simple-\/egl.\+cpp.
+
+\index{window@{window}!opaque@{opaque}}
+\index{opaque@{opaque}!window@{window}}
+\subsubsection[{\texorpdfstring{opaque}{opaque}}]{\setlength{\rightskip}{0pt plus 5cm}int window\+::opaque}\hypertarget{structwindow_a026a50808d8323a5a73d585c19916fa8}{}\label{structwindow_a026a50808d8323a5a73d585c19916fa8}
+
+
+Definition at line 151 of file simple-\/egl.\+cpp.
+
+\index{window@{window}!pos@{pos}}
+\index{pos@{pos}!window@{window}}
+\subsubsection[{\texorpdfstring{pos}{pos}}]{\setlength{\rightskip}{0pt plus 5cm}G\+Luint window\+::pos}\hypertarget{structwindow_aaf965f90f9fc938db2315ff62028c362}{}\label{structwindow_aaf965f90f9fc938db2315ff62028c362}
+
+
+Definition at line 141 of file simple-\/egl.\+cpp.
+
+\index{window@{window}!rotation\+\_\+uniform@{rotation\+\_\+uniform}}
+\index{rotation\+\_\+uniform@{rotation\+\_\+uniform}!window@{window}}
+\subsubsection[{\texorpdfstring{rotation\+\_\+uniform}{rotation_uniform}}]{\setlength{\rightskip}{0pt plus 5cm}G\+Luint window\+::rotation\+\_\+uniform}\hypertarget{structwindow_a5202f3b60e262a6fa4fcee68dd47cb67}{}\label{structwindow_a5202f3b60e262a6fa4fcee68dd47cb67}
+
+
+Definition at line 140 of file simple-\/egl.\+cpp.
+
+\index{window@{window}!surface@{surface}}
+\index{surface@{surface}!window@{window}}
+\subsubsection[{\texorpdfstring{surface}{surface}}]{\setlength{\rightskip}{0pt plus 5cm}struct wl\+\_\+surface$\ast$ window\+::surface}\hypertarget{structwindow_a7d0790cfc7c30621611fa26ab5c1ae97}{}\label{structwindow_a7d0790cfc7c30621611fa26ab5c1ae97}
+
+
+Definition at line 147 of file simple-\/egl.\+cpp.
+
+\index{window@{window}!window\+\_\+size@{window\+\_\+size}}
+\index{window\+\_\+size@{window\+\_\+size}!window@{window}}
+\subsubsection[{\texorpdfstring{window\+\_\+size}{window_size}}]{\setlength{\rightskip}{0pt plus 5cm}struct {\bf geometry} {\bf geometry} window\+::window\+\_\+size}\hypertarget{structwindow_ad2b6c8ed8044b41fd1189a0ce26d539a}{}\label{structwindow_ad2b6c8ed8044b41fd1189a0ce26d539a}
+
+
+Definition at line 138 of file simple-\/egl.\+cpp.
+
+
+
+The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
+\item 
+libhomescreen/\hyperlink{simple-egl_8cpp}{simple-\/egl.\+cpp}\end{DoxyCompactItemize}
diff --git a/doc/api-ref/latex/d6/df5/structdisplay.tex b/doc/api-ref/latex/d6/df5/structdisplay.tex
new file mode 100644 (file)
index 0000000..0205443
--- /dev/null
@@ -0,0 +1,116 @@
+\hypertarget{structdisplay}{}\section{display Struct Reference}
+\label{structdisplay}\index{display@{display}}
+\subsection*{Public Attributes}
+\begin{DoxyCompactItemize}
+\item 
+struct wl\+\_\+display $\ast$ \hyperlink{structdisplay_aa8faf09631925e9221fd8a0c086ce75a}{display}
+\item 
+struct wl\+\_\+registry $\ast$ \hyperlink{structdisplay_a925781323f5c8eb84ef2225ed129de4b}{registry}
+\item 
+struct wl\+\_\+compositor $\ast$ \hyperlink{structdisplay_a41ba32dfde812165dda5b62885000c78}{compositor}
+\item 
+struct wl\+\_\+seat $\ast$ \hyperlink{structdisplay_a9dd8fd9967beb6b3767bd93011373bb8}{seat}
+\item 
+\begin{tabbing}
+xx\=xx\=xx\=xx\=xx\=xx\=xx\=xx\=xx\=\kill
+struct \{\\
+\>EGLDisplay \hyperlink{structdisplay_a8a1cbda15a286e41e89a85f158ce9311}{dpy}\\
+\>EGLContext \hyperlink{structdisplay_a3420940a29a710e0e5ebd41ba462cc00}{ctx}\\
+\>EGLConfig \hyperlink{structdisplay_a880aef9408b499f5b749541dc6e396c3}{conf}\\
+\} \hyperlink{structdisplay_a8b8bc104c19ff228d476a377e572d9c7}{egl}\\
+
+\end{tabbing}\item 
+struct \hyperlink{structwindow}{window} $\ast$ \hyperlink{structdisplay_a9974d560bec291487ae2440f897ffc58}{window}
+\item 
+struct ivi\+\_\+application $\ast$ \hyperlink{structdisplay_a24c073faff3bb4799c2d46291f27ab89}{ivi\+\_\+application}
+\item 
+P\+F\+N\+E\+G\+L\+S\+W\+A\+P\+B\+U\+F\+F\+E\+R\+S\+W\+I\+T\+H\+D\+A\+M\+A\+G\+E\+E\+X\+T\+P\+R\+OC \hyperlink{structdisplay_a48c46c118e4765ef06596f6341c8f23f}{swap\+\_\+buffers\+\_\+with\+\_\+damage}
+\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+
+
+Definition at line 116 of file simple-\/egl.\+cpp.
+
+
+
+\subsection{Member Data Documentation}
+\index{display@{display}!compositor@{compositor}}
+\index{compositor@{compositor}!display@{display}}
+\subsubsection[{\texorpdfstring{compositor}{compositor}}]{\setlength{\rightskip}{0pt plus 5cm}struct wl\+\_\+compositor$\ast$ display\+::compositor}\hypertarget{structdisplay_a41ba32dfde812165dda5b62885000c78}{}\label{structdisplay_a41ba32dfde812165dda5b62885000c78}
+
+
+Definition at line 119 of file simple-\/egl.\+cpp.
+
+\index{display@{display}!conf@{conf}}
+\index{conf@{conf}!display@{display}}
+\subsubsection[{\texorpdfstring{conf}{conf}}]{\setlength{\rightskip}{0pt plus 5cm}E\+G\+L\+Config display\+::conf}\hypertarget{structdisplay_a880aef9408b499f5b749541dc6e396c3}{}\label{structdisplay_a880aef9408b499f5b749541dc6e396c3}
+
+
+Definition at line 124 of file simple-\/egl.\+cpp.
+
+\index{display@{display}!ctx@{ctx}}
+\index{ctx@{ctx}!display@{display}}
+\subsubsection[{\texorpdfstring{ctx}{ctx}}]{\setlength{\rightskip}{0pt plus 5cm}E\+G\+L\+Context display\+::ctx}\hypertarget{structdisplay_a3420940a29a710e0e5ebd41ba462cc00}{}\label{structdisplay_a3420940a29a710e0e5ebd41ba462cc00}
+
+
+Definition at line 123 of file simple-\/egl.\+cpp.
+
+\index{display@{display}!display@{display}}
+\index{display@{display}!display@{display}}
+\subsubsection[{\texorpdfstring{display}{display}}]{\setlength{\rightskip}{0pt plus 5cm}struct wl\+\_\+display$\ast$ display\+::display}\hypertarget{structdisplay_aa8faf09631925e9221fd8a0c086ce75a}{}\label{structdisplay_aa8faf09631925e9221fd8a0c086ce75a}
+
+
+Definition at line 117 of file simple-\/egl.\+cpp.
+
+\index{display@{display}!dpy@{dpy}}
+\index{dpy@{dpy}!display@{display}}
+\subsubsection[{\texorpdfstring{dpy}{dpy}}]{\setlength{\rightskip}{0pt plus 5cm}E\+G\+L\+Display display\+::dpy}\hypertarget{structdisplay_a8a1cbda15a286e41e89a85f158ce9311}{}\label{structdisplay_a8a1cbda15a286e41e89a85f158ce9311}
+
+
+Definition at line 122 of file simple-\/egl.\+cpp.
+
+\index{display@{display}!egl@{egl}}
+\index{egl@{egl}!display@{display}}
+\subsubsection[{\texorpdfstring{egl}{egl}}]{\setlength{\rightskip}{0pt plus 5cm}struct \{ ... \}   display\+::egl}\hypertarget{structdisplay_a8b8bc104c19ff228d476a377e572d9c7}{}\label{structdisplay_a8b8bc104c19ff228d476a377e572d9c7}
+\index{display@{display}!ivi\+\_\+application@{ivi\+\_\+application}}
+\index{ivi\+\_\+application@{ivi\+\_\+application}!display@{display}}
+\subsubsection[{\texorpdfstring{ivi\+\_\+application}{ivi_application}}]{\setlength{\rightskip}{0pt plus 5cm}struct ivi\+\_\+application$\ast$ display\+::ivi\+\_\+application}\hypertarget{structdisplay_a24c073faff3bb4799c2d46291f27ab89}{}\label{structdisplay_a24c073faff3bb4799c2d46291f27ab89}
+
+
+Definition at line 127 of file simple-\/egl.\+cpp.
+
+\index{display@{display}!registry@{registry}}
+\index{registry@{registry}!display@{display}}
+\subsubsection[{\texorpdfstring{registry}{registry}}]{\setlength{\rightskip}{0pt plus 5cm}struct wl\+\_\+registry$\ast$ display\+::registry}\hypertarget{structdisplay_a925781323f5c8eb84ef2225ed129de4b}{}\label{structdisplay_a925781323f5c8eb84ef2225ed129de4b}
+
+
+Definition at line 118 of file simple-\/egl.\+cpp.
+
+\index{display@{display}!seat@{seat}}
+\index{seat@{seat}!display@{display}}
+\subsubsection[{\texorpdfstring{seat}{seat}}]{\setlength{\rightskip}{0pt plus 5cm}struct wl\+\_\+seat$\ast$ display\+::seat}\hypertarget{structdisplay_a9dd8fd9967beb6b3767bd93011373bb8}{}\label{structdisplay_a9dd8fd9967beb6b3767bd93011373bb8}
+
+
+Definition at line 120 of file simple-\/egl.\+cpp.
+
+\index{display@{display}!swap\+\_\+buffers\+\_\+with\+\_\+damage@{swap\+\_\+buffers\+\_\+with\+\_\+damage}}
+\index{swap\+\_\+buffers\+\_\+with\+\_\+damage@{swap\+\_\+buffers\+\_\+with\+\_\+damage}!display@{display}}
+\subsubsection[{\texorpdfstring{swap\+\_\+buffers\+\_\+with\+\_\+damage}{swap_buffers_with_damage}}]{\setlength{\rightskip}{0pt plus 5cm}P\+F\+N\+E\+G\+L\+S\+W\+A\+P\+B\+U\+F\+F\+E\+R\+S\+W\+I\+T\+H\+D\+A\+M\+A\+G\+E\+E\+X\+T\+P\+R\+OC display\+::swap\+\_\+buffers\+\_\+with\+\_\+damage}\hypertarget{structdisplay_a48c46c118e4765ef06596f6341c8f23f}{}\label{structdisplay_a48c46c118e4765ef06596f6341c8f23f}
+
+
+Definition at line 129 of file simple-\/egl.\+cpp.
+
+\index{display@{display}!window@{window}}
+\index{window@{window}!display@{display}}
+\subsubsection[{\texorpdfstring{window}{window}}]{\setlength{\rightskip}{0pt plus 5cm}struct {\bf window}$\ast$ display\+::window}\hypertarget{structdisplay_a9974d560bec291487ae2440f897ffc58}{}\label{structdisplay_a9974d560bec291487ae2440f897ffc58}
+
+
+Definition at line 126 of file simple-\/egl.\+cpp.
+
+
+
+The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
+\item 
+libhomescreen/\hyperlink{simple-egl_8cpp}{simple-\/egl.\+cpp}\end{DoxyCompactItemize}
diff --git a/doc/api-ref/latex/d6/dff/src_2hmi-debug_8h.tex b/doc/api-ref/latex/d6/dff/src_2hmi-debug_8h.tex
new file mode 100644 (file)
index 0000000..7aa760c
--- /dev/null
@@ -0,0 +1,242 @@
+\hypertarget{src_2hmi-debug_8h}{}\section{src/hmi-\/debug.h File Reference}
+\label{src_2hmi-debug_8h}\index{src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}}
+{\ttfamily \#include $<$time.\+h$>$}\\*
+{\ttfamily \#include $<$stdio.\+h$>$}\\*
+{\ttfamily \#include $<$stdarg.\+h$>$}\\*
+{\ttfamily \#include $<$string.\+h$>$}\\*
+{\ttfamily \#include $<$stdlib.\+h$>$}\\*
+\subsection*{Macros}
+\begin{DoxyCompactItemize}
+\item 
+\#define \hyperlink{src_2hmi-debug_8h_a5fccb4fc71e44089a1b1a77fc76c0b68}{\+\_\+\+\_\+\+F\+I\+L\+E\+N\+A\+M\+E\+\_\+\+\_\+}~(strrchr(\+\_\+\+\_\+\+F\+I\+L\+E\+\_\+\+\_\+, \textquotesingle{}/\textquotesingle{}) ? strrchr(\+\_\+\+\_\+\+F\+I\+L\+E\+\_\+\+\_\+, \textquotesingle{}/\textquotesingle{}) + 1 \+: \+\_\+\+\_\+\+F\+I\+L\+E\+\_\+\+\_\+)
+\item 
+\#define \hyperlink{src_2hmi-debug_8h_a65bb6c7cfe38f8a724beab5059d36fb2}{H\+M\+I\+\_\+\+E\+R\+R\+OR}(prefix,  args, ...)~\hyperlink{src_2hmi-debug_8h_a0846b9d51e2e0612c4825a9a581aa40a}{\+\_\+\+H\+M\+I\+\_\+\+L\+OG}(\hyperlink{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+E\+R\+R\+OR}, \hyperlink{src_2hmi-debug_8h_a5fccb4fc71e44089a1b1a77fc76c0b68}{\+\_\+\+\_\+\+F\+I\+L\+E\+N\+A\+M\+E\+\_\+\+\_\+}, \+\_\+\+\_\+\+F\+U\+N\+C\+T\+I\+O\+N\+\_\+\+\_\+, \+\_\+\+\_\+\+L\+I\+N\+E\+\_\+\+\_\+, prefix, args, \#\#\+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+)
+\item 
+\#define \hyperlink{src_2hmi-debug_8h_a25361812432cd2480bc8f1a8e56ecbf7}{H\+M\+I\+\_\+\+W\+A\+R\+N\+I\+NG}(prefix,  args, ...)~\hyperlink{src_2hmi-debug_8h_a0846b9d51e2e0612c4825a9a581aa40a}{\+\_\+\+H\+M\+I\+\_\+\+L\+OG}(\hyperlink{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+W\+A\+R\+N\+I\+NG}, \hyperlink{src_2hmi-debug_8h_a5fccb4fc71e44089a1b1a77fc76c0b68}{\+\_\+\+\_\+\+F\+I\+L\+E\+N\+A\+M\+E\+\_\+\+\_\+}, \+\_\+\+\_\+\+F\+U\+N\+C\+T\+I\+O\+N\+\_\+\+\_\+,\+\_\+\+\_\+\+L\+I\+N\+E\+\_\+\+\_\+, prefix, args,\#\#\+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+)
+\item 
+\#define \hyperlink{src_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{H\+M\+I\+\_\+\+N\+O\+T\+I\+CE}(prefix,  args, ...)~\hyperlink{src_2hmi-debug_8h_a0846b9d51e2e0612c4825a9a581aa40a}{\+\_\+\+H\+M\+I\+\_\+\+L\+OG}(\hyperlink{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+T\+I\+CE}, \hyperlink{src_2hmi-debug_8h_a5fccb4fc71e44089a1b1a77fc76c0b68}{\+\_\+\+\_\+\+F\+I\+L\+E\+N\+A\+M\+E\+\_\+\+\_\+}, \+\_\+\+\_\+\+F\+U\+N\+C\+T\+I\+O\+N\+\_\+\+\_\+,\+\_\+\+\_\+\+L\+I\+N\+E\+\_\+\+\_\+, prefix, args,\#\#\+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+)
+\item 
+\#define \hyperlink{src_2hmi-debug_8h_a11b249a67108f0f4c50a0fc8a3eb4f5c}{H\+M\+I\+\_\+\+I\+N\+FO}(prefix,  args, ...)~\hyperlink{src_2hmi-debug_8h_a0846b9d51e2e0612c4825a9a581aa40a}{\+\_\+\+H\+M\+I\+\_\+\+L\+OG}(\hyperlink{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+I\+N\+FO}, \hyperlink{src_2hmi-debug_8h_a5fccb4fc71e44089a1b1a77fc76c0b68}{\+\_\+\+\_\+\+F\+I\+L\+E\+N\+A\+M\+E\+\_\+\+\_\+}, \+\_\+\+\_\+\+F\+U\+N\+C\+T\+I\+O\+N\+\_\+\+\_\+,\+\_\+\+\_\+\+L\+I\+N\+E\+\_\+\+\_\+, prefix, args,\#\#\+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+)
+\item 
+\#define \hyperlink{src_2hmi-debug_8h_a0d26d8b8201011dade787236519711c0}{H\+M\+I\+\_\+\+D\+E\+B\+UG}(prefix,  args, ...)~\hyperlink{src_2hmi-debug_8h_a0846b9d51e2e0612c4825a9a581aa40a}{\+\_\+\+H\+M\+I\+\_\+\+L\+OG}(\hyperlink{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+D\+E\+B\+UG}, \hyperlink{src_2hmi-debug_8h_a5fccb4fc71e44089a1b1a77fc76c0b68}{\+\_\+\+\_\+\+F\+I\+L\+E\+N\+A\+M\+E\+\_\+\+\_\+}, \+\_\+\+\_\+\+F\+U\+N\+C\+T\+I\+O\+N\+\_\+\+\_\+,\+\_\+\+\_\+\+L\+I\+N\+E\+\_\+\+\_\+, prefix, args,\#\#\+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+)
+\end{DoxyCompactItemize}
+\subsection*{Enumerations}
+\begin{DoxyCompactItemize}
+\item 
+enum \hyperlink{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583}{L\+O\+G\+\_\+\+L\+E\+V\+EL} \{ \\*
+\hyperlink{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+NE} = 0, 
+\hyperlink{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+E\+R\+R\+OR}, 
+\hyperlink{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+W\+A\+R\+N\+I\+NG}, 
+\hyperlink{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+T\+I\+CE}, 
+\\*
+\hyperlink{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+I\+N\+FO}, 
+\hyperlink{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+D\+E\+B\+UG}, 
+\hyperlink{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+M\+AX} = L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+D\+E\+B\+UG, 
+\hyperlink{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+NE} = 0, 
+\\*
+\hyperlink{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+E\+R\+R\+OR}, 
+\hyperlink{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+W\+A\+R\+N\+I\+NG}, 
+\hyperlink{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+T\+I\+CE}, 
+\hyperlink{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+I\+N\+FO}, 
+\\*
+\hyperlink{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+D\+E\+B\+UG}, 
+\hyperlink{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+M\+AX} = L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+D\+E\+B\+UG
+ \}
+\end{DoxyCompactItemize}
+\subsection*{Functions}
+\begin{DoxyCompactItemize}
+\item 
+static void \hyperlink{src_2hmi-debug_8h_a0846b9d51e2e0612c4825a9a581aa40a}{\+\_\+\+H\+M\+I\+\_\+\+L\+OG} (enum \hyperlink{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583}{L\+O\+G\+\_\+\+L\+E\+V\+EL} level, const char $\ast$file, const char $\ast$func, const int line, const char $\ast$prefix, const char $\ast$log,...)
+\end{DoxyCompactItemize}
+\subsection*{Variables}
+\begin{DoxyCompactItemize}
+\item 
+static char \hyperlink{src_2hmi-debug_8h_a13d4c7647aad2e84766f8b48a6caab09}{E\+R\+R\+O\+R\+\_\+\+F\+L\+AG} \mbox{[}6\mbox{]}\mbox{[}20\mbox{]} = \{\char`\"{}N\+O\+NE\char`\"{}, \char`\"{}E\+R\+R\+OR\char`\"{}, \char`\"{}W\+A\+R\+N\+I\+NG\char`\"{}, \char`\"{}N\+O\+T\+I\+CE\char`\"{}, \char`\"{}I\+N\+FO\char`\"{}, \char`\"{}D\+E\+B\+UG\char`\"{}\}
+\end{DoxyCompactItemize}
+
+
+\subsection{Macro Definition Documentation}
+\index{src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}!\+\_\+\+\_\+\+F\+I\+L\+E\+N\+A\+M\+E\+\_\+\+\_\+@{\+\_\+\+\_\+\+F\+I\+L\+E\+N\+A\+M\+E\+\_\+\+\_\+}}
+\index{\+\_\+\+\_\+\+F\+I\+L\+E\+N\+A\+M\+E\+\_\+\+\_\+@{\+\_\+\+\_\+\+F\+I\+L\+E\+N\+A\+M\+E\+\_\+\+\_\+}!src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}}
+\subsubsection[{\texorpdfstring{\+\_\+\+\_\+\+F\+I\+L\+E\+N\+A\+M\+E\+\_\+\+\_\+}{__FILENAME__}}]{\setlength{\rightskip}{0pt plus 5cm}\#define \+\_\+\+\_\+\+F\+I\+L\+E\+N\+A\+M\+E\+\_\+\+\_\+~(strrchr(\+\_\+\+\_\+\+F\+I\+L\+E\+\_\+\+\_\+, \textquotesingle{}/\textquotesingle{}) ? strrchr(\+\_\+\+\_\+\+F\+I\+L\+E\+\_\+\+\_\+, \textquotesingle{}/\textquotesingle{}) + 1 \+: \+\_\+\+\_\+\+F\+I\+L\+E\+\_\+\+\_\+)}\hypertarget{src_2hmi-debug_8h_a5fccb4fc71e44089a1b1a77fc76c0b68}{}\label{src_2hmi-debug_8h_a5fccb4fc71e44089a1b1a77fc76c0b68}
+
+
+Definition at line 40 of file hmi-\/debug.\+h.
+
+\index{src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}!H\+M\+I\+\_\+\+D\+E\+B\+UG@{H\+M\+I\+\_\+\+D\+E\+B\+UG}}
+\index{H\+M\+I\+\_\+\+D\+E\+B\+UG@{H\+M\+I\+\_\+\+D\+E\+B\+UG}!src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}}
+\subsubsection[{\texorpdfstring{H\+M\+I\+\_\+\+D\+E\+B\+UG}{HMI_DEBUG}}]{\setlength{\rightskip}{0pt plus 5cm}\#define H\+M\+I\+\_\+\+D\+E\+B\+UG(
+\begin{DoxyParamCaption}
+\item[{}]{prefix, }
+\item[{}]{args, }
+\item[{}]{...}
+\end{DoxyParamCaption}
+)~{\bf \+\_\+\+H\+M\+I\+\_\+\+L\+OG}({\bf L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+D\+E\+B\+UG}, {\bf \+\_\+\+\_\+\+F\+I\+L\+E\+N\+A\+M\+E\+\_\+\+\_\+}, \+\_\+\+\_\+\+F\+U\+N\+C\+T\+I\+O\+N\+\_\+\+\_\+,\+\_\+\+\_\+\+L\+I\+N\+E\+\_\+\+\_\+, prefix, args,\#\#\+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+)}\hypertarget{src_2hmi-debug_8h_a0d26d8b8201011dade787236519711c0}{}\label{src_2hmi-debug_8h_a0d26d8b8201011dade787236519711c0}
+
+
+Definition at line 46 of file hmi-\/debug.\+h.
+
+\index{src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}!H\+M\+I\+\_\+\+E\+R\+R\+OR@{H\+M\+I\+\_\+\+E\+R\+R\+OR}}
+\index{H\+M\+I\+\_\+\+E\+R\+R\+OR@{H\+M\+I\+\_\+\+E\+R\+R\+OR}!src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}}
+\subsubsection[{\texorpdfstring{H\+M\+I\+\_\+\+E\+R\+R\+OR}{HMI_ERROR}}]{\setlength{\rightskip}{0pt plus 5cm}\#define H\+M\+I\+\_\+\+E\+R\+R\+OR(
+\begin{DoxyParamCaption}
+\item[{}]{prefix, }
+\item[{}]{args, }
+\item[{}]{...}
+\end{DoxyParamCaption}
+)~{\bf \+\_\+\+H\+M\+I\+\_\+\+L\+OG}({\bf L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+E\+R\+R\+OR}, {\bf \+\_\+\+\_\+\+F\+I\+L\+E\+N\+A\+M\+E\+\_\+\+\_\+}, \+\_\+\+\_\+\+F\+U\+N\+C\+T\+I\+O\+N\+\_\+\+\_\+, \+\_\+\+\_\+\+L\+I\+N\+E\+\_\+\+\_\+, prefix, args, \#\#\+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+)}\hypertarget{src_2hmi-debug_8h_a65bb6c7cfe38f8a724beab5059d36fb2}{}\label{src_2hmi-debug_8h_a65bb6c7cfe38f8a724beab5059d36fb2}
+
+
+Definition at line 42 of file hmi-\/debug.\+h.
+
+\index{src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}!H\+M\+I\+\_\+\+I\+N\+FO@{H\+M\+I\+\_\+\+I\+N\+FO}}
+\index{H\+M\+I\+\_\+\+I\+N\+FO@{H\+M\+I\+\_\+\+I\+N\+FO}!src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}}
+\subsubsection[{\texorpdfstring{H\+M\+I\+\_\+\+I\+N\+FO}{HMI_INFO}}]{\setlength{\rightskip}{0pt plus 5cm}\#define H\+M\+I\+\_\+\+I\+N\+FO(
+\begin{DoxyParamCaption}
+\item[{}]{prefix, }
+\item[{}]{args, }
+\item[{}]{...}
+\end{DoxyParamCaption}
+)~{\bf \+\_\+\+H\+M\+I\+\_\+\+L\+OG}({\bf L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+I\+N\+FO}, {\bf \+\_\+\+\_\+\+F\+I\+L\+E\+N\+A\+M\+E\+\_\+\+\_\+}, \+\_\+\+\_\+\+F\+U\+N\+C\+T\+I\+O\+N\+\_\+\+\_\+,\+\_\+\+\_\+\+L\+I\+N\+E\+\_\+\+\_\+, prefix, args,\#\#\+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+)}\hypertarget{src_2hmi-debug_8h_a11b249a67108f0f4c50a0fc8a3eb4f5c}{}\label{src_2hmi-debug_8h_a11b249a67108f0f4c50a0fc8a3eb4f5c}
+
+
+Definition at line 45 of file hmi-\/debug.\+h.
+
+\index{src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}!H\+M\+I\+\_\+\+N\+O\+T\+I\+CE@{H\+M\+I\+\_\+\+N\+O\+T\+I\+CE}}
+\index{H\+M\+I\+\_\+\+N\+O\+T\+I\+CE@{H\+M\+I\+\_\+\+N\+O\+T\+I\+CE}!src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}}
+\subsubsection[{\texorpdfstring{H\+M\+I\+\_\+\+N\+O\+T\+I\+CE}{HMI_NOTICE}}]{\setlength{\rightskip}{0pt plus 5cm}\#define H\+M\+I\+\_\+\+N\+O\+T\+I\+CE(
+\begin{DoxyParamCaption}
+\item[{}]{prefix, }
+\item[{}]{args, }
+\item[{}]{...}
+\end{DoxyParamCaption}
+)~{\bf \+\_\+\+H\+M\+I\+\_\+\+L\+OG}({\bf L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+T\+I\+CE}, {\bf \+\_\+\+\_\+\+F\+I\+L\+E\+N\+A\+M\+E\+\_\+\+\_\+}, \+\_\+\+\_\+\+F\+U\+N\+C\+T\+I\+O\+N\+\_\+\+\_\+,\+\_\+\+\_\+\+L\+I\+N\+E\+\_\+\+\_\+, prefix, args,\#\#\+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+)}\hypertarget{src_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{}\label{src_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}
+
+
+Definition at line 44 of file hmi-\/debug.\+h.
+
+\index{src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}!H\+M\+I\+\_\+\+W\+A\+R\+N\+I\+NG@{H\+M\+I\+\_\+\+W\+A\+R\+N\+I\+NG}}
+\index{H\+M\+I\+\_\+\+W\+A\+R\+N\+I\+NG@{H\+M\+I\+\_\+\+W\+A\+R\+N\+I\+NG}!src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}}
+\subsubsection[{\texorpdfstring{H\+M\+I\+\_\+\+W\+A\+R\+N\+I\+NG}{HMI_WARNING}}]{\setlength{\rightskip}{0pt plus 5cm}\#define H\+M\+I\+\_\+\+W\+A\+R\+N\+I\+NG(
+\begin{DoxyParamCaption}
+\item[{}]{prefix, }
+\item[{}]{args, }
+\item[{}]{...}
+\end{DoxyParamCaption}
+)~{\bf \+\_\+\+H\+M\+I\+\_\+\+L\+OG}({\bf L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+W\+A\+R\+N\+I\+NG}, {\bf \+\_\+\+\_\+\+F\+I\+L\+E\+N\+A\+M\+E\+\_\+\+\_\+}, \+\_\+\+\_\+\+F\+U\+N\+C\+T\+I\+O\+N\+\_\+\+\_\+,\+\_\+\+\_\+\+L\+I\+N\+E\+\_\+\+\_\+, prefix, args,\#\#\+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+)}\hypertarget{src_2hmi-debug_8h_a25361812432cd2480bc8f1a8e56ecbf7}{}\label{src_2hmi-debug_8h_a25361812432cd2480bc8f1a8e56ecbf7}
+
+
+Definition at line 43 of file hmi-\/debug.\+h.
+
+
+
+\subsection{Enumeration Type Documentation}
+\index{src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}!L\+O\+G\+\_\+\+L\+E\+V\+EL@{L\+O\+G\+\_\+\+L\+E\+V\+EL}}
+\index{L\+O\+G\+\_\+\+L\+E\+V\+EL@{L\+O\+G\+\_\+\+L\+E\+V\+EL}!src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}}
+\subsubsection[{\texorpdfstring{L\+O\+G\+\_\+\+L\+E\+V\+EL}{LOG_LEVEL}}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf L\+O\+G\+\_\+\+L\+E\+V\+EL}}\hypertarget{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583}{}\label{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583}
+\begin{Desc}
+\item[Enumerator]\par
+\begin{description}
+\index{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+NE@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+NE}!src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}}\index{src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}!L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+NE@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+NE}}\item[{\em 
+L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+NE\hypertarget{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848}{}\label{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848}
+}]\index{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+E\+R\+R\+OR@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+E\+R\+R\+OR}!src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}}\index{src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}!L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+E\+R\+R\+OR@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+E\+R\+R\+OR}}\item[{\em 
+L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+E\+R\+R\+OR\hypertarget{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f}{}\label{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f}
+}]\index{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+W\+A\+R\+N\+I\+NG@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+W\+A\+R\+N\+I\+NG}!src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}}\index{src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}!L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+W\+A\+R\+N\+I\+NG@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+W\+A\+R\+N\+I\+NG}}\item[{\em 
+L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+W\+A\+R\+N\+I\+NG\hypertarget{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef}{}\label{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef}
+}]\index{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+T\+I\+CE@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+T\+I\+CE}!src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}}\index{src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}!L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+T\+I\+CE@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+T\+I\+CE}}\item[{\em 
+L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+T\+I\+CE\hypertarget{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e}{}\label{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e}
+}]\index{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+I\+N\+FO@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+I\+N\+FO}!src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}}\index{src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}!L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+I\+N\+FO@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+I\+N\+FO}}\item[{\em 
+L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+I\+N\+FO\hypertarget{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4}{}\label{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4}
+}]\index{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+D\+E\+B\+UG@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+D\+E\+B\+UG}!src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}}\index{src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}!L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+D\+E\+B\+UG@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+D\+E\+B\+UG}}\item[{\em 
+L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+D\+E\+B\+UG\hypertarget{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177}{}\label{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177}
+}]\index{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+M\+AX@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+M\+AX}!src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}}\index{src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}!L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+M\+AX@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+M\+AX}}\item[{\em 
+L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+M\+AX\hypertarget{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444}{}\label{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444}
+}]\index{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+NE@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+NE}!src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}}\index{src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}!L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+NE@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+NE}}\item[{\em 
+L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+NE\hypertarget{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848}{}\label{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848}
+}]\index{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+E\+R\+R\+OR@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+E\+R\+R\+OR}!src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}}\index{src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}!L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+E\+R\+R\+OR@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+E\+R\+R\+OR}}\item[{\em 
+L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+E\+R\+R\+OR\hypertarget{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f}{}\label{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f}
+}]\index{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+W\+A\+R\+N\+I\+NG@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+W\+A\+R\+N\+I\+NG}!src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}}\index{src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}!L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+W\+A\+R\+N\+I\+NG@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+W\+A\+R\+N\+I\+NG}}\item[{\em 
+L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+W\+A\+R\+N\+I\+NG\hypertarget{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef}{}\label{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef}
+}]\index{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+T\+I\+CE@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+T\+I\+CE}!src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}}\index{src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}!L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+T\+I\+CE@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+T\+I\+CE}}\item[{\em 
+L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+T\+I\+CE\hypertarget{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e}{}\label{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e}
+}]\index{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+I\+N\+FO@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+I\+N\+FO}!src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}}\index{src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}!L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+I\+N\+FO@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+I\+N\+FO}}\item[{\em 
+L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+I\+N\+FO\hypertarget{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4}{}\label{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4}
+}]\index{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+D\+E\+B\+UG@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+D\+E\+B\+UG}!src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}}\index{src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}!L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+D\+E\+B\+UG@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+D\+E\+B\+UG}}\item[{\em 
+L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+D\+E\+B\+UG\hypertarget{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177}{}\label{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177}
+}]\index{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+M\+AX@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+M\+AX}!src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}}\index{src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}!L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+M\+AX@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+M\+AX}}\item[{\em 
+L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+M\+AX\hypertarget{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444}{}\label{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444}
+}]\end{description}
+\end{Desc}
+
+
+Definition at line 30 of file hmi-\/debug.\+h.
+
+
+\begin{DoxyCode}
+30               \{
+31     \hyperlink{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848}{LOG\_LEVEL\_NONE} = 0,
+32     \hyperlink{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f}{LOG\_LEVEL\_ERROR},
+33     \hyperlink{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef}{LOG\_LEVEL\_WARNING},
+34     \hyperlink{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e}{LOG\_LEVEL\_NOTICE},
+35     \hyperlink{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4}{LOG\_LEVEL\_INFO},
+36     \hyperlink{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177}{LOG\_LEVEL\_DEBUG},
+37     \hyperlink{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444}{LOG\_LEVEL\_MAX} = LOG\_LEVEL\_DEBUG
+38 \};
+\end{DoxyCode}
+
+
+\subsection{Function Documentation}
+\index{src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}!\+\_\+\+H\+M\+I\+\_\+\+L\+OG@{\+\_\+\+H\+M\+I\+\_\+\+L\+OG}}
+\index{\+\_\+\+H\+M\+I\+\_\+\+L\+OG@{\+\_\+\+H\+M\+I\+\_\+\+L\+OG}!src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}}
+\subsubsection[{\texorpdfstring{\+\_\+\+H\+M\+I\+\_\+\+L\+O\+G(enum L\+O\+G\+\_\+\+L\+E\+V\+E\+L level, const char $\ast$file, const char $\ast$func, const int line, const char $\ast$prefix, const char $\ast$log,...)}{_HMI_LOG(enum LOG_LEVEL level, const char *file, const char *func, const int line, const char *prefix, const char *log,...)}}]{\setlength{\rightskip}{0pt plus 5cm}static void \+\_\+\+H\+M\+I\+\_\+\+L\+OG (
+\begin{DoxyParamCaption}
+\item[{enum {\bf L\+O\+G\+\_\+\+L\+E\+V\+EL}}]{level, }
+\item[{const char $\ast$}]{file, }
+\item[{const char $\ast$}]{func, }
+\item[{const int}]{line, }
+\item[{const char $\ast$}]{prefix, }
+\item[{const char $\ast$}]{log, }
+\item[{}]{...}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{src_2hmi-debug_8h_a0846b9d51e2e0612c4825a9a581aa40a}{}\label{src_2hmi-debug_8h_a0846b9d51e2e0612c4825a9a581aa40a}
+
+
+Definition at line 50 of file hmi-\/debug.\+h.
+
+
+\begin{DoxyCode}
+51 \{
+52     \textcolor{keyword}{const} \textcolor{keywordtype}{int} log\_level = (getenv(\textcolor{stringliteral}{"USE\_HMI\_DEBUG"}) == NULL)?\hyperlink{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f}{LOG\_LEVEL\_ERROR}:atoi(getenv(\textcolor{stringliteral}{"
+      USE\_HMI\_DEBUG"}));
+53     \textcolor{keywordflow}{if}(log\_level < level)
+54     \{
+55         \textcolor{keywordflow}{return};
+56     \}
+57 
+58     \textcolor{keywordtype}{char} *message;
+59     \textcolor{keyword}{struct }timespec tp;
+60     \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} time;
+61 
+62     clock\_gettime(CLOCK\_REALTIME, &tp);
+63     time = (tp.tv\_sec * 1000000L) + (tp.tv\_nsec / 1000);
+64 
+65     va\_list args;
+66     va\_start(args, log);
+67     \textcolor{keywordflow}{if} (log == NULL || vasprintf(&message, log, args) < 0)
+68         message = NULL;
+69     fprintf(stderr,  \textcolor{stringliteral}{"[%10.3f] [%s %s] [%s, %s(), Line:%d] >>> %s \(\backslash\)n"}, time / 1000.0, prefix, 
+      \hyperlink{src_2hmi-debug_8h_a13d4c7647aad2e84766f8b48a6caab09}{ERROR\_FLAG}[level], file, func, line, message);
+70     va\_end(args);
+71     free(message);
+72 \}
+\end{DoxyCode}
+
+
+\subsection{Variable Documentation}
+\index{src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}!E\+R\+R\+O\+R\+\_\+\+F\+L\+AG@{E\+R\+R\+O\+R\+\_\+\+F\+L\+AG}}
+\index{E\+R\+R\+O\+R\+\_\+\+F\+L\+AG@{E\+R\+R\+O\+R\+\_\+\+F\+L\+AG}!src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}}
+\subsubsection[{\texorpdfstring{E\+R\+R\+O\+R\+\_\+\+F\+L\+AG}{ERROR_FLAG}}]{\setlength{\rightskip}{0pt plus 5cm}char E\+R\+R\+O\+R\+\_\+\+F\+L\+AG\mbox{[}6\mbox{]}\mbox{[}20\mbox{]} = \{\char`\"{}N\+O\+NE\char`\"{}, \char`\"{}E\+R\+R\+OR\char`\"{}, \char`\"{}W\+A\+R\+N\+I\+NG\char`\"{}, \char`\"{}N\+O\+T\+I\+CE\char`\"{}, \char`\"{}I\+N\+FO\char`\"{}, \char`\"{}D\+E\+B\+UG\char`\"{}\}\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{src_2hmi-debug_8h_a13d4c7647aad2e84766f8b48a6caab09}{}\label{src_2hmi-debug_8h_a13d4c7647aad2e84766f8b48a6caab09}
+
+
+Definition at line 48 of file hmi-\/debug.\+h.
+
diff --git a/doc/api-ref/latex/d8/d55/hs-client_8cpp.tex b/doc/api-ref/latex/d8/d55/hs-client_8cpp.tex
new file mode 100644 (file)
index 0000000..54740d3
--- /dev/null
@@ -0,0 +1,65 @@
+\hypertarget{hs-client_8cpp}{}\section{src/hs-\/client.cpp File Reference}
+\label{hs-client_8cpp}\index{src/hs-\/client.\+cpp@{src/hs-\/client.\+cpp}}
+{\ttfamily \#include \char`\"{}hs-\/client.\+h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}hs-\/helper.\+h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}hmi-\/debug.\+h\char`\"{}}\\*
+\subsection*{Variables}
+\begin{DoxyCompactItemize}
+\item 
+static const char \hyperlink{hs-client_8cpp_a1c24b43242df87f75631175c75afdcda}{\+\_\+type} \mbox{[}$\,$\mbox{]} = \char`\"{}type\char`\"{}
+\item 
+static const char \hyperlink{hs-client_8cpp_ad177811d47939fe9404de88672a980ab}{\+\_\+text} \mbox{[}$\,$\mbox{]} = \char`\"{}text\char`\"{}
+\item 
+static const char \hyperlink{hs-client_8cpp_ae125cd80cb98582684636e46ecf33cac}{\+\_\+info} \mbox{[}$\,$\mbox{]} = \char`\"{}info\char`\"{}
+\item 
+static const char \hyperlink{hs-client_8cpp_a5476c8a51997c773220bec9fc02eeaf5}{\+\_\+icon} \mbox{[}$\,$\mbox{]} = \char`\"{}icon\char`\"{}
+\item 
+static const char \hyperlink{hs-client_8cpp_ae3fc16098a2461f2f1ae0ac8561437c6}{\+\_\+parameter} \mbox{[}$\,$\mbox{]} = \char`\"{}parameter\char`\"{}
+\item 
+static const char \hyperlink{hs-client_8cpp_ac5b722c0d87d2b0e3dfc527b44a1f5db}{\+\_\+replyto} \mbox{[}$\,$\mbox{]} = \char`\"{}replyto\char`\"{}
+\end{DoxyCompactItemize}
+
+
+\subsection{Variable Documentation}
+\index{hs-\/client.\+cpp@{hs-\/client.\+cpp}!\+\_\+icon@{\+\_\+icon}}
+\index{\+\_\+icon@{\+\_\+icon}!hs-\/client.\+cpp@{hs-\/client.\+cpp}}
+\subsubsection[{\texorpdfstring{\+\_\+icon}{_icon}}]{\setlength{\rightskip}{0pt plus 5cm}const char \+\_\+icon\mbox{[}$\,$\mbox{]} = \char`\"{}icon\char`\"{}\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{hs-client_8cpp_a5476c8a51997c773220bec9fc02eeaf5}{}\label{hs-client_8cpp_a5476c8a51997c773220bec9fc02eeaf5}
+
+
+Definition at line 24 of file hs-\/client.\+cpp.
+
+\index{hs-\/client.\+cpp@{hs-\/client.\+cpp}!\+\_\+info@{\+\_\+info}}
+\index{\+\_\+info@{\+\_\+info}!hs-\/client.\+cpp@{hs-\/client.\+cpp}}
+\subsubsection[{\texorpdfstring{\+\_\+info}{_info}}]{\setlength{\rightskip}{0pt plus 5cm}const char \+\_\+info\mbox{[}$\,$\mbox{]} = \char`\"{}info\char`\"{}\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{hs-client_8cpp_ae125cd80cb98582684636e46ecf33cac}{}\label{hs-client_8cpp_ae125cd80cb98582684636e46ecf33cac}
+
+
+Definition at line 23 of file hs-\/client.\+cpp.
+
+\index{hs-\/client.\+cpp@{hs-\/client.\+cpp}!\+\_\+parameter@{\+\_\+parameter}}
+\index{\+\_\+parameter@{\+\_\+parameter}!hs-\/client.\+cpp@{hs-\/client.\+cpp}}
+\subsubsection[{\texorpdfstring{\+\_\+parameter}{_parameter}}]{\setlength{\rightskip}{0pt plus 5cm}const char \+\_\+parameter\mbox{[}$\,$\mbox{]} = \char`\"{}parameter\char`\"{}\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{hs-client_8cpp_ae3fc16098a2461f2f1ae0ac8561437c6}{}\label{hs-client_8cpp_ae3fc16098a2461f2f1ae0ac8561437c6}
+
+
+Definition at line 25 of file hs-\/client.\+cpp.
+
+\index{hs-\/client.\+cpp@{hs-\/client.\+cpp}!\+\_\+replyto@{\+\_\+replyto}}
+\index{\+\_\+replyto@{\+\_\+replyto}!hs-\/client.\+cpp@{hs-\/client.\+cpp}}
+\subsubsection[{\texorpdfstring{\+\_\+replyto}{_replyto}}]{\setlength{\rightskip}{0pt plus 5cm}const char \+\_\+replyto\mbox{[}$\,$\mbox{]} = \char`\"{}replyto\char`\"{}\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{hs-client_8cpp_ac5b722c0d87d2b0e3dfc527b44a1f5db}{}\label{hs-client_8cpp_ac5b722c0d87d2b0e3dfc527b44a1f5db}
+
+
+Definition at line 26 of file hs-\/client.\+cpp.
+
+\index{hs-\/client.\+cpp@{hs-\/client.\+cpp}!\+\_\+text@{\+\_\+text}}
+\index{\+\_\+text@{\+\_\+text}!hs-\/client.\+cpp@{hs-\/client.\+cpp}}
+\subsubsection[{\texorpdfstring{\+\_\+text}{_text}}]{\setlength{\rightskip}{0pt plus 5cm}const char \+\_\+text\mbox{[}$\,$\mbox{]} = \char`\"{}text\char`\"{}\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{hs-client_8cpp_ad177811d47939fe9404de88672a980ab}{}\label{hs-client_8cpp_ad177811d47939fe9404de88672a980ab}
+
+
+Definition at line 22 of file hs-\/client.\+cpp.
+
+\index{hs-\/client.\+cpp@{hs-\/client.\+cpp}!\+\_\+type@{\+\_\+type}}
+\index{\+\_\+type@{\+\_\+type}!hs-\/client.\+cpp@{hs-\/client.\+cpp}}
+\subsubsection[{\texorpdfstring{\+\_\+type}{_type}}]{\setlength{\rightskip}{0pt plus 5cm}const char \+\_\+type\mbox{[}$\,$\mbox{]} = \char`\"{}type\char`\"{}\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{hs-client_8cpp_a1c24b43242df87f75631175c75afdcda}{}\label{hs-client_8cpp_a1c24b43242df87f75631175c75afdcda}
+
+
+Definition at line 21 of file hs-\/client.\+cpp.
+
diff --git a/doc/api-ref/latex/da/dd3/hs-client_8h.tex b/doc/api-ref/latex/da/dd3/hs-client_8h.tex
new file mode 100644 (file)
index 0000000..595a0b1
--- /dev/null
@@ -0,0 +1,10 @@
+\hypertarget{hs-client_8h}{}\section{src/hs-\/client.h File Reference}
+\label{hs-client_8h}\index{src/hs-\/client.\+h@{src/hs-\/client.\+h}}
+{\ttfamily \#include $<$string$>$}\\*
+{\ttfamily \#include $<$unordered\+\_\+map$>$}\\*
+{\ttfamily \#include \char`\"{}hs-\/helper.\+h\char`\"{}}\\*
+\subsection*{Classes}
+\begin{DoxyCompactItemize}
+\item 
+class \hyperlink{class_h_s___client}{H\+S\+\_\+\+Client}
+\end{DoxyCompactItemize}
diff --git a/doc/api-ref/latex/dd/d1d/hs-helper_8c.tex b/doc/api-ref/latex/dd/d1d/hs-helper_8c.tex
deleted file mode 100644 (file)
index 407da09..0000000
+++ /dev/null
@@ -1,238 +0,0 @@
-\hypertarget{hs-helper_8c}{}\section{src/hs-\/helper.c File Reference}
-\label{hs-helper_8c}\index{src/hs-\/helper.\+c@{src/hs-\/helper.\+c}}
-{\ttfamily \#include \char`\"{}hs-\/helper.\+h\char`\"{}}\newline
-{\ttfamily \#include $<$stdlib.\+h$>$}\newline
-{\ttfamily \#include $<$string.\+h$>$}\newline
-{\ttfamily \#include $<$limits.\+h$>$}\newline
-{\ttfamily \#include $<$json-\/c/json.\+h$>$}\newline
-{\ttfamily \#include $<$stdarg.\+h$>$}\newline
-\subsection*{Functions}
-\begin{DoxyCompactItemize}
-\item 
-\hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899}{R\+E\+Q\+\_\+\+E\+R\+R\+OR} \hyperlink{hs-helper_8c_a649900645417f2df3a70b9ad67529f53}{get\+\_\+value\+\_\+uint16} (const struct afb\+\_\+req request, const char $\ast$source, uint16\+\_\+t $\ast$out\+\_\+id)
-\item 
-\hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899}{R\+E\+Q\+\_\+\+E\+R\+R\+OR} \hyperlink{hs-helper_8c_a2e62366684e39ea94436bf017e416827}{get\+\_\+value\+\_\+int16} (const struct afb\+\_\+req request, const char $\ast$source, int16\+\_\+t $\ast$out\+\_\+id)
-\item 
-\hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899}{R\+E\+Q\+\_\+\+E\+R\+R\+OR} \hyperlink{hs-helper_8c_ac5b0370643c520377afd3fd4891918d2}{get\+\_\+value\+\_\+int32} (const struct afb\+\_\+req request, const char $\ast$source, int32\+\_\+t $\ast$out\+\_\+id)
-\item 
-void \hyperlink{hs-helper_8c_a1ba31a6a94515ff1730ba0043a67d59e}{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object} (struct json\+\_\+object $\ast$j\+\_\+obj, int count,...)
-\item 
-void \hyperlink{hs-helper_8c_a8777c53f1d4d5412f19b134ad85ffedf}{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+str} (struct json\+\_\+object $\ast$j\+\_\+obj, int count,...)
-\item 
-void \hyperlink{hs-helper_8c_ae83604a37134e7bdee3ce4f10bb0b47a}{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+func} (struct json\+\_\+object $\ast$j\+\_\+obj, const char $\ast$verb\+\_\+name, int count,...)
-\item 
-int \hyperlink{hs-helper_8c_a2ff1b894941c3b461ca8119079c4146a}{hs\+\_\+search\+\_\+event\+\_\+name\+\_\+index} (const char $\ast$value)
-\end{DoxyCompactItemize}
-
-
-\subsection{Function Documentation}
-\mbox{\Hypertarget{hs-helper_8c_a2e62366684e39ea94436bf017e416827}\label{hs-helper_8c_a2e62366684e39ea94436bf017e416827}} 
-\index{hs-\/helper.\+c@{hs-\/helper.\+c}!get\+\_\+value\+\_\+int16@{get\+\_\+value\+\_\+int16}}
-\index{get\+\_\+value\+\_\+int16@{get\+\_\+value\+\_\+int16}!hs-\/helper.\+c@{hs-\/helper.\+c}}
-\subsubsection{\texorpdfstring{get\+\_\+value\+\_\+int16()}{get\_value\_int16()}}
-{\footnotesize\ttfamily \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899}{R\+E\+Q\+\_\+\+E\+R\+R\+OR} get\+\_\+value\+\_\+int16 (\begin{DoxyParamCaption}\item[{const struct afb\+\_\+req}]{request,  }\item[{const char $\ast$}]{source,  }\item[{int16\+\_\+t $\ast$}]{out\+\_\+id }\end{DoxyParamCaption})}
-
-
-
-Definition at line 48 of file hs-\/helper.\+c.
-
-
-\begin{DoxyCode}
-49 \{
-50     \textcolor{keywordtype}{char}* endptr;
-51     \textcolor{keyword}{const} \textcolor{keywordtype}{char}* tmp = afb\_req\_value (request, source);
-52     \textcolor{keywordflow}{if}(!tmp)
-53     \{
-54         \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1}{REQ\_FAIL};
-55     \}
-56     \textcolor{keywordtype}{long} tmp\_id = strtol(tmp,&endptr,10);
-57 
-58     \textcolor{comment}{/* error check of range */}
-59     \textcolor{keywordflow}{if}( (tmp\_id > INT16\_MAX) || (tmp\_id < INT16\_MIN) )
-60     \{
-61         \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b}{OUT\_RANGE};
-62     \}
-63     \textcolor{keywordflow}{if}(*endptr != \textcolor{charliteral}{'\(\backslash\)0'})
-64     \{
-65         \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a}{NOT\_NUMBER};
-66     \}
-67 
-68     *out\_id = (int16\_t)tmp\_id;
-69     \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee}{REQ\_OK};
-70 \}
-\end{DoxyCode}
-\mbox{\Hypertarget{hs-helper_8c_ac5b0370643c520377afd3fd4891918d2}\label{hs-helper_8c_ac5b0370643c520377afd3fd4891918d2}} 
-\index{hs-\/helper.\+c@{hs-\/helper.\+c}!get\+\_\+value\+\_\+int32@{get\+\_\+value\+\_\+int32}}
-\index{get\+\_\+value\+\_\+int32@{get\+\_\+value\+\_\+int32}!hs-\/helper.\+c@{hs-\/helper.\+c}}
-\subsubsection{\texorpdfstring{get\+\_\+value\+\_\+int32()}{get\_value\_int32()}}
-{\footnotesize\ttfamily \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899}{R\+E\+Q\+\_\+\+E\+R\+R\+OR} get\+\_\+value\+\_\+int32 (\begin{DoxyParamCaption}\item[{const struct afb\+\_\+req}]{request,  }\item[{const char $\ast$}]{source,  }\item[{int32\+\_\+t $\ast$}]{out\+\_\+id }\end{DoxyParamCaption})}
-
-
-
-Definition at line 72 of file hs-\/helper.\+c.
-
-
-\begin{DoxyCode}
-73 \{
-74     \textcolor{keywordtype}{char}* endptr;
-75     \textcolor{keyword}{const} \textcolor{keywordtype}{char}* tmp = afb\_req\_value (request, source);
-76     \textcolor{keywordflow}{if}(!tmp)
-77     \{
-78         \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1}{REQ\_FAIL};
-79     \}
-80     \textcolor{keywordtype}{long} tmp\_id = strtol(tmp,&endptr,10);
-81 
-82     \textcolor{comment}{/* error check of range */}
-83     \textcolor{keywordflow}{if}( (tmp\_id > INT32\_MAX) || (tmp\_id < INT32\_MIN) )
-84     \{
-85         \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b}{OUT\_RANGE};
-86     \}
-87     \textcolor{keywordflow}{if}(*endptr != \textcolor{charliteral}{'\(\backslash\)0'})
-88     \{
-89         \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a}{NOT\_NUMBER};
-90     \}
-91 
-92     *out\_id = (int32\_t)tmp\_id;
-93     \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee}{REQ\_OK};
-94 \}
-\end{DoxyCode}
-\mbox{\Hypertarget{hs-helper_8c_a649900645417f2df3a70b9ad67529f53}\label{hs-helper_8c_a649900645417f2df3a70b9ad67529f53}} 
-\index{hs-\/helper.\+c@{hs-\/helper.\+c}!get\+\_\+value\+\_\+uint16@{get\+\_\+value\+\_\+uint16}}
-\index{get\+\_\+value\+\_\+uint16@{get\+\_\+value\+\_\+uint16}!hs-\/helper.\+c@{hs-\/helper.\+c}}
-\subsubsection{\texorpdfstring{get\+\_\+value\+\_\+uint16()}{get\_value\_uint16()}}
-{\footnotesize\ttfamily \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899}{R\+E\+Q\+\_\+\+E\+R\+R\+OR} get\+\_\+value\+\_\+uint16 (\begin{DoxyParamCaption}\item[{const struct afb\+\_\+req}]{request,  }\item[{const char $\ast$}]{source,  }\item[{uint16\+\_\+t $\ast$}]{out\+\_\+id }\end{DoxyParamCaption})}
-
-
-
-Definition at line 24 of file hs-\/helper.\+c.
-
-
-\begin{DoxyCode}
-25 \{
-26     \textcolor{keywordtype}{char}* endptr;
-27     \textcolor{keyword}{const} \textcolor{keywordtype}{char}* tmp = afb\_req\_value (request, source);
-28     \textcolor{keywordflow}{if}(!tmp)
-29     \{
-30         \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1}{REQ\_FAIL};
-31     \}
-32     \textcolor{keywordtype}{long} tmp\_id = strtol(tmp,&endptr,10);
-33 
-34     \textcolor{comment}{/* error check of range */}
-35     \textcolor{keywordflow}{if}( (tmp\_id > UINT16\_MAX) || (tmp\_id < 0) )
-36     \{
-37         \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b}{OUT\_RANGE};
-38     \}
-39     \textcolor{keywordflow}{if}(*endptr != \textcolor{charliteral}{'\(\backslash\)0'})
-40     \{
-41         \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a}{NOT\_NUMBER};
-42     \}
-43 
-44     *out\_id = (uint16\_t)tmp\_id;
-45     \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee}{REQ\_OK};
-46 \}
-\end{DoxyCode}
-\mbox{\Hypertarget{hs-helper_8c_a1ba31a6a94515ff1730ba0043a67d59e}\label{hs-helper_8c_a1ba31a6a94515ff1730ba0043a67d59e}} 
-\index{hs-\/helper.\+c@{hs-\/helper.\+c}!hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object@{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object}}
-\index{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object@{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object}!hs-\/helper.\+c@{hs-\/helper.\+c}}
-\subsubsection{\texorpdfstring{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object()}{hs\_add\_object\_to\_json\_object()}}
-{\footnotesize\ttfamily void hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object (\begin{DoxyParamCaption}\item[{struct json\+\_\+object $\ast$}]{j\+\_\+obj,  }\item[{int}]{count,  }\item[{}]{... }\end{DoxyParamCaption})}
-
-
-
-Definition at line 96 of file hs-\/helper.\+c.
-
-
-\begin{DoxyCode}
-97 \{
-98     va\_list args;
-99     va\_start(args, count);
-100     \textcolor{keywordflow}{for}(\textcolor{keywordtype}{int} i = 0; i < count; ++i )
-101     \{
-102         \textcolor{keywordtype}{char} *key = va\_arg(args, \textcolor{keywordtype}{char}*);
-103         \textcolor{keywordtype}{int} value = va\_arg(args, \textcolor{keywordtype}{int});
-104         json\_object\_object\_add(j\_obj, key, json\_object\_new\_int((int32\_t)value));
-105         ++i;
-106     \}
-107     va\_end(args);
-108 \}
-\end{DoxyCode}
-\mbox{\Hypertarget{hs-helper_8c_ae83604a37134e7bdee3ce4f10bb0b47a}\label{hs-helper_8c_ae83604a37134e7bdee3ce4f10bb0b47a}} 
-\index{hs-\/helper.\+c@{hs-\/helper.\+c}!hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+func@{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+func}}
-\index{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+func@{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+func}!hs-\/helper.\+c@{hs-\/helper.\+c}}
-\subsubsection{\texorpdfstring{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+func()}{hs\_add\_object\_to\_json\_object\_func()}}
-{\footnotesize\ttfamily void hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+func (\begin{DoxyParamCaption}\item[{struct json\+\_\+object $\ast$}]{j\+\_\+obj,  }\item[{const char $\ast$}]{verb\+\_\+name,  }\item[{int}]{count,  }\item[{}]{... }\end{DoxyParamCaption})}
-
-
-
-Definition at line 125 of file hs-\/helper.\+c.
-
-
-\begin{DoxyCode}
-126 \{
-127     va\_list args;
-128     va\_start(args, count);
-129 
-130     json\_object\_object\_add(j\_obj,\textcolor{stringliteral}{"verb"}, json\_object\_new\_string(verb\_name));
-131 
-132     \textcolor{keywordflow}{for}(\textcolor{keywordtype}{int} i = 0; i < count; ++i )
-133     \{
-134         \textcolor{keywordtype}{char} *key = va\_arg(args, \textcolor{keywordtype}{char}*);
-135         \textcolor{keywordtype}{int} value = va\_arg(args, \textcolor{keywordtype}{int});
-136         json\_object\_object\_add(j\_obj, key, json\_object\_new\_int((int32\_t)value));
-137         ++i;
-138     \}
-139     va\_end(args);
-140 \}
-\end{DoxyCode}
-\mbox{\Hypertarget{hs-helper_8c_a8777c53f1d4d5412f19b134ad85ffedf}\label{hs-helper_8c_a8777c53f1d4d5412f19b134ad85ffedf}} 
-\index{hs-\/helper.\+c@{hs-\/helper.\+c}!hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+str@{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+str}}
-\index{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+str@{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+str}!hs-\/helper.\+c@{hs-\/helper.\+c}}
-\subsubsection{\texorpdfstring{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+str()}{hs\_add\_object\_to\_json\_object\_str()}}
-{\footnotesize\ttfamily void hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+str (\begin{DoxyParamCaption}\item[{struct json\+\_\+object $\ast$}]{j\+\_\+obj,  }\item[{int}]{count,  }\item[{}]{... }\end{DoxyParamCaption})}
-
-
-
-Definition at line 110 of file hs-\/helper.\+c.
-
-
-\begin{DoxyCode}
-111 \{
-112     va\_list args;
-113     va\_start(args, count);
-114     \textcolor{keywordflow}{for}(\textcolor{keywordtype}{int} i = 0; i < count; ++i )
-115     \{
-116         \textcolor{keywordtype}{char} *key = va\_arg(args, \textcolor{keywordtype}{char}*);
-117         \textcolor{keywordtype}{char} *value = va\_arg(args, \textcolor{keywordtype}{char}*);
-118         json\_object\_object\_add(j\_obj, key, json\_object\_new\_string(value));
-119         ++i;
-120     \}
-121     va\_end(args);
-122 \}
-\end{DoxyCode}
-\mbox{\Hypertarget{hs-helper_8c_a2ff1b894941c3b461ca8119079c4146a}\label{hs-helper_8c_a2ff1b894941c3b461ca8119079c4146a}} 
-\index{hs-\/helper.\+c@{hs-\/helper.\+c}!hs\+\_\+search\+\_\+event\+\_\+name\+\_\+index@{hs\+\_\+search\+\_\+event\+\_\+name\+\_\+index}}
-\index{hs\+\_\+search\+\_\+event\+\_\+name\+\_\+index@{hs\+\_\+search\+\_\+event\+\_\+name\+\_\+index}!hs-\/helper.\+c@{hs-\/helper.\+c}}
-\subsubsection{\texorpdfstring{hs\+\_\+search\+\_\+event\+\_\+name\+\_\+index()}{hs\_search\_event\_name\_index()}}
-{\footnotesize\ttfamily int hs\+\_\+search\+\_\+event\+\_\+name\+\_\+index (\begin{DoxyParamCaption}\item[{const char $\ast$}]{value }\end{DoxyParamCaption})}
-
-
-
-Definition at line 142 of file hs-\/helper.\+c.
-
-
-\begin{DoxyCode}
-143 \{
-144     \textcolor{keywordtype}{size\_t} buf\_size = 50;
-145     \textcolor{keywordtype}{size\_t} size = \textcolor{keyword}{sizeof} \hyperlink{hs-helper_8h_a0cd84b1a2184c9b84d1b7bf24582f28e}{evlist} / \textcolor{keyword}{sizeof} *\hyperlink{hs-helper_8h_a0cd84b1a2184c9b84d1b7bf24582f28e}{evlist};
-146     \textcolor{keywordtype}{int} ret = -1;
-147     \textcolor{keywordflow}{for}(\textcolor{keywordtype}{size\_t} i = 0 ; i < size ; ++i)
-148     \{
-149         \textcolor{keywordflow}{if}(!strncmp(value, \hyperlink{hs-helper_8h_a0cd84b1a2184c9b84d1b7bf24582f28e}{evlist}[i], buf\_size))
-150         \{
-151             ret = i;
-152             \textcolor{keywordflow}{break};
-153         \}
-154     \}
-155     \textcolor{keywordflow}{return} ret;
-156 \}
-\end{DoxyCode}
diff --git a/doc/api-ref/latex/dd/d30/hs-clientmanager_8cpp.tex b/doc/api-ref/latex/dd/d30/hs-clientmanager_8cpp.tex
new file mode 100644 (file)
index 0000000..540781a
--- /dev/null
@@ -0,0 +1,45 @@
+\hypertarget{hs-clientmanager_8cpp}{}\section{src/hs-\/clientmanager.cpp File Reference}
+\label{hs-clientmanager_8cpp}\index{src/hs-\/clientmanager.\+cpp@{src/hs-\/clientmanager.\+cpp}}
+{\ttfamily \#include $<$algorithm$>$}\\*
+{\ttfamily \#include \char`\"{}hs-\/clientmanager.\+h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}hmi-\/debug.\+h\char`\"{}}\\*
+\subsection*{Functions}
+\begin{DoxyCompactItemize}
+\item 
+static void \hyperlink{hs-clientmanager_8cpp_a2e9d0e1086eba0a016056dc43bc90a73}{cb\+Remove\+Client\+Ctxt} (void $\ast$data)
+\end{DoxyCompactItemize}
+\subsection*{Variables}
+\begin{DoxyCompactItemize}
+\item 
+static const char \hyperlink{hs-clientmanager_8cpp_a8bbab9002543614eacdc7a319d13a476}{\+\_\+homescreen} \mbox{[}$\,$\mbox{]} = \char`\"{}homescreen\char`\"{}
+\end{DoxyCompactItemize}
+
+
+\subsection{Function Documentation}
+\index{hs-\/clientmanager.\+cpp@{hs-\/clientmanager.\+cpp}!cb\+Remove\+Client\+Ctxt@{cb\+Remove\+Client\+Ctxt}}
+\index{cb\+Remove\+Client\+Ctxt@{cb\+Remove\+Client\+Ctxt}!hs-\/clientmanager.\+cpp@{hs-\/clientmanager.\+cpp}}
+\subsubsection[{\texorpdfstring{cb\+Remove\+Client\+Ctxt(void $\ast$data)}{cbRemoveClientCtxt(void *data)}}]{\setlength{\rightskip}{0pt plus 5cm}static void cb\+Remove\+Client\+Ctxt (
+\begin{DoxyParamCaption}
+\item[{void $\ast$}]{data}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{hs-clientmanager_8cpp_a2e9d0e1086eba0a016056dc43bc90a73}{}\label{hs-clientmanager_8cpp_a2e9d0e1086eba0a016056dc43bc90a73}
+
+
+Definition at line 24 of file hs-\/clientmanager.\+cpp.
+
+
+\begin{DoxyCode}
+25 \{
+26     \hyperlink{class_h_s___client_manager_ad86c1fea7d107d52cbf0466fb7a2658b}{HS\_ClientManager::instance}()->\hyperlink{class_h_s___client_manager_adc23f8b3f5cc06eeab39fb24098af3e2}{removeClientCtxt}(data);
+27 \}
+\end{DoxyCode}
+
+
+\subsection{Variable Documentation}
+\index{hs-\/clientmanager.\+cpp@{hs-\/clientmanager.\+cpp}!\+\_\+homescreen@{\+\_\+homescreen}}
+\index{\+\_\+homescreen@{\+\_\+homescreen}!hs-\/clientmanager.\+cpp@{hs-\/clientmanager.\+cpp}}
+\subsubsection[{\texorpdfstring{\+\_\+homescreen}{_homescreen}}]{\setlength{\rightskip}{0pt plus 5cm}const char \+\_\+homescreen\mbox{[}$\,$\mbox{]} = \char`\"{}homescreen\char`\"{}\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{hs-clientmanager_8cpp_a8bbab9002543614eacdc7a319d13a476}{}\label{hs-clientmanager_8cpp_a8bbab9002543614eacdc7a319d13a476}
+
+
+Definition at line 20 of file hs-\/clientmanager.\+cpp.
+
diff --git a/doc/api-ref/latex/dd/ddc/structgeometry.tex b/doc/api-ref/latex/dd/ddc/structgeometry.tex
new file mode 100644 (file)
index 0000000..99d7236
--- /dev/null
@@ -0,0 +1,38 @@
+\hypertarget{structgeometry}{}\section{geometry Struct Reference}
+\label{structgeometry}\index{geometry@{geometry}}
+\subsection*{Public Attributes}
+\begin{DoxyCompactItemize}
+\item 
+int \hyperlink{structgeometry_a854a87ce277335591f06958a2363c3e1}{width}
+\item 
+int \hyperlink{structgeometry_a6968ae18c72699d1c164399bf0e5cf14}{height}
+\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+
+
+Definition at line 132 of file simple-\/egl.\+cpp.
+
+
+
+\subsection{Member Data Documentation}
+\index{geometry@{geometry}!height@{height}}
+\index{height@{height}!geometry@{geometry}}
+\subsubsection[{\texorpdfstring{height}{height}}]{\setlength{\rightskip}{0pt plus 5cm}int geometry\+::height}\hypertarget{structgeometry_a6968ae18c72699d1c164399bf0e5cf14}{}\label{structgeometry_a6968ae18c72699d1c164399bf0e5cf14}
+
+
+Definition at line 133 of file simple-\/egl.\+cpp.
+
+\index{geometry@{geometry}!width@{width}}
+\index{width@{width}!geometry@{geometry}}
+\subsubsection[{\texorpdfstring{width}{width}}]{\setlength{\rightskip}{0pt plus 5cm}int geometry\+::width}\hypertarget{structgeometry_a854a87ce277335591f06958a2363c3e1}{}\label{structgeometry_a854a87ce277335591f06958a2363c3e1}
+
+
+Definition at line 133 of file simple-\/egl.\+cpp.
+
+
+
+The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
+\item 
+libhomescreen/\hyperlink{simple-egl_8cpp}{simple-\/egl.\+cpp}\end{DoxyCompactItemize}
diff --git a/doc/api-ref/latex/de/da4/simple-egl_8cpp.tex b/doc/api-ref/latex/de/da4/simple-egl_8cpp.tex
new file mode 100644 (file)
index 0000000..fcf9e12
--- /dev/null
@@ -0,0 +1,1068 @@
+\hypertarget{simple-egl_8cpp}{}\section{libhomescreen/simple-\/egl.cpp File Reference}
+\label{simple-egl_8cpp}\index{libhomescreen/simple-\/egl.\+cpp@{libhomescreen/simple-\/egl.\+cpp}}
+{\ttfamily \#include $<$mutex$>$}\\*
+{\ttfamily \#include $<$chrono$>$}\\*
+{\ttfamily \#include $<$iostream$>$}\\*
+{\ttfamily \#include $<$string$>$}\\*
+{\ttfamily \#include $<$stdarg.\+h$>$}\\*
+{\ttfamily \#include $<$sys/types.\+h$>$}\\*
+{\ttfamily \#include $<$thread$>$}\\*
+{\ttfamily \#include $<$exception$>$}\\*
+{\ttfamily \#include $<$vector$>$}\\*
+{\ttfamily \#include $<$sstream$>$}\\*
+{\ttfamily \#include $<$assert.\+h$>$}\\*
+{\ttfamily \#include $<$signal.\+h$>$}\\*
+{\ttfamily \#include $<$wayland-\/client.\+h$>$}\\*
+{\ttfamily \#include $<$wayland-\/egl.\+h$>$}\\*
+{\ttfamily \#include $<$G\+L\+E\+S2/gl2.\+h$>$}\\*
+{\ttfamily \#include $<$E\+G\+L/egl.\+h$>$}\\*
+{\ttfamily \#include $<$E\+G\+L/eglext.\+h$>$}\\*
+{\ttfamily \#include $<$unistd.\+h$>$}\\*
+{\ttfamily \#include $<$time.\+h$>$}\\*
+{\ttfamily \#include $<$libwindowmanager.\+h$>$}\\*
+{\ttfamily \#include $<$libhomescreen.\+hpp$>$}\\*
+{\ttfamily \#include $<$ilm/ivi-\/application-\/client-\/protocol.\+h$>$}\\*
+{\ttfamily \#include \char`\"{}hmi-\/debug.\+h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}platform.\+h\char`\"{}}\\*
+\subsection*{Classes}
+\begin{DoxyCompactItemize}
+\item 
+struct \hyperlink{structdisplay}{display}
+\item 
+struct \hyperlink{structgeometry}{geometry}
+\item 
+struct \hyperlink{structwindow}{window}
+\end{DoxyCompactItemize}
+\subsection*{Macros}
+\begin{DoxyCompactItemize}
+\item 
+\#define \hyperlink{simple-egl_8cpp_a083d37f289b99270e0391419178d458f}{E\+G\+L\+\_\+\+E\+X\+T\+\_\+swap\+\_\+buffers\+\_\+with\+\_\+damage}~1
+\item 
+\#define \hyperlink{simple-egl_8cpp_a0792e3d8b2bc978f95917a234b0c81df}{E\+G\+L\+\_\+\+E\+X\+T\+\_\+buffer\+\_\+age}~1
+\item 
+\#define \hyperlink{simple-egl_8cpp_a7045d8a6b4857f268a62fab2de2021fd}{E\+G\+L\+\_\+\+B\+U\+F\+F\+E\+R\+\_\+\+A\+G\+E\+\_\+\+E\+XT}~0x313D
+\end{DoxyCompactItemize}
+\subsection*{Typedefs}
+\begin{DoxyCompactItemize}
+\item 
+typedef E\+G\+L\+Surface \hyperlink{simple-egl_8cpp_a0720952aa1caded45b5bcdce589663a9}{surface}
+\item 
+typedef E\+G\+L\+Surface E\+G\+Lint $\ast$ \hyperlink{simple-egl_8cpp_a56616f7ca3fc53c0da41d05de9330b11}{rects}
+\item 
+typedef E\+G\+L\+Surface E\+G\+Lint E\+G\+Lint \hyperlink{simple-egl_8cpp_aa6a11810244355f89e6c4961b9dd3b53}{n\+\_\+rects}
+\end{DoxyCompactItemize}
+\subsection*{Functions}
+\begin{DoxyCompactItemize}
+\item 
+typedef \hyperlink{simple-egl_8cpp_ab4ad070d3bf82abe5e70330578f67893}{E\+G\+L\+Boolean} (E\+G\+L\+A\+P\+I\+E\+N\+T\+R\+YP P\+F\+N\+E\+G\+L\+S\+W\+A\+P\+B\+U\+F\+F\+E\+R\+S\+W\+I\+T\+H\+D\+A\+M\+A\+G\+E\+E\+X\+T\+P\+R\+OC)(E\+G\+L\+Display dpy
+\item 
+static void \hyperlink{simple-egl_8cpp_a1073d4aca1838d3877fe577d813700fc}{init\+\_\+egl} (struct \hyperlink{structdisplay}{display} $\ast$\hyperlink{structdisplay}{display}, struct \hyperlink{structwindow}{window} $\ast$\hyperlink{structwindow}{window})
+\item 
+static void \hyperlink{simple-egl_8cpp_a4f71f46ede5b73bd7c770c973826f771}{fini\+\_\+egl} (struct \hyperlink{structdisplay}{display} $\ast$\hyperlink{structdisplay}{display})
+\item 
+static G\+Luint \hyperlink{simple-egl_8cpp_ab72c580e4d6d47c2fb49c72cc76b85bb}{create\+\_\+shader} (struct \hyperlink{structwindow}{window} $\ast$\hyperlink{structwindow}{window}, const char $\ast$source, G\+Lenum shader\+\_\+type)
+\item 
+static void \hyperlink{simple-egl_8cpp_ab3ee863fa45f4026f78f592d6f6e34ff}{init\+\_\+gl} (struct \hyperlink{structwindow}{window} $\ast$\hyperlink{structwindow}{window})
+\item 
+static void \hyperlink{simple-egl_8cpp_a0122201fe28a7f35b0fbd362fff7094e}{create\+\_\+ivi\+\_\+surface} (struct \hyperlink{structwindow}{window} $\ast$\hyperlink{structwindow}{window}, struct \hyperlink{structdisplay}{display} $\ast$\hyperlink{structdisplay}{display})
+\item 
+static void \hyperlink{simple-egl_8cpp_a83c7f2e34bbc715d97f0642def708293}{create\+\_\+surface} (struct \hyperlink{structwindow}{window} $\ast$\hyperlink{structwindow}{window})
+\item 
+static void \hyperlink{simple-egl_8cpp_aba2ea9aa51701e52d4f36b4f34cecf7a}{destroy\+\_\+surface} (struct \hyperlink{structwindow}{window} $\ast$\hyperlink{structwindow}{window})
+\item 
+static void \hyperlink{simple-egl_8cpp_a927502f6103ec35422eead39e62ab7ba}{redraw} (void $\ast$data, struct wl\+\_\+callback $\ast$callback, uint32\+\_\+t time)
+\item 
+static void \hyperlink{simple-egl_8cpp_af288e02a94c196a68b327fc55c049932}{registry\+\_\+handle\+\_\+global} (void $\ast$data, struct wl\+\_\+registry $\ast$registry, uint32\+\_\+t name, const char $\ast$interface, uint32\+\_\+t version)
+\item 
+static void \hyperlink{simple-egl_8cpp_a59a731b9efa9d6a2015cdc8ccae1db80}{registry\+\_\+handle\+\_\+global\+\_\+remove} (void $\ast$data, struct wl\+\_\+registry $\ast$registry, uint32\+\_\+t name)
+\item 
+static void \hyperlink{simple-egl_8cpp_a2cfc8c2d3fc1273ba8f811d2e639aec8}{signal\+\_\+int} (int signum)
+\item 
+int \hyperlink{simple-egl_8cpp_a644e25276ecdea04f2aa3412c1973927}{init\+\_\+wm} (Lib\+Windowmanager $\ast$\hyperlink{simple-egl_8cpp_ad1513698e07197206c290f94d7669d85}{wm}, struct \hyperlink{structwindow}{window} $\ast$\hyperlink{structwindow}{window})
+\item 
+int \hyperlink{simple-egl_8cpp_a79aafeb99915566dd3970246f465f306}{init\+\_\+hs} (\hyperlink{class_lib_home_screen}{Lib\+Home\+Screen} $\ast$\hyperlink{simple-egl_8cpp_a529acbd1fed9d98a587edfa62309fa8d}{hs})
+\item 
+int \hyperlink{simple-egl_8cpp_a3c04138a5bfe5d72780bb7e82a18e627}{main} (int argc, char $\ast$$\ast$argv)
+\end{DoxyCompactItemize}
+\subsection*{Variables}
+\begin{DoxyCompactItemize}
+\item 
+const char $\ast$ \hyperlink{simple-egl_8cpp_a894f18168fa25101d792262f59846938}{log\+\_\+prefix} = \char`\"{}simple-\/egl\char`\"{}
+\item 
+uint32\+\_\+t \hyperlink{simple-egl_8cpp_a28f56c9f01ed9f108201950645317cc9}{g\+\_\+id\+\_\+ivisurf} = 9009
+\item 
+long \hyperlink{simple-egl_8cpp_a300b6806fe6818927fe4df08f2398124}{port} = 1700
+\item 
+string \hyperlink{simple-egl_8cpp_a623ef6987ef3bd185c07b28b13e46d34}{token} = string(\char`\"{}wm\char`\"{})
+\item 
+string \hyperlink{simple-egl_8cpp_a0da928eccfc57d1dfadfd29d4ac4854c}{app\+\_\+name} = string(\char`\"{}Navigation\char`\"{})
+\item 
+const char $\ast$ \hyperlink{simple-egl_8cpp_a332251aa739a56836cd4fbf3ecbb8bb2}{main\+\_\+role} = \char`\"{}navigation\char`\"{}
+\item 
+\hyperlink{class_lib_home_screen}{Lib\+Home\+Screen} $\ast$ \hyperlink{simple-egl_8cpp_a529acbd1fed9d98a587edfa62309fa8d}{hs}
+\item 
+Lib\+Windowmanager $\ast$ \hyperlink{simple-egl_8cpp_ad1513698e07197206c290f94d7669d85}{wm}
+\item 
+static const struct wl\+\_\+interface $\ast$ \hyperlink{simple-egl_8cpp_aea3203db9e218d3e5d60bdb4ebe2fa1f}{types} \mbox{[}$\,$\mbox{]}
+\item 
+static const struct wl\+\_\+message \hyperlink{simple-egl_8cpp_ada80120c5590d2821da9babef808b98d}{ivi\+\_\+surface\+\_\+requests} \mbox{[}$\,$\mbox{]}
+\item 
+static const struct wl\+\_\+message \hyperlink{simple-egl_8cpp_ac848f4fbf712a9ba414272fa85577791}{ivi\+\_\+surface\+\_\+events} \mbox{[}$\,$\mbox{]}
+\item 
+const struct wl\+\_\+interface \hyperlink{simple-egl_8cpp_adf384de8d12d2edd7265ab85fd16b11c}{ivi\+\_\+surface\+\_\+interface}
+\item 
+static const struct wl\+\_\+message \hyperlink{simple-egl_8cpp_a21a39b7c6cf5f6d10a62a70b3ebc9bad}{ivi\+\_\+application\+\_\+requests} \mbox{[}$\,$\mbox{]}
+\item 
+const struct wl\+\_\+interface \hyperlink{simple-egl_8cpp_a769b65b7b0e834f732f1f45e835890d5}{ivi\+\_\+application\+\_\+interface}
+\item 
+static const char $\ast$ \hyperlink{simple-egl_8cpp_a717575939a37d84dcd4cf0447a630834}{vert\+\_\+shader\+\_\+text}
+\item 
+static const char $\ast$ \hyperlink{simple-egl_8cpp_ab5a6a2a26ac23f79b1687daa4b0d8980}{frag\+\_\+shader\+\_\+text}
+\item 
+static int \hyperlink{simple-egl_8cpp_a2f45113638a0b749a8a205d2cd7fb42b}{running} = 1
+\item 
+static const struct wl\+\_\+registry\+\_\+listener \hyperlink{simple-egl_8cpp_a8998c87c94cd7d185e8f0cdafab4b1c4}{registry\+\_\+listener}
+\end{DoxyCompactItemize}
+
+
+\subsection{Macro Definition Documentation}
+\index{simple-\/egl.\+cpp@{simple-\/egl.\+cpp}!E\+G\+L\+\_\+\+B\+U\+F\+F\+E\+R\+\_\+\+A\+G\+E\+\_\+\+E\+XT@{E\+G\+L\+\_\+\+B\+U\+F\+F\+E\+R\+\_\+\+A\+G\+E\+\_\+\+E\+XT}}
+\index{E\+G\+L\+\_\+\+B\+U\+F\+F\+E\+R\+\_\+\+A\+G\+E\+\_\+\+E\+XT@{E\+G\+L\+\_\+\+B\+U\+F\+F\+E\+R\+\_\+\+A\+G\+E\+\_\+\+E\+XT}!simple-\/egl.\+cpp@{simple-\/egl.\+cpp}}
+\subsubsection[{\texorpdfstring{E\+G\+L\+\_\+\+B\+U\+F\+F\+E\+R\+\_\+\+A\+G\+E\+\_\+\+E\+XT}{EGL_BUFFER_AGE_EXT}}]{\setlength{\rightskip}{0pt plus 5cm}\#define E\+G\+L\+\_\+\+B\+U\+F\+F\+E\+R\+\_\+\+A\+G\+E\+\_\+\+E\+XT~0x313D}\hypertarget{simple-egl_8cpp_a7045d8a6b4857f268a62fab2de2021fd}{}\label{simple-egl_8cpp_a7045d8a6b4857f268a62fab2de2021fd}
+
+
+Definition at line 110 of file simple-\/egl.\+cpp.
+
+\index{simple-\/egl.\+cpp@{simple-\/egl.\+cpp}!E\+G\+L\+\_\+\+E\+X\+T\+\_\+buffer\+\_\+age@{E\+G\+L\+\_\+\+E\+X\+T\+\_\+buffer\+\_\+age}}
+\index{E\+G\+L\+\_\+\+E\+X\+T\+\_\+buffer\+\_\+age@{E\+G\+L\+\_\+\+E\+X\+T\+\_\+buffer\+\_\+age}!simple-\/egl.\+cpp@{simple-\/egl.\+cpp}}
+\subsubsection[{\texorpdfstring{E\+G\+L\+\_\+\+E\+X\+T\+\_\+buffer\+\_\+age}{EGL_EXT_buffer_age}}]{\setlength{\rightskip}{0pt plus 5cm}\#define E\+G\+L\+\_\+\+E\+X\+T\+\_\+buffer\+\_\+age~1}\hypertarget{simple-egl_8cpp_a0792e3d8b2bc978f95917a234b0c81df}{}\label{simple-egl_8cpp_a0792e3d8b2bc978f95917a234b0c81df}
+
+
+Definition at line 109 of file simple-\/egl.\+cpp.
+
+\index{simple-\/egl.\+cpp@{simple-\/egl.\+cpp}!E\+G\+L\+\_\+\+E\+X\+T\+\_\+swap\+\_\+buffers\+\_\+with\+\_\+damage@{E\+G\+L\+\_\+\+E\+X\+T\+\_\+swap\+\_\+buffers\+\_\+with\+\_\+damage}}
+\index{E\+G\+L\+\_\+\+E\+X\+T\+\_\+swap\+\_\+buffers\+\_\+with\+\_\+damage@{E\+G\+L\+\_\+\+E\+X\+T\+\_\+swap\+\_\+buffers\+\_\+with\+\_\+damage}!simple-\/egl.\+cpp@{simple-\/egl.\+cpp}}
+\subsubsection[{\texorpdfstring{E\+G\+L\+\_\+\+E\+X\+T\+\_\+swap\+\_\+buffers\+\_\+with\+\_\+damage}{EGL_EXT_swap_buffers_with_damage}}]{\setlength{\rightskip}{0pt plus 5cm}\#define E\+G\+L\+\_\+\+E\+X\+T\+\_\+swap\+\_\+buffers\+\_\+with\+\_\+damage~1}\hypertarget{simple-egl_8cpp_a083d37f289b99270e0391419178d458f}{}\label{simple-egl_8cpp_a083d37f289b99270e0391419178d458f}
+
+
+Definition at line 104 of file simple-\/egl.\+cpp.
+
+
+
+\subsection{Typedef Documentation}
+\index{simple-\/egl.\+cpp@{simple-\/egl.\+cpp}!n\+\_\+rects@{n\+\_\+rects}}
+\index{n\+\_\+rects@{n\+\_\+rects}!simple-\/egl.\+cpp@{simple-\/egl.\+cpp}}
+\subsubsection[{\texorpdfstring{n\+\_\+rects}{n_rects}}]{\setlength{\rightskip}{0pt plus 5cm}typedef E\+G\+L\+Surface E\+G\+Lint E\+G\+Lint {\bf n\+\_\+rects}}\hypertarget{simple-egl_8cpp_aa6a11810244355f89e6c4961b9dd3b53}{}\label{simple-egl_8cpp_aa6a11810244355f89e6c4961b9dd3b53}
+
+
+Definition at line 105 of file simple-\/egl.\+cpp.
+
+\index{simple-\/egl.\+cpp@{simple-\/egl.\+cpp}!rects@{rects}}
+\index{rects@{rects}!simple-\/egl.\+cpp@{simple-\/egl.\+cpp}}
+\subsubsection[{\texorpdfstring{rects}{rects}}]{\setlength{\rightskip}{0pt plus 5cm}typedef E\+G\+L\+Surface E\+G\+Lint$\ast$ {\bf rects}}\hypertarget{simple-egl_8cpp_a56616f7ca3fc53c0da41d05de9330b11}{}\label{simple-egl_8cpp_a56616f7ca3fc53c0da41d05de9330b11}
+
+
+Definition at line 105 of file simple-\/egl.\+cpp.
+
+\index{simple-\/egl.\+cpp@{simple-\/egl.\+cpp}!surface@{surface}}
+\index{surface@{surface}!simple-\/egl.\+cpp@{simple-\/egl.\+cpp}}
+\subsubsection[{\texorpdfstring{surface}{surface}}]{\setlength{\rightskip}{0pt plus 5cm}typedef E\+G\+L\+Surface {\bf surface}}\hypertarget{simple-egl_8cpp_a0720952aa1caded45b5bcdce589663a9}{}\label{simple-egl_8cpp_a0720952aa1caded45b5bcdce589663a9}
+
+
+Definition at line 105 of file simple-\/egl.\+cpp.
+
+
+
+\subsection{Function Documentation}
+\index{simple-\/egl.\+cpp@{simple-\/egl.\+cpp}!create\+\_\+ivi\+\_\+surface@{create\+\_\+ivi\+\_\+surface}}
+\index{create\+\_\+ivi\+\_\+surface@{create\+\_\+ivi\+\_\+surface}!simple-\/egl.\+cpp@{simple-\/egl.\+cpp}}
+\subsubsection[{\texorpdfstring{create\+\_\+ivi\+\_\+surface(struct window $\ast$window, struct display $\ast$display)}{create_ivi_surface(struct window *window, struct display *display)}}]{\setlength{\rightskip}{0pt plus 5cm}static void create\+\_\+ivi\+\_\+surface (
+\begin{DoxyParamCaption}
+\item[{struct {\bf window} $\ast$}]{window, }
+\item[{struct {\bf display} $\ast$}]{display}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{simple-egl_8cpp_a0122201fe28a7f35b0fbd362fff7094e}{}\label{simple-egl_8cpp_a0122201fe28a7f35b0fbd362fff7094e}
+
+
+Definition at line 322 of file simple-\/egl.\+cpp.
+
+
+\begin{DoxyCode}
+323 \{
+324     uint32\_t id\_ivisurf = \hyperlink{simple-egl_8cpp_a28f56c9f01ed9f108201950645317cc9}{g\_id\_ivisurf};
+325     window->\hyperlink{structwindow_a40e2c6fb4178953c820fc1b9f41d4b31}{ivi\_surface} =
+326         ivi\_application\_surface\_create(display->\hyperlink{structdisplay_a24c073faff3bb4799c2d46291f27ab89}{ivi\_application},
+327                            id\_ivisurf, window->\hyperlink{structwindow_a7d0790cfc7c30621611fa26ab5c1ae97}{surface});
+328 
+329     \textcolor{keywordflow}{if} (window->\hyperlink{structwindow_a40e2c6fb4178953c820fc1b9f41d4b31}{ivi\_surface} == NULL) \{
+330         \hyperlink{include_2hmi-debug_8h_a65bb6c7cfe38f8a724beab5059d36fb2}{HMI\_ERROR}(\hyperlink{simple-egl_8cpp_a894f18168fa25101d792262f59846938}{log\_prefix},\textcolor{stringliteral}{"Failed to create ivi\_client\_surface"});
+331         abort();
+332     \}
+333 
+334 \}
+\end{DoxyCode}
+\index{simple-\/egl.\+cpp@{simple-\/egl.\+cpp}!create\+\_\+shader@{create\+\_\+shader}}
+\index{create\+\_\+shader@{create\+\_\+shader}!simple-\/egl.\+cpp@{simple-\/egl.\+cpp}}
+\subsubsection[{\texorpdfstring{create\+\_\+shader(struct window $\ast$window, const char $\ast$source, G\+Lenum shader\+\_\+type)}{create_shader(struct window *window, const char *source, GLenum shader_type)}}]{\setlength{\rightskip}{0pt plus 5cm}static G\+Luint create\+\_\+shader (
+\begin{DoxyParamCaption}
+\item[{struct {\bf window} $\ast$}]{window, }
+\item[{const char $\ast$}]{source, }
+\item[{G\+Lenum}]{shader\+\_\+type}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{simple-egl_8cpp_ab72c580e4d6d47c2fb49c72cc76b85bb}{}\label{simple-egl_8cpp_ab72c580e4d6d47c2fb49c72cc76b85bb}
+
+
+Definition at line 259 of file simple-\/egl.\+cpp.
+
+
+\begin{DoxyCode}
+260 \{
+261     GLuint shader;
+262     GLint status;
+263 
+264     shader = glCreateShader(shader\_type);
+265     assert(shader != 0);
+266 
+267     glShaderSource(shader, 1, (\textcolor{keyword}{const} \textcolor{keywordtype}{char} **) &source, NULL);
+268     glCompileShader(shader);
+269 
+270     glGetShaderiv(shader, GL\_COMPILE\_STATUS, &status);
+271     \textcolor{keywordflow}{if} (!status) \{
+272         \textcolor{keywordtype}{char} log[1000];
+273         GLsizei len;
+274         glGetShaderInfoLog(shader, 1000, &len, log);
+275         \hyperlink{include_2hmi-debug_8h_a65bb6c7cfe38f8a724beab5059d36fb2}{HMI\_ERROR}(\hyperlink{simple-egl_8cpp_a894f18168fa25101d792262f59846938}{log\_prefix},\textcolor{stringliteral}{"Error: compiling %s: %*s"},
+276             shader\_type == GL\_VERTEX\_SHADER ? \textcolor{stringliteral}{"vertex"} : \textcolor{stringliteral}{"fragment"},
+277             len, log);
+278         exit(1);
+279     \}
+280 
+281     \textcolor{keywordflow}{return} shader;
+282 \}
+\end{DoxyCode}
+\index{simple-\/egl.\+cpp@{simple-\/egl.\+cpp}!create\+\_\+surface@{create\+\_\+surface}}
+\index{create\+\_\+surface@{create\+\_\+surface}!simple-\/egl.\+cpp@{simple-\/egl.\+cpp}}
+\subsubsection[{\texorpdfstring{create\+\_\+surface(struct window $\ast$window)}{create_surface(struct window *window)}}]{\setlength{\rightskip}{0pt plus 5cm}static void create\+\_\+surface (
+\begin{DoxyParamCaption}
+\item[{struct {\bf window} $\ast$}]{window}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{simple-egl_8cpp_a83c7f2e34bbc715d97f0642def708293}{}\label{simple-egl_8cpp_a83c7f2e34bbc715d97f0642def708293}
+
+
+Definition at line 337 of file simple-\/egl.\+cpp.
+
+
+\begin{DoxyCode}
+338 \{
+339     \textcolor{keyword}{struct }\hyperlink{structdisplay}{display} *\hyperlink{structdisplay}{display} = window->\hyperlink{structwindow_a129486f2bd23791194f389ca1405cfd4}{display};
+340     \hyperlink{simple-egl_8cpp_ab4ad070d3bf82abe5e70330578f67893}{EGLBoolean} ret;
+341 
+342     window->\hyperlink{structwindow_a7d0790cfc7c30621611fa26ab5c1ae97}{surface} = wl\_compositor\_create\_surface(display->\hyperlink{structdisplay_a41ba32dfde812165dda5b62885000c78}{compositor});
+343 
+344     window->\hyperlink{structwindow_ae41be0955d0e73530e1bc13dfeb9d731}{native} =
+345         wl\_egl\_window\_create(window->\hyperlink{structwindow_a7d0790cfc7c30621611fa26ab5c1ae97}{surface},
+346                      window->geometry.width,
+347                      window->geometry.height);
+348     window->\hyperlink{structwindow_a8de0059f3f1cb0dec33fba1143b7dee1}{egl\_surface} =
+349         weston\_platform\_create\_egl\_surface(display->\hyperlink{structdisplay_a8b8bc104c19ff228d476a377e572d9c7}{egl}.\hyperlink{structdisplay_a8a1cbda15a286e41e89a85f158ce9311}{dpy},
+350                            display->\hyperlink{structdisplay_a8b8bc104c19ff228d476a377e572d9c7}{egl}.\hyperlink{structdisplay_a880aef9408b499f5b749541dc6e396c3}{conf},
+351                            window->\hyperlink{structwindow_ae41be0955d0e73530e1bc13dfeb9d731}{native}, NULL);
+352 
+353 
+354     \textcolor{keywordflow}{if} (display->\hyperlink{structdisplay_a24c073faff3bb4799c2d46291f27ab89}{ivi\_application} ) \{
+355         \hyperlink{simple-egl_8cpp_a0122201fe28a7f35b0fbd362fff7094e}{create\_ivi\_surface}(window, display);
+356     \} \textcolor{keywordflow}{else} \{
+357         assert(0);
+358     \}
+359 
+360     ret = eglMakeCurrent(window->\hyperlink{structwindow_a129486f2bd23791194f389ca1405cfd4}{display}->\hyperlink{structdisplay_a8b8bc104c19ff228d476a377e572d9c7}{egl}.\hyperlink{structdisplay_a8a1cbda15a286e41e89a85f158ce9311}{dpy}, window->
+      \hyperlink{structwindow_a8de0059f3f1cb0dec33fba1143b7dee1}{egl\_surface},
+361                  window->\hyperlink{structwindow_a8de0059f3f1cb0dec33fba1143b7dee1}{egl\_surface}, window->\hyperlink{structwindow_a129486f2bd23791194f389ca1405cfd4}{display}->\hyperlink{structdisplay_a8b8bc104c19ff228d476a377e572d9c7}{egl}.
+      \hyperlink{structdisplay_a3420940a29a710e0e5ebd41ba462cc00}{ctx});
+362     assert(ret == EGL\_TRUE);
+363 
+364     \textcolor{keywordflow}{if} (!window->\hyperlink{structwindow_a851bcb65083f5ab5ff768b09522bed70}{frame\_sync})
+365         eglSwapInterval(display->\hyperlink{structdisplay_a8b8bc104c19ff228d476a377e572d9c7}{egl}.\hyperlink{structdisplay_a8a1cbda15a286e41e89a85f158ce9311}{dpy}, 0);
+366 
+367 \}
+\end{DoxyCode}
+\index{simple-\/egl.\+cpp@{simple-\/egl.\+cpp}!destroy\+\_\+surface@{destroy\+\_\+surface}}
+\index{destroy\+\_\+surface@{destroy\+\_\+surface}!simple-\/egl.\+cpp@{simple-\/egl.\+cpp}}
+\subsubsection[{\texorpdfstring{destroy\+\_\+surface(struct window $\ast$window)}{destroy_surface(struct window *window)}}]{\setlength{\rightskip}{0pt plus 5cm}static void destroy\+\_\+surface (
+\begin{DoxyParamCaption}
+\item[{struct {\bf window} $\ast$}]{window}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{simple-egl_8cpp_aba2ea9aa51701e52d4f36b4f34cecf7a}{}\label{simple-egl_8cpp_aba2ea9aa51701e52d4f36b4f34cecf7a}
+
+
+Definition at line 370 of file simple-\/egl.\+cpp.
+
+
+\begin{DoxyCode}
+371 \{
+372     \textcolor{comment}{/* Required, otherwise segfault in egl\_dri2.c: dri2\_make\_current()}
+373 \textcolor{comment}{     * on eglReleaseThread(). */}
+374     eglMakeCurrent(window->\hyperlink{structwindow_a129486f2bd23791194f389ca1405cfd4}{display}->\hyperlink{structdisplay_a8b8bc104c19ff228d476a377e572d9c7}{egl}.\hyperlink{structdisplay_a8a1cbda15a286e41e89a85f158ce9311}{dpy}, EGL\_NO\_SURFACE, EGL\_NO\_SURFACE,
+375                EGL\_NO\_CONTEXT);
+376 
+377     eglDestroySurface(window->\hyperlink{structwindow_a129486f2bd23791194f389ca1405cfd4}{display}->\hyperlink{structdisplay_a8b8bc104c19ff228d476a377e572d9c7}{egl}.\hyperlink{structdisplay_a8a1cbda15a286e41e89a85f158ce9311}{dpy}, window->\hyperlink{structwindow_a8de0059f3f1cb0dec33fba1143b7dee1}{egl\_surface});
+378     wl\_egl\_window\_destroy(window->\hyperlink{structwindow_ae41be0955d0e73530e1bc13dfeb9d731}{native});
+379 
+380     \textcolor{keywordflow}{if} (window->\hyperlink{structwindow_a129486f2bd23791194f389ca1405cfd4}{display}->\hyperlink{structdisplay_a24c073faff3bb4799c2d46291f27ab89}{ivi\_application})
+381         ivi\_surface\_destroy(window->\hyperlink{structwindow_a40e2c6fb4178953c820fc1b9f41d4b31}{ivi\_surface});
+382     wl\_surface\_destroy(window->\hyperlink{structwindow_a7d0790cfc7c30621611fa26ab5c1ae97}{surface});
+383 
+384     \textcolor{keywordflow}{if} (window->\hyperlink{structwindow_a35ba639556fa19d9273dad0953a6807e}{callback})
+385         wl\_callback\_destroy(window->\hyperlink{structwindow_a35ba639556fa19d9273dad0953a6807e}{callback});
+386 \}
+\end{DoxyCode}
+\index{simple-\/egl.\+cpp@{simple-\/egl.\+cpp}!E\+G\+L\+Boolean@{E\+G\+L\+Boolean}}
+\index{E\+G\+L\+Boolean@{E\+G\+L\+Boolean}!simple-\/egl.\+cpp@{simple-\/egl.\+cpp}}
+\subsubsection[{\texorpdfstring{E\+G\+L\+Boolean(\+E\+G\+L\+A\+P\+I\+E\+N\+T\+R\+Y\+P P\+F\+N\+E\+G\+L\+S\+W\+A\+P\+B\+U\+F\+F\+E\+R\+S\+W\+I\+T\+H\+D\+A\+M\+A\+G\+E\+E\+X\+T\+P\+R\+O\+C)(\+E\+G\+L\+Display dpy}{EGLBoolean(EGLAPIENTRYP PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC)(EGLDisplay dpy}}]{\setlength{\rightskip}{0pt plus 5cm}typedef E\+G\+L\+Boolean (
+\begin{DoxyParamCaption}
+\item[{E\+G\+L\+A\+P\+I\+E\+N\+T\+R\+YP}]{P\+F\+N\+E\+G\+L\+S\+W\+A\+P\+B\+U\+F\+F\+E\+R\+S\+W\+I\+T\+H\+D\+A\+M\+A\+G\+E\+E\+X\+T\+P\+R\+OC}
+\end{DoxyParamCaption}
+)}\hypertarget{simple-egl_8cpp_ab4ad070d3bf82abe5e70330578f67893}{}\label{simple-egl_8cpp_ab4ad070d3bf82abe5e70330578f67893}
+\index{simple-\/egl.\+cpp@{simple-\/egl.\+cpp}!fini\+\_\+egl@{fini\+\_\+egl}}
+\index{fini\+\_\+egl@{fini\+\_\+egl}!simple-\/egl.\+cpp@{simple-\/egl.\+cpp}}
+\subsubsection[{\texorpdfstring{fini\+\_\+egl(struct display $\ast$display)}{fini_egl(struct display *display)}}]{\setlength{\rightskip}{0pt plus 5cm}static void fini\+\_\+egl (
+\begin{DoxyParamCaption}
+\item[{struct {\bf display} $\ast$}]{display}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{simple-egl_8cpp_a4f71f46ede5b73bd7c770c973826f771}{}\label{simple-egl_8cpp_a4f71f46ede5b73bd7c770c973826f771}
+
+
+Definition at line 252 of file simple-\/egl.\+cpp.
+
+
+\begin{DoxyCode}
+253 \{
+254     eglTerminate(display->\hyperlink{structdisplay_a8b8bc104c19ff228d476a377e572d9c7}{egl}.\hyperlink{structdisplay_a8a1cbda15a286e41e89a85f158ce9311}{dpy});
+255     eglReleaseThread();
+256 \}
+\end{DoxyCode}
+\index{simple-\/egl.\+cpp@{simple-\/egl.\+cpp}!init\+\_\+egl@{init\+\_\+egl}}
+\index{init\+\_\+egl@{init\+\_\+egl}!simple-\/egl.\+cpp@{simple-\/egl.\+cpp}}
+\subsubsection[{\texorpdfstring{init\+\_\+egl(struct display $\ast$display, struct window $\ast$window)}{init_egl(struct display *display, struct window *window)}}]{\setlength{\rightskip}{0pt plus 5cm}static void init\+\_\+egl (
+\begin{DoxyParamCaption}
+\item[{struct {\bf display} $\ast$}]{display, }
+\item[{struct {\bf window} $\ast$}]{window}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{simple-egl_8cpp_a1073d4aca1838d3877fe577d813700fc}{}\label{simple-egl_8cpp_a1073d4aca1838d3877fe577d813700fc}
+
+
+Definition at line 174 of file simple-\/egl.\+cpp.
+
+
+\begin{DoxyCode}
+175 \{
+176     \textcolor{keyword}{static} \textcolor{keyword}{const} EGLint context\_attribs[] = \{
+177         EGL\_CONTEXT\_CLIENT\_VERSION, 2,
+178         EGL\_NONE
+179     \};
+180     \textcolor{keyword}{const} \textcolor{keywordtype}{char} *extensions;
+181 
+182     EGLint config\_attribs[] = \{
+183         EGL\_SURFACE\_TYPE, EGL\_WINDOW\_BIT,
+184         EGL\_RED\_SIZE, 1,
+185         EGL\_GREEN\_SIZE, 1,
+186         EGL\_BLUE\_SIZE, 1,
+187         EGL\_ALPHA\_SIZE, 1,
+188         EGL\_RENDERABLE\_TYPE, EGL\_OPENGL\_ES2\_BIT,
+189         EGL\_NONE
+190     \};
+191 
+192     EGLint major, minor, n, count, i, size;
+193     EGLConfig *configs;
+194     \hyperlink{simple-egl_8cpp_ab4ad070d3bf82abe5e70330578f67893}{EGLBoolean} ret;
+195 
+196     \textcolor{keywordflow}{if} (window->\hyperlink{structwindow_a026a50808d8323a5a73d585c19916fa8}{opaque} || window->\hyperlink{structwindow_a0e634038f669aff472012f25ea250b40}{buffer\_size} == 16)
+197         config\_attribs[9] = 0;
+198 
+199     display->\hyperlink{structdisplay_a8b8bc104c19ff228d476a377e572d9c7}{egl}.\hyperlink{structdisplay_a8a1cbda15a286e41e89a85f158ce9311}{dpy} = weston\_platform\_get\_egl\_display(EGL\_PLATFORM\_WAYLAND\_KHR, display->
+      \hyperlink{structdisplay_aa8faf09631925e9221fd8a0c086ce75a}{display}, NULL);
+200     assert(display->\hyperlink{structdisplay_a8b8bc104c19ff228d476a377e572d9c7}{egl}.\hyperlink{structdisplay_a8a1cbda15a286e41e89a85f158ce9311}{dpy});
+201 
+202     ret = eglInitialize(display->\hyperlink{structdisplay_a8b8bc104c19ff228d476a377e572d9c7}{egl}.\hyperlink{structdisplay_a8a1cbda15a286e41e89a85f158ce9311}{dpy}, &major, &minor);
+203     assert(ret == EGL\_TRUE);
+204     ret = eglBindAPI(EGL\_OPENGL\_ES\_API);
+205     assert(ret == EGL\_TRUE);
+206 
+207     \textcolor{keywordflow}{if} (!eglGetConfigs(display->\hyperlink{structdisplay_a8b8bc104c19ff228d476a377e572d9c7}{egl}.\hyperlink{structdisplay_a8a1cbda15a286e41e89a85f158ce9311}{dpy}, NULL, 0, &count) || count < 1)
+208         assert(0);
+209 
+210     configs = calloc(count, \textcolor{keyword}{sizeof} *configs);
+211     assert(configs);
+212 
+213     ret = eglChooseConfig(display->\hyperlink{structdisplay_a8b8bc104c19ff228d476a377e572d9c7}{egl}.\hyperlink{structdisplay_a8a1cbda15a286e41e89a85f158ce9311}{dpy}, config\_attribs,
+214                   configs, count, &n);
+215     assert(ret && n >= 1);
+216 
+217     \textcolor{keywordflow}{for} (i = 0; i < n; i++) \{
+218         eglGetConfigAttrib(display->\hyperlink{structdisplay_a8b8bc104c19ff228d476a377e572d9c7}{egl}.\hyperlink{structdisplay_a8a1cbda15a286e41e89a85f158ce9311}{dpy},
+219                    configs[i], EGL\_BUFFER\_SIZE, &size);
+220         \textcolor{keywordflow}{if} (window->\hyperlink{structwindow_a0e634038f669aff472012f25ea250b40}{buffer\_size} == size) \{
+221             display->\hyperlink{structdisplay_a8b8bc104c19ff228d476a377e572d9c7}{egl}.\hyperlink{structdisplay_a880aef9408b499f5b749541dc6e396c3}{conf} = configs[i];
+222             \textcolor{keywordflow}{break};
+223         \}
+224     \}
+225     free(configs);
+226     \textcolor{keywordflow}{if} (display->\hyperlink{structdisplay_a8b8bc104c19ff228d476a377e572d9c7}{egl}.\hyperlink{structdisplay_a880aef9408b499f5b749541dc6e396c3}{conf} == NULL) \{
+227         \hyperlink{include_2hmi-debug_8h_a65bb6c7cfe38f8a724beab5059d36fb2}{HMI\_ERROR}(\hyperlink{simple-egl_8cpp_a894f18168fa25101d792262f59846938}{log\_prefix},\textcolor{stringliteral}{"did not find config with buffer size %d"},
+228             window->\hyperlink{structwindow_a0e634038f669aff472012f25ea250b40}{buffer\_size});
+229         exit(EXIT\_FAILURE);
+230     \}
+231 
+232     display->\hyperlink{structdisplay_a8b8bc104c19ff228d476a377e572d9c7}{egl}.\hyperlink{structdisplay_a3420940a29a710e0e5ebd41ba462cc00}{ctx} = eglCreateContext(display->\hyperlink{structdisplay_a8b8bc104c19ff228d476a377e572d9c7}{egl}.\hyperlink{structdisplay_a8a1cbda15a286e41e89a85f158ce9311}{dpy},
+233                         display->\hyperlink{structdisplay_a8b8bc104c19ff228d476a377e572d9c7}{egl}.\hyperlink{structdisplay_a880aef9408b499f5b749541dc6e396c3}{conf},
+234                         EGL\_NO\_CONTEXT, context\_attribs);
+235     assert(display->\hyperlink{structdisplay_a8b8bc104c19ff228d476a377e572d9c7}{egl}.\hyperlink{structdisplay_a3420940a29a710e0e5ebd41ba462cc00}{ctx});
+236 
+237     display->\hyperlink{structdisplay_a48c46c118e4765ef06596f6341c8f23f}{swap\_buffers\_with\_damage} = NULL;
+238     extensions = eglQueryString(display->\hyperlink{structdisplay_a8b8bc104c19ff228d476a377e572d9c7}{egl}.\hyperlink{structdisplay_a8a1cbda15a286e41e89a85f158ce9311}{dpy}, EGL\_EXTENSIONS);
+239     \textcolor{keywordflow}{if} (extensions &&
+240         strstr(extensions, \textcolor{stringliteral}{"EGL\_EXT\_swap\_buffers\_with\_damage"}) &&
+241         strstr(extensions, \textcolor{stringliteral}{"EGL\_EXT\_buffer\_age"}))
+242         display->\hyperlink{structdisplay_a48c46c118e4765ef06596f6341c8f23f}{swap\_buffers\_with\_damage} =
+243             (PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC)
+244             eglGetProcAddress(\textcolor{stringliteral}{"eglSwapBuffersWithDamageEXT"});
+245 
+246     \textcolor{keywordflow}{if} (display->\hyperlink{structdisplay_a48c46c118e4765ef06596f6341c8f23f}{swap\_buffers\_with\_damage})
+247         \hyperlink{include_2hmi-debug_8h_a0d26d8b8201011dade787236519711c0}{HMI\_DEBUG}(\hyperlink{simple-egl_8cpp_a894f18168fa25101d792262f59846938}{log\_prefix},\textcolor{stringliteral}{"has EGL\_EXT\_buffer\_age and
+       EGL\_EXT\_swap\_buffers\_with\_damage"});
+248 
+249 \}
+\end{DoxyCode}
+\index{simple-\/egl.\+cpp@{simple-\/egl.\+cpp}!init\+\_\+gl@{init\+\_\+gl}}
+\index{init\+\_\+gl@{init\+\_\+gl}!simple-\/egl.\+cpp@{simple-\/egl.\+cpp}}
+\subsubsection[{\texorpdfstring{init\+\_\+gl(struct window $\ast$window)}{init_gl(struct window *window)}}]{\setlength{\rightskip}{0pt plus 5cm}static void init\+\_\+gl (
+\begin{DoxyParamCaption}
+\item[{struct {\bf window} $\ast$}]{window}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{simple-egl_8cpp_ab3ee863fa45f4026f78f592d6f6e34ff}{}\label{simple-egl_8cpp_ab3ee863fa45f4026f78f592d6f6e34ff}
+
+
+Definition at line 285 of file simple-\/egl.\+cpp.
+
+
+\begin{DoxyCode}
+286 \{
+287     GLuint frag, vert;
+288     GLuint program;
+289     GLint status;
+290 
+291     frag = \hyperlink{simple-egl_8cpp_ab72c580e4d6d47c2fb49c72cc76b85bb}{create\_shader}(window, \hyperlink{simple-egl_8cpp_ab5a6a2a26ac23f79b1687daa4b0d8980}{frag\_shader\_text}, GL\_FRAGMENT\_SHADER);
+292     vert = \hyperlink{simple-egl_8cpp_ab72c580e4d6d47c2fb49c72cc76b85bb}{create\_shader}(window, \hyperlink{simple-egl_8cpp_a717575939a37d84dcd4cf0447a630834}{vert\_shader\_text}, GL\_VERTEX\_SHADER);
+293 
+294     program = glCreateProgram();
+295     glAttachShader(program, frag);
+296     glAttachShader(program, vert);
+297     glLinkProgram(program);
+298 
+299     glGetProgramiv(program, GL\_LINK\_STATUS, &status);
+300     \textcolor{keywordflow}{if} (!status) \{
+301         \textcolor{keywordtype}{char} log[1000];
+302         GLsizei len;
+303         glGetProgramInfoLog(program, 1000, &len, log);
+304         \hyperlink{include_2hmi-debug_8h_a65bb6c7cfe38f8a724beab5059d36fb2}{HMI\_ERROR}(\hyperlink{simple-egl_8cpp_a894f18168fa25101d792262f59846938}{log\_prefix},\textcolor{stringliteral}{"Error: linking:%*s"}, len, log);
+305         exit(1);
+306     \}
+307 
+308     glUseProgram(program);
+309 
+310     window->\hyperlink{structwindow_a6975a930e9a3c166f8201fc4ef5e7728}{gl}.\hyperlink{structwindow_aaf965f90f9fc938db2315ff62028c362}{pos} = 0;
+311     window->\hyperlink{structwindow_a6975a930e9a3c166f8201fc4ef5e7728}{gl}.\hyperlink{structwindow_aef10fe94766ccd4831ee611c5ad0e55c}{col} = 1;
+312 
+313     glBindAttribLocation(program, window->\hyperlink{structwindow_a6975a930e9a3c166f8201fc4ef5e7728}{gl}.\hyperlink{structwindow_aaf965f90f9fc938db2315ff62028c362}{pos}, \textcolor{stringliteral}{"pos"});
+314     glBindAttribLocation(program, window->\hyperlink{structwindow_a6975a930e9a3c166f8201fc4ef5e7728}{gl}.\hyperlink{structwindow_aef10fe94766ccd4831ee611c5ad0e55c}{col}, \textcolor{stringliteral}{"color"});
+315     glLinkProgram(program);
+316 
+317     window->\hyperlink{structwindow_a6975a930e9a3c166f8201fc4ef5e7728}{gl}.\hyperlink{structwindow_a5202f3b60e262a6fa4fcee68dd47cb67}{rotation\_uniform} =
+318         glGetUniformLocation(program, \textcolor{stringliteral}{"rotation"});
+319 \}
+\end{DoxyCode}
+\index{simple-\/egl.\+cpp@{simple-\/egl.\+cpp}!init\+\_\+hs@{init\+\_\+hs}}
+\index{init\+\_\+hs@{init\+\_\+hs}!simple-\/egl.\+cpp@{simple-\/egl.\+cpp}}
+\subsubsection[{\texorpdfstring{init\+\_\+hs(\+Lib\+Home\+Screen $\ast$hs)}{init_hs(LibHomeScreen *hs)}}]{\setlength{\rightskip}{0pt plus 5cm}int init\+\_\+hs (
+\begin{DoxyParamCaption}
+\item[{{\bf Lib\+Home\+Screen} $\ast$}]{hs}
+\end{DoxyParamCaption}
+)}\hypertarget{simple-egl_8cpp_a79aafeb99915566dd3970246f465f306}{}\label{simple-egl_8cpp_a79aafeb99915566dd3970246f465f306}
+
+
+Definition at line 565 of file simple-\/egl.\+cpp.
+
+
+\begin{DoxyCode}
+565                           \{
+566     \textcolor{keywordflow}{if}(hs->\hyperlink{class_lib_home_screen_a6a57b573cc767725762ba9beab032220}{init}(\hyperlink{simple-egl_8cpp_a300b6806fe6818927fe4df08f2398124}{port}, \hyperlink{simple-egl_8cpp_a623ef6987ef3bd185c07b28b13e46d34}{token})!=0)
+567     \{
+568         \hyperlink{include_2hmi-debug_8h_a65bb6c7cfe38f8a724beab5059d36fb2}{HMI\_ERROR}(\hyperlink{simple-egl_8cpp_a894f18168fa25101d792262f59846938}{log\_prefix},\textcolor{stringliteral}{"homescreen init failed. "});
+569         \textcolor{keywordflow}{return} -1;
+570     \}
+571 
+572     hs->\hyperlink{class_lib_home_screen_ab1b0e08bf35415de9064afed899e9f85}{set\_event\_handler}(\hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154a3fb3563c64786f1a2ae404df6edffd5c}{LibHomeScreen::Event\_ShowWindow}, 
+      [hs](json\_object *\textcolor{keywordtype}{object})\{
+573         \hyperlink{include_2hmi-debug_8h_a0d26d8b8201011dade787236519711c0}{HMI\_DEBUG}(\textcolor{stringliteral}{"simple-egl"},\textcolor{stringliteral}{"try to activeWindow %s "}, \hyperlink{simple-egl_8cpp_a0da928eccfc57d1dfadfd29d4ac4854c}{app\_name}.c\_str());
+574 
+575         \textcolor{keyword}{struct }json\_object *param\_obj = json\_object\_object\_get(\textcolor{keywordtype}{object}, hs->
+      \hyperlink{class_lib_home_screen_a927592eff8e34efbbceaf12522f8897f}{\_keyParameter});
+576         \textcolor{keyword}{const} \textcolor{keywordtype}{char} *area = json\_object\_get\_string(
+577             json\_object\_object\_get(param\_obj, hs->\hyperlink{class_lib_home_screen_a8becda1b035ae45f5a11c7e7963091bf}{\_keyArea}));
+578         \textcolor{comment}{// Application should call LibWindowmanager::activateWindow() in showWindow handler}
+579         \textcolor{keywordflow}{if}(area == \textcolor{keyword}{nullptr})
+580             \hyperlink{simple-egl_8cpp_ad1513698e07197206c290f94d7669d85}{wm}->activateWindow(\hyperlink{simple-egl_8cpp_a332251aa739a56836cd4fbf3ecbb8bb2}{main\_role}, hs->\hyperlink{class_lib_home_screen_aac718b60b83c74e2b061f6f7f7ec3bf5}{\_areaNormal});
+581         \textcolor{keywordflow}{else}
+582             \hyperlink{simple-egl_8cpp_ad1513698e07197206c290f94d7669d85}{wm}->activateWindow(\hyperlink{simple-egl_8cpp_a332251aa739a56836cd4fbf3ecbb8bb2}{main\_role}, area);
+583     \});
+584 
+585     \textcolor{keywordflow}{return} 0;
+586 \}
+\end{DoxyCode}
+\index{simple-\/egl.\+cpp@{simple-\/egl.\+cpp}!init\+\_\+wm@{init\+\_\+wm}}
+\index{init\+\_\+wm@{init\+\_\+wm}!simple-\/egl.\+cpp@{simple-\/egl.\+cpp}}
+\subsubsection[{\texorpdfstring{init\+\_\+wm(\+Lib\+Windowmanager $\ast$wm, struct window $\ast$window)}{init_wm(LibWindowmanager *wm, struct window *window)}}]{\setlength{\rightskip}{0pt plus 5cm}int init\+\_\+wm (
+\begin{DoxyParamCaption}
+\item[{Lib\+Windowmanager $\ast$}]{wm, }
+\item[{struct {\bf window} $\ast$}]{window}
+\end{DoxyParamCaption}
+)}\hypertarget{simple-egl_8cpp_a644e25276ecdea04f2aa3412c1973927}{}\label{simple-egl_8cpp_a644e25276ecdea04f2aa3412c1973927}
+
+
+Definition at line 527 of file simple-\/egl.\+cpp.
+
+
+\begin{DoxyCode}
+528 \{
+529     \hyperlink{include_2hmi-debug_8h_a0d26d8b8201011dade787236519711c0}{HMI\_DEBUG}(\hyperlink{simple-egl_8cpp_a894f18168fa25101d792262f59846938}{log\_prefix},\textcolor{stringliteral}{"called"});
+530 
+531     \textcolor{keywordflow}{if} (\hyperlink{simple-egl_8cpp_ad1513698e07197206c290f94d7669d85}{wm}->init(\hyperlink{simple-egl_8cpp_a300b6806fe6818927fe4df08f2398124}{port}, \hyperlink{simple-egl_8cpp_a623ef6987ef3bd185c07b28b13e46d34}{token}) != 0) \{
+532         \hyperlink{include_2hmi-debug_8h_a65bb6c7cfe38f8a724beab5059d36fb2}{HMI\_ERROR}(\hyperlink{simple-egl_8cpp_a894f18168fa25101d792262f59846938}{log\_prefix},\textcolor{stringliteral}{"wm init failed. "});
+533         \textcolor{keywordflow}{return} -1;
+534     \}
+535 
+536     \hyperlink{simple-egl_8cpp_a28f56c9f01ed9f108201950645317cc9}{g\_id\_ivisurf} = \hyperlink{simple-egl_8cpp_ad1513698e07197206c290f94d7669d85}{wm}->requestSurface(\hyperlink{simple-egl_8cpp_a332251aa739a56836cd4fbf3ecbb8bb2}{main\_role});
+537     \textcolor{keywordflow}{if} (\hyperlink{simple-egl_8cpp_a28f56c9f01ed9f108201950645317cc9}{g\_id\_ivisurf} < 0) \{
+538         \hyperlink{include_2hmi-debug_8h_a65bb6c7cfe38f8a724beab5059d36fb2}{HMI\_ERROR}(\hyperlink{simple-egl_8cpp_a894f18168fa25101d792262f59846938}{log\_prefix},\textcolor{stringliteral}{"wm request surface failed "});
+539         \textcolor{keywordflow}{return} -1;
+540     \}
+541     \hyperlink{include_2hmi-debug_8h_a0d26d8b8201011dade787236519711c0}{HMI\_DEBUG}(\hyperlink{simple-egl_8cpp_a894f18168fa25101d792262f59846938}{log\_prefix},\textcolor{stringliteral}{"IVI\_SURFACE\_ID: %d "}, \hyperlink{simple-egl_8cpp_a28f56c9f01ed9f108201950645317cc9}{g\_id\_ivisurf});
+542 
+543     WMHandler wmh;
+544     wmh.on\_visible = [](\textcolor{keyword}{const} \textcolor{keywordtype}{char}* role, \textcolor{keywordtype}{bool} visible)\{
+545         \textcolor{comment}{// Sample code if user uses visible event}
+546         \hyperlink{include_2hmi-debug_8h_a0d26d8b8201011dade787236519711c0}{HMI\_DEBUG}(\hyperlink{simple-egl_8cpp_a894f18168fa25101d792262f59846938}{log\_prefix}, \textcolor{stringliteral}{"role: %s, visible: %s"}, role, visible ? \textcolor{stringliteral}{"true"} : \textcolor{stringliteral}{"false"})
+      ;
+547     \};
+548     wmh.on\_sync\_draw = [\hyperlink{simple-egl_8cpp_ad1513698e07197206c290f94d7669d85}{wm}, window](\textcolor{keyword}{const} \textcolor{keywordtype}{char}* role, \textcolor{keyword}{const} \textcolor{keywordtype}{char}* area, Rect rect) \{
+549 
+550         \hyperlink{include_2hmi-debug_8h_a0d26d8b8201011dade787236519711c0}{HMI\_DEBUG}(\hyperlink{simple-egl_8cpp_a894f18168fa25101d792262f59846938}{log\_prefix},\textcolor{stringliteral}{"Surface %s got syncDraw! Area: %s. w:%d, h:%d"}, role, area
+      , rect.width(), rect.height());
+551 
+552         wl\_egl\_window\_resize(window->\hyperlink{structwindow_ae41be0955d0e73530e1bc13dfeb9d731}{native}, rect.width(), rect.height(), 0, 0);
+553         window->geometry.width  = rect.width();
+554         window->geometry.height = rect.height();
+555 
+556         \hyperlink{simple-egl_8cpp_ad1513698e07197206c290f94d7669d85}{wm}->endDraw(role);
+557     \};
+558 
+559     \hyperlink{simple-egl_8cpp_ad1513698e07197206c290f94d7669d85}{wm}->setEventHandler(wmh);
+560 
+561     \textcolor{keywordflow}{return} 0;
+562 \}
+\end{DoxyCode}
+\index{simple-\/egl.\+cpp@{simple-\/egl.\+cpp}!main@{main}}
+\index{main@{main}!simple-\/egl.\+cpp@{simple-\/egl.\+cpp}}
+\subsubsection[{\texorpdfstring{main(int argc, char $\ast$$\ast$argv)}{main(int argc, char **argv)}}]{\setlength{\rightskip}{0pt plus 5cm}int main (
+\begin{DoxyParamCaption}
+\item[{int}]{argc, }
+\item[{char $\ast$$\ast$}]{argv}
+\end{DoxyParamCaption}
+)}\hypertarget{simple-egl_8cpp_a3c04138a5bfe5d72780bb7e82a18e627}{}\label{simple-egl_8cpp_a3c04138a5bfe5d72780bb7e82a18e627}
+
+
+Definition at line 589 of file simple-\/egl.\+cpp.
+
+
+\begin{DoxyCode}
+590 \{
+591     \textcolor{keyword}{struct }sigaction sigint;
+592     \textcolor{keyword}{struct }\hyperlink{structwindow}{window}  \hyperlink{structwindow}{window}  = \{ 0 \};
+593     \textcolor{keyword}{struct }\hyperlink{structdisplay}{display} \hyperlink{structdisplay}{display} = \{ 0 \};
+594 
+595     window.\hyperlink{structwindow_a129486f2bd23791194f389ca1405cfd4}{display} = &\hyperlink{structdisplay_aa8faf09631925e9221fd8a0c086ce75a}{display};
+596     display.\hyperlink{structdisplay_a9974d560bec291487ae2440f897ffc58}{window} = &\hyperlink{structdisplay_a9974d560bec291487ae2440f897ffc58}{window};
+597     window.geometry.width  = 1080;
+598     window.geometry.height = 1488;
+599     window.\hyperlink{structwindow_ad2b6c8ed8044b41fd1189a0ce26d539a}{window\_size} = window.geometry;
+600     window.\hyperlink{structwindow_a0e634038f669aff472012f25ea250b40}{buffer\_size} = 32;
+601     window.\hyperlink{structwindow_a851bcb65083f5ab5ff768b09522bed70}{frame\_sync} = 1;
+602 
+603     \textcolor{keywordflow}{if}(argc > 2)\{
+604         \hyperlink{simple-egl_8cpp_a300b6806fe6818927fe4df08f2398124}{port} = strtol(argv[1], NULL, 10);
+605         \hyperlink{simple-egl_8cpp_a623ef6987ef3bd185c07b28b13e46d34}{token} = argv[2];
+606     \}
+607 
+608     \hyperlink{include_2hmi-debug_8h_a0d26d8b8201011dade787236519711c0}{HMI\_DEBUG}(\hyperlink{simple-egl_8cpp_a894f18168fa25101d792262f59846938}{log\_prefix},\textcolor{stringliteral}{"main\_role: %s, port: %d, token: %s. "}, 
+      \hyperlink{simple-egl_8cpp_a332251aa739a56836cd4fbf3ecbb8bb2}{main\_role}, \hyperlink{simple-egl_8cpp_a300b6806fe6818927fe4df08f2398124}{port}, \hyperlink{simple-egl_8cpp_a623ef6987ef3bd185c07b28b13e46d34}{token}.c\_str());
+609 
+610     display.\hyperlink{structdisplay_aa8faf09631925e9221fd8a0c086ce75a}{display} = wl\_display\_connect(NULL);
+611     assert(display.\hyperlink{structdisplay_aa8faf09631925e9221fd8a0c086ce75a}{display});
+612 
+613     display.\hyperlink{structdisplay_a925781323f5c8eb84ef2225ed129de4b}{registry} = wl\_display\_get\_registry(display.\hyperlink{structdisplay_aa8faf09631925e9221fd8a0c086ce75a}{display});
+614     wl\_registry\_add\_listener(display.\hyperlink{structdisplay_a925781323f5c8eb84ef2225ed129de4b}{registry},
+615                  &\hyperlink{simple-egl_8cpp_a8998c87c94cd7d185e8f0cdafab4b1c4}{registry\_listener}, &display);
+616 
+617     wl\_display\_roundtrip(display.\hyperlink{structdisplay_aa8faf09631925e9221fd8a0c086ce75a}{display});
+618 
+619     \hyperlink{simple-egl_8cpp_a1073d4aca1838d3877fe577d813700fc}{init\_egl}(&display, &window);
+620 
+621     \hyperlink{simple-egl_8cpp_ad1513698e07197206c290f94d7669d85}{wm} = \textcolor{keyword}{new} LibWindowmanager();
+622     \textcolor{keywordflow}{if}(\hyperlink{simple-egl_8cpp_a644e25276ecdea04f2aa3412c1973927}{init\_wm}(\hyperlink{simple-egl_8cpp_ad1513698e07197206c290f94d7669d85}{wm}, &window)!=0)\{
+623         \hyperlink{simple-egl_8cpp_a4f71f46ede5b73bd7c770c973826f771}{fini\_egl}(&display);
+624         \textcolor{keywordflow}{if} (display.\hyperlink{structdisplay_a24c073faff3bb4799c2d46291f27ab89}{ivi\_application})
+625             ivi\_application\_destroy(display.\hyperlink{structdisplay_a24c073faff3bb4799c2d46291f27ab89}{ivi\_application});
+626         \textcolor{keywordflow}{if} (display.\hyperlink{structdisplay_a41ba32dfde812165dda5b62885000c78}{compositor})
+627             wl\_compositor\_destroy(display.\hyperlink{structdisplay_a41ba32dfde812165dda5b62885000c78}{compositor});
+628         wl\_registry\_destroy(display.\hyperlink{structdisplay_a925781323f5c8eb84ef2225ed129de4b}{registry});
+629         wl\_display\_flush(display.\hyperlink{structdisplay_aa8faf09631925e9221fd8a0c086ce75a}{display});
+630         \textcolor{keywordflow}{return} -1;
+631     \}
+632 
+633     \hyperlink{simple-egl_8cpp_a529acbd1fed9d98a587edfa62309fa8d}{hs} = \textcolor{keyword}{new} \hyperlink{class_lib_home_screen}{LibHomeScreen}();
+634     \textcolor{keywordflow}{if}(\hyperlink{simple-egl_8cpp_a79aafeb99915566dd3970246f465f306}{init\_hs}(\hyperlink{simple-egl_8cpp_a529acbd1fed9d98a587edfa62309fa8d}{hs})!=0)\{
+635         \hyperlink{simple-egl_8cpp_a4f71f46ede5b73bd7c770c973826f771}{fini\_egl}(&display);
+636         \textcolor{keywordflow}{if} (display.\hyperlink{structdisplay_a24c073faff3bb4799c2d46291f27ab89}{ivi\_application})
+637             ivi\_application\_destroy(display.\hyperlink{structdisplay_a24c073faff3bb4799c2d46291f27ab89}{ivi\_application});
+638         \textcolor{keywordflow}{if} (display.\hyperlink{structdisplay_a41ba32dfde812165dda5b62885000c78}{compositor})
+639             wl\_compositor\_destroy(display.\hyperlink{structdisplay_a41ba32dfde812165dda5b62885000c78}{compositor});
+640         wl\_registry\_destroy(display.\hyperlink{structdisplay_a925781323f5c8eb84ef2225ed129de4b}{registry});
+641         wl\_display\_flush(display.\hyperlink{structdisplay_aa8faf09631925e9221fd8a0c086ce75a}{display});
+642         \textcolor{keywordflow}{return} -1;
+643     \}
+644 
+645     \hyperlink{simple-egl_8cpp_a83c7f2e34bbc715d97f0642def708293}{create\_surface}(&window);
+646     \hyperlink{simple-egl_8cpp_ab3ee863fa45f4026f78f592d6f6e34ff}{init\_gl}(&window);
+647 
+648     \textcolor{comment}{//Ctrl+C}
+649     sigint.sa\_handler = \hyperlink{simple-egl_8cpp_a2cfc8c2d3fc1273ba8f811d2e639aec8}{signal\_int};
+650     sigemptyset(&sigint.sa\_mask);
+651     sigint.sa\_flags = SA\_RESETHAND;
+652     sigaction(SIGINT, &sigint, NULL);
+653 
+654     eglSwapBuffers(window.\hyperlink{structwindow_a129486f2bd23791194f389ca1405cfd4}{display}->\hyperlink{structdisplay_a8b8bc104c19ff228d476a377e572d9c7}{egl}.\hyperlink{structdisplay_a8a1cbda15a286e41e89a85f158ce9311}{dpy}, window.\hyperlink{structwindow_a8de0059f3f1cb0dec33fba1143b7dee1}{egl\_surface});
+655 
+656     \hyperlink{simple-egl_8cpp_ad1513698e07197206c290f94d7669d85}{wm}->activateWindow(\hyperlink{simple-egl_8cpp_a332251aa739a56836cd4fbf3ecbb8bb2}{main\_role});
+657 
+658     \textcolor{comment}{/* The mainloop here is a little subtle.  Redrawing will cause}
+659 \textcolor{comment}{     * EGL to read events so we can just call}
+660 \textcolor{comment}{     * wl\_display\_dispatch\_pending() to handle any events that got}
+661 \textcolor{comment}{     * queued up as a side effect. */}
+662     \textcolor{keywordflow}{while} (\hyperlink{simple-egl_8cpp_a2f45113638a0b749a8a205d2cd7fb42b}{running}) \{
+663         wl\_display\_dispatch\_pending(display.\hyperlink{structdisplay_aa8faf09631925e9221fd8a0c086ce75a}{display});
+664         \hyperlink{simple-egl_8cpp_a927502f6103ec35422eead39e62ab7ba}{redraw}(&window, NULL, 0);
+665     \}
+666 
+667     \hyperlink{include_2hmi-debug_8h_a0d26d8b8201011dade787236519711c0}{HMI\_DEBUG}(\hyperlink{simple-egl_8cpp_a894f18168fa25101d792262f59846938}{log\_prefix},\textcolor{stringliteral}{"simple-egl exiting! "});
+668 
+669     \hyperlink{simple-egl_8cpp_aba2ea9aa51701e52d4f36b4f34cecf7a}{destroy\_surface}(&window);
+670     \hyperlink{simple-egl_8cpp_a4f71f46ede5b73bd7c770c973826f771}{fini\_egl}(&display);
+671 
+672     \textcolor{keywordflow}{if} (display.\hyperlink{structdisplay_a24c073faff3bb4799c2d46291f27ab89}{ivi\_application})
+673         ivi\_application\_destroy(display.\hyperlink{structdisplay_a24c073faff3bb4799c2d46291f27ab89}{ivi\_application});
+674 
+675     \textcolor{keywordflow}{if} (display.\hyperlink{structdisplay_a41ba32dfde812165dda5b62885000c78}{compositor})
+676         wl\_compositor\_destroy(display.\hyperlink{structdisplay_a41ba32dfde812165dda5b62885000c78}{compositor});
+677 
+678     wl\_registry\_destroy(display.\hyperlink{structdisplay_a925781323f5c8eb84ef2225ed129de4b}{registry});
+679     wl\_display\_flush(display.\hyperlink{structdisplay_aa8faf09631925e9221fd8a0c086ce75a}{display});
+680     wl\_display\_disconnect(display.\hyperlink{structdisplay_aa8faf09631925e9221fd8a0c086ce75a}{display});
+681 
+682     \textcolor{keywordflow}{return} 0;
+683 \}
+\end{DoxyCode}
+\index{simple-\/egl.\+cpp@{simple-\/egl.\+cpp}!redraw@{redraw}}
+\index{redraw@{redraw}!simple-\/egl.\+cpp@{simple-\/egl.\+cpp}}
+\subsubsection[{\texorpdfstring{redraw(void $\ast$data, struct wl\+\_\+callback $\ast$callback, uint32\+\_\+t time)}{redraw(void *data, struct wl_callback *callback, uint32_t time)}}]{\setlength{\rightskip}{0pt plus 5cm}static void redraw (
+\begin{DoxyParamCaption}
+\item[{void $\ast$}]{data, }
+\item[{struct wl\+\_\+callback $\ast$}]{callback, }
+\item[{uint32\+\_\+t}]{time}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{simple-egl_8cpp_a927502f6103ec35422eead39e62ab7ba}{}\label{simple-egl_8cpp_a927502f6103ec35422eead39e62ab7ba}
+
+
+Definition at line 389 of file simple-\/egl.\+cpp.
+
+
+\begin{DoxyCode}
+390 \{
+391     \textcolor{keyword}{struct }\hyperlink{structwindow}{window} *\hyperlink{structwindow}{window} = data;
+392     \textcolor{keyword}{struct }\hyperlink{structdisplay}{display} *\hyperlink{structdisplay}{display} = window->\hyperlink{structwindow_a129486f2bd23791194f389ca1405cfd4}{display};
+393     \textcolor{keyword}{static} \textcolor{keyword}{const} GLfloat verts[3][2] = \{
+394         \{ -0.5, -0.5 \},
+395         \{  0.5, -0.5 \},
+396         \{  0,    0.5 \}
+397     \};
+398 
+399     \textcolor{keyword}{static} \textcolor{keyword}{const} GLfloat colors[3][3] = \{
+400         \{ 1, 0, 0 \},
+401         \{ 0, 1, 0 \},
+402         \{ 0, 0, 1 \}
+403     \};
+404 
+405     GLfloat angle;
+406     GLfloat rotation[4][4] = \{
+407         \{ 1, 0, 0, 0 \},
+408         \{ 0, 1, 0, 0 \},
+409         \{ 0, 0, 1, 0 \},
+410         \{ 0, 0, 0, 1 \}
+411     \};
+412     \textcolor{keyword}{static} \textcolor{keyword}{const} uint32\_t speed\_div = 5, benchmark\_interval = 5;
+413     \textcolor{keyword}{struct }wl\_region *region;
+414     EGLint rect[4];
+415     EGLint buffer\_age = 0;
+416     \textcolor{keyword}{struct }timeval tv;
+417 
+418     assert(window->\hyperlink{structwindow_a35ba639556fa19d9273dad0953a6807e}{callback} == callback);
+419     window->\hyperlink{structwindow_a35ba639556fa19d9273dad0953a6807e}{callback} = NULL;
+420 
+421     \textcolor{keywordflow}{if} (callback)
+422         wl\_callback\_destroy(callback);
+423 
+424     gettimeofday(&tv, NULL);
+425     time = tv.tv\_sec * 1000 + tv.tv\_usec / 1000;
+426     \textcolor{keywordflow}{if} (window->\hyperlink{structwindow_a633864bb495ec265bee220a5c70cc98f}{frames} == 0)
+427         window->\hyperlink{structwindow_a72629bf021a361ad900504732a74cb68}{benchmark\_time} = time;
+428 
+429     \textcolor{keywordflow}{if} (time - window->\hyperlink{structwindow_a72629bf021a361ad900504732a74cb68}{benchmark\_time} > (benchmark\_interval * 1000)) \{
+430         \hyperlink{include_2hmi-debug_8h_a0d26d8b8201011dade787236519711c0}{HMI\_DEBUG}(\hyperlink{simple-egl_8cpp_a894f18168fa25101d792262f59846938}{log\_prefix},\textcolor{stringliteral}{"%d frames in %d seconds: %f fps"},
+431                window->\hyperlink{structwindow_a633864bb495ec265bee220a5c70cc98f}{frames},
+432                benchmark\_interval,
+433                (\textcolor{keywordtype}{float}) window->\hyperlink{structwindow_a633864bb495ec265bee220a5c70cc98f}{frames} / benchmark\_interval);
+434         window->\hyperlink{structwindow_a72629bf021a361ad900504732a74cb68}{benchmark\_time} = time;
+435         window->\hyperlink{structwindow_a633864bb495ec265bee220a5c70cc98f}{frames} = 0;
+436     \}
+437 
+438     angle = (time / speed\_div) % 360 * M\_PI / 180.0;
+439     rotation[0][0] =  cos(angle);
+440     rotation[0][2] =  sin(angle);
+441     rotation[2][0] = -sin(angle);
+442     rotation[2][2] =  cos(angle);
+443 
+444     \textcolor{keywordflow}{if} (display->\hyperlink{structdisplay_a48c46c118e4765ef06596f6341c8f23f}{swap\_buffers\_with\_damage})
+445         eglQuerySurface(display->\hyperlink{structdisplay_a8b8bc104c19ff228d476a377e572d9c7}{egl}.\hyperlink{structdisplay_a8a1cbda15a286e41e89a85f158ce9311}{dpy}, window->\hyperlink{structwindow_a8de0059f3f1cb0dec33fba1143b7dee1}{egl\_surface},
+446                 \hyperlink{simple-egl_8cpp_a7045d8a6b4857f268a62fab2de2021fd}{EGL\_BUFFER\_AGE\_EXT}, &buffer\_age);
+447 
+448     glViewport(0, 0, window->geometry.width, window->geometry.height);
+449 
+450     glUniformMatrix4fv(window->\hyperlink{structwindow_a6975a930e9a3c166f8201fc4ef5e7728}{gl}.\hyperlink{structwindow_a5202f3b60e262a6fa4fcee68dd47cb67}{rotation\_uniform}, 1, GL\_FALSE,
+451                (GLfloat *) rotation);
+452 
+453     glClearColor(0.0, 0.0, 0.0, 0.5);
+454     glClear(GL\_COLOR\_BUFFER\_BIT);
+455 
+456     glVertexAttribPointer(window->\hyperlink{structwindow_a6975a930e9a3c166f8201fc4ef5e7728}{gl}.\hyperlink{structwindow_aaf965f90f9fc938db2315ff62028c362}{pos}, 2, GL\_FLOAT, GL\_FALSE, 0, verts);
+457     glVertexAttribPointer(window->\hyperlink{structwindow_a6975a930e9a3c166f8201fc4ef5e7728}{gl}.\hyperlink{structwindow_aef10fe94766ccd4831ee611c5ad0e55c}{col}, 3, GL\_FLOAT, GL\_FALSE, 0, colors);
+458     glEnableVertexAttribArray(window->\hyperlink{structwindow_a6975a930e9a3c166f8201fc4ef5e7728}{gl}.\hyperlink{structwindow_aaf965f90f9fc938db2315ff62028c362}{pos});
+459     glEnableVertexAttribArray(window->\hyperlink{structwindow_a6975a930e9a3c166f8201fc4ef5e7728}{gl}.\hyperlink{structwindow_aef10fe94766ccd4831ee611c5ad0e55c}{col});
+460 
+461     glDrawArrays(GL\_TRIANGLES, 0, 3);
+462 
+463     glDisableVertexAttribArray(window->\hyperlink{structwindow_a6975a930e9a3c166f8201fc4ef5e7728}{gl}.\hyperlink{structwindow_aaf965f90f9fc938db2315ff62028c362}{pos});
+464     glDisableVertexAttribArray(window->\hyperlink{structwindow_a6975a930e9a3c166f8201fc4ef5e7728}{gl}.\hyperlink{structwindow_aef10fe94766ccd4831ee611c5ad0e55c}{col});
+465 
+466     \textcolor{keywordflow}{if} (window->\hyperlink{structwindow_a026a50808d8323a5a73d585c19916fa8}{opaque} || window->\hyperlink{structwindow_a8da44798a9e1feb7ed3fbd18ec3a28b6}{fullscreen}) \{
+467         region = wl\_compositor\_create\_region(window->\hyperlink{structwindow_a129486f2bd23791194f389ca1405cfd4}{display}->\hyperlink{structdisplay_a41ba32dfde812165dda5b62885000c78}{compositor});
+468         wl\_region\_add(region, 0, 0,
+469                   window->geometry.width,
+470                   window->geometry.height);
+471         wl\_surface\_set\_opaque\_region(window->\hyperlink{structwindow_a7d0790cfc7c30621611fa26ab5c1ae97}{surface}, region);
+472         wl\_region\_destroy(region);
+473     \} \textcolor{keywordflow}{else} \{
+474         wl\_surface\_set\_opaque\_region(window->\hyperlink{structwindow_a7d0790cfc7c30621611fa26ab5c1ae97}{surface}, NULL);
+475     \}
+476 
+477     \textcolor{keywordflow}{if} (display->\hyperlink{structdisplay_a48c46c118e4765ef06596f6341c8f23f}{swap\_buffers\_with\_damage} && buffer\_age > 0) \{
+478         rect[0] = window->geometry.width / 4 - 1;
+479         rect[1] = window->geometry.height / 4 - 1;
+480         rect[2] = window->geometry.width / 2 + 2;
+481         rect[3] = window->geometry.height / 2 + 2;
+482         display->\hyperlink{structdisplay_a48c46c118e4765ef06596f6341c8f23f}{swap\_buffers\_with\_damage}(display->\hyperlink{structdisplay_a8b8bc104c19ff228d476a377e572d9c7}{egl}.
+      \hyperlink{structdisplay_a8a1cbda15a286e41e89a85f158ce9311}{dpy},
+483                           window->\hyperlink{structwindow_a8de0059f3f1cb0dec33fba1143b7dee1}{egl\_surface},
+484                           rect, 1);
+485     \} \textcolor{keywordflow}{else} \{
+486         eglSwapBuffers(display->\hyperlink{structdisplay_a8b8bc104c19ff228d476a377e572d9c7}{egl}.\hyperlink{structdisplay_a8a1cbda15a286e41e89a85f158ce9311}{dpy}, window->\hyperlink{structwindow_a8de0059f3f1cb0dec33fba1143b7dee1}{egl\_surface});
+487     \}
+488 
+489     window->\hyperlink{structwindow_a633864bb495ec265bee220a5c70cc98f}{frames}++;
+490 \}
+\end{DoxyCode}
+\index{simple-\/egl.\+cpp@{simple-\/egl.\+cpp}!registry\+\_\+handle\+\_\+global@{registry\+\_\+handle\+\_\+global}}
+\index{registry\+\_\+handle\+\_\+global@{registry\+\_\+handle\+\_\+global}!simple-\/egl.\+cpp@{simple-\/egl.\+cpp}}
+\subsubsection[{\texorpdfstring{registry\+\_\+handle\+\_\+global(void $\ast$data, struct wl\+\_\+registry $\ast$registry, uint32\+\_\+t name, const char $\ast$interface, uint32\+\_\+t version)}{registry_handle_global(void *data, struct wl_registry *registry, uint32_t name, const char *interface, uint32_t version)}}]{\setlength{\rightskip}{0pt plus 5cm}static void registry\+\_\+handle\+\_\+global (
+\begin{DoxyParamCaption}
+\item[{void $\ast$}]{data, }
+\item[{struct wl\+\_\+registry $\ast$}]{registry, }
+\item[{uint32\+\_\+t}]{name, }
+\item[{const char $\ast$}]{interface, }
+\item[{uint32\+\_\+t}]{version}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{simple-egl_8cpp_af288e02a94c196a68b327fc55c049932}{}\label{simple-egl_8cpp_af288e02a94c196a68b327fc55c049932}
+
+
+Definition at line 493 of file simple-\/egl.\+cpp.
+
+
+\begin{DoxyCode}
+495 \{
+496     \textcolor{keyword}{struct }\hyperlink{structdisplay}{display} *d = data;
+497 
+498     \textcolor{keywordflow}{if} (strcmp(interface, \textcolor{stringliteral}{"wl\_compositor"}) == 0) \{
+499         d->\hyperlink{structdisplay_a41ba32dfde812165dda5b62885000c78}{compositor} =
+500             wl\_registry\_bind(\hyperlink{structdisplay_a925781323f5c8eb84ef2225ed129de4b}{registry}, name,
+501                      &wl\_compositor\_interface, 1);
+502     \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (strcmp(interface, \textcolor{stringliteral}{"ivi\_application"}) == 0) \{
+503         d->\hyperlink{structdisplay_a24c073faff3bb4799c2d46291f27ab89}{ivi\_application} =
+504             wl\_registry\_bind(\hyperlink{structdisplay_a925781323f5c8eb84ef2225ed129de4b}{registry}, name,
+505                      &\hyperlink{simple-egl_8cpp_a769b65b7b0e834f732f1f45e835890d5}{ivi\_application\_interface}, 1);
+506     \}
+507 \}
+\end{DoxyCode}
+\index{simple-\/egl.\+cpp@{simple-\/egl.\+cpp}!registry\+\_\+handle\+\_\+global\+\_\+remove@{registry\+\_\+handle\+\_\+global\+\_\+remove}}
+\index{registry\+\_\+handle\+\_\+global\+\_\+remove@{registry\+\_\+handle\+\_\+global\+\_\+remove}!simple-\/egl.\+cpp@{simple-\/egl.\+cpp}}
+\subsubsection[{\texorpdfstring{registry\+\_\+handle\+\_\+global\+\_\+remove(void $\ast$data, struct wl\+\_\+registry $\ast$registry, uint32\+\_\+t name)}{registry_handle_global_remove(void *data, struct wl_registry *registry, uint32_t name)}}]{\setlength{\rightskip}{0pt plus 5cm}static void registry\+\_\+handle\+\_\+global\+\_\+remove (
+\begin{DoxyParamCaption}
+\item[{void $\ast$}]{data, }
+\item[{struct wl\+\_\+registry $\ast$}]{registry, }
+\item[{uint32\+\_\+t}]{name}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{simple-egl_8cpp_a59a731b9efa9d6a2015cdc8ccae1db80}{}\label{simple-egl_8cpp_a59a731b9efa9d6a2015cdc8ccae1db80}
+
+
+Definition at line 510 of file simple-\/egl.\+cpp.
+
+
+\begin{DoxyCode}
+512 \{
+513 \}
+\end{DoxyCode}
+\index{simple-\/egl.\+cpp@{simple-\/egl.\+cpp}!signal\+\_\+int@{signal\+\_\+int}}
+\index{signal\+\_\+int@{signal\+\_\+int}!simple-\/egl.\+cpp@{simple-\/egl.\+cpp}}
+\subsubsection[{\texorpdfstring{signal\+\_\+int(int signum)}{signal_int(int signum)}}]{\setlength{\rightskip}{0pt plus 5cm}static void signal\+\_\+int (
+\begin{DoxyParamCaption}
+\item[{int}]{signum}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{simple-egl_8cpp_a2cfc8c2d3fc1273ba8f811d2e639aec8}{}\label{simple-egl_8cpp_a2cfc8c2d3fc1273ba8f811d2e639aec8}
+
+
+Definition at line 521 of file simple-\/egl.\+cpp.
+
+
+\begin{DoxyCode}
+522 \{
+523     \hyperlink{simple-egl_8cpp_a2f45113638a0b749a8a205d2cd7fb42b}{running} = 0;
+524 \}
+\end{DoxyCode}
+
+
+\subsection{Variable Documentation}
+\index{simple-\/egl.\+cpp@{simple-\/egl.\+cpp}!app\+\_\+name@{app\+\_\+name}}
+\index{app\+\_\+name@{app\+\_\+name}!simple-\/egl.\+cpp@{simple-\/egl.\+cpp}}
+\subsubsection[{\texorpdfstring{app\+\_\+name}{app_name}}]{\setlength{\rightskip}{0pt plus 5cm}string app\+\_\+name = string(\char`\"{}Navigation\char`\"{})}\hypertarget{simple-egl_8cpp_a0da928eccfc57d1dfadfd29d4ac4854c}{}\label{simple-egl_8cpp_a0da928eccfc57d1dfadfd29d4ac4854c}
+
+
+Definition at line 63 of file simple-\/egl.\+cpp.
+
+\index{simple-\/egl.\+cpp@{simple-\/egl.\+cpp}!frag\+\_\+shader\+\_\+text@{frag\+\_\+shader\+\_\+text}}
+\index{frag\+\_\+shader\+\_\+text@{frag\+\_\+shader\+\_\+text}!simple-\/egl.\+cpp@{simple-\/egl.\+cpp}}
+\subsubsection[{\texorpdfstring{frag\+\_\+shader\+\_\+text}{frag_shader_text}}]{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ frag\+\_\+shader\+\_\+text\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{simple-egl_8cpp_ab5a6a2a26ac23f79b1687daa4b0d8980}{}\label{simple-egl_8cpp_ab5a6a2a26ac23f79b1687daa4b0d8980}
+{\bfseries Initial value\+:}
+\begin{DoxyCode}
+=
+    \textcolor{stringliteral}{"precision mediump float;\(\backslash\)n"}
+    \textcolor{stringliteral}{"varying vec4 v\_color;\(\backslash\)n"}
+    \textcolor{stringliteral}{"void main() \{\(\backslash\)n"}
+    \textcolor{stringliteral}{"  gl\_FragColor = v\_color;\(\backslash\)n"}
+    \textcolor{stringliteral}{"\}\(\backslash\)n"}
+\end{DoxyCode}
+
+
+Definition at line 164 of file simple-\/egl.\+cpp.
+
+\index{simple-\/egl.\+cpp@{simple-\/egl.\+cpp}!g\+\_\+id\+\_\+ivisurf@{g\+\_\+id\+\_\+ivisurf}}
+\index{g\+\_\+id\+\_\+ivisurf@{g\+\_\+id\+\_\+ivisurf}!simple-\/egl.\+cpp@{simple-\/egl.\+cpp}}
+\subsubsection[{\texorpdfstring{g\+\_\+id\+\_\+ivisurf}{g_id_ivisurf}}]{\setlength{\rightskip}{0pt plus 5cm}uint32\+\_\+t g\+\_\+id\+\_\+ivisurf = 9009}\hypertarget{simple-egl_8cpp_a28f56c9f01ed9f108201950645317cc9}{}\label{simple-egl_8cpp_a28f56c9f01ed9f108201950645317cc9}
+
+
+Definition at line 59 of file simple-\/egl.\+cpp.
+
+\index{simple-\/egl.\+cpp@{simple-\/egl.\+cpp}!hs@{hs}}
+\index{hs@{hs}!simple-\/egl.\+cpp@{simple-\/egl.\+cpp}}
+\subsubsection[{\texorpdfstring{hs}{hs}}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Lib\+Home\+Screen}$\ast$ hs}\hypertarget{simple-egl_8cpp_a529acbd1fed9d98a587edfa62309fa8d}{}\label{simple-egl_8cpp_a529acbd1fed9d98a587edfa62309fa8d}
+
+
+Definition at line 66 of file simple-\/egl.\+cpp.
+
+\index{simple-\/egl.\+cpp@{simple-\/egl.\+cpp}!ivi\+\_\+application\+\_\+interface@{ivi\+\_\+application\+\_\+interface}}
+\index{ivi\+\_\+application\+\_\+interface@{ivi\+\_\+application\+\_\+interface}!simple-\/egl.\+cpp@{simple-\/egl.\+cpp}}
+\subsubsection[{\texorpdfstring{ivi\+\_\+application\+\_\+interface}{ivi_application_interface}}]{\setlength{\rightskip}{0pt plus 5cm}const struct wl\+\_\+interface ivi\+\_\+application\+\_\+interface}\hypertarget{simple-egl_8cpp_a769b65b7b0e834f732f1f45e835890d5}{}\label{simple-egl_8cpp_a769b65b7b0e834f732f1f45e835890d5}
+{\bfseries Initial value\+:}
+\begin{DoxyCode}
+= \{
+    \textcolor{stringliteral}{"ivi\_application"}, 1,
+    1, \hyperlink{simple-egl_8cpp_a21a39b7c6cf5f6d10a62a70b3ebc9bad}{ivi\_application\_requests},
+    0, NULL,
+\}
+\end{DoxyCode}
+
+
+Definition at line 95 of file simple-\/egl.\+cpp.
+
+\index{simple-\/egl.\+cpp@{simple-\/egl.\+cpp}!ivi\+\_\+application\+\_\+requests@{ivi\+\_\+application\+\_\+requests}}
+\index{ivi\+\_\+application\+\_\+requests@{ivi\+\_\+application\+\_\+requests}!simple-\/egl.\+cpp@{simple-\/egl.\+cpp}}
+\subsubsection[{\texorpdfstring{ivi\+\_\+application\+\_\+requests}{ivi_application_requests}}]{\setlength{\rightskip}{0pt plus 5cm}const struct wl\+\_\+message ivi\+\_\+application\+\_\+requests\mbox{[}$\,$\mbox{]}\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{simple-egl_8cpp_a21a39b7c6cf5f6d10a62a70b3ebc9bad}{}\label{simple-egl_8cpp_a21a39b7c6cf5f6d10a62a70b3ebc9bad}
+{\bfseries Initial value\+:}
+\begin{DoxyCode}
+= \{
+        \{ \textcolor{stringliteral}{"surface\_create"}, \textcolor{stringliteral}{"uon"}, \hyperlink{simple-egl_8cpp_aea3203db9e218d3e5d60bdb4ebe2fa1f}{types} + 2 \},
+\}
+\end{DoxyCode}
+
+
+Definition at line 91 of file simple-\/egl.\+cpp.
+
+\index{simple-\/egl.\+cpp@{simple-\/egl.\+cpp}!ivi\+\_\+surface\+\_\+events@{ivi\+\_\+surface\+\_\+events}}
+\index{ivi\+\_\+surface\+\_\+events@{ivi\+\_\+surface\+\_\+events}!simple-\/egl.\+cpp@{simple-\/egl.\+cpp}}
+\subsubsection[{\texorpdfstring{ivi\+\_\+surface\+\_\+events}{ivi_surface_events}}]{\setlength{\rightskip}{0pt plus 5cm}const struct wl\+\_\+message ivi\+\_\+surface\+\_\+events\mbox{[}$\,$\mbox{]}\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{simple-egl_8cpp_ac848f4fbf712a9ba414272fa85577791}{}\label{simple-egl_8cpp_ac848f4fbf712a9ba414272fa85577791}
+{\bfseries Initial value\+:}
+\begin{DoxyCode}
+= \{
+        \{ \textcolor{stringliteral}{"configure"}, \textcolor{stringliteral}{"ii"}, \hyperlink{simple-egl_8cpp_aea3203db9e218d3e5d60bdb4ebe2fa1f}{types} + 0 \},
+\}
+\end{DoxyCode}
+
+
+Definition at line 81 of file simple-\/egl.\+cpp.
+
+\index{simple-\/egl.\+cpp@{simple-\/egl.\+cpp}!ivi\+\_\+surface\+\_\+interface@{ivi\+\_\+surface\+\_\+interface}}
+\index{ivi\+\_\+surface\+\_\+interface@{ivi\+\_\+surface\+\_\+interface}!simple-\/egl.\+cpp@{simple-\/egl.\+cpp}}
+\subsubsection[{\texorpdfstring{ivi\+\_\+surface\+\_\+interface}{ivi_surface_interface}}]{\setlength{\rightskip}{0pt plus 5cm}const struct wl\+\_\+interface ivi\+\_\+surface\+\_\+interface}\hypertarget{simple-egl_8cpp_adf384de8d12d2edd7265ab85fd16b11c}{}\label{simple-egl_8cpp_adf384de8d12d2edd7265ab85fd16b11c}
+{\bfseries Initial value\+:}
+\begin{DoxyCode}
+= \{
+        \textcolor{stringliteral}{"ivi\_surface"}, 1,
+        1, \hyperlink{simple-egl_8cpp_ada80120c5590d2821da9babef808b98d}{ivi\_surface\_requests},
+        1, \hyperlink{simple-egl_8cpp_ac848f4fbf712a9ba414272fa85577791}{ivi\_surface\_events},
+\}
+\end{DoxyCode}
+
+
+Definition at line 85 of file simple-\/egl.\+cpp.
+
+\index{simple-\/egl.\+cpp@{simple-\/egl.\+cpp}!ivi\+\_\+surface\+\_\+requests@{ivi\+\_\+surface\+\_\+requests}}
+\index{ivi\+\_\+surface\+\_\+requests@{ivi\+\_\+surface\+\_\+requests}!simple-\/egl.\+cpp@{simple-\/egl.\+cpp}}
+\subsubsection[{\texorpdfstring{ivi\+\_\+surface\+\_\+requests}{ivi_surface_requests}}]{\setlength{\rightskip}{0pt plus 5cm}const struct wl\+\_\+message ivi\+\_\+surface\+\_\+requests\mbox{[}$\,$\mbox{]}\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{simple-egl_8cpp_ada80120c5590d2821da9babef808b98d}{}\label{simple-egl_8cpp_ada80120c5590d2821da9babef808b98d}
+{\bfseries Initial value\+:}
+\begin{DoxyCode}
+= \{
+        \{ \textcolor{stringliteral}{"destroy"}, \textcolor{stringliteral}{""}, \hyperlink{simple-egl_8cpp_aea3203db9e218d3e5d60bdb4ebe2fa1f}{types} + 0 \},
+\}
+\end{DoxyCode}
+
+
+Definition at line 77 of file simple-\/egl.\+cpp.
+
+\index{simple-\/egl.\+cpp@{simple-\/egl.\+cpp}!log\+\_\+prefix@{log\+\_\+prefix}}
+\index{log\+\_\+prefix@{log\+\_\+prefix}!simple-\/egl.\+cpp@{simple-\/egl.\+cpp}}
+\subsubsection[{\texorpdfstring{log\+\_\+prefix}{log_prefix}}]{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ log\+\_\+prefix = \char`\"{}simple-\/egl\char`\"{}}\hypertarget{simple-egl_8cpp_a894f18168fa25101d792262f59846938}{}\label{simple-egl_8cpp_a894f18168fa25101d792262f59846938}
+
+
+Definition at line 58 of file simple-\/egl.\+cpp.
+
+\index{simple-\/egl.\+cpp@{simple-\/egl.\+cpp}!main\+\_\+role@{main\+\_\+role}}
+\index{main\+\_\+role@{main\+\_\+role}!simple-\/egl.\+cpp@{simple-\/egl.\+cpp}}
+\subsubsection[{\texorpdfstring{main\+\_\+role}{main_role}}]{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ main\+\_\+role = \char`\"{}navigation\char`\"{}}\hypertarget{simple-egl_8cpp_a332251aa739a56836cd4fbf3ecbb8bb2}{}\label{simple-egl_8cpp_a332251aa739a56836cd4fbf3ecbb8bb2}
+
+
+Definition at line 64 of file simple-\/egl.\+cpp.
+
+\index{simple-\/egl.\+cpp@{simple-\/egl.\+cpp}!port@{port}}
+\index{port@{port}!simple-\/egl.\+cpp@{simple-\/egl.\+cpp}}
+\subsubsection[{\texorpdfstring{port}{port}}]{\setlength{\rightskip}{0pt plus 5cm}long port = 1700}\hypertarget{simple-egl_8cpp_a300b6806fe6818927fe4df08f2398124}{}\label{simple-egl_8cpp_a300b6806fe6818927fe4df08f2398124}
+
+
+Definition at line 60 of file simple-\/egl.\+cpp.
+
+\index{simple-\/egl.\+cpp@{simple-\/egl.\+cpp}!registry\+\_\+listener@{registry\+\_\+listener}}
+\index{registry\+\_\+listener@{registry\+\_\+listener}!simple-\/egl.\+cpp@{simple-\/egl.\+cpp}}
+\subsubsection[{\texorpdfstring{registry\+\_\+listener}{registry_listener}}]{\setlength{\rightskip}{0pt plus 5cm}const struct wl\+\_\+registry\+\_\+listener registry\+\_\+listener\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{simple-egl_8cpp_a8998c87c94cd7d185e8f0cdafab4b1c4}{}\label{simple-egl_8cpp_a8998c87c94cd7d185e8f0cdafab4b1c4}
+{\bfseries Initial value\+:}
+\begin{DoxyCode}
+= \{
+    \hyperlink{simple-egl_8cpp_af288e02a94c196a68b327fc55c049932}{registry\_handle\_global},
+    \hyperlink{simple-egl_8cpp_a59a731b9efa9d6a2015cdc8ccae1db80}{registry\_handle\_global\_remove}
+\}
+\end{DoxyCode}
+
+
+Definition at line 515 of file simple-\/egl.\+cpp.
+
+\index{simple-\/egl.\+cpp@{simple-\/egl.\+cpp}!running@{running}}
+\index{running@{running}!simple-\/egl.\+cpp@{simple-\/egl.\+cpp}}
+\subsubsection[{\texorpdfstring{running}{running}}]{\setlength{\rightskip}{0pt plus 5cm}int running = 1\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{simple-egl_8cpp_a2f45113638a0b749a8a205d2cd7fb42b}{}\label{simple-egl_8cpp_a2f45113638a0b749a8a205d2cd7fb42b}
+
+
+Definition at line 171 of file simple-\/egl.\+cpp.
+
+\index{simple-\/egl.\+cpp@{simple-\/egl.\+cpp}!token@{token}}
+\index{token@{token}!simple-\/egl.\+cpp@{simple-\/egl.\+cpp}}
+\subsubsection[{\texorpdfstring{token}{token}}]{\setlength{\rightskip}{0pt plus 5cm}string token = string(\char`\"{}wm\char`\"{})}\hypertarget{simple-egl_8cpp_a623ef6987ef3bd185c07b28b13e46d34}{}\label{simple-egl_8cpp_a623ef6987ef3bd185c07b28b13e46d34}
+
+
+Definition at line 61 of file simple-\/egl.\+cpp.
+
+\index{simple-\/egl.\+cpp@{simple-\/egl.\+cpp}!types@{types}}
+\index{types@{types}!simple-\/egl.\+cpp@{simple-\/egl.\+cpp}}
+\subsubsection[{\texorpdfstring{types}{types}}]{\setlength{\rightskip}{0pt plus 5cm}const struct wl\+\_\+interface$\ast$ types\mbox{[}$\,$\mbox{]}\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{simple-egl_8cpp_aea3203db9e218d3e5d60bdb4ebe2fa1f}{}\label{simple-egl_8cpp_aea3203db9e218d3e5d60bdb4ebe2fa1f}
+{\bfseries Initial value\+:}
+\begin{DoxyCode}
+= \{
+        NULL,
+        NULL,
+        NULL,
+        &wl\_surface\_interface,
+        &\hyperlink{simple-egl_8cpp_adf384de8d12d2edd7265ab85fd16b11c}{ivi\_surface\_interface},
+\}
+\end{DoxyCode}
+
+
+Definition at line 69 of file simple-\/egl.\+cpp.
+
+\index{simple-\/egl.\+cpp@{simple-\/egl.\+cpp}!vert\+\_\+shader\+\_\+text@{vert\+\_\+shader\+\_\+text}}
+\index{vert\+\_\+shader\+\_\+text@{vert\+\_\+shader\+\_\+text}!simple-\/egl.\+cpp@{simple-\/egl.\+cpp}}
+\subsubsection[{\texorpdfstring{vert\+\_\+shader\+\_\+text}{vert_shader_text}}]{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ vert\+\_\+shader\+\_\+text\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{simple-egl_8cpp_a717575939a37d84dcd4cf0447a630834}{}\label{simple-egl_8cpp_a717575939a37d84dcd4cf0447a630834}
+{\bfseries Initial value\+:}
+\begin{DoxyCode}
+=
+    \textcolor{stringliteral}{"uniform mat4 rotation;\(\backslash\)n"}
+    \textcolor{stringliteral}{"attribute vec4 pos;\(\backslash\)n"}
+    \textcolor{stringliteral}{"attribute vec4 color;\(\backslash\)n"}
+    \textcolor{stringliteral}{"varying vec4 v\_color;\(\backslash\)n"}
+    \textcolor{stringliteral}{"void main() \{\(\backslash\)n"}
+    \textcolor{stringliteral}{"  gl\_Position = rotation * pos;\(\backslash\)n"}
+    \textcolor{stringliteral}{"  v\_color = color;\(\backslash\)n"}
+    \textcolor{stringliteral}{"\}\(\backslash\)n"}
+\end{DoxyCode}
+
+
+Definition at line 154 of file simple-\/egl.\+cpp.
+
+\index{simple-\/egl.\+cpp@{simple-\/egl.\+cpp}!wm@{wm}}
+\index{wm@{wm}!simple-\/egl.\+cpp@{simple-\/egl.\+cpp}}
+\subsubsection[{\texorpdfstring{wm}{wm}}]{\setlength{\rightskip}{0pt plus 5cm}Lib\+Windowmanager$\ast$ wm}\hypertarget{simple-egl_8cpp_ad1513698e07197206c290f94d7669d85}{}\label{simple-egl_8cpp_ad1513698e07197206c290f94d7669d85}
+
+
+Definition at line 67 of file simple-\/egl.\+cpp.
+
diff --git a/doc/api-ref/latex/de/dca/hs-clientmanager_8h.tex b/doc/api-ref/latex/de/dca/hs-clientmanager_8h.tex
new file mode 100644 (file)
index 0000000..79fb594
--- /dev/null
@@ -0,0 +1,26 @@
+\hypertarget{hs-clientmanager_8h}{}\section{src/hs-\/clientmanager.h File Reference}
+\label{hs-clientmanager_8h}\index{src/hs-\/clientmanager.\+h@{src/hs-\/clientmanager.\+h}}
+{\ttfamily \#include $<$string$>$}\\*
+{\ttfamily \#include $<$mutex$>$}\\*
+{\ttfamily \#include $<$memory$>$}\\*
+{\ttfamily \#include $<$unordered\+\_\+map$>$}\\*
+{\ttfamily \#include \char`\"{}hs-\/helper.\+h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}hs-\/client.\+h\char`\"{}}\\*
+\subsection*{Classes}
+\begin{DoxyCompactItemize}
+\item 
+struct \hyperlink{struct_h_s___client_ctxt}{H\+S\+\_\+\+Client\+Ctxt}
+\item 
+class \hyperlink{class_h_s___client_manager}{H\+S\+\_\+\+Client\+Manager}
+\end{DoxyCompactItemize}
+\subsection*{Typedefs}
+\begin{DoxyCompactItemize}
+\item 
+typedef struct \hyperlink{struct_h_s___client_ctxt}{H\+S\+\_\+\+Client\+Ctxt} \hyperlink{hs-clientmanager_8h_a58a145d17337b835ab3fe17b50163040}{H\+S\+\_\+\+Client\+Ctxt}
+\end{DoxyCompactItemize}
+
+
+\subsection{Typedef Documentation}
+\index{hs-\/clientmanager.\+h@{hs-\/clientmanager.\+h}!H\+S\+\_\+\+Client\+Ctxt@{H\+S\+\_\+\+Client\+Ctxt}}
+\index{H\+S\+\_\+\+Client\+Ctxt@{H\+S\+\_\+\+Client\+Ctxt}!hs-\/clientmanager.\+h@{hs-\/clientmanager.\+h}}
+\subsubsection[{\texorpdfstring{H\+S\+\_\+\+Client\+Ctxt}{HS_ClientCtxt}}]{\setlength{\rightskip}{0pt plus 5cm}typedef struct {\bf H\+S\+\_\+\+Client\+Ctxt}  {\bf H\+S\+\_\+\+Client\+Ctxt}}\hypertarget{hs-clientmanager_8h_a58a145d17337b835ab3fe17b50163040}{}\label{hs-clientmanager_8h_a58a145d17337b835ab3fe17b50163040}
index ce14de7..01b42c8 100644 (file)
@@ -7,9 +7,16 @@
 \subsection*{Public Types}
 \begin{DoxyCompactItemize}
 \item 
 \subsection*{Public Types}
 \begin{DoxyCompactItemize}
 \item 
-enum \hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154}{Event\+Type} \{ \hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f}{Event\+\_\+\+Tap\+Shortcut} = 1, 
+enum \hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154}{Event\+Type} \{ \\*
+\hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154a3fb3563c64786f1a2ae404df6edffd5c}{Event\+\_\+\+Show\+Window} = 1, 
+\hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f}{Event\+\_\+\+Tap\+Shortcut} = 1, 
 \hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d}{Event\+\_\+\+On\+Screen\+Message}, 
 \hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d}{Event\+\_\+\+On\+Screen\+Message}, 
-\hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd}{Event\+\_\+\+On\+Screen\+Reply}
+\hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd}{Event\+\_\+\+On\+Screen\+Reply}, 
+\\*
+\hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154aef8bb1086ddbc0a125d77af9da3146a0}{Event\+\_\+\+Hide\+Window}, 
+\hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154aaacb8babce7fac884ab4bf7605da0d9f}{Event\+\_\+\+Reply\+Show\+Window}, 
+\hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154a68119a9c3ff85e807db38d3282e5ca30}{Event\+\_\+\+Show\+Notification}, 
+\hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154a1fad2ac5071a1dae7db9c8e1b522669b}{Event\+\_\+\+Show\+Information}
  \}
 \item 
 using \hyperlink{class_lib_home_screen_a334f11f81c84c98d18284215dcaada3a}{handler\+\_\+func} = std\+::function$<$ void(json\+\_\+object $\ast$)$>$
  \}
 \item 
 using \hyperlink{class_lib_home_screen_a334f11f81c84c98d18284215dcaada3a}{handler\+\_\+func} = std\+::function$<$ void(json\+\_\+object $\ast$)$>$
@@ -25,9 +32,9 @@ using \hyperlink{class_lib_home_screen_a334f11f81c84c98d18284215dcaada3a}{handle
 \item 
 \hyperlink{class_lib_home_screen}{Lib\+Home\+Screen} \& \hyperlink{class_lib_home_screen_a23bc17798453cfca50904562736f6b25}{operator=} (const \hyperlink{class_lib_home_screen}{Lib\+Home\+Screen} \&)=delete
 \item 
 \item 
 \hyperlink{class_lib_home_screen}{Lib\+Home\+Screen} \& \hyperlink{class_lib_home_screen_a23bc17798453cfca50904562736f6b25}{operator=} (const \hyperlink{class_lib_home_screen}{Lib\+Home\+Screen} \&)=delete
 \item 
-int \hyperlink{class_lib_home_screen_a6a57b573cc767725762ba9beab032220}{init} (const int port, const std\+::string \&token)
+int \hyperlink{class_lib_home_screen_a6a57b573cc767725762ba9beab032220}{init} (const int \hyperlink{simple-egl_8cpp_a300b6806fe6818927fe4df08f2398124}{port}, const std\+::string \&\hyperlink{simple-egl_8cpp_a623ef6987ef3bd185c07b28b13e46d34}{token})
 \item 
 \item 
-int \hyperlink{class_lib_home_screen_afb571c9577087b47065eb23e7fdbc903}{tap\+Shortcut} (const char $\ast$application\+\_\+name)
+int \hyperlink{class_lib_home_screen_a6ca8ff4a2aa019a735afaff713e0ef44}{tap\+Shortcut} (const char $\ast$application\+\_\+id)
 \item 
 int \hyperlink{class_lib_home_screen_ac336482036a72b51a822725f1929523c}{on\+Screen\+Message} (const char $\ast$display\+\_\+message)
 \item 
 \item 
 int \hyperlink{class_lib_home_screen_ac336482036a72b51a822725f1929523c}{on\+Screen\+Message} (const char $\ast$display\+\_\+message)
 \item 
@@ -35,7 +42,7 @@ int \hyperlink{class_lib_home_screen_a6c065f41f2c5d1f58d2763bfb4da9c37}{on\+Scre
 \item 
 void \hyperlink{class_lib_home_screen_ab1b0e08bf35415de9064afed899e9f85}{set\+\_\+event\+\_\+handler} (enum \hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154}{Event\+Type} et, \hyperlink{class_lib_home_screen_a334f11f81c84c98d18284215dcaada3a}{handler\+\_\+func} f)
 \item 
 \item 
 void \hyperlink{class_lib_home_screen_ab1b0e08bf35415de9064afed899e9f85}{set\+\_\+event\+\_\+handler} (enum \hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154}{Event\+Type} et, \hyperlink{class_lib_home_screen_a334f11f81c84c98d18284215dcaada3a}{handler\+\_\+func} f)
 \item 
-void \hyperlink{class_lib_home_screen_a2789e8a5372202cc36f48e71dbb9b7cf}{register\+Callback} (void($\ast$event\+\_\+cb)(const std\+::string \&\hyperlink{structevent}{event}, struct json\+\_\+object $\ast$event\+\_\+contents), void($\ast$reply\+\_\+cb)(struct json\+\_\+object $\ast$reply\+\_\+contents), void($\ast$hangup\+\_\+cb)(void)=nullptr)
+void \hyperlink{class_lib_home_screen_a2789e8a5372202cc36f48e71dbb9b7cf}{register\+Callback} (void($\ast$event\+\_\+cb)(const std\+::string \&event, struct json\+\_\+object $\ast$event\+\_\+contents), void($\ast$reply\+\_\+cb)(struct json\+\_\+object $\ast$reply\+\_\+contents), void($\ast$hangup\+\_\+cb)(void)=nullptr)
 \item 
 int \hyperlink{class_lib_home_screen_a527b49dcfe581be6275d0eb2236ba37f}{call} (const std\+::string \&verb, struct json\+\_\+object $\ast$arg)
 \item 
 \item 
 int \hyperlink{class_lib_home_screen_a527b49dcfe581be6275d0eb2236ba37f}{call} (const std\+::string \&verb, struct json\+\_\+object $\ast$arg)
 \item 
@@ -45,14 +52,39 @@ int \hyperlink{class_lib_home_screen_aa4c189807b75d070f567967f0d690738}{subscrib
 \item 
 int \hyperlink{class_lib_home_screen_aac03a45cbd453ba69ddb00c1016930a6}{unsubscribe} (const std\+::string \&event\+\_\+name)
 \item 
 \item 
 int \hyperlink{class_lib_home_screen_aac03a45cbd453ba69ddb00c1016930a6}{unsubscribe} (const std\+::string \&event\+\_\+name)
 \item 
+int \hyperlink{class_lib_home_screen_a69fc770cb3f94d30a10c2c8c81eb892f}{show\+Window} (const char $\ast$application\+\_\+id, json\+\_\+object $\ast$json)
+\item 
+int \hyperlink{class_lib_home_screen_a4dbaea6c7b310e8ce7207155ff11b32a}{hide\+Window} (const char $\ast$application\+\_\+id)
+\item 
+int \hyperlink{class_lib_home_screen_a6310b129fc85ef0623e2e2063950cc4b}{reply\+Show\+Window} (const char $\ast$application\+\_\+id, json\+\_\+object $\ast$json)
+\item 
+int \hyperlink{class_lib_home_screen_a93ad567ed597a80a344ba82457c2bd7f}{show\+Notification} (json\+\_\+object $\ast$json)
+\item 
+int \hyperlink{class_lib_home_screen_ada999aeb0444c964428bdf1ee236727f}{show\+Information} (json\+\_\+object $\ast$json)
+\item 
 void \hyperlink{class_lib_home_screen_ab1c1fa69f24b981e824dd9fb810c4b74}{on\+\_\+hangup} (void $\ast$closure, struct afb\+\_\+wsj1 $\ast$wsj)
 \item 
 void \hyperlink{class_lib_home_screen_a608638eb87b2772a3dcc92d8ca8f3596}{on\+\_\+call} (void $\ast$closure, const char $\ast$api, const char $\ast$verb, struct afb\+\_\+wsj1\+\_\+msg $\ast$msg)
 \item 
 void \hyperlink{class_lib_home_screen_ab1c1fa69f24b981e824dd9fb810c4b74}{on\+\_\+hangup} (void $\ast$closure, struct afb\+\_\+wsj1 $\ast$wsj)
 \item 
 void \hyperlink{class_lib_home_screen_a608638eb87b2772a3dcc92d8ca8f3596}{on\+\_\+call} (void $\ast$closure, const char $\ast$api, const char $\ast$verb, struct afb\+\_\+wsj1\+\_\+msg $\ast$msg)
 \item 
-void \hyperlink{class_lib_home_screen_a9c4885b51b43ab24a548d49fb3ab2de3}{on\+\_\+event} (void $\ast$closure, const char $\ast$\hyperlink{structevent}{event}, struct afb\+\_\+wsj1\+\_\+msg $\ast$msg)
+void \hyperlink{class_lib_home_screen_a9c4885b51b43ab24a548d49fb3ab2de3}{on\+\_\+event} (void $\ast$closure, const char $\ast$event, struct afb\+\_\+wsj1\+\_\+msg $\ast$msg)
 \item 
 void \hyperlink{class_lib_home_screen_a248d9648c6186287a7632ec1c75fc9c5}{on\+\_\+reply} (void $\ast$closure, struct afb\+\_\+wsj1\+\_\+msg $\ast$msg)
 \end{DoxyCompactItemize}
 \item 
 void \hyperlink{class_lib_home_screen_a248d9648c6186287a7632ec1c75fc9c5}{on\+\_\+reply} (void $\ast$closure, struct afb\+\_\+wsj1\+\_\+msg $\ast$msg)
 \end{DoxyCompactItemize}
+\subsection*{Public Attributes}
+\begin{DoxyCompactItemize}
+\item 
+const char $\ast$ \hyperlink{class_lib_home_screen_a927592eff8e34efbbceaf12522f8897f}{\+\_\+key\+Parameter} = \char`\"{}parameter\char`\"{}
+\item 
+const char $\ast$ \hyperlink{class_lib_home_screen_a8becda1b035ae45f5a11c7e7963091bf}{\+\_\+key\+Area} = \char`\"{}area\char`\"{}
+\item 
+const char $\ast$ \hyperlink{class_lib_home_screen_aac718b60b83c74e2b061f6f7f7ec3bf5}{\+\_\+area\+Normal} = \char`\"{}normal\char`\"{}
+\item 
+const char $\ast$ \hyperlink{class_lib_home_screen_ad0569f5323ead77a43bd8735377a6f25}{\+\_\+area\+Full\+Screen} = \char`\"{}fullscreen\char`\"{}
+\item 
+const char $\ast$ \hyperlink{class_lib_home_screen_a7f201fc366146790520bf8d990f7b2eb}{\+\_\+area\+Split\+Main} = \char`\"{}split.\+main\char`\"{}
+\item 
+const char $\ast$ \hyperlink{class_lib_home_screen_ab4f54373b0681de11243152f01c48888}{\+\_\+area\+Split\+Sub} = \char`\"{}split.\+sub\char`\"{}
+\end{DoxyCompactItemize}
 \subsection*{Static Public Attributes}
 \begin{DoxyCompactItemize}
 \item 
 \subsection*{Static Public Attributes}
 \begin{DoxyCompactItemize}
 \item 
@@ -65,118 +97,131 @@ static const std\+::vector$<$ std\+::string $>$ \hyperlink{class_lib_home_screen
 \subsection{Detailed Description}
 
 
 \subsection{Detailed Description}
 
 
-Definition at line 32 of file libhomescreen.\+hpp.
+Definition at line 31 of file libhomescreen.\+hpp.
 
 
 
 \subsection{Member Typedef Documentation}
 
 
 
 \subsection{Member Typedef Documentation}
-\mbox{\Hypertarget{class_lib_home_screen_a334f11f81c84c98d18284215dcaada3a}\label{class_lib_home_screen_a334f11f81c84c98d18284215dcaada3a}} 
 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!handler\+\_\+func@{handler\+\_\+func}}
 \index{handler\+\_\+func@{handler\+\_\+func}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!handler\+\_\+func@{handler\+\_\+func}}
 \index{handler\+\_\+func@{handler\+\_\+func}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
-\subsubsection{\texorpdfstring{handler\+\_\+func}{handler\_func}}
-{\footnotesize\ttfamily using \hyperlink{class_lib_home_screen_a334f11f81c84c98d18284215dcaada3a}{Lib\+Home\+Screen\+::handler\+\_\+func} =  std\+::function$<$void(json\+\_\+object$\ast$)$>$}
+\subsubsection[{\texorpdfstring{handler\+\_\+func}{handler_func}}]{\setlength{\rightskip}{0pt plus 5cm}using {\bf Lib\+Home\+Screen\+::handler\+\_\+func} =  std\+::function$<$void(json\+\_\+object$\ast$)$>$}\hypertarget{class_lib_home_screen_a334f11f81c84c98d18284215dcaada3a}{}\label{class_lib_home_screen_a334f11f81c84c98d18284215dcaada3a}
 
 
 
 
-
-Definition at line 42 of file libhomescreen.\+hpp.
+Definition at line 40 of file libhomescreen.\+hpp.
 
 
 
 \subsection{Member Enumeration Documentation}
 
 
 
 \subsection{Member Enumeration Documentation}
-\mbox{\Hypertarget{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154}\label{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154}} 
 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!Event\+Type@{Event\+Type}}
 \index{Event\+Type@{Event\+Type}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!Event\+Type@{Event\+Type}}
 \index{Event\+Type@{Event\+Type}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
-\subsubsection{\texorpdfstring{Event\+Type}{EventType}}
-{\footnotesize\ttfamily enum \hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154}{Lib\+Home\+Screen\+::\+Event\+Type}}
+\subsubsection[{\texorpdfstring{Event\+Type}{EventType}}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf Lib\+Home\+Screen\+::\+Event\+Type}}\hypertarget{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154}{}\label{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154}
+\begin{Desc}
+\item[Enumerator]\par
+\begin{description}
+\index{Event\+\_\+\+Show\+Window@{Event\+\_\+\+Show\+Window}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}\index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!Event\+\_\+\+Show\+Window@{Event\+\_\+\+Show\+Window}}\item[{\em 
+Event\+\_\+\+Show\+Window\hypertarget{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154a3fb3563c64786f1a2ae404df6edffd5c}{}\label{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154a3fb3563c64786f1a2ae404df6edffd5c}
+}]\index{Event\+\_\+\+Tap\+Shortcut@{Event\+\_\+\+Tap\+Shortcut}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}\index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!Event\+\_\+\+Tap\+Shortcut@{Event\+\_\+\+Tap\+Shortcut}}\item[{\em 
+Event\+\_\+\+Tap\+Shortcut\hypertarget{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f}{}\label{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f}
+}]\index{Event\+\_\+\+On\+Screen\+Message@{Event\+\_\+\+On\+Screen\+Message}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}\index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!Event\+\_\+\+On\+Screen\+Message@{Event\+\_\+\+On\+Screen\+Message}}\item[{\em 
+Event\+\_\+\+On\+Screen\+Message\hypertarget{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d}{}\label{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d}
+}]\index{Event\+\_\+\+On\+Screen\+Reply@{Event\+\_\+\+On\+Screen\+Reply}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}\index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!Event\+\_\+\+On\+Screen\+Reply@{Event\+\_\+\+On\+Screen\+Reply}}\item[{\em 
+Event\+\_\+\+On\+Screen\+Reply\hypertarget{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd}{}\label{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd}
+}]\index{Event\+\_\+\+Hide\+Window@{Event\+\_\+\+Hide\+Window}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}\index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!Event\+\_\+\+Hide\+Window@{Event\+\_\+\+Hide\+Window}}\item[{\em 
+Event\+\_\+\+Hide\+Window\hypertarget{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154aef8bb1086ddbc0a125d77af9da3146a0}{}\label{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154aef8bb1086ddbc0a125d77af9da3146a0}
+}]\index{Event\+\_\+\+Reply\+Show\+Window@{Event\+\_\+\+Reply\+Show\+Window}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}\index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!Event\+\_\+\+Reply\+Show\+Window@{Event\+\_\+\+Reply\+Show\+Window}}\item[{\em 
+Event\+\_\+\+Reply\+Show\+Window\hypertarget{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154aaacb8babce7fac884ab4bf7605da0d9f}{}\label{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154aaacb8babce7fac884ab4bf7605da0d9f}
+}]\index{Event\+\_\+\+Show\+Notification@{Event\+\_\+\+Show\+Notification}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}\index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!Event\+\_\+\+Show\+Notification@{Event\+\_\+\+Show\+Notification}}\item[{\em 
+Event\+\_\+\+Show\+Notification\hypertarget{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154a68119a9c3ff85e807db38d3282e5ca30}{}\label{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154a68119a9c3ff85e807db38d3282e5ca30}
+}]\index{Event\+\_\+\+Show\+Information@{Event\+\_\+\+Show\+Information}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}\index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!Event\+\_\+\+Show\+Information@{Event\+\_\+\+Show\+Information}}\item[{\em 
+Event\+\_\+\+Show\+Information\hypertarget{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154a1fad2ac5071a1dae7db9c8e1b522669b}{}\label{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154a1fad2ac5071a1dae7db9c8e1b522669b}
+}]\end{description}
+\end{Desc}
 
 
-\begin{DoxyEnumFields}{Enumerator}
-\raisebox{\heightof{T}}[0pt][0pt]{\index{Event\+\_\+\+Tap\+Shortcut@{Event\+\_\+\+Tap\+Shortcut}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}\index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!Event\+\_\+\+Tap\+Shortcut@{Event\+\_\+\+Tap\+Shortcut}}}\mbox{\Hypertarget{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f}\label{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f}} 
-Event\+\_\+\+Tap\+Shortcut&\\
-\hline
 
 
-\raisebox{\heightof{T}}[0pt][0pt]{\index{Event\+\_\+\+On\+Screen\+Message@{Event\+\_\+\+On\+Screen\+Message}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}\index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!Event\+\_\+\+On\+Screen\+Message@{Event\+\_\+\+On\+Screen\+Message}}}\mbox{\Hypertarget{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d}\label{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d}} 
-Event\+\_\+\+On\+Screen\+Message&\\
-\hline
-
-\raisebox{\heightof{T}}[0pt][0pt]{\index{Event\+\_\+\+On\+Screen\+Reply@{Event\+\_\+\+On\+Screen\+Reply}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}\index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!Event\+\_\+\+On\+Screen\+Reply@{Event\+\_\+\+On\+Screen\+Reply}}}\mbox{\Hypertarget{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd}\label{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd}} 
-Event\+\_\+\+On\+Screen\+Reply&\\
-\hline
-
-\end{DoxyEnumFields}
-
-
-Definition at line 44 of file libhomescreen.\+hpp.
+Definition at line 42 of file libhomescreen.\+hpp.
 
 
 \begin{DoxyCode}
 
 
 \begin{DoxyCode}
-44                        \{
-45             \hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f}{Event\_TapShortcut} = 1,
-46             \hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d}{Event\_OnScreenMessage},
-47             \hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd}{Event\_OnScreenReply}
-48         \};
+42                    \{
+43         \hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154a3fb3563c64786f1a2ae404df6edffd5c}{Event\_ShowWindow} = 1,
+44         \hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f}{Event\_TapShortcut} = 1,
+45         \hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d}{Event\_OnScreenMessage},
+46         \hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd}{Event\_OnScreenReply},
+47         \hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154aef8bb1086ddbc0a125d77af9da3146a0}{Event\_HideWindow},
+48         \hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154aaacb8babce7fac884ab4bf7605da0d9f}{Event\_ReplyShowWindow},
+49         \hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154a68119a9c3ff85e807db38d3282e5ca30}{Event\_ShowNotification},
+50         \hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154a1fad2ac5071a1dae7db9c8e1b522669b}{Event\_ShowInformation}
+51     \};
 \end{DoxyCode}
 
 
 \subsection{Constructor \& Destructor Documentation}
 \end{DoxyCode}
 
 
 \subsection{Constructor \& Destructor Documentation}
-\mbox{\Hypertarget{class_lib_home_screen_a724bd949c4154fad041f96a15ef0f5dc}\label{class_lib_home_screen_a724bd949c4154fad041f96a15ef0f5dc}} 
 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
-\subsubsection{\texorpdfstring{Lib\+Home\+Screen()}{LibHomeScreen()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
-{\footnotesize\ttfamily Lib\+Home\+Screen\+::\+Lib\+Home\+Screen (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
-
+\subsubsection[{\texorpdfstring{Lib\+Home\+Screen()}{LibHomeScreen()}}]{\setlength{\rightskip}{0pt plus 5cm}Lib\+Home\+Screen\+::\+Lib\+Home\+Screen (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)}\hypertarget{class_lib_home_screen_a724bd949c4154fad041f96a15ef0f5dc}{}\label{class_lib_home_screen_a724bd949c4154fad041f96a15ef0f5dc}
 constructor 
 
 constructor 
 
-Definition at line 83 of file libhomescreen.\+cpp.
+Definition at line 93 of file libhomescreen.\+cpp.
 
 
 \begin{DoxyCode}
 
 
 \begin{DoxyCode}
-84 \{
-85 \}
+94 \{
+95 \}
 \end{DoxyCode}
 \end{DoxyCode}
-\mbox{\Hypertarget{class_lib_home_screen_a249902aebf71a5383ca8ec6ae558d095}\label{class_lib_home_screen_a249902aebf71a5383ca8ec6ae558d095}} 
 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!````~Lib\+Home\+Screen@{$\sim$\+Lib\+Home\+Screen}}
 \index{````~Lib\+Home\+Screen@{$\sim$\+Lib\+Home\+Screen}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!````~Lib\+Home\+Screen@{$\sim$\+Lib\+Home\+Screen}}
 \index{````~Lib\+Home\+Screen@{$\sim$\+Lib\+Home\+Screen}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
-\subsubsection{\texorpdfstring{$\sim$\+Lib\+Home\+Screen()}{~LibHomeScreen()}}
-{\footnotesize\ttfamily Lib\+Home\+Screen\+::$\sim$\+Lib\+Home\+Screen (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
-
+\subsubsection[{\texorpdfstring{$\sim$\+Lib\+Home\+Screen()}{~LibHomeScreen()}}]{\setlength{\rightskip}{0pt plus 5cm}Lib\+Home\+Screen\+::$\sim$\+Lib\+Home\+Screen (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)}\hypertarget{class_lib_home_screen_a249902aebf71a5383ca8ec6ae558d095}{}\label{class_lib_home_screen_a249902aebf71a5383ca8ec6ae558d095}
 destructor 
 
 destructor 
 
-Definition at line 90 of file libhomescreen.\+cpp.
+Definition at line 100 of file libhomescreen.\+cpp.
 
 
 \begin{DoxyCode}
 
 
 \begin{DoxyCode}
-91 \{
-92     \textcolor{keywordflow}{if}(mploop)
-93     \{
-94         sd\_event\_unref(mploop);
-95     \}
-96     \textcolor{keywordflow}{if}(sp\_websock != NULL)
-97     \{
-98         afb\_wsj1\_unref(sp\_websock);
-99     \}
-100 \}
+101 \{
+102     \textcolor{keywordflow}{if}(mploop)
+103     \{
+104         sd\_event\_unref(mploop);
+105     \}
+106     \textcolor{keywordflow}{if}(sp\_websock != NULL)
+107     \{
+108         afb\_wsj1\_unref(sp\_websock);
+109     \}
+110 \}
 \end{DoxyCode}
 \end{DoxyCode}
-\mbox{\Hypertarget{class_lib_home_screen_a0fff2f703c8ce184eb9edd133e0f4137}\label{class_lib_home_screen_a0fff2f703c8ce184eb9edd133e0f4137}} 
 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
-\subsubsection{\texorpdfstring{Lib\+Home\+Screen()}{LibHomeScreen()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
-{\footnotesize\ttfamily Lib\+Home\+Screen\+::\+Lib\+Home\+Screen (\begin{DoxyParamCaption}\item[{const \hyperlink{class_lib_home_screen}{Lib\+Home\+Screen} \&}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [delete]}}
-
+\subsubsection[{\texorpdfstring{Lib\+Home\+Screen(const Lib\+Home\+Screen \&)=delete}{LibHomeScreen(const LibHomeScreen &)=delete}}]{\setlength{\rightskip}{0pt plus 5cm}Lib\+Home\+Screen\+::\+Lib\+Home\+Screen (
+\begin{DoxyParamCaption}
+\item[{const {\bf Lib\+Home\+Screen} \&}]{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [delete]}}\hypertarget{class_lib_home_screen_a0fff2f703c8ce184eb9edd133e0f4137}{}\label{class_lib_home_screen_a0fff2f703c8ce184eb9edd133e0f4137}
 
 
 \subsection{Member Function Documentation}
 
 
 \subsection{Member Function Documentation}
-\mbox{\Hypertarget{class_lib_home_screen_a527b49dcfe581be6275d0eb2236ba37f}\label{class_lib_home_screen_a527b49dcfe581be6275d0eb2236ba37f}} 
 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!call@{call}}
 \index{call@{call}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!call@{call}}
 \index{call@{call}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
-\subsubsection{\texorpdfstring{call()}{call()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
-{\footnotesize\ttfamily int Lib\+Home\+Screen\+::call (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{verb,  }\item[{struct json\+\_\+object $\ast$}]{arg }\end{DoxyParamCaption})}
-
-\mbox{\Hypertarget{class_lib_home_screen_ab5e8e8ab7d53e0f114e9e907fcbb7643}\label{class_lib_home_screen_ab5e8e8ab7d53e0f114e9e907fcbb7643}} 
+\subsubsection[{\texorpdfstring{call(const std\+::string \&verb, struct json\+\_\+object $\ast$arg)}{call(const std::string &verb, struct json_object *arg)}}]{\setlength{\rightskip}{0pt plus 5cm}int Lib\+Home\+Screen\+::call (
+\begin{DoxyParamCaption}
+\item[{const std\+::string \&}]{verb, }
+\item[{struct json\+\_\+object $\ast$}]{arg}
+\end{DoxyParamCaption}
+)}\hypertarget{class_lib_home_screen_a527b49dcfe581be6275d0eb2236ba37f}{}\label{class_lib_home_screen_a527b49dcfe581be6275d0eb2236ba37f}
 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!call@{call}}
 \index{call@{call}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!call@{call}}
 \index{call@{call}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
-\subsubsection{\texorpdfstring{call()}{call()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
-{\footnotesize\ttfamily int Lib\+Home\+Screen\+::call (\begin{DoxyParamCaption}\item[{const char $\ast$}]{verb,  }\item[{struct json\+\_\+object $\ast$}]{arg }\end{DoxyParamCaption})}
-
+\subsubsection[{\texorpdfstring{call(const char $\ast$verb, struct json\+\_\+object $\ast$arg)}{call(const char *verb, struct json_object *arg)}}]{\setlength{\rightskip}{0pt plus 5cm}int Lib\+Home\+Screen\+::call (
+\begin{DoxyParamCaption}
+\item[{const char $\ast$}]{verb, }
+\item[{struct json\+\_\+object $\ast$}]{arg}
+\end{DoxyParamCaption}
+)}\hypertarget{class_lib_home_screen_ab5e8e8ab7d53e0f114e9e907fcbb7643}{}\label{class_lib_home_screen_ab5e8e8ab7d53e0f114e9e907fcbb7643}
 This function calls the A\+PI of Home\+Screen via Web\+Socket This function is overload function of \char`\"{}call\char`\"{}
 
 \subparagraph*{Parameters}
 This function calls the A\+PI of Home\+Screen via Web\+Socket This function is overload function of \char`\"{}call\char`\"{}
 
 \subparagraph*{Parameters}
@@ -198,34 +243,78 @@ This function calls the A\+PI of Home\+Screen via Web\+Socket This function is o
 
 To call Home\+Screen\textquotesingle{}s A\+P\+Is, the application should set its function name, arguments to J\+S\+ON format. 
 
 
 To call Home\+Screen\textquotesingle{}s A\+P\+Is, the application should set its function name, arguments to J\+S\+ON format. 
 
-Definition at line 360 of file libhomescreen.\+cpp.
+Definition at line 377 of file libhomescreen.\+cpp.
+
+
+\begin{DoxyCode}
+378 \{
+379     \textcolor{keywordtype}{int} ret;
+380     \textcolor{keywordflow}{if}(!sp\_websock)
+381     \{
+382         \textcolor{keywordflow}{return} -1;
+383     \}
+384     \textcolor{keywordflow}{if} (!\hyperlink{libhomescreen_8cpp_a7a2176c3d71fec0f09dcb2aa0866b17e}{has\_verb}(\textcolor{keywordtype}{string}(verb)))
+385     \{
+386         \hyperlink{include_2hmi-debug_8h_a65bb6c7cfe38f8a724beab5059d36fb2}{HMI\_ERROR}(\textcolor{stringliteral}{"libhomescreen"},\textcolor{stringliteral}{"verb doesn't exit"});
+387         \textcolor{keywordflow}{return} -1;
+388     \}
+389     ret = afb\_wsj1\_call\_j(sp\_websock, \hyperlink{libhomescreen_8cpp_a1e2d6e77dd8f0162f830058579eab42f}{API}, verb, arg, \hyperlink{libhomescreen_8cpp_a7778933bffa862c63fa0a1b8219faa8b}{\_on\_reply\_static}, \textcolor{keyword}{this});
+390     \textcolor{keywordflow}{if} (ret < 0) \{
+391         \hyperlink{include_2hmi-debug_8h_a65bb6c7cfe38f8a724beab5059d36fb2}{HMI\_ERROR}(\textcolor{stringliteral}{"libhomescreen"},\textcolor{stringliteral}{"Failed to call verb:%s"},verb);
+392     \}
+393     \textcolor{keywordflow}{return} ret;
+394 \}
+\end{DoxyCode}
+\index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!hide\+Window@{hide\+Window}}
+\index{hide\+Window@{hide\+Window}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
+\subsubsection[{\texorpdfstring{hide\+Window(const char $\ast$application\+\_\+id)}{hideWindow(const char *application_id)}}]{\setlength{\rightskip}{0pt plus 5cm}int Lib\+Home\+Screen\+::hide\+Window (
+\begin{DoxyParamCaption}
+\item[{const char $\ast$}]{application\+\_\+id}
+\end{DoxyParamCaption}
+)}\hypertarget{class_lib_home_screen_a4dbaea6c7b310e8ce7207155ff11b32a}{}\label{class_lib_home_screen_a4dbaea6c7b310e8ce7207155ff11b32a}
+Sending hide window event
+
+Call Home\+Screen Service\textquotesingle{}s hide\+Window verb to release id\textquotesingle{}s screen.
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item application\+\_\+id \mbox{[}in\mbox{]} \+: This argument should be specified to the application\textquotesingle{}s id.
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+
+\begin{DoxyItemize}
+\item Returns 0 on success or -\/1 in case of error. 
+\end{DoxyItemize}
+
+Definition at line 503 of file libhomescreen.\+cpp.
 
 
 \begin{DoxyCode}
 
 
 \begin{DoxyCode}
-361 \{
-362     \textcolor{keywordtype}{int} ret;
-363     \textcolor{keywordflow}{if}(!sp\_websock)
-364     \{
-365         \textcolor{keywordflow}{return} -1;
-366     \}
-367     \textcolor{keywordflow}{if} (!\hyperlink{libhomescreen_8cpp_a7a2176c3d71fec0f09dcb2aa0866b17e}{has\_verb}(\textcolor{keywordtype}{string}(verb)))
-368     \{
-369         \hyperlink{hmi-debug_8h_a65bb6c7cfe38f8a724beab5059d36fb2}{HMI\_ERROR}(\textcolor{stringliteral}{"libhomescreen"},\textcolor{stringliteral}{"verb doesn't exit"});
-370         \textcolor{keywordflow}{return} -1;
-371     \}
-372     ret = afb\_wsj1\_call\_j(sp\_websock, \hyperlink{libhomescreen_8cpp_a1e2d6e77dd8f0162f830058579eab42f}{API}, verb, arg, \hyperlink{libhomescreen_8cpp_a7778933bffa862c63fa0a1b8219faa8b}{\_on\_reply\_static}, \textcolor{keyword}{this});
-373     \textcolor{keywordflow}{if} (ret < 0) \{
-374         \hyperlink{hmi-debug_8h_a65bb6c7cfe38f8a724beab5059d36fb2}{HMI\_ERROR}(\textcolor{stringliteral}{"libhomescreen"},\textcolor{stringliteral}{"Failed to call verb:%s"},verb);
-375     \}
-376     \textcolor{keywordflow}{return} ret;
-377 \}
+504 \{
+505     \textcolor{keywordflow}{if}(!sp\_websock)
+506     \{
+507         \textcolor{keywordflow}{return} -1;
+508     \}
+509 
+510     \textcolor{keyword}{struct }json\_object* j\_obj = json\_object\_new\_object();
+511     \textcolor{keyword}{struct }json\_object* val = json\_object\_new\_string(application\_id);
+512     json\_object\_object\_add(j\_obj, \hyperlink{libhomescreen_8cpp_a5a89bcb5a83f6b2e5c664a041bd8fd00}{ApplicationId}, val);
+513 
+514     \textcolor{keywordflow}{return} this->\hyperlink{class_lib_home_screen_a527b49dcfe581be6275d0eb2236ba37f}{call}(\textcolor{stringliteral}{"hideWindow"}, j\_obj);
+515 \}
 \end{DoxyCode}
 \end{DoxyCode}
-\mbox{\Hypertarget{class_lib_home_screen_a6a57b573cc767725762ba9beab032220}\label{class_lib_home_screen_a6a57b573cc767725762ba9beab032220}} 
 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!init@{init}}
 \index{init@{init}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!init@{init}}
 \index{init@{init}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
-\subsubsection{\texorpdfstring{init()}{init()}}
-{\footnotesize\ttfamily int Lib\+Home\+Screen\+::init (\begin{DoxyParamCaption}\item[{const int}]{port,  }\item[{const std\+::string \&}]{token }\end{DoxyParamCaption})}
-
+\subsubsection[{\texorpdfstring{init(const int port, const std\+::string \&token)}{init(const int port, const std::string &token)}}]{\setlength{\rightskip}{0pt plus 5cm}int Lib\+Home\+Screen\+::init (
+\begin{DoxyParamCaption}
+\item[{const int}]{port, }
+\item[{const std\+::string \&}]{token}
+\end{DoxyParamCaption}
+)}\hypertarget{class_lib_home_screen_a6a57b573cc767725762ba9beab032220}{}\label{class_lib_home_screen_a6a57b573cc767725762ba9beab032220}
 This function is initializer
 
 \subparagraph*{Parameters}
 This function is initializer
 
 \subparagraph*{Parameters}
@@ -244,153 +333,194 @@ Nothing
 
 Use this constructor 
 
 
 Use this constructor 
 
-Definition at line 116 of file libhomescreen.\+cpp.
+Definition at line 126 of file libhomescreen.\+cpp.
 
 
 \begin{DoxyCode}
 
 
 \begin{DoxyCode}
-117 \{
-118     \textcolor{keywordtype}{int} ret = 0;
-119     \textcolor{keywordflow}{if}(port > 0 && token.size() > 0)
-120     \{
-121         mport = port;
-122         mtoken = token;
-123     \}
-124     \textcolor{keywordflow}{else}
-125     \{
-126         \hyperlink{hmi-debug_8h_a65bb6c7cfe38f8a724beab5059d36fb2}{HMI\_ERROR}(\textcolor{stringliteral}{"libhomescreen"},\textcolor{stringliteral}{"port and token should be > 0, Initial port and token uses."});
-127     \}
-128 
-129     ret = initialize\_websocket();
-130     \textcolor{keywordflow}{if}(ret != 0 )
-131     \{
-132         \hyperlink{hmi-debug_8h_a65bb6c7cfe38f8a724beab5059d36fb2}{HMI\_ERROR}(\textcolor{stringliteral}{"libhomescreen"},\textcolor{stringliteral}{"Failed to initialize websocket"});
+127 \{
+128     \textcolor{keywordtype}{int} ret = 0;
+129     \textcolor{keywordflow}{if}(\hyperlink{simple-egl_8cpp_a300b6806fe6818927fe4df08f2398124}{port} > 0 && \hyperlink{simple-egl_8cpp_a623ef6987ef3bd185c07b28b13e46d34}{token}.size() > 0)
+130     \{
+131         mport = \hyperlink{simple-egl_8cpp_a300b6806fe6818927fe4df08f2398124}{port};
+132         mtoken = \hyperlink{simple-egl_8cpp_a623ef6987ef3bd185c07b28b13e46d34}{token};
 133     \}
 133     \}
-134     \textcolor{keywordflow}{else}\{
-135         \hyperlink{hmi-debug_8h_a0d26d8b8201011dade787236519711c0}{HMI\_DEBUG}(\textcolor{stringliteral}{"libhomescreen"},\textcolor{stringliteral}{"Initialized"});
-136     \}
-137 
-138     \textcolor{keywordflow}{return} ret;
-139 \}
+134     \textcolor{keywordflow}{else}
+135     \{
+136         \hyperlink{include_2hmi-debug_8h_a65bb6c7cfe38f8a724beab5059d36fb2}{HMI\_ERROR}(\textcolor{stringliteral}{"libhomescreen"},\textcolor{stringliteral}{"port and token should be > 0, Initial port and token uses."});
+137     \}
+138 
+139     ret = initialize\_websocket();
+140     \textcolor{keywordflow}{if}(ret != 0 )
+141     \{
+142         \hyperlink{include_2hmi-debug_8h_a65bb6c7cfe38f8a724beab5059d36fb2}{HMI\_ERROR}(\textcolor{stringliteral}{"libhomescreen"},\textcolor{stringliteral}{"Failed to initialize websocket"});
+143     \}
+144     \textcolor{keywordflow}{else}\{
+145         \hyperlink{include_2hmi-debug_8h_a0d26d8b8201011dade787236519711c0}{HMI\_DEBUG}(\textcolor{stringliteral}{"libhomescreen"},\textcolor{stringliteral}{"Initialized"});
+146     \}
+147 
+148     \textcolor{keywordflow}{return} ret;
+149 \}
 \end{DoxyCode}
 \end{DoxyCode}
-\mbox{\Hypertarget{class_lib_home_screen_a608638eb87b2772a3dcc92d8ca8f3596}\label{class_lib_home_screen_a608638eb87b2772a3dcc92d8ca8f3596}} 
 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!on\+\_\+call@{on\+\_\+call}}
 \index{on\+\_\+call@{on\+\_\+call}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!on\+\_\+call@{on\+\_\+call}}
 \index{on\+\_\+call@{on\+\_\+call}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
-\subsubsection{\texorpdfstring{on\+\_\+call()}{on\_call()}}
-{\footnotesize\ttfamily void Lib\+Home\+Screen\+::on\+\_\+call (\begin{DoxyParamCaption}\item[{void $\ast$}]{closure,  }\item[{const char $\ast$}]{api,  }\item[{const char $\ast$}]{verb,  }\item[{struct afb\+\_\+wsj1\+\_\+msg $\ast$}]{msg }\end{DoxyParamCaption})}
-
+\subsubsection[{\texorpdfstring{on\+\_\+call(void $\ast$closure, const char $\ast$api, const char $\ast$verb, struct afb\+\_\+wsj1\+\_\+msg $\ast$msg)}{on_call(void *closure, const char *api, const char *verb, struct afb_wsj1_msg *msg)}}]{\setlength{\rightskip}{0pt plus 5cm}void Lib\+Home\+Screen\+::on\+\_\+call (
+\begin{DoxyParamCaption}
+\item[{void $\ast$}]{closure, }
+\item[{const char $\ast$}]{api, }
+\item[{const char $\ast$}]{verb, }
+\item[{struct afb\+\_\+wsj1\+\_\+msg $\ast$}]{msg}
+\end{DoxyParamCaption}
+)}\hypertarget{class_lib_home_screen_a608638eb87b2772a3dcc92d8ca8f3596}{}\label{class_lib_home_screen_a608638eb87b2772a3dcc92d8ca8f3596}
 
 
 
 
-Definition at line 448 of file libhomescreen.\+cpp.
+Definition at line 606 of file libhomescreen.\+cpp.
 
 
 \begin{DoxyCode}
 
 
 \begin{DoxyCode}
-449 \{
-450 \}
+607 \{
+608 \}
 \end{DoxyCode}
 \end{DoxyCode}
-\mbox{\Hypertarget{class_lib_home_screen_a9c4885b51b43ab24a548d49fb3ab2de3}\label{class_lib_home_screen_a9c4885b51b43ab24a548d49fb3ab2de3}} 
 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!on\+\_\+event@{on\+\_\+event}}
 \index{on\+\_\+event@{on\+\_\+event}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!on\+\_\+event@{on\+\_\+event}}
 \index{on\+\_\+event@{on\+\_\+event}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
-\subsubsection{\texorpdfstring{on\+\_\+event()}{on\_event()}}
-{\footnotesize\ttfamily void Lib\+Home\+Screen\+::on\+\_\+event (\begin{DoxyParamCaption}\item[{void $\ast$}]{closure,  }\item[{const char $\ast$}]{event,  }\item[{struct afb\+\_\+wsj1\+\_\+msg $\ast$}]{msg }\end{DoxyParamCaption})}
-
+\subsubsection[{\texorpdfstring{on\+\_\+event(void $\ast$closure, const char $\ast$event, struct afb\+\_\+wsj1\+\_\+msg $\ast$msg)}{on_event(void *closure, const char *event, struct afb_wsj1_msg *msg)}}]{\setlength{\rightskip}{0pt plus 5cm}void Lib\+Home\+Screen\+::on\+\_\+event (
+\begin{DoxyParamCaption}
+\item[{void $\ast$}]{closure, }
+\item[{const char $\ast$}]{event, }
+\item[{struct afb\+\_\+wsj1\+\_\+msg $\ast$}]{msg}
+\end{DoxyParamCaption}
+)}\hypertarget{class_lib_home_screen_a9c4885b51b43ab24a548d49fb3ab2de3}{}\label{class_lib_home_screen_a9c4885b51b43ab24a548d49fb3ab2de3}
 
 
 
 
-Definition at line 458 of file libhomescreen.\+cpp.
+Definition at line 616 of file libhomescreen.\+cpp.
 
 
 \begin{DoxyCode}
 
 
 \begin{DoxyCode}
-459 \{
-460     \hyperlink{hmi-debug_8h_a0d26d8b8201011dade787236519711c0}{HMI\_DEBUG}(\textcolor{stringliteral}{"libhomescreen"},\textcolor{stringliteral}{"event: (%s) msg: (%s)."}, \hyperlink{structevent}{event}, afb\_wsj1\_msg\_object\_s(msg));
-461 
-462     \textcolor{keywordflow}{if} (strstr(\hyperlink{structevent}{event}, \hyperlink{libhomescreen_8cpp_a1e2d6e77dd8f0162f830058579eab42f}{API}) == NULL) \{
-463         \textcolor{keywordflow}{return};
-464     \}
-465 
-466     \textcolor{keyword}{struct }json\_object* ev\_contents = afb\_wsj1\_msg\_object\_j(msg);
-467     \textcolor{keyword}{struct }json\_object *json\_data = json\_object\_object\_get(ev\_contents, \textcolor{stringliteral}{"data"});
-468 
-469     \textcolor{keywordflow}{if}(onEvent != \textcolor{keyword}{nullptr})
-470     \{
-471         \textcolor{keyword}{const} \textcolor{keywordtype}{string} ev(\hyperlink{structevent}{event});
-472         onEvent(ev, ev\_contents);
-473     \}
-474 
-475     \textcolor{keyword}{const} \textcolor{keywordtype}{char}* event\_only = strchr(\hyperlink{structevent}{event}, \textcolor{charliteral}{'/'});
-476     \textcolor{keywordflow}{if} (event\_only != \textcolor{keyword}{nullptr}) \{
-477         event\_only = event\_only + 1;
-478     \}
-479 
-480     \textcolor{keywordflow}{if} (strcasecmp(event\_only, \hyperlink{class_lib_home_screen_a6a6d8a4d33a006a08652e7377a4c29e9}{LibHomeScreen::event\_list}[0].c\_str()) == 0) \{
-481         \textcolor{keyword}{auto} i = this->handlers.find(\hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f}{Event\_TapShortcut});
-482         \textcolor{keywordflow}{if} ( i != this->handlers.end() ) \{
-483             i->second(json\_data);
-484         \}
-485     \}
-486     \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (strcasecmp(event\_only, \hyperlink{class_lib_home_screen_a6a6d8a4d33a006a08652e7377a4c29e9}{LibHomeScreen::event\_list}[1].c\_str()) == 0) \{
-487         \textcolor{keyword}{auto} i = this->handlers.find(\hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d}{Event\_OnScreenMessage});
-488         \textcolor{keywordflow}{if} ( i != this->handlers.end() ) \{
-489             i->second(json\_data);
-490         \}
-491     \}
-492     \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (strcasecmp(event\_only, \hyperlink{class_lib_home_screen_a6a6d8a4d33a006a08652e7377a4c29e9}{LibHomeScreen::event\_list}[2].c\_str()) == 0) \{
-493         \textcolor{keyword}{auto} i = this->handlers.find(\hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd}{Event\_OnScreenReply});
-494         \textcolor{keywordflow}{if} ( i != this->handlers.end() ) \{
-495             i->second(json\_data);
-496         \}
-497     \}
-498 
-499     json\_object\_put(ev\_contents);
-500 \}
+617 \{
+618     \hyperlink{include_2hmi-debug_8h_a0d26d8b8201011dade787236519711c0}{HMI\_DEBUG}(\textcolor{stringliteral}{"libhomescreen"},\textcolor{stringliteral}{"event: (%s) msg: (%s)."}, event, afb\_wsj1\_msg\_object\_s(msg));
+619 
+620     \textcolor{keywordflow}{if} (strstr(event, \hyperlink{libhomescreen_8cpp_a1e2d6e77dd8f0162f830058579eab42f}{API}) == NULL) \{
+621         \textcolor{keywordflow}{return};
+622     \}
+623 
+624     \textcolor{keyword}{struct }json\_object* ev\_contents = afb\_wsj1\_msg\_object\_j(msg);
+625     \textcolor{keyword}{struct }json\_object *json\_data;
+626     \textcolor{keywordflow}{if}(!json\_object\_object\_get\_ex(ev\_contents, \textcolor{stringliteral}{"data"}, &json\_data)) \{
+627         \hyperlink{include_2hmi-debug_8h_a65bb6c7cfe38f8a724beab5059d36fb2}{HMI\_ERROR}(\textcolor{stringliteral}{"libhomescreen"}, \textcolor{stringliteral}{"got ev\_contents error."});
+628         \textcolor{keywordflow}{return};
+629     \}
+630 
+631     \textcolor{keywordflow}{if}(onEvent != \textcolor{keyword}{nullptr})
+632     \{
+633         \textcolor{keyword}{const} \textcolor{keywordtype}{string} ev(event);
+634         onEvent(ev, ev\_contents);
+635     \}
+636 
+637     \textcolor{keyword}{const} \textcolor{keywordtype}{char}* event\_type = \textcolor{keyword}{nullptr};
+638     \textcolor{keyword}{struct }json\_object *json\_event\_type;
+639     \textcolor{keywordflow}{if}(json\_object\_object\_get\_ex(json\_data, \textcolor{stringliteral}{"type"}, &json\_event\_type)) \{
+640         event\_type = json\_object\_get\_string(json\_event\_type);
+641     \}
+642     \textcolor{keywordflow}{else} \{
+643         \hyperlink{include_2hmi-debug_8h_a25361812432cd2480bc8f1a8e56ecbf7}{HMI\_WARNING}(\textcolor{stringliteral}{"libhomescreen"},\textcolor{stringliteral}{"event\_type is null."});
+644         \textcolor{keywordflow}{return};
+645     \}
+646 
+647     \textcolor{keywordflow}{if} (strcasecmp(event\_type, \hyperlink{class_lib_home_screen_a6a6d8a4d33a006a08652e7377a4c29e9}{LibHomeScreen::event\_list}[0].c\_str()) == 0) \{
+648         \textcolor{keyword}{auto} i = this->handlers.find(\hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154a3fb3563c64786f1a2ae404df6edffd5c}{Event\_ShowWindow});
+649         \textcolor{keywordflow}{if} ( i != this->handlers.end() ) \{
+650             i->second(json\_data);
+651         \}
+652     \}
+653     \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (strcasecmp(event\_type, \hyperlink{class_lib_home_screen_a6a6d8a4d33a006a08652e7377a4c29e9}{LibHomeScreen::event\_list}[1].c\_str()) == 0) \{
+654         \textcolor{keyword}{auto} i = this->handlers.find(\hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d}{Event\_OnScreenMessage});
+655         \textcolor{keywordflow}{if} ( i != this->handlers.end() ) \{
+656             i->second(json\_data);
+657         \}
+658     \}
+659     \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (strcasecmp(event\_type, \hyperlink{class_lib_home_screen_a6a6d8a4d33a006a08652e7377a4c29e9}{LibHomeScreen::event\_list}[2].c\_str()) == 0) \{
+660         \textcolor{keyword}{auto} i = this->handlers.find(\hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd}{Event\_OnScreenReply});
+661         \textcolor{keywordflow}{if} ( i != this->handlers.end() ) \{
+662             i->second(json\_data);
+663         \}
+664     \}
+665     \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (strcasecmp(event\_type, \hyperlink{class_lib_home_screen_a6a6d8a4d33a006a08652e7377a4c29e9}{LibHomeScreen::event\_list}[3].c\_str()) == 0) \{
+666         \textcolor{keyword}{auto} i = this->handlers.find(\hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154aef8bb1086ddbc0a125d77af9da3146a0}{Event\_HideWindow});
+667         \textcolor{keywordflow}{if} ( i != this->handlers.end() ) \{
+668             i->second(json\_data);
+669         \}
+670     \}
+671     \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (strcasecmp(event\_type, \hyperlink{class_lib_home_screen_a6a6d8a4d33a006a08652e7377a4c29e9}{LibHomeScreen::event\_list}[4].c\_str()) == 0) \{
+672         \textcolor{keyword}{auto} i = this->handlers.find(\hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154aaacb8babce7fac884ab4bf7605da0d9f}{Event\_ReplyShowWindow});
+673         \textcolor{keywordflow}{if} ( i != this->handlers.end() ) \{
+674             i->second(json\_data);
+675         \}
+676     \}
+677     \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (strcasecmp(event\_type, \hyperlink{class_lib_home_screen_a6a6d8a4d33a006a08652e7377a4c29e9}{LibHomeScreen::event\_list}[5].c\_str()) == 0) \{
+678         \textcolor{keyword}{auto} i = this->handlers.find(\hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154a68119a9c3ff85e807db38d3282e5ca30}{Event\_ShowNotification});
+679         \textcolor{keywordflow}{if} ( i != this->handlers.end() ) \{
+680             i->second(json\_data);
+681         \}
+682     \}
+683     \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (strcasecmp(event\_type, \hyperlink{class_lib_home_screen_a6a6d8a4d33a006a08652e7377a4c29e9}{LibHomeScreen::event\_list}[6].c\_str()) == 0) \{
+684         \textcolor{keyword}{auto} i = this->handlers.find(\hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154a1fad2ac5071a1dae7db9c8e1b522669b}{Event\_ShowInformation});
+685         \textcolor{keywordflow}{if} ( i != this->handlers.end() ) \{
+686             i->second(json\_data);
+687         \}
+688     \}
+689 \}
 \end{DoxyCode}
 \end{DoxyCode}
-\mbox{\Hypertarget{class_lib_home_screen_ab1c1fa69f24b981e824dd9fb810c4b74}\label{class_lib_home_screen_ab1c1fa69f24b981e824dd9fb810c4b74}} 
 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!on\+\_\+hangup@{on\+\_\+hangup}}
 \index{on\+\_\+hangup@{on\+\_\+hangup}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!on\+\_\+hangup@{on\+\_\+hangup}}
 \index{on\+\_\+hangup@{on\+\_\+hangup}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
-\subsubsection{\texorpdfstring{on\+\_\+hangup()}{on\_hangup()}}
-{\footnotesize\ttfamily void Lib\+Home\+Screen\+::on\+\_\+hangup (\begin{DoxyParamCaption}\item[{void $\ast$}]{closure,  }\item[{struct afb\+\_\+wsj1 $\ast$}]{wsj }\end{DoxyParamCaption})}
-
+\subsubsection[{\texorpdfstring{on\+\_\+hangup(void $\ast$closure, struct afb\+\_\+wsj1 $\ast$wsj)}{on_hangup(void *closure, struct afb_wsj1 *wsj)}}]{\setlength{\rightskip}{0pt plus 5cm}void Lib\+Home\+Screen\+::on\+\_\+hangup (
+\begin{DoxyParamCaption}
+\item[{void $\ast$}]{closure, }
+\item[{struct afb\+\_\+wsj1 $\ast$}]{wsj}
+\end{DoxyParamCaption}
+)}\hypertarget{class_lib_home_screen_ab1c1fa69f24b981e824dd9fb810c4b74}{}\label{class_lib_home_screen_ab1c1fa69f24b981e824dd9fb810c4b74}
 
 
 
 
-Definition at line 439 of file libhomescreen.\+cpp.
+Definition at line 597 of file libhomescreen.\+cpp.
 
 
 \begin{DoxyCode}
 
 
 \begin{DoxyCode}
-440 \{
-441     \hyperlink{hmi-debug_8h_a0d26d8b8201011dade787236519711c0}{HMI\_DEBUG}(\textcolor{stringliteral}{"libhomescreen"},\textcolor{stringliteral}{"%s called"}, \_\_FUNCTION\_\_);
-442     \textcolor{keywordflow}{if}(onHangup != \textcolor{keyword}{nullptr})
-443     \{
-444         onHangup();
-445     \}
-446 \}
+598 \{
+599     \hyperlink{include_2hmi-debug_8h_a0d26d8b8201011dade787236519711c0}{HMI\_DEBUG}(\textcolor{stringliteral}{"libhomescreen"},\textcolor{stringliteral}{"called"});
+600     \textcolor{keywordflow}{if}(onHangup != \textcolor{keyword}{nullptr})
+601     \{
+602         onHangup();
+603     \}
+604 \}
 \end{DoxyCode}
 \end{DoxyCode}
-\mbox{\Hypertarget{class_lib_home_screen_a248d9648c6186287a7632ec1c75fc9c5}\label{class_lib_home_screen_a248d9648c6186287a7632ec1c75fc9c5}} 
 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!on\+\_\+reply@{on\+\_\+reply}}
 \index{on\+\_\+reply@{on\+\_\+reply}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!on\+\_\+reply@{on\+\_\+reply}}
 \index{on\+\_\+reply@{on\+\_\+reply}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
-\subsubsection{\texorpdfstring{on\+\_\+reply()}{on\_reply()}}
-{\footnotesize\ttfamily void Lib\+Home\+Screen\+::on\+\_\+reply (\begin{DoxyParamCaption}\item[{void $\ast$}]{closure,  }\item[{struct afb\+\_\+wsj1\+\_\+msg $\ast$}]{msg }\end{DoxyParamCaption})}
-
+\subsubsection[{\texorpdfstring{on\+\_\+reply(void $\ast$closure, struct afb\+\_\+wsj1\+\_\+msg $\ast$msg)}{on_reply(void *closure, struct afb_wsj1_msg *msg)}}]{\setlength{\rightskip}{0pt plus 5cm}void Lib\+Home\+Screen\+::on\+\_\+reply (
+\begin{DoxyParamCaption}
+\item[{void $\ast$}]{closure, }
+\item[{struct afb\+\_\+wsj1\+\_\+msg $\ast$}]{msg}
+\end{DoxyParamCaption}
+)}\hypertarget{class_lib_home_screen_a248d9648c6186287a7632ec1c75fc9c5}{}\label{class_lib_home_screen_a248d9648c6186287a7632ec1c75fc9c5}
 msg is like (\{\char`\"{}response\char`\"{}\+:\{\char`\"{}verb\char`\"{}\+:\char`\"{}subscribe\char`\"{},\char`\"{}error\char`\"{}\+:0\},\char`\"{}jtype\char`\"{}\+:\char`\"{}afb-\/reply\char`\"{},\char`\"{}request\char`\"{}\+:\{\char`\"{}status\char`\"{}\+:\char`\"{}success\char`\"{},\char`\"{}info\char`\"{}\+:\char`\"{}homescreen binder subscribe event name \mbox{[}on\+\_\+screen\+\_\+message\mbox{]}\char`\"{}\}\}) msg is like (\{\char`\"{}response\char`\"{}\+:\{\char`\"{}verb\char`\"{}\+:\char`\"{}tap\+\_\+shortcut\char`\"{},\char`\"{}error\char`\"{}\+:0\},\char`\"{}jtype\char`\"{}\+:\char`\"{}afb-\/reply\char`\"{},\char`\"{}request\char`\"{}\+:\{\char`\"{}status\char`\"{}\+:\char`\"{}success\char`\"{},\char`\"{}info\char`\"{}\+:\char`\"{}afb\+\_\+event\+\_\+push event \mbox{[}tap\+\_\+shortcut\mbox{]}\char`\"{}\}\}) 
 
 msg is like (\{\char`\"{}response\char`\"{}\+:\{\char`\"{}verb\char`\"{}\+:\char`\"{}subscribe\char`\"{},\char`\"{}error\char`\"{}\+:0\},\char`\"{}jtype\char`\"{}\+:\char`\"{}afb-\/reply\char`\"{},\char`\"{}request\char`\"{}\+:\{\char`\"{}status\char`\"{}\+:\char`\"{}success\char`\"{},\char`\"{}info\char`\"{}\+:\char`\"{}homescreen binder subscribe event name \mbox{[}on\+\_\+screen\+\_\+message\mbox{]}\char`\"{}\}\}) msg is like (\{\char`\"{}response\char`\"{}\+:\{\char`\"{}verb\char`\"{}\+:\char`\"{}tap\+\_\+shortcut\char`\"{},\char`\"{}error\char`\"{}\+:0\},\char`\"{}jtype\char`\"{}\+:\char`\"{}afb-\/reply\char`\"{},\char`\"{}request\char`\"{}\+:\{\char`\"{}status\char`\"{}\+:\char`\"{}success\char`\"{},\char`\"{}info\char`\"{}\+:\char`\"{}afb\+\_\+event\+\_\+push event \mbox{[}tap\+\_\+shortcut\mbox{]}\char`\"{}\}\}) 
 
-Definition at line 506 of file libhomescreen.\+cpp.
+Definition at line 695 of file libhomescreen.\+cpp.
 
 
 \begin{DoxyCode}
 
 
 \begin{DoxyCode}
-507 \{
-508     \hyperlink{hmi-debug_8h_a0d26d8b8201011dade787236519711c0}{HMI\_DEBUG}(\textcolor{stringliteral}{"libhomescreen"},\textcolor{stringliteral}{"msg: (%s)"}, afb\_wsj1\_msg\_object\_s(msg));
-509     \textcolor{keywordflow}{if}(onReply != \textcolor{keyword}{nullptr})
-510     \{
-511         \textcolor{keyword}{struct }json\_object* reply = afb\_wsj1\_msg\_object\_j(msg);
-512         onReply(reply);
-513 
-514         json\_object\_put(reply);
-515     \}
-516 \}
+696 \{
+697     \hyperlink{include_2hmi-debug_8h_a0d26d8b8201011dade787236519711c0}{HMI\_DEBUG}(\textcolor{stringliteral}{"libhomescreen"},\textcolor{stringliteral}{"msg: (%s)"}, afb\_wsj1\_msg\_object\_s(msg));
+698     \textcolor{keywordflow}{if}(onReply != \textcolor{keyword}{nullptr})
+699     \{
+700         \textcolor{keyword}{struct }json\_object* reply = afb\_wsj1\_msg\_object\_j(msg);
+701         onReply(reply);
+702     \}
+703 \}
 \end{DoxyCode}
 \end{DoxyCode}
-\mbox{\Hypertarget{class_lib_home_screen_ac336482036a72b51a822725f1929523c}\label{class_lib_home_screen_ac336482036a72b51a822725f1929523c}} 
 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!on\+Screen\+Message@{on\+Screen\+Message}}
 \index{on\+Screen\+Message@{on\+Screen\+Message}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!on\+Screen\+Message@{on\+Screen\+Message}}
 \index{on\+Screen\+Message@{on\+Screen\+Message}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
-\subsubsection{\texorpdfstring{on\+Screen\+Message()}{onScreenMessage()}}
-{\footnotesize\ttfamily int Lib\+Home\+Screen\+::on\+Screen\+Message (\begin{DoxyParamCaption}\item[{const char $\ast$}]{display\+\_\+message }\end{DoxyParamCaption})}
-
+\subsubsection[{\texorpdfstring{on\+Screen\+Message(const char $\ast$display\+\_\+message)}{onScreenMessage(const char *display_message)}}]{\setlength{\rightskip}{0pt plus 5cm}int Lib\+Home\+Screen\+::on\+Screen\+Message (
+\begin{DoxyParamCaption}
+\item[{const char $\ast$}]{display\+\_\+message}
+\end{DoxyParamCaption}
+)}\hypertarget{class_lib_home_screen_ac336482036a72b51a822725f1929523c}{}\label{class_lib_home_screen_ac336482036a72b51a822725f1929523c}
 Sending on\+Screen message event
 
 Sending On\+Screen message event to Home\+Screen from applications
 Sending on\+Screen message event
 
 Sending On\+Screen message event to Home\+Screen from applications
@@ -409,28 +539,29 @@ Sending On\+Screen message event to Home\+Screen from applications
 \item Returns 0 on success or -\/1 in case of error. 
 \end{DoxyItemize}
 
 \item Returns 0 on success or -\/1 in case of error. 
 \end{DoxyItemize}
 
-Definition at line 244 of file libhomescreen.\+cpp.
+Definition at line 242 of file libhomescreen.\+cpp.
 
 
 \begin{DoxyCode}
 
 
 \begin{DoxyCode}
-245 \{
-246     \textcolor{keywordflow}{if}(!sp\_websock)
-247     \{
-248         \textcolor{keywordflow}{return} -1;
-249     \}
-250 
-251     \textcolor{keyword}{struct }json\_object* j\_obj = json\_object\_new\_object();
-252     \textcolor{keyword}{struct }json\_object* val = json\_object\_new\_string(display\_message);
-253     json\_object\_object\_add(j\_obj, \textcolor{stringliteral}{"display\_message"}, val);
-254     \textcolor{keywordflow}{return} this->\hyperlink{class_lib_home_screen_a527b49dcfe581be6275d0eb2236ba37f}{call}(\textcolor{stringliteral}{"on\_screen\_message"}, j\_obj);
-255 \}
+243 \{
+244     \textcolor{keywordflow}{if}(!sp\_websock)
+245     \{
+246         \textcolor{keywordflow}{return} -1;
+247     \}
+248 
+249     \textcolor{keyword}{struct }json\_object* j\_obj = json\_object\_new\_object();
+250     \textcolor{keyword}{struct }json\_object* val = json\_object\_new\_string(display\_message);
+251     json\_object\_object\_add(j\_obj, \textcolor{stringliteral}{"display\_message"}, val);
+252     \textcolor{keywordflow}{return} this->\hyperlink{class_lib_home_screen_a527b49dcfe581be6275d0eb2236ba37f}{call}(\textcolor{stringliteral}{"on\_screen\_message"}, j\_obj);
+253 \}
 \end{DoxyCode}
 \end{DoxyCode}
-\mbox{\Hypertarget{class_lib_home_screen_a6c065f41f2c5d1f58d2763bfb4da9c37}\label{class_lib_home_screen_a6c065f41f2c5d1f58d2763bfb4da9c37}} 
 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!on\+Screen\+Reply@{on\+Screen\+Reply}}
 \index{on\+Screen\+Reply@{on\+Screen\+Reply}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!on\+Screen\+Reply@{on\+Screen\+Reply}}
 \index{on\+Screen\+Reply@{on\+Screen\+Reply}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
-\subsubsection{\texorpdfstring{on\+Screen\+Reply()}{onScreenReply()}}
-{\footnotesize\ttfamily int Lib\+Home\+Screen\+::on\+Screen\+Reply (\begin{DoxyParamCaption}\item[{const char $\ast$}]{reply\+\_\+message }\end{DoxyParamCaption})}
-
+\subsubsection[{\texorpdfstring{on\+Screen\+Reply(const char $\ast$reply\+\_\+message)}{onScreenReply(const char *reply_message)}}]{\setlength{\rightskip}{0pt plus 5cm}int Lib\+Home\+Screen\+::on\+Screen\+Reply (
+\begin{DoxyParamCaption}
+\item[{const char $\ast$}]{reply\+\_\+message}
+\end{DoxyParamCaption}
+)}\hypertarget{class_lib_home_screen_a6c065f41f2c5d1f58d2763bfb4da9c37}{}\label{class_lib_home_screen_a6c065f41f2c5d1f58d2763bfb4da9c37}
 Sending on\+Screen reply event
 
 Sending On\+Screen reply event to applications from Home\+Screen
 Sending on\+Screen reply event
 
 Sending On\+Screen reply event to applications from Home\+Screen
@@ -449,34 +580,38 @@ Sending On\+Screen reply event to applications from Home\+Screen
 \item Returns 0 on success or -\/1 in case of error. 
 \end{DoxyItemize}
 
 \item Returns 0 on success or -\/1 in case of error. 
 \end{DoxyItemize}
 
-Definition at line 268 of file libhomescreen.\+cpp.
+Definition at line 266 of file libhomescreen.\+cpp.
 
 
 \begin{DoxyCode}
 
 
 \begin{DoxyCode}
-269 \{
-270     \textcolor{keywordflow}{if}(!sp\_websock)
-271     \{
-272         \textcolor{keywordflow}{return} -1;
-273     \}
-274 
-275     \textcolor{keyword}{struct }json\_object* j\_obj = json\_object\_new\_object();
-276     \textcolor{keyword}{struct }json\_object* val = json\_object\_new\_string(reply\_message);
-277     json\_object\_object\_add(j\_obj, \textcolor{stringliteral}{"reply\_message"}, val);
-278     \textcolor{keywordflow}{return} this->\hyperlink{class_lib_home_screen_a527b49dcfe581be6275d0eb2236ba37f}{call}(\textcolor{stringliteral}{"on\_screen\_reply"}, j\_obj);
-279 \}
+267 \{
+268     \textcolor{keywordflow}{if}(!sp\_websock)
+269     \{
+270         \textcolor{keywordflow}{return} -1;
+271     \}
+272 
+273     \textcolor{keyword}{struct }json\_object* j\_obj = json\_object\_new\_object();
+274     \textcolor{keyword}{struct }json\_object* val = json\_object\_new\_string(reply\_message);
+275     json\_object\_object\_add(j\_obj, \textcolor{stringliteral}{"reply\_message"}, val);
+276     \textcolor{keywordflow}{return} this->\hyperlink{class_lib_home_screen_a527b49dcfe581be6275d0eb2236ba37f}{call}(\textcolor{stringliteral}{"on\_screen\_reply"}, j\_obj);
+277 \}
 \end{DoxyCode}
 \end{DoxyCode}
-\mbox{\Hypertarget{class_lib_home_screen_a23bc17798453cfca50904562736f6b25}\label{class_lib_home_screen_a23bc17798453cfca50904562736f6b25}} 
 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!operator=@{operator=}}
 \index{operator=@{operator=}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!operator=@{operator=}}
 \index{operator=@{operator=}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
-\subsubsection{\texorpdfstring{operator=()}{operator=()}}
-{\footnotesize\ttfamily \hyperlink{class_lib_home_screen}{Lib\+Home\+Screen}\& Lib\+Home\+Screen\+::operator= (\begin{DoxyParamCaption}\item[{const \hyperlink{class_lib_home_screen}{Lib\+Home\+Screen} \&}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [delete]}}
-
-\mbox{\Hypertarget{class_lib_home_screen_a2789e8a5372202cc36f48e71dbb9b7cf}\label{class_lib_home_screen_a2789e8a5372202cc36f48e71dbb9b7cf}} 
+\subsubsection[{\texorpdfstring{operator=(const Lib\+Home\+Screen \&)=delete}{operator=(const LibHomeScreen &)=delete}}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Lib\+Home\+Screen}\& Lib\+Home\+Screen\+::operator= (
+\begin{DoxyParamCaption}
+\item[{const {\bf Lib\+Home\+Screen} \&}]{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [delete]}}\hypertarget{class_lib_home_screen_a23bc17798453cfca50904562736f6b25}{}\label{class_lib_home_screen_a23bc17798453cfca50904562736f6b25}
 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!register\+Callback@{register\+Callback}}
 \index{register\+Callback@{register\+Callback}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!register\+Callback@{register\+Callback}}
 \index{register\+Callback@{register\+Callback}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
-\subsubsection{\texorpdfstring{register\+Callback()}{registerCallback()}}
-{\footnotesize\ttfamily void Lib\+Home\+Screen\+::register\+Callback (\begin{DoxyParamCaption}\item[{void($\ast$)(const std\+::string \&\hyperlink{structevent}{event}, struct json\+\_\+object $\ast$event\+\_\+contents)}]{event\+\_\+cb,  }\item[{void($\ast$)(struct json\+\_\+object $\ast$reply\+\_\+contents)}]{reply\+\_\+cb,  }\item[{void($\ast$)(void)}]{hangup\+\_\+cb = {\ttfamily nullptr} }\end{DoxyParamCaption})}
-
+\subsubsection[{\texorpdfstring{register\+Callback(void($\ast$event\+\_\+cb)(const std\+::string \&event, struct json\+\_\+object $\ast$event\+\_\+contents), void($\ast$reply\+\_\+cb)(struct json\+\_\+object $\ast$reply\+\_\+contents), void($\ast$hangup\+\_\+cb)(void)=nullptr)}{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)}}]{\setlength{\rightskip}{0pt plus 5cm}void Lib\+Home\+Screen\+::register\+Callback (
+\begin{DoxyParamCaption}
+\item[{void($\ast$)(const std\+::string \&event, struct json\+\_\+object $\ast$event\+\_\+contents)}]{event\+\_\+cb, }
+\item[{void($\ast$)(struct json\+\_\+object $\ast$reply\+\_\+contents)}]{reply\+\_\+cb, }
+\item[{void($\ast$)(void)}]{hangup\+\_\+cb = {\ttfamily nullptr}}
+\end{DoxyParamCaption}
+)}\hypertarget{class_lib_home_screen_a2789e8a5372202cc36f48e71dbb9b7cf}{}\label{class_lib_home_screen_a2789e8a5372202cc36f48e71dbb9b7cf}
 This function register callback function for reply/event message from home screen
 
 \subparagraph*{Parameters}
 This function register callback function for reply/event message from home screen
 
 \subparagraph*{Parameters}
@@ -495,22 +630,74 @@ Nothing
 
 Event callback is invoked by home screen for event you subscribed. If you would like to get event, please call subscribe function before/after this function 
 
 
 Event callback is invoked by home screen for event you subscribed. If you would like to get event, please call subscribe function before/after this function 
 
-Definition at line 155 of file libhomescreen.\+cpp.
+Definition at line 165 of file libhomescreen.\+cpp.
+
+
+\begin{DoxyCode}
+169 \{
+170     onEvent = event\_cb;
+171     onReply = reply\_cb;
+172     onHangup = hangup\_cb;
+173 \}
+\end{DoxyCode}
+\index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!reply\+Show\+Window@{reply\+Show\+Window}}
+\index{reply\+Show\+Window@{reply\+Show\+Window}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
+\subsubsection[{\texorpdfstring{reply\+Show\+Window(const char $\ast$application\+\_\+id, json\+\_\+object $\ast$json)}{replyShowWindow(const char *application_id, json_object *json)}}]{\setlength{\rightskip}{0pt plus 5cm}int Lib\+Home\+Screen\+::reply\+Show\+Window (
+\begin{DoxyParamCaption}
+\item[{const char $\ast$}]{application\+\_\+id, }
+\item[{json\+\_\+object $\ast$}]{json}
+\end{DoxyParamCaption}
+)}\hypertarget{class_lib_home_screen_a6310b129fc85ef0623e2e2063950cc4b}{}\label{class_lib_home_screen_a6310b129fc85ef0623e2e2063950cc4b}
+Sending reply onscreen message event
+
+Call Home\+Screen Service\textquotesingle{}s reply\+Show\+Window verb to reply onscreen message.
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item application\+\_\+id \mbox{[}in\mbox{]} \+: This argument should be specified to the onscreen reply to applilcation id.
+\item json \mbox{[}in\mbox{]} \+: This argument should be specified to the json parameters.
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+
+\begin{DoxyItemize}
+\item Returns 0 on success or -\/1 in case of error. 
+\end{DoxyItemize}
+
+Definition at line 530 of file libhomescreen.\+cpp.
 
 
 \begin{DoxyCode}
 
 
 \begin{DoxyCode}
-159 \{
-160     onEvent = event\_cb;
-161     onReply = reply\_cb;
-162     onHangup = hangup\_cb;
-163 \}
+531 \{
+532     \textcolor{keywordflow}{if}(!sp\_websock)
+533     \{
+534         \textcolor{keywordflow}{return} -1;
+535     \}
+536 
+537     \textcolor{keywordflow}{if} (json == \textcolor{keyword}{nullptr}) \{
+538         \hyperlink{include_2hmi-debug_8h_a25361812432cd2480bc8f1a8e56ecbf7}{HMI\_WARNING}(\textcolor{stringliteral}{"libhomescreen"}, \textcolor{stringliteral}{"replyShowWindow`s parameter is null"});
+539         \textcolor{keywordflow}{return} -1;
+540     \}
+541 
+542     \textcolor{keyword}{struct }json\_object* j\_obj = json\_object\_new\_object();
+543     \textcolor{keyword}{struct }json\_object* val = json\_object\_new\_string(application\_id);
+544     json\_object\_object\_add(j\_obj, \hyperlink{libhomescreen_8cpp_a5a89bcb5a83f6b2e5c664a041bd8fd00}{ApplicationId}, val);
+545     json\_object\_object\_add(j\_obj, \textcolor{stringliteral}{"parameter"}, json);
+546 
+547     \textcolor{keywordflow}{return} this->\hyperlink{class_lib_home_screen_a527b49dcfe581be6275d0eb2236ba37f}{call}(\textcolor{stringliteral}{"replyShowWindow"}, j\_obj);
+548 \}
 \end{DoxyCode}
 \end{DoxyCode}
-\mbox{\Hypertarget{class_lib_home_screen_ab1b0e08bf35415de9064afed899e9f85}\label{class_lib_home_screen_ab1b0e08bf35415de9064afed899e9f85}} 
 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!set\+\_\+event\+\_\+handler@{set\+\_\+event\+\_\+handler}}
 \index{set\+\_\+event\+\_\+handler@{set\+\_\+event\+\_\+handler}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!set\+\_\+event\+\_\+handler@{set\+\_\+event\+\_\+handler}}
 \index{set\+\_\+event\+\_\+handler@{set\+\_\+event\+\_\+handler}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
-\subsubsection{\texorpdfstring{set\+\_\+event\+\_\+handler()}{set\_event\_handler()}}
-{\footnotesize\ttfamily void Lib\+Home\+Screen\+::set\+\_\+event\+\_\+handler (\begin{DoxyParamCaption}\item[{enum \hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154}{Event\+Type}}]{et,  }\item[{\hyperlink{class_lib_home_screen_a334f11f81c84c98d18284215dcaada3a}{handler\+\_\+func}}]{f }\end{DoxyParamCaption})}
-
+\subsubsection[{\texorpdfstring{set\+\_\+event\+\_\+handler(enum Event\+Type et, handler\+\_\+func f)}{set_event_handler(enum EventType et, handler_func f)}}]{\setlength{\rightskip}{0pt plus 5cm}void Lib\+Home\+Screen\+::set\+\_\+event\+\_\+handler (
+\begin{DoxyParamCaption}
+\item[{enum {\bf Event\+Type}}]{et, }
+\item[{{\bf handler\+\_\+func}}]{f}
+\end{DoxyParamCaption}
+)}\hypertarget{class_lib_home_screen_ab1b0e08bf35415de9064afed899e9f85}{}\label{class_lib_home_screen_ab1b0e08bf35415de9064afed899e9f85}
 Setting Event Handler
 
 Setting event handler for Homescreen
 Setting Event Handler
 
 Setting event handler for Homescreen
@@ -525,36 +712,186 @@ Setting event handler for Homescreen
 
 \subparagraph*{Return}
 
 
 \subparagraph*{Return}
 
-Nothing 
+Nothing
+
+\subparagraph*{Note}
+
+Don\textquotesingle{}t release json\+\_\+object by json\+\_\+object\+\_\+put in handler\+\_\+func. The resource is released by libafbwsc library. 
+
+Definition at line 295 of file libhomescreen.\+cpp.
+
+
+\begin{DoxyCode}
+296 \{
+297     \textcolor{keywordflow}{if} (et >= 1 && et <= 7) \{
+298         \textcolor{keywordflow}{switch} (et) \{
+299 \textcolor{comment}{/*          case Event\_TapShortcut:}
+300 \textcolor{comment}{                this->subscribe(LibHomeScreen::event\_list[0]);}
+301 \textcolor{comment}{                break;*/}
+302             \textcolor{keywordflow}{case} \hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154a3fb3563c64786f1a2ae404df6edffd5c}{Event\_ShowWindow}:
+303                 this->\hyperlink{class_lib_home_screen_aa4c189807b75d070f567967f0d690738}{subscribe}(\hyperlink{class_lib_home_screen_a6a6d8a4d33a006a08652e7377a4c29e9}{LibHomeScreen::event\_list}[0]);
+304                 \textcolor{keywordflow}{break};
+305             \textcolor{keywordflow}{case} \hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d}{Event\_OnScreenMessage}:
+306                 this->\hyperlink{class_lib_home_screen_aa4c189807b75d070f567967f0d690738}{subscribe}(\hyperlink{class_lib_home_screen_a6a6d8a4d33a006a08652e7377a4c29e9}{LibHomeScreen::event\_list}[1]);
+307                 \textcolor{keywordflow}{break};
+308             \textcolor{keywordflow}{case} \hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd}{Event\_OnScreenReply}:
+309                 this->\hyperlink{class_lib_home_screen_aa4c189807b75d070f567967f0d690738}{subscribe}(\hyperlink{class_lib_home_screen_a6a6d8a4d33a006a08652e7377a4c29e9}{LibHomeScreen::event\_list}[2]);
+310                 \textcolor{keywordflow}{break};
+311             \textcolor{keywordflow}{case} \hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154aef8bb1086ddbc0a125d77af9da3146a0}{Event\_HideWindow}:
+312                 this->\hyperlink{class_lib_home_screen_aa4c189807b75d070f567967f0d690738}{subscribe}(\hyperlink{class_lib_home_screen_a6a6d8a4d33a006a08652e7377a4c29e9}{LibHomeScreen::event\_list}[3]);
+313                 \textcolor{keywordflow}{break};
+314             \textcolor{keywordflow}{case} \hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154aaacb8babce7fac884ab4bf7605da0d9f}{Event\_ReplyShowWindow}:
+315                 this->\hyperlink{class_lib_home_screen_aa4c189807b75d070f567967f0d690738}{subscribe}(\hyperlink{class_lib_home_screen_a6a6d8a4d33a006a08652e7377a4c29e9}{LibHomeScreen::event\_list}[4]);
+316                 \textcolor{keywordflow}{break};
+317             \textcolor{keywordflow}{case} \hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154a68119a9c3ff85e807db38d3282e5ca30}{Event\_ShowNotification}:
+318                 this->\hyperlink{class_lib_home_screen_aa4c189807b75d070f567967f0d690738}{subscribe}(\hyperlink{class_lib_home_screen_a6a6d8a4d33a006a08652e7377a4c29e9}{LibHomeScreen::event\_list}[5]);
+319                 \textcolor{keywordflow}{break};
+320             \textcolor{keywordflow}{case} \hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154a1fad2ac5071a1dae7db9c8e1b522669b}{Event\_ShowInformation}:
+321                 this->\hyperlink{class_lib_home_screen_aa4c189807b75d070f567967f0d690738}{subscribe}(\hyperlink{class_lib_home_screen_a6a6d8a4d33a006a08652e7377a4c29e9}{LibHomeScreen::event\_list}[6]);
+322                 \textcolor{keywordflow}{break};
+323         \}
+324 
+325         this->handlers[et] = std::move(f);
+326     \}
+327 \}
+\end{DoxyCode}
+\index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!show\+Information@{show\+Information}}
+\index{show\+Information@{show\+Information}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
+\subsubsection[{\texorpdfstring{show\+Information(json\+\_\+object $\ast$json)}{showInformation(json_object *json)}}]{\setlength{\rightskip}{0pt plus 5cm}int Lib\+Home\+Screen\+::show\+Information (
+\begin{DoxyParamCaption}
+\item[{json\+\_\+object $\ast$}]{json}
+\end{DoxyParamCaption}
+)}\hypertarget{class_lib_home_screen_ada999aeb0444c964428bdf1ee236727f}{}\label{class_lib_home_screen_ada999aeb0444c964428bdf1ee236727f}
+Sending show information event
+
+Call Home\+Screen Service\textquotesingle{}s information verb to show notification on Information Bar.
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item json \mbox{[}in\mbox{]} \+: This argument should be specified to the json parameters.
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+
+\begin{DoxyItemize}
+\item Returns 0 on success or -\/1 in case of error. 
+\end{DoxyItemize}
+
+Definition at line 584 of file libhomescreen.\+cpp.
+
+
+\begin{DoxyCode}
+585 \{
+586     \textcolor{keywordflow}{if}(!sp\_websock)
+587     \{
+588         \textcolor{keywordflow}{return} -1;
+589     \}
+590 
+591     \textcolor{keywordflow}{return} this->\hyperlink{class_lib_home_screen_a527b49dcfe581be6275d0eb2236ba37f}{call}(\textcolor{stringliteral}{"showInformation"}, json);
+592 \}
+\end{DoxyCode}
+\index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!show\+Notification@{show\+Notification}}
+\index{show\+Notification@{show\+Notification}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
+\subsubsection[{\texorpdfstring{show\+Notification(json\+\_\+object $\ast$json)}{showNotification(json_object *json)}}]{\setlength{\rightskip}{0pt plus 5cm}int Lib\+Home\+Screen\+::show\+Notification (
+\begin{DoxyParamCaption}
+\item[{json\+\_\+object $\ast$}]{json}
+\end{DoxyParamCaption}
+)}\hypertarget{class_lib_home_screen_a93ad567ed597a80a344ba82457c2bd7f}{}\label{class_lib_home_screen_a93ad567ed597a80a344ba82457c2bd7f}
+Sending show notification event
+
+Call Home\+Screen Service\textquotesingle{}s notification verb to show notification on Status Bar.
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item json \mbox{[}in\mbox{]} \+: This argument should be specified to the json parameters.
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+
+\begin{DoxyItemize}
+\item Returns 0 on success or -\/1 in case of error. 
+\end{DoxyItemize}
+
+Definition at line 562 of file libhomescreen.\+cpp.
+
+
+\begin{DoxyCode}
+563 \{
+564     \textcolor{keywordflow}{if}(!sp\_websock)
+565     \{
+566         \textcolor{keywordflow}{return} -1;
+567     \}
+568 
+569     \textcolor{keywordflow}{return} this->\hyperlink{class_lib_home_screen_a527b49dcfe581be6275d0eb2236ba37f}{call}(\textcolor{stringliteral}{"showNotification"}, json);
+570 \}
+\end{DoxyCode}
+\index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!show\+Window@{show\+Window}}
+\index{show\+Window@{show\+Window}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
+\subsubsection[{\texorpdfstring{show\+Window(const char $\ast$application\+\_\+id, json\+\_\+object $\ast$json)}{showWindow(const char *application_id, json_object *json)}}]{\setlength{\rightskip}{0pt plus 5cm}int Lib\+Home\+Screen\+::show\+Window (
+\begin{DoxyParamCaption}
+\item[{const char $\ast$}]{application\+\_\+id, }
+\item[{json\+\_\+object $\ast$}]{json}
+\end{DoxyParamCaption}
+)}\hypertarget{class_lib_home_screen_a69fc770cb3f94d30a10c2c8c81eb892f}{}\label{class_lib_home_screen_a69fc770cb3f94d30a10c2c8c81eb892f}
+Sending show window event
+
+Call Home\+Screen Service\textquotesingle{}s show\+Window verb to request display id\textquotesingle{}s screen.
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item application\+\_\+id \mbox{[}in\mbox{]} \+: This argument should be specified to the application\textquotesingle{}s id.
+\item json \mbox{[}in\mbox{]} \+: This argument should be specified to the json parameters.
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+
+\begin{DoxyItemize}
+\item Returns 0 on success or -\/1 in case of error. 
+\end{DoxyItemize}
 
 
-Definition at line 293 of file libhomescreen.\+cpp.
+Definition at line 467 of file libhomescreen.\+cpp.
 
 
 \begin{DoxyCode}
 
 
 \begin{DoxyCode}
-294 \{
-295     \textcolor{keywordflow}{if} (et >= 1 && et <= 3) \{
-296         \textcolor{keywordflow}{switch} (et) \{
-297             \textcolor{keywordflow}{case} \hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f}{Event\_TapShortcut}:
-298                 this->\hyperlink{class_lib_home_screen_aa4c189807b75d070f567967f0d690738}{subscribe}(\hyperlink{class_lib_home_screen_a6a6d8a4d33a006a08652e7377a4c29e9}{LibHomeScreen::event\_list}[0]);
-299                 \textcolor{keywordflow}{break};
-300             \textcolor{keywordflow}{case} \hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d}{Event\_OnScreenMessage}:
-301                 this->\hyperlink{class_lib_home_screen_aa4c189807b75d070f567967f0d690738}{subscribe}(\hyperlink{class_lib_home_screen_a6a6d8a4d33a006a08652e7377a4c29e9}{LibHomeScreen::event\_list}[1]);
-302                 \textcolor{keywordflow}{break};
-303             \textcolor{keywordflow}{case} \hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd}{Event\_OnScreenReply}:
-304                 this->\hyperlink{class_lib_home_screen_aa4c189807b75d070f567967f0d690738}{subscribe}(\hyperlink{class_lib_home_screen_a6a6d8a4d33a006a08652e7377a4c29e9}{LibHomeScreen::event\_list}[2]);
-305                 \textcolor{keywordflow}{break};
-306         \}
-307 
-308         this->handlers[et] = std::move(f);
-309     \}
-310 \}
+468 \{
+469     \textcolor{keywordflow}{if}(!sp\_websock)
+470     \{
+471         \textcolor{keywordflow}{return} -1;
+472     \}
+473 
+474     \textcolor{keyword}{struct }json\_object* j\_obj = json\_object\_new\_object();
+475     \textcolor{keyword}{struct }json\_object* val = json\_object\_new\_string(application\_id);
+476     json\_object\_object\_add(j\_obj, \hyperlink{libhomescreen_8cpp_a5a89bcb5a83f6b2e5c664a041bd8fd00}{ApplicationId}, val);
+477 
+478     \textcolor{keywordflow}{if} (json == \textcolor{keyword}{nullptr}) \{
+479         \textcolor{keyword}{struct }json\_object* j\_json = json\_object\_new\_object();
+480         \textcolor{keyword}{struct }json\_object* value = json\_object\_new\_string(\textcolor{stringliteral}{"normal"});
+481         json\_object\_object\_add(j\_json, \textcolor{stringliteral}{"area"}, value);
+482         json\_object\_object\_add(j\_obj, \textcolor{stringliteral}{"parameter"}, j\_json);
+483     \}
+484     \textcolor{keywordflow}{else} \{
+485         json\_object\_object\_add(j\_obj, \textcolor{stringliteral}{"parameter"}, json);
+486     \}
+487 
+488     \textcolor{keywordflow}{return} this->\hyperlink{class_lib_home_screen_a527b49dcfe581be6275d0eb2236ba37f}{call}(\textcolor{stringliteral}{"showWindow"}, j\_obj);
+489 \}
 \end{DoxyCode}
 \end{DoxyCode}
-\mbox{\Hypertarget{class_lib_home_screen_aa4c189807b75d070f567967f0d690738}\label{class_lib_home_screen_aa4c189807b75d070f567967f0d690738}} 
 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!subscribe@{subscribe}}
 \index{subscribe@{subscribe}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!subscribe@{subscribe}}
 \index{subscribe@{subscribe}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
-\subsubsection{\texorpdfstring{subscribe()}{subscribe()}}
-{\footnotesize\ttfamily int Lib\+Home\+Screen\+::subscribe (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{event\+\_\+name }\end{DoxyParamCaption})}
-
+\subsubsection[{\texorpdfstring{subscribe(const std\+::string \&event\+\_\+name)}{subscribe(const std::string &event_name)}}]{\setlength{\rightskip}{0pt plus 5cm}int Lib\+Home\+Screen\+::subscribe (
+\begin{DoxyParamCaption}
+\item[{const std\+::string \&}]{event\+\_\+name}
+\end{DoxyParamCaption}
+)}\hypertarget{class_lib_home_screen_aa4c189807b75d070f567967f0d690738}{}\label{class_lib_home_screen_aa4c189807b75d070f567967f0d690738}
 Register callback function for each event
 
 \subparagraph*{Parameters}
 Register callback function for each event
 
 \subparagraph*{Parameters}
@@ -575,32 +912,33 @@ Register callback function for each event
 
 This function enables to get an event to your callback function. 
 
 
 This function enables to get an event to your callback function. 
 
-Definition at line 392 of file libhomescreen.\+cpp.
+Definition at line 409 of file libhomescreen.\+cpp.
 
 
 \begin{DoxyCode}
 
 
 \begin{DoxyCode}
-393 \{
-394     \textcolor{keywordflow}{if}(!sp\_websock)
-395     \{
-396         \textcolor{keywordflow}{return} -1;
-397     \}
-398     \textcolor{keyword}{struct }json\_object* j\_obj = json\_object\_new\_object();
-399     json\_object\_object\_add(j\_obj, \textcolor{stringliteral}{"event"}, json\_object\_new\_string(event\_name.c\_str()));
-400 
-401     \textcolor{keywordtype}{int} ret = afb\_wsj1\_call\_j(sp\_websock, \hyperlink{libhomescreen_8cpp_a1e2d6e77dd8f0162f830058579eab42f}{API}, \textcolor{stringliteral}{"subscribe"}, j\_obj, 
+410 \{
+411     \textcolor{keywordflow}{if}(!sp\_websock)
+412     \{
+413         \textcolor{keywordflow}{return} -1;
+414     \}
+415     \textcolor{keyword}{struct }json\_object* j\_obj = json\_object\_new\_object();
+416     json\_object\_object\_add(j\_obj, \textcolor{stringliteral}{"event"}, json\_object\_new\_string(event\_name.c\_str()));
+417 
+418     \textcolor{keywordtype}{int} ret = afb\_wsj1\_call\_j(sp\_websock, \hyperlink{libhomescreen_8cpp_a1e2d6e77dd8f0162f830058579eab42f}{API}, \textcolor{stringliteral}{"subscribe"}, j\_obj, 
       \hyperlink{libhomescreen_8cpp_a7778933bffa862c63fa0a1b8219faa8b}{\_on\_reply\_static}, \textcolor{keyword}{this});
       \hyperlink{libhomescreen_8cpp_a7778933bffa862c63fa0a1b8219faa8b}{\_on\_reply\_static}, \textcolor{keyword}{this});
-402     \textcolor{keywordflow}{if} (ret < 0) \{
-403         \hyperlink{hmi-debug_8h_a65bb6c7cfe38f8a724beab5059d36fb2}{HMI\_ERROR}(\textcolor{stringliteral}{"libhomescreen"},\textcolor{stringliteral}{"Failed to call verb:%s"},\_\_FUNCTION\_\_);
-404     \}
-405     \textcolor{keywordflow}{return} ret;
-406 \}
+419     \textcolor{keywordflow}{if} (ret < 0) \{
+420         \hyperlink{include_2hmi-debug_8h_a65bb6c7cfe38f8a724beab5059d36fb2}{HMI\_ERROR}(\textcolor{stringliteral}{"libhomescreen"},\textcolor{stringliteral}{"Failed to call verb"});
+421     \}
+422     \textcolor{keywordflow}{return} ret;
+423 \}
 \end{DoxyCode}
 \end{DoxyCode}
-\mbox{\Hypertarget{class_lib_home_screen_afb571c9577087b47065eb23e7fdbc903}\label{class_lib_home_screen_afb571c9577087b47065eb23e7fdbc903}} 
 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!tap\+Shortcut@{tap\+Shortcut}}
 \index{tap\+Shortcut@{tap\+Shortcut}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!tap\+Shortcut@{tap\+Shortcut}}
 \index{tap\+Shortcut@{tap\+Shortcut}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
-\subsubsection{\texorpdfstring{tap\+Shortcut()}{tapShortcut()}}
-{\footnotesize\ttfamily int Lib\+Home\+Screen\+::tap\+Shortcut (\begin{DoxyParamCaption}\item[{const char $\ast$}]{application\+\_\+name }\end{DoxyParamCaption})}
-
+\subsubsection[{\texorpdfstring{tap\+Shortcut(const char $\ast$application\+\_\+id)}{tapShortcut(const char *application_id)}}]{\setlength{\rightskip}{0pt plus 5cm}int Lib\+Home\+Screen\+::tap\+Shortcut (
+\begin{DoxyParamCaption}
+\item[{const char $\ast$}]{application\+\_\+id}
+\end{DoxyParamCaption}
+)}\hypertarget{class_lib_home_screen_a6ca8ff4a2aa019a735afaff713e0ef44}{}\label{class_lib_home_screen_a6ca8ff4a2aa019a735afaff713e0ef44}
 Sending Short\+Cut Icon tapped event
 
 When Home\+Screen shortcut area is tapped, sending a event
 Sending Short\+Cut Icon tapped event
 
 When Home\+Screen shortcut area is tapped, sending a event
@@ -609,7 +947,7 @@ When Home\+Screen shortcut area is tapped, sending a event
 
 
 \begin{DoxyItemize}
 
 
 \begin{DoxyItemize}
-\item application\+\_\+name \mbox{[}in\mbox{]} \+: Tapped application name (label)
+\item application\+\_\+id \mbox{[}in\mbox{]} \+: Tapped application id (label)
 \end{DoxyItemize}
 
 \subparagraph*{Return}
 \end{DoxyItemize}
 
 \subparagraph*{Return}
@@ -619,28 +957,25 @@ When Home\+Screen shortcut area is tapped, sending a event
 \item Returns 0 on success or -\/1 in case of error. 
 \end{DoxyItemize}
 
 \item Returns 0 on success or -\/1 in case of error. 
 \end{DoxyItemize}
 
-Definition at line 220 of file libhomescreen.\+cpp.
+Definition at line 222 of file libhomescreen.\+cpp.
 
 
 \begin{DoxyCode}
 
 
 \begin{DoxyCode}
-221 \{
-222     \textcolor{keywordflow}{if}(!sp\_websock)
-223     \{
-224         \textcolor{keywordflow}{return} -1;
-225     \}
-226 
-227     \textcolor{keyword}{struct }json\_object* j\_obj = json\_object\_new\_object();
-228     \textcolor{keyword}{struct }json\_object* val = json\_object\_new\_string(application\_name);
-229     json\_object\_object\_add(j\_obj, \textcolor{stringliteral}{"application\_name"}, val);
-230     \textcolor{keywordflow}{return} this->\hyperlink{class_lib_home_screen_a527b49dcfe581be6275d0eb2236ba37f}{call}(\textcolor{stringliteral}{"tap\_shortcut"}, j\_obj);
-231 \}
+223 \{
+224     \textcolor{keyword}{struct }json\_object* obj = json\_object\_new\_object();
+225     \textcolor{keyword}{struct }json\_object* val = json\_object\_new\_string(\textcolor{stringliteral}{"normal"});
+226     json\_object\_object\_add(obj, \textcolor{stringliteral}{"area"}, val);
+227 
+228     \textcolor{keywordflow}{return} \hyperlink{class_lib_home_screen_a69fc770cb3f94d30a10c2c8c81eb892f}{showWindow}(application\_id, obj);
+229 \}
 \end{DoxyCode}
 \end{DoxyCode}
-\mbox{\Hypertarget{class_lib_home_screen_aac03a45cbd453ba69ddb00c1016930a6}\label{class_lib_home_screen_aac03a45cbd453ba69ddb00c1016930a6}} 
 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!unsubscribe@{unsubscribe}}
 \index{unsubscribe@{unsubscribe}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!unsubscribe@{unsubscribe}}
 \index{unsubscribe@{unsubscribe}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
-\subsubsection{\texorpdfstring{unsubscribe()}{unsubscribe()}}
-{\footnotesize\ttfamily int Lib\+Home\+Screen\+::unsubscribe (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{event\+\_\+name }\end{DoxyParamCaption})}
-
+\subsubsection[{\texorpdfstring{unsubscribe(const std\+::string \&event\+\_\+name)}{unsubscribe(const std::string &event_name)}}]{\setlength{\rightskip}{0pt plus 5cm}int Lib\+Home\+Screen\+::unsubscribe (
+\begin{DoxyParamCaption}
+\item[{const std\+::string \&}]{event\+\_\+name}
+\end{DoxyParamCaption}
+)}\hypertarget{class_lib_home_screen_aac03a45cbd453ba69ddb00c1016930a6}{}\label{class_lib_home_screen_aac03a45cbd453ba69ddb00c1016930a6}
 Unregister callback function for each event
 
 \subparagraph*{Parameters}
 Unregister callback function for each event
 
 \subparagraph*{Parameters}
@@ -661,35 +996,74 @@ Unregister callback function for each event
 
 This function disables to get an event to your callback function. 
 
 
 This function disables to get an event to your callback function. 
 
-Definition at line 421 of file libhomescreen.\+cpp.
+Definition at line 438 of file libhomescreen.\+cpp.
 
 
 \begin{DoxyCode}
 
 
 \begin{DoxyCode}
-422 \{
-423     \textcolor{keywordflow}{if}(!sp\_websock)
-424     \{
-425         \textcolor{keywordflow}{return} -1;
-426     \}
-427     \textcolor{keyword}{struct }json\_object* j\_obj = json\_object\_new\_object();
-428     json\_object\_object\_add(j\_obj, \textcolor{stringliteral}{"event"}, json\_object\_new\_string(event\_name.c\_str()));
-429 
-430     \textcolor{keywordtype}{int} ret = afb\_wsj1\_call\_j(sp\_websock, \hyperlink{libhomescreen_8cpp_a1e2d6e77dd8f0162f830058579eab42f}{API}, \textcolor{stringliteral}{"unsubscribe"}, j\_obj, 
+439 \{
+440     \textcolor{keywordflow}{if}(!sp\_websock)
+441     \{
+442         \textcolor{keywordflow}{return} -1;
+443     \}
+444     \textcolor{keyword}{struct }json\_object* j\_obj = json\_object\_new\_object();
+445     json\_object\_object\_add(j\_obj, \textcolor{stringliteral}{"event"}, json\_object\_new\_string(event\_name.c\_str()));
+446 
+447     \textcolor{keywordtype}{int} ret = afb\_wsj1\_call\_j(sp\_websock, \hyperlink{libhomescreen_8cpp_a1e2d6e77dd8f0162f830058579eab42f}{API}, \textcolor{stringliteral}{"unsubscribe"}, j\_obj, 
       \hyperlink{libhomescreen_8cpp_a7778933bffa862c63fa0a1b8219faa8b}{\_on\_reply\_static}, \textcolor{keyword}{this});
       \hyperlink{libhomescreen_8cpp_a7778933bffa862c63fa0a1b8219faa8b}{\_on\_reply\_static}, \textcolor{keyword}{this});
-431     \textcolor{keywordflow}{if} (ret < 0) \{
-432         \hyperlink{hmi-debug_8h_a65bb6c7cfe38f8a724beab5059d36fb2}{HMI\_ERROR}(\textcolor{stringliteral}{"libhomescreen"},\textcolor{stringliteral}{"Failed to call verb:%s"},\_\_FUNCTION\_\_);
-433     \}
-434     \textcolor{keywordflow}{return} ret;
-435 \}
+448     \textcolor{keywordflow}{if} (ret < 0) \{
+449         \hyperlink{include_2hmi-debug_8h_a65bb6c7cfe38f8a724beab5059d36fb2}{HMI\_ERROR}(\textcolor{stringliteral}{"libhomescreen"},\textcolor{stringliteral}{"Failed to call verb"});
+450     \}
+451     \textcolor{keywordflow}{return} ret;
+452 \}
 \end{DoxyCode}
 
 
 \subsection{Member Data Documentation}
 \end{DoxyCode}
 
 
 \subsection{Member Data Documentation}
-\mbox{\Hypertarget{class_lib_home_screen_a5593ff5ac78f6495ccb649904cf0ab08}\label{class_lib_home_screen_a5593ff5ac78f6495ccb649904cf0ab08}} 
+\index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!\+\_\+area\+Full\+Screen@{\+\_\+area\+Full\+Screen}}
+\index{\+\_\+area\+Full\+Screen@{\+\_\+area\+Full\+Screen}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
+\subsubsection[{\texorpdfstring{\+\_\+area\+Full\+Screen}{_areaFullScreen}}]{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ Lib\+Home\+Screen\+::\+\_\+area\+Full\+Screen = \char`\"{}fullscreen\char`\"{}}\hypertarget{class_lib_home_screen_ad0569f5323ead77a43bd8735377a6f25}{}\label{class_lib_home_screen_ad0569f5323ead77a43bd8735377a6f25}
+
+
+Definition at line 59 of file libhomescreen.\+hpp.
+
+\index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!\+\_\+area\+Normal@{\+\_\+area\+Normal}}
+\index{\+\_\+area\+Normal@{\+\_\+area\+Normal}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
+\subsubsection[{\texorpdfstring{\+\_\+area\+Normal}{_areaNormal}}]{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ Lib\+Home\+Screen\+::\+\_\+area\+Normal = \char`\"{}normal\char`\"{}}\hypertarget{class_lib_home_screen_aac718b60b83c74e2b061f6f7f7ec3bf5}{}\label{class_lib_home_screen_aac718b60b83c74e2b061f6f7f7ec3bf5}
+
+
+Definition at line 58 of file libhomescreen.\+hpp.
+
+\index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!\+\_\+area\+Split\+Main@{\+\_\+area\+Split\+Main}}
+\index{\+\_\+area\+Split\+Main@{\+\_\+area\+Split\+Main}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
+\subsubsection[{\texorpdfstring{\+\_\+area\+Split\+Main}{_areaSplitMain}}]{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ Lib\+Home\+Screen\+::\+\_\+area\+Split\+Main = \char`\"{}split.\+main\char`\"{}}\hypertarget{class_lib_home_screen_a7f201fc366146790520bf8d990f7b2eb}{}\label{class_lib_home_screen_a7f201fc366146790520bf8d990f7b2eb}
+
+
+Definition at line 60 of file libhomescreen.\+hpp.
+
+\index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!\+\_\+area\+Split\+Sub@{\+\_\+area\+Split\+Sub}}
+\index{\+\_\+area\+Split\+Sub@{\+\_\+area\+Split\+Sub}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
+\subsubsection[{\texorpdfstring{\+\_\+area\+Split\+Sub}{_areaSplitSub}}]{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ Lib\+Home\+Screen\+::\+\_\+area\+Split\+Sub = \char`\"{}split.\+sub\char`\"{}}\hypertarget{class_lib_home_screen_ab4f54373b0681de11243152f01c48888}{}\label{class_lib_home_screen_ab4f54373b0681de11243152f01c48888}
+
+
+Definition at line 61 of file libhomescreen.\+hpp.
+
+\index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!\+\_\+key\+Area@{\+\_\+key\+Area}}
+\index{\+\_\+key\+Area@{\+\_\+key\+Area}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
+\subsubsection[{\texorpdfstring{\+\_\+key\+Area}{_keyArea}}]{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ Lib\+Home\+Screen\+::\+\_\+key\+Area = \char`\"{}area\char`\"{}}\hypertarget{class_lib_home_screen_a8becda1b035ae45f5a11c7e7963091bf}{}\label{class_lib_home_screen_a8becda1b035ae45f5a11c7e7963091bf}
+
+
+Definition at line 55 of file libhomescreen.\+hpp.
+
+\index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!\+\_\+key\+Parameter@{\+\_\+key\+Parameter}}
+\index{\+\_\+key\+Parameter@{\+\_\+key\+Parameter}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
+\subsubsection[{\texorpdfstring{\+\_\+key\+Parameter}{_keyParameter}}]{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ Lib\+Home\+Screen\+::\+\_\+key\+Parameter = \char`\"{}parameter\char`\"{}}\hypertarget{class_lib_home_screen_a927592eff8e34efbbceaf12522f8897f}{}\label{class_lib_home_screen_a927592eff8e34efbbceaf12522f8897f}
+
+
+Definition at line 54 of file libhomescreen.\+hpp.
+
 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!api\+\_\+list@{api\+\_\+list}}
 \index{api\+\_\+list@{api\+\_\+list}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!api\+\_\+list@{api\+\_\+list}}
 \index{api\+\_\+list@{api\+\_\+list}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
-\subsubsection{\texorpdfstring{api\+\_\+list}{api\_list}}
-{\footnotesize\ttfamily const std\+::vector$<$ std\+::string $>$ Lib\+Home\+Screen\+::api\+\_\+list\hspace{0.3cm}{\ttfamily [static]}}
-
+\subsubsection[{\texorpdfstring{api\+\_\+list}{api_list}}]{\setlength{\rightskip}{0pt plus 5cm}const std\+::vector$<$ std\+::string $>$ Lib\+Home\+Screen\+::api\+\_\+list\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{class_lib_home_screen_a5593ff5ac78f6495ccb649904cf0ab08}{}\label{class_lib_home_screen_a5593ff5ac78f6495ccb649904cf0ab08}
 {\bfseries Initial value\+:}
 \begin{DoxyCode}
 \{
 {\bfseries Initial value\+:}
 \begin{DoxyCode}
 \{
@@ -698,31 +1072,38 @@ Definition at line 421 of file libhomescreen.\+cpp.
     std::string(\textcolor{stringliteral}{"on\_screen\_message"}),
     std::string(\textcolor{stringliteral}{"on\_screen\_reply"}),
     std::string(\textcolor{stringliteral}{"subscribe"}),
     std::string(\textcolor{stringliteral}{"on\_screen\_message"}),
     std::string(\textcolor{stringliteral}{"on\_screen\_reply"}),
     std::string(\textcolor{stringliteral}{"subscribe"}),
-    std::string(\textcolor{stringliteral}{"unsubscribe"})
+    std::string(\textcolor{stringliteral}{"unsubscribe"}),
+    std::string(\textcolor{stringliteral}{"showWindow"}),
+    std::string(\textcolor{stringliteral}{"hideWindow"}),
+    std::string(\textcolor{stringliteral}{"replyShowWindow"}),
+    std::string(\textcolor{stringliteral}{"showNotification"}),
+    std::string(\textcolor{stringliteral}{"showInformation"})
 \}
 \end{DoxyCode}
 
 
 \}
 \end{DoxyCode}
 
 
-Definition at line 50 of file libhomescreen.\+hpp.
+Definition at line 63 of file libhomescreen.\+hpp.
 
 
-\mbox{\Hypertarget{class_lib_home_screen_a6a6d8a4d33a006a08652e7377a4c29e9}\label{class_lib_home_screen_a6a6d8a4d33a006a08652e7377a4c29e9}} 
 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!event\+\_\+list@{event\+\_\+list}}
 \index{event\+\_\+list@{event\+\_\+list}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!event\+\_\+list@{event\+\_\+list}}
 \index{event\+\_\+list@{event\+\_\+list}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
-\subsubsection{\texorpdfstring{event\+\_\+list}{event\_list}}
-{\footnotesize\ttfamily const std\+::vector$<$ std\+::string $>$ Lib\+Home\+Screen\+::event\+\_\+list\hspace{0.3cm}{\ttfamily [static]}}
-
+\subsubsection[{\texorpdfstring{event\+\_\+list}{event_list}}]{\setlength{\rightskip}{0pt plus 5cm}const std\+::vector$<$ std\+::string $>$ Lib\+Home\+Screen\+::event\+\_\+list\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{class_lib_home_screen_a6a6d8a4d33a006a08652e7377a4c29e9}{}\label{class_lib_home_screen_a6a6d8a4d33a006a08652e7377a4c29e9}
 {\bfseries Initial value\+:}
 \begin{DoxyCode}
 \{
 {\bfseries Initial value\+:}
 \begin{DoxyCode}
 \{
-    std::string(\textcolor{stringliteral}{"tap\_shortcut"}),
+
+    std::string(\textcolor{stringliteral}{"showWindow"}),
     std::string(\textcolor{stringliteral}{"on\_screen\_message"}),
     std::string(\textcolor{stringliteral}{"on\_screen\_reply"}),
     std::string(\textcolor{stringliteral}{"on\_screen\_message"}),
     std::string(\textcolor{stringliteral}{"on\_screen\_reply"}),
+    std::string(\textcolor{stringliteral}{"hideWindow"}),
+    std::string(\textcolor{stringliteral}{"replyShowWindow"}),
+    std::string(\textcolor{stringliteral}{"showNotification"}),
+    std::string(\textcolor{stringliteral}{"showInformation"}),
     std::string(\textcolor{stringliteral}{"none"})
 \}
 \end{DoxyCode}
 
 
     std::string(\textcolor{stringliteral}{"none"})
 \}
 \end{DoxyCode}
 
 
-Definition at line 51 of file libhomescreen.\+hpp.
+Definition at line 64 of file libhomescreen.\+hpp.
 
 
 
 
 
 
index a88a588..d2fbd81 100644 (file)
@@ -1,14 +1,13 @@
 \hypertarget{libhomescreen_8hpp}{}\section{include/libhomescreen.hpp File Reference}
 \label{libhomescreen_8hpp}\index{include/libhomescreen.\+hpp@{include/libhomescreen.\+hpp}}
 \hypertarget{libhomescreen_8hpp}{}\section{include/libhomescreen.hpp File Reference}
 \label{libhomescreen_8hpp}\index{include/libhomescreen.\+hpp@{include/libhomescreen.\+hpp}}
-{\ttfamily \#include $<$vector$>$}\newline
-{\ttfamily \#include $<$map$>$}\newline
-{\ttfamily \#include $<$string$>$}\newline
-{\ttfamily \#include $<$functional$>$}\newline
-{\ttfamily \#include $<$json-\/c/json.\+h$>$}\newline
-{\ttfamily \#include $<$systemd/sd-\/event.\+h$>$}\newline
-{\ttfamily \#include $<$afb/afb-\/binding.\+h$>$}\newline
-{\ttfamily \#include $<$afb/afb-\/wsj1.\+h$>$}\newline
-{\ttfamily \#include $<$afb/afb-\/ws-\/client.\+h$>$}\newline
+{\ttfamily \#include $<$vector$>$}\\*
+{\ttfamily \#include $<$map$>$}\\*
+{\ttfamily \#include $<$string$>$}\\*
+{\ttfamily \#include $<$functional$>$}\\*
+{\ttfamily \#include $<$json-\/c/json.\+h$>$}\\*
+{\ttfamily \#include $<$systemd/sd-\/event.\+h$>$}\\*
+{\ttfamily \#include $<$afb/afb-\/wsj1.\+h$>$}\\*
+{\ttfamily \#include $<$afb/afb-\/ws-\/client.\+h$>$}\\*
 \subsection*{Classes}
 \begin{DoxyCompactItemize}
 \item 
 \subsection*{Classes}
 \begin{DoxyCompactItemize}
 \item 
diff --git a/doc/api-ref/latex/df/d66/hs-helper_8cpp.tex b/doc/api-ref/latex/df/d66/hs-helper_8cpp.tex
new file mode 100644 (file)
index 0000000..2e69a28
--- /dev/null
@@ -0,0 +1,374 @@
+\hypertarget{hs-helper_8cpp}{}\section{src/hs-\/helper.cpp File Reference}
+\label{hs-helper_8cpp}\index{src/hs-\/helper.\+cpp@{src/hs-\/helper.\+cpp}}
+{\ttfamily \#include $<$string.\+h$>$}\\*
+{\ttfamily \#include $<$cstdarg$>$}\\*
+{\ttfamily \#include \char`\"{}hs-\/helper.\+h\char`\"{}}\\*
+\subsection*{Functions}
+\begin{DoxyCompactItemize}
+\item 
+\hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899}{R\+E\+Q\+\_\+\+E\+R\+R\+OR} \hyperlink{hs-helper_8cpp_aba9ca63f68b1991f8650871f4eae8e0b}{get\+\_\+value\+\_\+uint16} (const afb\+\_\+req\+\_\+t request, const char $\ast$source, uint16\+\_\+t $\ast$out\+\_\+id)
+\item 
+\hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899}{R\+E\+Q\+\_\+\+E\+R\+R\+OR} \hyperlink{hs-helper_8cpp_af3043612cf74bb92cb073e10cacd594a}{get\+\_\+value\+\_\+int16} (const afb\+\_\+req\+\_\+t request, const char $\ast$source, int16\+\_\+t $\ast$out\+\_\+id)
+\item 
+\hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899}{R\+E\+Q\+\_\+\+E\+R\+R\+OR} \hyperlink{hs-helper_8cpp_a8121d965b6fd795c16b8576ab03dcaf1}{get\+\_\+value\+\_\+int32} (const afb\+\_\+req\+\_\+t request, const char $\ast$source, int32\+\_\+t $\ast$out\+\_\+id)
+\item 
+void \hyperlink{hs-helper_8cpp_a1ba31a6a94515ff1730ba0043a67d59e}{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object} (struct json\+\_\+object $\ast$j\+\_\+obj, int count,...)
+\item 
+void \hyperlink{hs-helper_8cpp_a8777c53f1d4d5412f19b134ad85ffedf}{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+str} (struct json\+\_\+object $\ast$j\+\_\+obj, int count,...)
+\item 
+void \hyperlink{hs-helper_8cpp_ae83604a37134e7bdee3ce4f10bb0b47a}{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+func} (struct json\+\_\+object $\ast$j\+\_\+obj, const char $\ast$verb\+\_\+name, int count,...)
+\item 
+int \hyperlink{hs-helper_8cpp_a2ff1b894941c3b461ca8119079c4146a}{hs\+\_\+search\+\_\+event\+\_\+name\+\_\+index} (const char $\ast$value)
+\end{DoxyCompactItemize}
+\subsection*{Variables}
+\begin{DoxyCompactItemize}
+\item 
+const char $\ast$ \hyperlink{hs-helper_8cpp_a0cd84b1a2184c9b84d1b7bf24582f28e}{evlist} \mbox{[}$\,$\mbox{]}
+\end{DoxyCompactItemize}
+
+
+\subsection{Function Documentation}
+\index{hs-\/helper.\+cpp@{hs-\/helper.\+cpp}!get\+\_\+value\+\_\+int16@{get\+\_\+value\+\_\+int16}}
+\index{get\+\_\+value\+\_\+int16@{get\+\_\+value\+\_\+int16}!hs-\/helper.\+cpp@{hs-\/helper.\+cpp}}
+\subsubsection[{\texorpdfstring{get\+\_\+value\+\_\+int16(const afb\+\_\+req\+\_\+t request, const char $\ast$source, int16\+\_\+t $\ast$out\+\_\+id)}{get_value_int16(const afb_req_t request, const char *source, int16_t *out_id)}}]{\setlength{\rightskip}{0pt plus 5cm}{\bf R\+E\+Q\+\_\+\+E\+R\+R\+OR} get\+\_\+value\+\_\+int16 (
+\begin{DoxyParamCaption}
+\item[{const afb\+\_\+req\+\_\+t}]{request, }
+\item[{const char $\ast$}]{source, }
+\item[{int16\+\_\+t $\ast$}]{out\+\_\+id}
+\end{DoxyParamCaption}
+)}\hypertarget{hs-helper_8cpp_af3043612cf74bb92cb073e10cacd594a}{}\label{hs-helper_8cpp_af3043612cf74bb92cb073e10cacd594a}
+get int16 value from source
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item request \+: Describes the request by bindings from afb-\/daemon
+\item source \+: input source
+\item out\+\_\+id \+: output int16 value
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+error code 
+
+Definition at line 82 of file hs-\/helper.\+cpp.
+
+
+\begin{DoxyCode}
+83 \{
+84     \textcolor{keywordtype}{char}* endptr;
+85     \textcolor{keyword}{const} \textcolor{keywordtype}{char}* tmp = afb\_req\_value (request, source);
+86     \textcolor{keywordflow}{if}(!tmp)
+87     \{
+88         \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1}{REQ\_FAIL};
+89     \}
+90     \textcolor{keywordtype}{long} tmp\_id = strtol(tmp,&endptr,10);
+91 
+92     \textcolor{comment}{/* error check of range */}
+93     \textcolor{keywordflow}{if}( (tmp\_id > INT16\_MAX) || (tmp\_id < INT16\_MIN) )
+94     \{
+95         \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b}{OUT\_RANGE};
+96     \}
+97     \textcolor{keywordflow}{if}(*endptr != \textcolor{charliteral}{'\(\backslash\)0'})
+98     \{
+99         \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a}{NOT\_NUMBER};
+100     \}
+101 
+102     *out\_id = (int16\_t)tmp\_id;
+103     \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee}{REQ\_OK};
+104 \}
+\end{DoxyCode}
+\index{hs-\/helper.\+cpp@{hs-\/helper.\+cpp}!get\+\_\+value\+\_\+int32@{get\+\_\+value\+\_\+int32}}
+\index{get\+\_\+value\+\_\+int32@{get\+\_\+value\+\_\+int32}!hs-\/helper.\+cpp@{hs-\/helper.\+cpp}}
+\subsubsection[{\texorpdfstring{get\+\_\+value\+\_\+int32(const afb\+\_\+req\+\_\+t request, const char $\ast$source, int32\+\_\+t $\ast$out\+\_\+id)}{get_value_int32(const afb_req_t request, const char *source, int32_t *out_id)}}]{\setlength{\rightskip}{0pt plus 5cm}{\bf R\+E\+Q\+\_\+\+E\+R\+R\+OR} get\+\_\+value\+\_\+int32 (
+\begin{DoxyParamCaption}
+\item[{const afb\+\_\+req\+\_\+t}]{request, }
+\item[{const char $\ast$}]{source, }
+\item[{int32\+\_\+t $\ast$}]{out\+\_\+id}
+\end{DoxyParamCaption}
+)}\hypertarget{hs-helper_8cpp_a8121d965b6fd795c16b8576ab03dcaf1}{}\label{hs-helper_8cpp_a8121d965b6fd795c16b8576ab03dcaf1}
+get int32 value from source
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item request \+: Describes the request by bindings from afb-\/daemon
+\item source \+: input source
+\item out\+\_\+id \+: output int32 value
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+error code 
+
+Definition at line 118 of file hs-\/helper.\+cpp.
+
+
+\begin{DoxyCode}
+119 \{
+120     \textcolor{keywordtype}{char}* endptr;
+121     \textcolor{keyword}{const} \textcolor{keywordtype}{char}* tmp = afb\_req\_value (request, source);
+122     \textcolor{keywordflow}{if}(!tmp)
+123     \{
+124         \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1}{REQ\_FAIL};
+125     \}
+126     \textcolor{keywordtype}{long} tmp\_id = strtol(tmp,&endptr,10);
+127 
+128     \textcolor{comment}{/* error check of range */}
+129     \textcolor{keywordflow}{if}( (tmp\_id > INT32\_MAX) || (tmp\_id < INT32\_MIN) )
+130     \{
+131         \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b}{OUT\_RANGE};
+132     \}
+133     \textcolor{keywordflow}{if}(*endptr != \textcolor{charliteral}{'\(\backslash\)0'})
+134     \{
+135         \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a}{NOT\_NUMBER};
+136     \}
+137 
+138     *out\_id = (int32\_t)tmp\_id;
+139     \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee}{REQ\_OK};
+140 \}
+\end{DoxyCode}
+\index{hs-\/helper.\+cpp@{hs-\/helper.\+cpp}!get\+\_\+value\+\_\+uint16@{get\+\_\+value\+\_\+uint16}}
+\index{get\+\_\+value\+\_\+uint16@{get\+\_\+value\+\_\+uint16}!hs-\/helper.\+cpp@{hs-\/helper.\+cpp}}
+\subsubsection[{\texorpdfstring{get\+\_\+value\+\_\+uint16(const afb\+\_\+req\+\_\+t request, const char $\ast$source, uint16\+\_\+t $\ast$out\+\_\+id)}{get_value_uint16(const afb_req_t request, const char *source, uint16_t *out_id)}}]{\setlength{\rightskip}{0pt plus 5cm}{\bf R\+E\+Q\+\_\+\+E\+R\+R\+OR} get\+\_\+value\+\_\+uint16 (
+\begin{DoxyParamCaption}
+\item[{const afb\+\_\+req\+\_\+t}]{request, }
+\item[{const char $\ast$}]{source, }
+\item[{uint16\+\_\+t $\ast$}]{out\+\_\+id}
+\end{DoxyParamCaption}
+)}\hypertarget{hs-helper_8cpp_aba9ca63f68b1991f8650871f4eae8e0b}{}\label{hs-helper_8cpp_aba9ca63f68b1991f8650871f4eae8e0b}
+get uint16 value from source
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item request \+: Describes the request by bindings from afb-\/daemon
+\item source \+: input source
+\item out\+\_\+id \+: output uint16 value
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+error code 
+
+Definition at line 46 of file hs-\/helper.\+cpp.
+
+
+\begin{DoxyCode}
+47 \{
+48     \textcolor{keywordtype}{char}* endptr;
+49     \textcolor{keyword}{const} \textcolor{keywordtype}{char}* tmp = afb\_req\_value (request, source);
+50     \textcolor{keywordflow}{if}(!tmp)
+51     \{
+52         \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1}{REQ\_FAIL};
+53     \}
+54     \textcolor{keywordtype}{long} tmp\_id = strtol(tmp,&endptr,10);
+55 
+56     \textcolor{comment}{/* error check of range */}
+57     \textcolor{keywordflow}{if}( (tmp\_id > UINT16\_MAX) || (tmp\_id < 0) )
+58     \{
+59         \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b}{OUT\_RANGE};
+60     \}
+61     \textcolor{keywordflow}{if}(*endptr != \textcolor{charliteral}{'\(\backslash\)0'})
+62     \{
+63         \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a}{NOT\_NUMBER};
+64     \}
+65 
+66     *out\_id = (uint16\_t)tmp\_id;
+67     \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee}{REQ\_OK};
+68 \}
+\end{DoxyCode}
+\index{hs-\/helper.\+cpp@{hs-\/helper.\+cpp}!hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object@{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object}}
+\index{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object@{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object}!hs-\/helper.\+cpp@{hs-\/helper.\+cpp}}
+\subsubsection[{\texorpdfstring{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object(struct json\+\_\+object $\ast$j\+\_\+obj, int count,...)}{hs_add_object_to_json_object(struct json_object *j_obj, int count,...)}}]{\setlength{\rightskip}{0pt plus 5cm}void hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object (
+\begin{DoxyParamCaption}
+\item[{struct json\+\_\+object $\ast$}]{j\+\_\+obj, }
+\item[{int}]{count, }
+\item[{}]{...}
+\end{DoxyParamCaption}
+)}\hypertarget{hs-helper_8cpp_a1ba31a6a94515ff1730ba0043a67d59e}{}\label{hs-helper_8cpp_a1ba31a6a94515ff1730ba0043a67d59e}
+add int object to json object
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item j\+\_\+obj \+: the json object will join in int json object
+\item count \+: input parameter number
+\item ... \+: parameter list
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+None 
+
+Definition at line 154 of file hs-\/helper.\+cpp.
+
+
+\begin{DoxyCode}
+155 \{
+156     va\_list args;
+157     va\_start(args, count);
+158     \textcolor{keywordflow}{for}(\textcolor{keywordtype}{int} i = 0; i < count; ++i )
+159     \{
+160         \textcolor{keywordtype}{char} *key = va\_arg(args, \textcolor{keywordtype}{char}*);
+161         \textcolor{keywordtype}{int} value = va\_arg(args, \textcolor{keywordtype}{int});
+162         json\_object\_object\_add(j\_obj, key, json\_object\_new\_int((int32\_t)value));
+163         ++i;
+164     \}
+165     va\_end(args);
+166 \}
+\end{DoxyCode}
+\index{hs-\/helper.\+cpp@{hs-\/helper.\+cpp}!hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+func@{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+func}}
+\index{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+func@{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+func}!hs-\/helper.\+cpp@{hs-\/helper.\+cpp}}
+\subsubsection[{\texorpdfstring{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+func(struct json\+\_\+object $\ast$j\+\_\+obj, const char $\ast$verb\+\_\+name, int count,...)}{hs_add_object_to_json_object_func(struct json_object *j_obj, const char *verb_name, int count,...)}}]{\setlength{\rightskip}{0pt plus 5cm}void hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+func (
+\begin{DoxyParamCaption}
+\item[{struct json\+\_\+object $\ast$}]{j\+\_\+obj, }
+\item[{const char $\ast$}]{verb\+\_\+name, }
+\item[{int}]{count, }
+\item[{}]{...}
+\end{DoxyParamCaption}
+)}\hypertarget{hs-helper_8cpp_ae83604a37134e7bdee3ce4f10bb0b47a}{}\label{hs-helper_8cpp_ae83604a37134e7bdee3ce4f10bb0b47a}
+add new json object to json object
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item j\+\_\+obj \+: the json object will join in new json object
+\item verb\+\_\+name \+: new json object\textquotesingle{}s verb value
+\item count \+: input parameter number
+\item ... \+: parameter list
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+None 
+
+Definition at line 207 of file hs-\/helper.\+cpp.
+
+
+\begin{DoxyCode}
+208 \{
+209     va\_list args;
+210     va\_start(args, count);
+211 
+212     json\_object\_object\_add(j\_obj,\textcolor{stringliteral}{"verb"}, json\_object\_new\_string(verb\_name));
+213 
+214     \textcolor{keywordflow}{for}(\textcolor{keywordtype}{int} i = 0; i < count; ++i )
+215     \{
+216         \textcolor{keywordtype}{char} *key = va\_arg(args, \textcolor{keywordtype}{char}*);
+217         \textcolor{keywordtype}{int} value = va\_arg(args, \textcolor{keywordtype}{int});
+218         json\_object\_object\_add(j\_obj, key, json\_object\_new\_int((int32\_t)value));
+219         ++i;
+220     \}
+221     va\_end(args);
+222 \}
+\end{DoxyCode}
+\index{hs-\/helper.\+cpp@{hs-\/helper.\+cpp}!hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+str@{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+str}}
+\index{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+str@{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+str}!hs-\/helper.\+cpp@{hs-\/helper.\+cpp}}
+\subsubsection[{\texorpdfstring{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+str(struct json\+\_\+object $\ast$j\+\_\+obj, int count,...)}{hs_add_object_to_json_object_str(struct json_object *j_obj, int count,...)}}]{\setlength{\rightskip}{0pt plus 5cm}void hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+str (
+\begin{DoxyParamCaption}
+\item[{struct json\+\_\+object $\ast$}]{j\+\_\+obj, }
+\item[{int}]{count, }
+\item[{}]{...}
+\end{DoxyParamCaption}
+)}\hypertarget{hs-helper_8cpp_a8777c53f1d4d5412f19b134ad85ffedf}{}\label{hs-helper_8cpp_a8777c53f1d4d5412f19b134ad85ffedf}
+add string object to json object
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item j\+\_\+obj \+: the json object will join in string json object
+\item count \+: input parameter number
+\item ... \+: parameter list
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+None 
+
+Definition at line 180 of file hs-\/helper.\+cpp.
+
+
+\begin{DoxyCode}
+181 \{
+182     va\_list args;
+183     va\_start(args, count);
+184     \textcolor{keywordflow}{for}(\textcolor{keywordtype}{int} i = 0; i < count; ++i )
+185     \{
+186         \textcolor{keywordtype}{char} *key = va\_arg(args, \textcolor{keywordtype}{char}*);
+187         \textcolor{keywordtype}{char} *value = va\_arg(args, \textcolor{keywordtype}{char}*);
+188         json\_object\_object\_add(j\_obj, key, json\_object\_new\_string(value));
+189         ++i;
+190     \}
+191     va\_end(args);
+192 \}
+\end{DoxyCode}
+\index{hs-\/helper.\+cpp@{hs-\/helper.\+cpp}!hs\+\_\+search\+\_\+event\+\_\+name\+\_\+index@{hs\+\_\+search\+\_\+event\+\_\+name\+\_\+index}}
+\index{hs\+\_\+search\+\_\+event\+\_\+name\+\_\+index@{hs\+\_\+search\+\_\+event\+\_\+name\+\_\+index}!hs-\/helper.\+cpp@{hs-\/helper.\+cpp}}
+\subsubsection[{\texorpdfstring{hs\+\_\+search\+\_\+event\+\_\+name\+\_\+index(const char $\ast$value)}{hs_search_event_name_index(const char *value)}}]{\setlength{\rightskip}{0pt plus 5cm}int hs\+\_\+search\+\_\+event\+\_\+name\+\_\+index (
+\begin{DoxyParamCaption}
+\item[{const char $\ast$}]{value}
+\end{DoxyParamCaption}
+)}\hypertarget{hs-helper_8cpp_a2ff1b894941c3b461ca8119079c4146a}{}\label{hs-helper_8cpp_a2ff1b894941c3b461ca8119079c4146a}
+search event position in event list
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item value \+: searched event name
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+event\textquotesingle{}s index in event list 
+
+Definition at line 234 of file hs-\/helper.\+cpp.
+
+
+\begin{DoxyCode}
+235 \{
+236     \textcolor{keywordtype}{size\_t} buf\_size = 50;
+237     \textcolor{keywordtype}{size\_t} size = \textcolor{keyword}{sizeof} \hyperlink{hs-helper_8cpp_a0cd84b1a2184c9b84d1b7bf24582f28e}{evlist} / \textcolor{keyword}{sizeof} *\hyperlink{hs-helper_8cpp_a0cd84b1a2184c9b84d1b7bf24582f28e}{evlist};
+238     \textcolor{keywordtype}{int} ret = -1;
+239     \textcolor{keywordflow}{for}(\textcolor{keywordtype}{size\_t} i = 0 ; i < size ; ++i)
+240     \{
+241         \textcolor{keywordflow}{if}(!strncmp(value, \hyperlink{hs-helper_8cpp_a0cd84b1a2184c9b84d1b7bf24582f28e}{evlist}[i], buf\_size))
+242         \{
+243             ret = i;
+244             \textcolor{keywordflow}{break};
+245         \}
+246     \}
+247     \textcolor{keywordflow}{return} ret;
+248 \}
+\end{DoxyCode}
+
+
+\subsection{Variable Documentation}
+\index{hs-\/helper.\+cpp@{hs-\/helper.\+cpp}!evlist@{evlist}}
+\index{evlist@{evlist}!hs-\/helper.\+cpp@{hs-\/helper.\+cpp}}
+\subsubsection[{\texorpdfstring{evlist}{evlist}}]{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ evlist\mbox{[}$\,$\mbox{]}}\hypertarget{hs-helper_8cpp_a0cd84b1a2184c9b84d1b7bf24582f28e}{}\label{hs-helper_8cpp_a0cd84b1a2184c9b84d1b7bf24582f28e}
+{\bfseries Initial value\+:}
+\begin{DoxyCode}
+= \{
+    \textcolor{stringliteral}{"tap\_shortcut"},
+    \textcolor{stringliteral}{"on\_screen\_message"},
+    \textcolor{stringliteral}{"on\_screen\_reply"},
+    \textcolor{stringliteral}{"showWindow"},
+    \textcolor{stringliteral}{"hideWindow"},
+    \textcolor{stringliteral}{"replyShowWindow"},
+    \textcolor{stringliteral}{"showNotification"},
+    \textcolor{stringliteral}{"showInformation"},
+    \textcolor{stringliteral}{"reserved"}
+  \}
+\end{DoxyCode}
+
+
+Definition at line 22 of file hs-\/helper.\+cpp.
+
diff --git a/doc/api-ref/latex/df/d76/hmi-debug_8h.tex b/doc/api-ref/latex/df/d76/hmi-debug_8h.tex
deleted file mode 100644 (file)
index 4f5a64c..0000000
+++ /dev/null
@@ -1,202 +0,0 @@
-\hypertarget{hmi-debug_8h}{}\section{include/hmi-\/debug.h File Reference}
-\label{hmi-debug_8h}\index{include/hmi-\/debug.\+h@{include/hmi-\/debug.\+h}}
-{\ttfamily \#include $<$time.\+h$>$}\newline
-{\ttfamily \#include $<$stdio.\+h$>$}\newline
-{\ttfamily \#include $<$afb/afb-\/binding.\+h$>$}\newline
-\subsection*{Macros}
-\begin{DoxyCompactItemize}
-\item 
-\#define \hyperlink{hmi-debug_8h_a65bb6c7cfe38f8a724beab5059d36fb2}{H\+M\+I\+\_\+\+E\+R\+R\+OR}(prefix,  args, ...)~\hyperlink{hmi-debug_8h_a0846b9d51e2e0612c4825a9a581aa40a}{\+\_\+\+H\+M\+I\+\_\+\+L\+OG}(\hyperlink{hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+E\+R\+R\+OR}, \+\_\+\+\_\+\+F\+I\+L\+E\+\_\+\+\_\+, \+\_\+\+\_\+\+F\+U\+N\+C\+T\+I\+O\+N\+\_\+\+\_\+, \+\_\+\+\_\+\+L\+I\+N\+E\+\_\+\+\_\+, prefix, args, \#\#\+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+)
-\item 
-\#define \hyperlink{hmi-debug_8h_a25361812432cd2480bc8f1a8e56ecbf7}{H\+M\+I\+\_\+\+W\+A\+R\+N\+I\+NG}(prefix,  args, ...)~\hyperlink{hmi-debug_8h_a0846b9d51e2e0612c4825a9a581aa40a}{\+\_\+\+H\+M\+I\+\_\+\+L\+OG}(\hyperlink{hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+W\+A\+R\+N\+I\+NG}, \+\_\+\+\_\+\+F\+I\+L\+E\+\_\+\+\_\+, \+\_\+\+\_\+\+F\+U\+N\+C\+T\+I\+O\+N\+\_\+\+\_\+,\+\_\+\+\_\+\+L\+I\+N\+E\+\_\+\+\_\+, prefix, args,\#\#\+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+)
-\item 
-\#define \hyperlink{hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{H\+M\+I\+\_\+\+N\+O\+T\+I\+CE}(prefix,  args, ...)~\hyperlink{hmi-debug_8h_a0846b9d51e2e0612c4825a9a581aa40a}{\+\_\+\+H\+M\+I\+\_\+\+L\+OG}(\hyperlink{hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+T\+I\+CE}, \+\_\+\+\_\+\+F\+I\+L\+E\+\_\+\+\_\+, \+\_\+\+\_\+\+F\+U\+N\+C\+T\+I\+O\+N\+\_\+\+\_\+,\+\_\+\+\_\+\+L\+I\+N\+E\+\_\+\+\_\+, prefix, args,\#\#\+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+)
-\item 
-\#define \hyperlink{hmi-debug_8h_a11b249a67108f0f4c50a0fc8a3eb4f5c}{H\+M\+I\+\_\+\+I\+N\+FO}(prefix,  args, ...)~\hyperlink{hmi-debug_8h_a0846b9d51e2e0612c4825a9a581aa40a}{\+\_\+\+H\+M\+I\+\_\+\+L\+OG}(\hyperlink{hmi-debug_8h_aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+I\+N\+FO}, \+\_\+\+\_\+\+F\+I\+L\+E\+\_\+\+\_\+, \+\_\+\+\_\+\+F\+U\+N\+C\+T\+I\+O\+N\+\_\+\+\_\+,\+\_\+\+\_\+\+L\+I\+N\+E\+\_\+\+\_\+, prefix, args,\#\#\+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+)
-\item 
-\#define \hyperlink{hmi-debug_8h_a0d26d8b8201011dade787236519711c0}{H\+M\+I\+\_\+\+D\+E\+B\+UG}(prefix,  args, ...)~\hyperlink{hmi-debug_8h_a0846b9d51e2e0612c4825a9a581aa40a}{\+\_\+\+H\+M\+I\+\_\+\+L\+OG}(\hyperlink{hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+D\+E\+B\+UG}, \+\_\+\+\_\+\+F\+I\+L\+E\+\_\+\+\_\+, \+\_\+\+\_\+\+F\+U\+N\+C\+T\+I\+O\+N\+\_\+\+\_\+,\+\_\+\+\_\+\+L\+I\+N\+E\+\_\+\+\_\+, prefix, args,\#\#\+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+)
-\end{DoxyCompactItemize}
-\subsection*{Enumerations}
-\begin{DoxyCompactItemize}
-\item 
-enum \hyperlink{hmi-debug_8h_aa5a9053636a30269210c54e734e0d583}{L\+O\+G\+\_\+\+L\+E\+V\+EL} \{ \newline
-\hyperlink{hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+NE} = 0, 
-\hyperlink{hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+E\+R\+R\+OR}, 
-\hyperlink{hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+W\+A\+R\+N\+I\+NG}, 
-\hyperlink{hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+T\+I\+CE}, 
-\newline
-\hyperlink{hmi-debug_8h_aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+I\+N\+FO}, 
-\hyperlink{hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+D\+E\+B\+UG}, 
-\hyperlink{hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+M\+AX} = L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+E\+R\+R\+OR
- \}
-\end{DoxyCompactItemize}
-\subsection*{Functions}
-\begin{DoxyCompactItemize}
-\item 
-static void \hyperlink{hmi-debug_8h_a0846b9d51e2e0612c4825a9a581aa40a}{\+\_\+\+H\+M\+I\+\_\+\+L\+OG} (enum \hyperlink{hmi-debug_8h_aa5a9053636a30269210c54e734e0d583}{L\+O\+G\+\_\+\+L\+E\+V\+EL} level, const char $\ast$file, const char $\ast$func, const int line, const char $\ast$prefix, const char $\ast$log,...)
-\end{DoxyCompactItemize}
-\subsection*{Variables}
-\begin{DoxyCompactItemize}
-\item 
-static char \hyperlink{hmi-debug_8h_a13d4c7647aad2e84766f8b48a6caab09}{E\+R\+R\+O\+R\+\_\+\+F\+L\+AG} \mbox{[}6\mbox{]}\mbox{[}20\mbox{]} = \{\char`\"{}N\+O\+NE\char`\"{}, \char`\"{}E\+R\+R\+OR\char`\"{}, \char`\"{}W\+A\+R\+N\+I\+NG\char`\"{}, \char`\"{}N\+O\+T\+I\+CE\char`\"{}, \char`\"{}I\+N\+FO\char`\"{}, \char`\"{}D\+E\+B\+UG\char`\"{}\}
-\end{DoxyCompactItemize}
-
-
-\subsection{Macro Definition Documentation}
-\mbox{\Hypertarget{hmi-debug_8h_a0d26d8b8201011dade787236519711c0}\label{hmi-debug_8h_a0d26d8b8201011dade787236519711c0}} 
-\index{hmi-\/debug.\+h@{hmi-\/debug.\+h}!H\+M\+I\+\_\+\+D\+E\+B\+UG@{H\+M\+I\+\_\+\+D\+E\+B\+UG}}
-\index{H\+M\+I\+\_\+\+D\+E\+B\+UG@{H\+M\+I\+\_\+\+D\+E\+B\+UG}!hmi-\/debug.\+h@{hmi-\/debug.\+h}}
-\subsubsection{\texorpdfstring{H\+M\+I\+\_\+\+D\+E\+B\+UG}{HMI\_DEBUG}}
-{\footnotesize\ttfamily \#define H\+M\+I\+\_\+\+D\+E\+B\+UG(\begin{DoxyParamCaption}\item[{}]{prefix,  }\item[{}]{args,  }\item[{}]{... }\end{DoxyParamCaption})~\hyperlink{hmi-debug_8h_a0846b9d51e2e0612c4825a9a581aa40a}{\+\_\+\+H\+M\+I\+\_\+\+L\+OG}(\hyperlink{hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+D\+E\+B\+UG}, \+\_\+\+\_\+\+F\+I\+L\+E\+\_\+\+\_\+, \+\_\+\+\_\+\+F\+U\+N\+C\+T\+I\+O\+N\+\_\+\+\_\+,\+\_\+\+\_\+\+L\+I\+N\+E\+\_\+\+\_\+, prefix, args,\#\#\+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+)}
-
-
-
-Definition at line 22 of file hmi-\/debug.\+h.
-
-\mbox{\Hypertarget{hmi-debug_8h_a65bb6c7cfe38f8a724beab5059d36fb2}\label{hmi-debug_8h_a65bb6c7cfe38f8a724beab5059d36fb2}} 
-\index{hmi-\/debug.\+h@{hmi-\/debug.\+h}!H\+M\+I\+\_\+\+E\+R\+R\+OR@{H\+M\+I\+\_\+\+E\+R\+R\+OR}}
-\index{H\+M\+I\+\_\+\+E\+R\+R\+OR@{H\+M\+I\+\_\+\+E\+R\+R\+OR}!hmi-\/debug.\+h@{hmi-\/debug.\+h}}
-\subsubsection{\texorpdfstring{H\+M\+I\+\_\+\+E\+R\+R\+OR}{HMI\_ERROR}}
-{\footnotesize\ttfamily \#define H\+M\+I\+\_\+\+E\+R\+R\+OR(\begin{DoxyParamCaption}\item[{}]{prefix,  }\item[{}]{args,  }\item[{}]{... }\end{DoxyParamCaption})~\hyperlink{hmi-debug_8h_a0846b9d51e2e0612c4825a9a581aa40a}{\+\_\+\+H\+M\+I\+\_\+\+L\+OG}(\hyperlink{hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+E\+R\+R\+OR}, \+\_\+\+\_\+\+F\+I\+L\+E\+\_\+\+\_\+, \+\_\+\+\_\+\+F\+U\+N\+C\+T\+I\+O\+N\+\_\+\+\_\+, \+\_\+\+\_\+\+L\+I\+N\+E\+\_\+\+\_\+, prefix, args, \#\#\+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+)}
-
-
-
-Definition at line 18 of file hmi-\/debug.\+h.
-
-\mbox{\Hypertarget{hmi-debug_8h_a11b249a67108f0f4c50a0fc8a3eb4f5c}\label{hmi-debug_8h_a11b249a67108f0f4c50a0fc8a3eb4f5c}} 
-\index{hmi-\/debug.\+h@{hmi-\/debug.\+h}!H\+M\+I\+\_\+\+I\+N\+FO@{H\+M\+I\+\_\+\+I\+N\+FO}}
-\index{H\+M\+I\+\_\+\+I\+N\+FO@{H\+M\+I\+\_\+\+I\+N\+FO}!hmi-\/debug.\+h@{hmi-\/debug.\+h}}
-\subsubsection{\texorpdfstring{H\+M\+I\+\_\+\+I\+N\+FO}{HMI\_INFO}}
-{\footnotesize\ttfamily \#define H\+M\+I\+\_\+\+I\+N\+FO(\begin{DoxyParamCaption}\item[{}]{prefix,  }\item[{}]{args,  }\item[{}]{... }\end{DoxyParamCaption})~\hyperlink{hmi-debug_8h_a0846b9d51e2e0612c4825a9a581aa40a}{\+\_\+\+H\+M\+I\+\_\+\+L\+OG}(\hyperlink{hmi-debug_8h_aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+I\+N\+FO}, \+\_\+\+\_\+\+F\+I\+L\+E\+\_\+\+\_\+, \+\_\+\+\_\+\+F\+U\+N\+C\+T\+I\+O\+N\+\_\+\+\_\+,\+\_\+\+\_\+\+L\+I\+N\+E\+\_\+\+\_\+, prefix, args,\#\#\+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+)}
-
-
-
-Definition at line 21 of file hmi-\/debug.\+h.
-
-\mbox{\Hypertarget{hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}\label{hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}} 
-\index{hmi-\/debug.\+h@{hmi-\/debug.\+h}!H\+M\+I\+\_\+\+N\+O\+T\+I\+CE@{H\+M\+I\+\_\+\+N\+O\+T\+I\+CE}}
-\index{H\+M\+I\+\_\+\+N\+O\+T\+I\+CE@{H\+M\+I\+\_\+\+N\+O\+T\+I\+CE}!hmi-\/debug.\+h@{hmi-\/debug.\+h}}
-\subsubsection{\texorpdfstring{H\+M\+I\+\_\+\+N\+O\+T\+I\+CE}{HMI\_NOTICE}}
-{\footnotesize\ttfamily \#define H\+M\+I\+\_\+\+N\+O\+T\+I\+CE(\begin{DoxyParamCaption}\item[{}]{prefix,  }\item[{}]{args,  }\item[{}]{... }\end{DoxyParamCaption})~\hyperlink{hmi-debug_8h_a0846b9d51e2e0612c4825a9a581aa40a}{\+\_\+\+H\+M\+I\+\_\+\+L\+OG}(\hyperlink{hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+T\+I\+CE}, \+\_\+\+\_\+\+F\+I\+L\+E\+\_\+\+\_\+, \+\_\+\+\_\+\+F\+U\+N\+C\+T\+I\+O\+N\+\_\+\+\_\+,\+\_\+\+\_\+\+L\+I\+N\+E\+\_\+\+\_\+, prefix, args,\#\#\+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+)}
-
-
-
-Definition at line 20 of file hmi-\/debug.\+h.
-
-\mbox{\Hypertarget{hmi-debug_8h_a25361812432cd2480bc8f1a8e56ecbf7}\label{hmi-debug_8h_a25361812432cd2480bc8f1a8e56ecbf7}} 
-\index{hmi-\/debug.\+h@{hmi-\/debug.\+h}!H\+M\+I\+\_\+\+W\+A\+R\+N\+I\+NG@{H\+M\+I\+\_\+\+W\+A\+R\+N\+I\+NG}}
-\index{H\+M\+I\+\_\+\+W\+A\+R\+N\+I\+NG@{H\+M\+I\+\_\+\+W\+A\+R\+N\+I\+NG}!hmi-\/debug.\+h@{hmi-\/debug.\+h}}
-\subsubsection{\texorpdfstring{H\+M\+I\+\_\+\+W\+A\+R\+N\+I\+NG}{HMI\_WARNING}}
-{\footnotesize\ttfamily \#define H\+M\+I\+\_\+\+W\+A\+R\+N\+I\+NG(\begin{DoxyParamCaption}\item[{}]{prefix,  }\item[{}]{args,  }\item[{}]{... }\end{DoxyParamCaption})~\hyperlink{hmi-debug_8h_a0846b9d51e2e0612c4825a9a581aa40a}{\+\_\+\+H\+M\+I\+\_\+\+L\+OG}(\hyperlink{hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+W\+A\+R\+N\+I\+NG}, \+\_\+\+\_\+\+F\+I\+L\+E\+\_\+\+\_\+, \+\_\+\+\_\+\+F\+U\+N\+C\+T\+I\+O\+N\+\_\+\+\_\+,\+\_\+\+\_\+\+L\+I\+N\+E\+\_\+\+\_\+, prefix, args,\#\#\+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+)}
-
-
-
-Definition at line 19 of file hmi-\/debug.\+h.
-
-
-
-\subsection{Enumeration Type Documentation}
-\mbox{\Hypertarget{hmi-debug_8h_aa5a9053636a30269210c54e734e0d583}\label{hmi-debug_8h_aa5a9053636a30269210c54e734e0d583}} 
-\index{hmi-\/debug.\+h@{hmi-\/debug.\+h}!L\+O\+G\+\_\+\+L\+E\+V\+EL@{L\+O\+G\+\_\+\+L\+E\+V\+EL}}
-\index{L\+O\+G\+\_\+\+L\+E\+V\+EL@{L\+O\+G\+\_\+\+L\+E\+V\+EL}!hmi-\/debug.\+h@{hmi-\/debug.\+h}}
-\subsubsection{\texorpdfstring{L\+O\+G\+\_\+\+L\+E\+V\+EL}{LOG\_LEVEL}}
-{\footnotesize\ttfamily enum \hyperlink{hmi-debug_8h_aa5a9053636a30269210c54e734e0d583}{L\+O\+G\+\_\+\+L\+E\+V\+EL}}
-
-\begin{DoxyEnumFields}{Enumerator}
-\raisebox{\heightof{T}}[0pt][0pt]{\index{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+NE@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+NE}!hmi-\/debug.\+h@{hmi-\/debug.\+h}}\index{hmi-\/debug.\+h@{hmi-\/debug.\+h}!L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+NE@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+NE}}}\mbox{\Hypertarget{hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848}\label{hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848}} 
-L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+NE&\\
-\hline
-
-\raisebox{\heightof{T}}[0pt][0pt]{\index{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+E\+R\+R\+OR@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+E\+R\+R\+OR}!hmi-\/debug.\+h@{hmi-\/debug.\+h}}\index{hmi-\/debug.\+h@{hmi-\/debug.\+h}!L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+E\+R\+R\+OR@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+E\+R\+R\+OR}}}\mbox{\Hypertarget{hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f}\label{hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f}} 
-L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+E\+R\+R\+OR&\\
-\hline
-
-\raisebox{\heightof{T}}[0pt][0pt]{\index{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+W\+A\+R\+N\+I\+NG@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+W\+A\+R\+N\+I\+NG}!hmi-\/debug.\+h@{hmi-\/debug.\+h}}\index{hmi-\/debug.\+h@{hmi-\/debug.\+h}!L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+W\+A\+R\+N\+I\+NG@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+W\+A\+R\+N\+I\+NG}}}\mbox{\Hypertarget{hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef}\label{hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef}} 
-L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+W\+A\+R\+N\+I\+NG&\\
-\hline
-
-\raisebox{\heightof{T}}[0pt][0pt]{\index{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+T\+I\+CE@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+T\+I\+CE}!hmi-\/debug.\+h@{hmi-\/debug.\+h}}\index{hmi-\/debug.\+h@{hmi-\/debug.\+h}!L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+T\+I\+CE@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+T\+I\+CE}}}\mbox{\Hypertarget{hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e}\label{hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e}} 
-L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+T\+I\+CE&\\
-\hline
-
-\raisebox{\heightof{T}}[0pt][0pt]{\index{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+I\+N\+FO@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+I\+N\+FO}!hmi-\/debug.\+h@{hmi-\/debug.\+h}}\index{hmi-\/debug.\+h@{hmi-\/debug.\+h}!L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+I\+N\+FO@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+I\+N\+FO}}}\mbox{\Hypertarget{hmi-debug_8h_aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4}\label{hmi-debug_8h_aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4}} 
-L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+I\+N\+FO&\\
-\hline
-
-\raisebox{\heightof{T}}[0pt][0pt]{\index{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+D\+E\+B\+UG@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+D\+E\+B\+UG}!hmi-\/debug.\+h@{hmi-\/debug.\+h}}\index{hmi-\/debug.\+h@{hmi-\/debug.\+h}!L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+D\+E\+B\+UG@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+D\+E\+B\+UG}}}\mbox{\Hypertarget{hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177}\label{hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177}} 
-L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+D\+E\+B\+UG&\\
-\hline
-
-\raisebox{\heightof{T}}[0pt][0pt]{\index{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+M\+AX@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+M\+AX}!hmi-\/debug.\+h@{hmi-\/debug.\+h}}\index{hmi-\/debug.\+h@{hmi-\/debug.\+h}!L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+M\+AX@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+M\+AX}}}\mbox{\Hypertarget{hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444}\label{hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444}} 
-L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+M\+AX&\\
-\hline
-
-\end{DoxyEnumFields}
-
-
-Definition at line 8 of file hmi-\/debug.\+h.
-
-
-\begin{DoxyCode}
-8               \{
-9     \hyperlink{hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848}{LOG\_LEVEL\_NONE} = 0,
-10     \hyperlink{hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f}{LOG\_LEVEL\_ERROR},
-11     \hyperlink{hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef}{LOG\_LEVEL\_WARNING},
-12     \hyperlink{hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e}{LOG\_LEVEL\_NOTICE},
-13     \hyperlink{hmi-debug_8h_aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4}{LOG\_LEVEL\_INFO},
-14     \hyperlink{hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177}{LOG\_LEVEL\_DEBUG},
-15     \hyperlink{hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444}{LOG\_LEVEL\_MAX} = \hyperlink{hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f}{LOG\_LEVEL\_ERROR}
-16 \};
-\end{DoxyCode}
-
-
-\subsection{Function Documentation}
-\mbox{\Hypertarget{hmi-debug_8h_a0846b9d51e2e0612c4825a9a581aa40a}\label{hmi-debug_8h_a0846b9d51e2e0612c4825a9a581aa40a}} 
-\index{hmi-\/debug.\+h@{hmi-\/debug.\+h}!\+\_\+\+H\+M\+I\+\_\+\+L\+OG@{\+\_\+\+H\+M\+I\+\_\+\+L\+OG}}
-\index{\+\_\+\+H\+M\+I\+\_\+\+L\+OG@{\+\_\+\+H\+M\+I\+\_\+\+L\+OG}!hmi-\/debug.\+h@{hmi-\/debug.\+h}}
-\subsubsection{\texorpdfstring{\+\_\+\+H\+M\+I\+\_\+\+L\+O\+G()}{\_HMI\_LOG()}}
-{\footnotesize\ttfamily static void \+\_\+\+H\+M\+I\+\_\+\+L\+OG (\begin{DoxyParamCaption}\item[{enum \hyperlink{hmi-debug_8h_aa5a9053636a30269210c54e734e0d583}{L\+O\+G\+\_\+\+L\+E\+V\+EL}}]{level,  }\item[{const char $\ast$}]{file,  }\item[{const char $\ast$}]{func,  }\item[{const int}]{line,  }\item[{const char $\ast$}]{prefix,  }\item[{const char $\ast$}]{log,  }\item[{}]{... }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}
-
-
-
-Definition at line 26 of file hmi-\/debug.\+h.
-
-
-\begin{DoxyCode}
-27 \{
-28     \textcolor{keyword}{const} \textcolor{keywordtype}{int} log\_level = (getenv(\textcolor{stringliteral}{"USE\_HMI\_DEBUG"}) == NULL)?0:atoi(getenv(\textcolor{stringliteral}{"USE\_HMI\_DEBUG"}));
-29     \textcolor{keywordflow}{if}(log\_level < level)
-30     \{
-31         \textcolor{keywordflow}{return};
-32     \}
-33 
-34     \textcolor{keywordtype}{char} *message;
-35     \textcolor{keyword}{struct }timespec tp;
-36     \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} time;
-37 
-38     clock\_gettime(CLOCK\_REALTIME, &tp);
-39     time = (tp.tv\_sec * 1000000L) + (tp.tv\_nsec / 1000);
-40 
-41     va\_list args;
-42     va\_start(args, log);
-43     \textcolor{keywordflow}{if} (log == NULL || vasprintf(&message, log, args) < 0)
-44         message = NULL;
-45     fprintf(stderr,  \textcolor{stringliteral}{"[%10.3f] [%s %s] [%s:%d] >>> %s \(\backslash\)n"}, time / 1000.0, prefix, 
-      \hyperlink{hmi-debug_8h_a13d4c7647aad2e84766f8b48a6caab09}{ERROR\_FLAG}[level], func, line, message);
-46     va\_end(args);
-47     free(message);
-48 \}
-\end{DoxyCode}
-
-
-\subsection{Variable Documentation}
-\mbox{\Hypertarget{hmi-debug_8h_a13d4c7647aad2e84766f8b48a6caab09}\label{hmi-debug_8h_a13d4c7647aad2e84766f8b48a6caab09}} 
-\index{hmi-\/debug.\+h@{hmi-\/debug.\+h}!E\+R\+R\+O\+R\+\_\+\+F\+L\+AG@{E\+R\+R\+O\+R\+\_\+\+F\+L\+AG}}
-\index{E\+R\+R\+O\+R\+\_\+\+F\+L\+AG@{E\+R\+R\+O\+R\+\_\+\+F\+L\+AG}!hmi-\/debug.\+h@{hmi-\/debug.\+h}}
-\subsubsection{\texorpdfstring{E\+R\+R\+O\+R\+\_\+\+F\+L\+AG}{ERROR\_FLAG}}
-{\footnotesize\ttfamily char E\+R\+R\+O\+R\+\_\+\+F\+L\+AG\mbox{[}6\mbox{]}\mbox{[}20\mbox{]} = \{\char`\"{}N\+O\+NE\char`\"{}, \char`\"{}E\+R\+R\+OR\char`\"{}, \char`\"{}W\+A\+R\+N\+I\+NG\char`\"{}, \char`\"{}N\+O\+T\+I\+CE\char`\"{}, \char`\"{}I\+N\+FO\char`\"{}, \char`\"{}D\+E\+B\+UG\char`\"{}\}\hspace{0.3cm}{\ttfamily [static]}}
-
-
-
-Definition at line 24 of file hmi-\/debug.\+h.
-
diff --git a/doc/api-ref/latex/df/d7d/structevent.tex b/doc/api-ref/latex/df/d7d/structevent.tex
deleted file mode 100644 (file)
index d33a2da..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-\hypertarget{structevent}{}\section{event Struct Reference}
-\label{structevent}\index{event@{event}}
-\subsection*{Public Attributes}
-\begin{DoxyCompactItemize}
-\item 
-const char $\ast$ \hyperlink{structevent_a45c6cfb7961a21a3366db067e4cc59ab}{name}
-\item 
-struct afb\+\_\+event $\ast$ \hyperlink{structevent_a58726ebc551d36562ac3f9e1fe293214}{event}
-\end{DoxyCompactItemize}
-
-
-\subsection{Detailed Description}
-
-
-Definition at line 35 of file homescreen.\+c.
-
-
-
-\subsection{Member Data Documentation}
-\mbox{\Hypertarget{structevent_a58726ebc551d36562ac3f9e1fe293214}\label{structevent_a58726ebc551d36562ac3f9e1fe293214}} 
-\index{event@{event}!event@{event}}
-\index{event@{event}!event@{event}}
-\subsubsection{\texorpdfstring{event}{event}}
-{\footnotesize\ttfamily struct afb\+\_\+event$\ast$ event\+::event}
-
-
-
-Definition at line 37 of file homescreen.\+c.
-
-\mbox{\Hypertarget{structevent_a45c6cfb7961a21a3366db067e4cc59ab}\label{structevent_a45c6cfb7961a21a3366db067e4cc59ab}} 
-\index{event@{event}!name@{name}}
-\index{name@{name}!event@{event}}
-\subsubsection{\texorpdfstring{name}{name}}
-{\footnotesize\ttfamily const char$\ast$ event\+::name}
-
-
-
-Definition at line 36 of file homescreen.\+c.
-
-
-
-The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
-\item 
-src/\hyperlink{homescreen_8c}{homescreen.\+c}\end{DoxyCompactItemize}
diff --git a/doc/api-ref/latex/df/dac/test_8cpp.tex b/doc/api-ref/latex/df/dac/test_8cpp.tex
deleted file mode 100644 (file)
index 92ef1df..0000000
+++ /dev/null
@@ -1,275 +0,0 @@
-\hypertarget{test_8cpp}{}\section{libhomescreen/test.cpp File Reference}
-\label{test_8cpp}\index{libhomescreen/test.\+cpp@{libhomescreen/test.\+cpp}}
-{\ttfamily \#include $<$libhomescreen.\+hpp$>$}\newline
-{\ttfamily \#include $<$iostream$>$}\newline
-{\ttfamily \#include $<$glib-\/2.\+0/glib.\+h$>$}\newline
-{\ttfamily \#include $<$fcntl.\+h$>$}\newline
-{\ttfamily \#include $<$string$>$}\newline
-{\ttfamily \#include $<$sys/types.\+h$>$}\newline
-{\ttfamily \#include $<$sys/stat.\+h$>$}\newline
-{\ttfamily \#include $<$thread$>$}\newline
-{\ttfamily \#include $<$exception$>$}\newline
-{\ttfamily \#include $<$vector$>$}\newline
-{\ttfamily \#include $<$sstream$>$}\newline
-{\ttfamily \#include $<$functional$>$}\newline
-\subsection*{Functions}
-\begin{DoxyCompactItemize}
-\item 
-static vector$<$ string $>$ \hyperlink{test_8cpp_aafb7f182b8bb6ba92354dde1658d86a4}{split} (const string \&str, char sep)
-\item 
-static void \hyperlink{test_8cpp_a64a6014565bb3e03294ec4a952d5add0}{usage} ()
-\item 
-static void \hyperlink{test_8cpp_aa9b3c43c212b49edee82ac30a11aa255}{call\+\_\+test} ()
-\item 
-static void \hyperlink{test_8cpp_a6d3cb4886e7afd45bd56b49800da932d}{on\+Rep} (struct json\+\_\+object $\ast$reply\+\_\+contents)
-\item 
-static void \hyperlink{test_8cpp_a6a2874c419fe5936fcccadc7e6cf268e}{on\+Ev} (const string \&\hyperlink{structevent}{event}, struct json\+\_\+object $\ast$event\+\_\+contents)
-\item 
-int \hyperlink{test_8cpp_a3c04138a5bfe5d72780bb7e82a18e627}{main} (int argc, char $\ast$$\ast$argv)
-\end{DoxyCompactItemize}
-\subsection*{Variables}
-\begin{DoxyCompactItemize}
-\item 
-\hyperlink{class_lib_home_screen}{Lib\+Home\+Screen} $\ast$ \hyperlink{test_8cpp_a529acbd1fed9d98a587edfa62309fa8d}{hs}
-\end{DoxyCompactItemize}
-
-
-\subsection{Function Documentation}
-\mbox{\Hypertarget{test_8cpp_aa9b3c43c212b49edee82ac30a11aa255}\label{test_8cpp_aa9b3c43c212b49edee82ac30a11aa255}} 
-\index{test.\+cpp@{test.\+cpp}!call\+\_\+test@{call\+\_\+test}}
-\index{call\+\_\+test@{call\+\_\+test}!test.\+cpp@{test.\+cpp}}
-\subsubsection{\texorpdfstring{call\+\_\+test()}{call\_test()}}
-{\footnotesize\ttfamily static void call\+\_\+test (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}
-
-
-
-Definition at line 51 of file test.\+cpp.
-
-
-\begin{DoxyCode}
-52 \{
-53     \textcolor{keywordtype}{string} command;
-54 
-55     cout << \textcolor{stringliteral}{"input verb and argments"} << endl;
-56 
-57     \textcolor{comment}{/* read the buffer */}
-58     \textcolor{keywordflow}{for}(;;)\{
-59         \textcolor{keywordtype}{char} line[1023];
-60         cin.getline(line, \textcolor{keyword}{sizeof}(line));
-61         command = line;
-62         \textcolor{keywordflow}{if}(command.empty())\{
-63             \textcolor{keywordflow}{continue};
-64         \}
-65 
-66         vector<string> v\_command = \hyperlink{test_8cpp_aafb7f182b8bb6ba92354dde1658d86a4}{split}(command, \textcolor{charliteral}{' '});
-67         \textcolor{comment}{/*for(auto itr = v\_command.begin(); itr != v\_command.end(); ++itr)}
-68 \textcolor{comment}{        \{}
-69 \textcolor{comment}{            cout << *itr <<endl;}
-70 \textcolor{comment}{        \}*/}
-71         \textcolor{keywordtype}{size\_t} num = v\_command.size();
-72         \textcolor{keywordflow}{if}(num % 2 == 0)\{
-73             cout << \textcolor{stringliteral}{"If command contains args, please input <key,value> in argument part"} << endl;
-74             \textcolor{keywordflow}{continue};
-75         \}
-76         \textcolor{comment}{/* create json object */}
-77         \textcolor{keyword}{struct }json\_object* j\_obj = json\_object\_new\_object();
-78         \textcolor{keywordflow}{for}(\textcolor{keywordtype}{int} i = 1;i < (v\_command.size()) ;++i)\{
-79             \textcolor{keyword}{struct }json\_object* val     = json\_object\_new\_string(v\_command[i+1].c\_str());
-80             json\_object\_object\_add(j\_obj, v\_command[i].c\_str(), val);
-81             ++i;
-82         \}
-83         \textcolor{comment}{/* call verb via LibHomeScreen */}
-84         \hyperlink{test_8cpp_a529acbd1fed9d98a587edfa62309fa8d}{hs}->\hyperlink{class_lib_home_screen_a527b49dcfe581be6275d0eb2236ba37f}{call}(v\_command[0], j\_obj);
-85         \textcolor{comment}{/* free vector */}
-86         vector<string>().swap(v\_command);
-87         string().swap(command);
-88     \}
-89 \}
-\end{DoxyCode}
-\mbox{\Hypertarget{test_8cpp_a3c04138a5bfe5d72780bb7e82a18e627}\label{test_8cpp_a3c04138a5bfe5d72780bb7e82a18e627}} 
-\index{test.\+cpp@{test.\+cpp}!main@{main}}
-\index{main@{main}!test.\+cpp@{test.\+cpp}}
-\subsubsection{\texorpdfstring{main()}{main()}}
-{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}\item[{int}]{argc,  }\item[{char $\ast$$\ast$}]{argv }\end{DoxyParamCaption})}
-
-
-
-Definition at line 117 of file test.\+cpp.
-
-
-\begin{DoxyCode}
-118 \{
-119     \textcolor{keywordtype}{int} ret;
-120     \textcolor{keywordflow}{if}(argc == 1)
-121     \{
-122         printf(\textcolor{stringliteral}{"Please input port num in first argument, and token in second argument"});
-123         \hyperlink{test_8cpp_a64a6014565bb3e03294ec4a952d5add0}{usage}();
-124         \textcolor{keywordflow}{return} 0;
-125     \}
-126     \textcolor{keywordflow}{if}(argc == 2)
-127     \{
-128         \textcolor{keywordtype}{string} av(argv[1]);
-129         \textcolor{keywordflow}{if}( (av == \textcolor{stringliteral}{"-h"}) || (av == \textcolor{stringliteral}{"--help"}))
-130         \{
-131             \hyperlink{test_8cpp_a64a6014565bb3e03294ec4a952d5add0}{usage}();
-132             \textcolor{keywordflow}{return} 0;
-133         \}
-134     \}
-135 
-136     \textcolor{keywordtype}{string} port\_string(argv[1]);
-137     \textcolor{keywordtype}{string} token(argv[2]);
-138     \textcolor{keywordtype}{char}* endptr;
-139     \textcolor{keywordtype}{long} port = strtol(port\_string.c\_str(),&endptr,10);
-140 
-141     \textcolor{comment}{/* error check of range */}
-142     \textcolor{keywordflow}{if}( (port > 20000) || (port < 0) )
-143     \{
-144         printf(\textcolor{stringliteral}{"input under 20000(temporary number)"});
-145         \textcolor{keywordflow}{return} 0;
-146     \}
-147     \textcolor{keywordflow}{if}(*endptr != \textcolor{charliteral}{'\(\backslash\)0'})
-148     \{
-149         printf(\textcolor{stringliteral}{"not number"});
-150         \textcolor{keywordflow}{return} 0;
-151     \}
-152 
-153   cout << \textcolor{stringliteral}{"Call test for LibHomeScreen"} << endl;
-154     \hyperlink{test_8cpp_a529acbd1fed9d98a587edfa62309fa8d}{hs} = \textcolor{keyword}{new} \hyperlink{class_lib_home_screen}{LibHomeScreen}();
-155   \hyperlink{test_8cpp_a529acbd1fed9d98a587edfa62309fa8d}{hs}->\hyperlink{class_lib_home_screen_a6a57b573cc767725762ba9beab032220}{init}(port, token);
-156 
-157     \textcolor{comment}{// hs->registerCallback(&onEv, &onRep);}
-158   \textcolor{comment}{//}
-159   \textcolor{comment}{// hs->subscribe(event\_list[0]); // tap\_shortcut event subscribe}
-160   \textcolor{comment}{// hs->subscribe(event\_list[1]);}
-161 
-162   \hyperlink{test_8cpp_a529acbd1fed9d98a587edfa62309fa8d}{hs}->\hyperlink{class_lib_home_screen_ab1b0e08bf35415de9064afed899e9f85}{set\_event\_handler}(\hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f}{LibHomeScreen::Event\_TapShortcut}
-      , [](json\_object *\textcolor{keywordtype}{object})\{
-163     \textcolor{keyword}{const} \textcolor{keywordtype}{char} *application\_name = json\_object\_get\_string(
-164         json\_object\_object\_get(\textcolor{keywordtype}{object}, \textcolor{stringliteral}{"application\_name"}));
-165     cout << \textcolor{stringliteral}{"set\_event\_handler Event\_TapShortcut application\_name = "} << application\_name << endl;
-166   \});
-167 
-168   \hyperlink{test_8cpp_a529acbd1fed9d98a587edfa62309fa8d}{hs}->\hyperlink{class_lib_home_screen_ab1b0e08bf35415de9064afed899e9f85}{set\_event\_handler}(\hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d}{LibHomeScreen::Event\_OnScreenMessage}
-      , [](json\_object *\textcolor{keywordtype}{object})\{
-169     \textcolor{keyword}{const} \textcolor{keywordtype}{char} *display\_message = json\_object\_get\_string(
-170         json\_object\_object\_get(\textcolor{keywordtype}{object}, \textcolor{stringliteral}{"display\_message"}));
-171     cout << \textcolor{stringliteral}{"set\_event\_handler Event\_OnScreenMessage display\_message = "} << display\_message << endl;
-172   \});
-173 
-174   \hyperlink{test_8cpp_a529acbd1fed9d98a587edfa62309fa8d}{hs}->\hyperlink{class_lib_home_screen_ab1b0e08bf35415de9064afed899e9f85}{set\_event\_handler}(\hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd}{LibHomeScreen::Event\_OnScreenReply}
-      , [](json\_object *\textcolor{keywordtype}{object})\{
-175     \textcolor{keyword}{const} \textcolor{keywordtype}{char} *reply\_message = json\_object\_get\_string(
-176         json\_object\_object\_get(\textcolor{keywordtype}{object}, \textcolor{stringliteral}{"reply\_message"}));
-177     cout << \textcolor{stringliteral}{"set\_event\_handler Event\_OnScreenReply reply\_message = "} << reply\_message << endl;
-178   \});
-179 
-180     \textcolor{keywordflow}{if} (ret < 0) \{
-181         printf(\textcolor{stringliteral}{"failed to create event loop"});
-182         \textcolor{keywordflow}{return} -1;
-183     \}
-184 
-185     \hyperlink{test_8cpp_aa9b3c43c212b49edee82ac30a11aa255}{call\_test}();
-186 
-187     \textcolor{keywordflow}{return} 0;
-188 \}
-\end{DoxyCode}
-\mbox{\Hypertarget{test_8cpp_a6a2874c419fe5936fcccadc7e6cf268e}\label{test_8cpp_a6a2874c419fe5936fcccadc7e6cf268e}} 
-\index{test.\+cpp@{test.\+cpp}!on\+Ev@{on\+Ev}}
-\index{on\+Ev@{on\+Ev}!test.\+cpp@{test.\+cpp}}
-\subsubsection{\texorpdfstring{on\+Ev()}{onEv()}}
-{\footnotesize\ttfamily static void on\+Ev (\begin{DoxyParamCaption}\item[{const string \&}]{event,  }\item[{struct json\+\_\+object $\ast$}]{event\+\_\+contents }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}
-
-
-
-Definition at line 98 of file test.\+cpp.
-
-
-\begin{DoxyCode}
-99 \{
-100     \textcolor{keyword}{const} \textcolor{keywordtype}{char}* str = json\_object\_to\_json\_string(event\_contents);
-101     cout << \textcolor{stringliteral}{"test.cpp [CB onEvent]: event:  "} << \textcolor{keyword}{event}.c\_str() << \textcolor{stringliteral}{"  contents: "} << str << endl;
-102     \textcolor{comment}{//json\_object\_put(event\_contents); do not release!!!}
-103 \}
-\end{DoxyCode}
-\mbox{\Hypertarget{test_8cpp_a6d3cb4886e7afd45bd56b49800da932d}\label{test_8cpp_a6d3cb4886e7afd45bd56b49800da932d}} 
-\index{test.\+cpp@{test.\+cpp}!on\+Rep@{on\+Rep}}
-\index{on\+Rep@{on\+Rep}!test.\+cpp@{test.\+cpp}}
-\subsubsection{\texorpdfstring{on\+Rep()}{onRep()}}
-{\footnotesize\ttfamily static void on\+Rep (\begin{DoxyParamCaption}\item[{struct json\+\_\+object $\ast$}]{reply\+\_\+contents }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}
-
-
-
-Definition at line 91 of file test.\+cpp.
-
-
-\begin{DoxyCode}
-92 \{
-93     \textcolor{keyword}{const} \textcolor{keywordtype}{char}* str = json\_object\_to\_json\_string(reply\_contents);
-94     cout << \textcolor{stringliteral}{"test.cpp [CB onRep]: "} << str << endl;
-95     \textcolor{comment}{//json\_object\_put(reply\_contents); do not release!!!}
-96 \}
-\end{DoxyCode}
-\mbox{\Hypertarget{test_8cpp_aafb7f182b8bb6ba92354dde1658d86a4}\label{test_8cpp_aafb7f182b8bb6ba92354dde1658d86a4}} 
-\index{test.\+cpp@{test.\+cpp}!split@{split}}
-\index{split@{split}!test.\+cpp@{test.\+cpp}}
-\subsubsection{\texorpdfstring{split()}{split()}}
-{\footnotesize\ttfamily static vector$<$ string $>$ split (\begin{DoxyParamCaption}\item[{const string \&}]{str,  }\item[{char}]{sep }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}
-
-
-
-Definition at line 105 of file test.\+cpp.
-
-
-\begin{DoxyCode}
-106 \{
-107     vector<string> v;
-108     stringstream ss(str);
-109     \textcolor{keywordtype}{string} buffer;
-110     \textcolor{keywordflow}{while}( getline(ss, buffer, sep) ) \{
-111         \textcolor{keywordflow}{if}(!buffer.empty())
-112             v.push\_back(buffer);
-113     \}
-114     \textcolor{keywordflow}{return} v;
-115 \}
-\end{DoxyCode}
-\mbox{\Hypertarget{test_8cpp_a64a6014565bb3e03294ec4a952d5add0}\label{test_8cpp_a64a6014565bb3e03294ec4a952d5add0}} 
-\index{test.\+cpp@{test.\+cpp}!usage@{usage}}
-\index{usage@{usage}!test.\+cpp@{test.\+cpp}}
-\subsubsection{\texorpdfstring{usage()}{usage()}}
-{\footnotesize\ttfamily static void usage (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}
-
-
-
-Definition at line 35 of file test.\+cpp.
-
-
-\begin{DoxyCode}
-36 \{
-37     cout << \textcolor{stringliteral}{"verb "}<< \textcolor{stringliteral}{"key:arg"} << endl;
-38     cout << \textcolor{stringliteral}{"example:"} << endl;
-39     cout << \textcolor{stringliteral}{"ping"} << endl;
-40     cout << \textcolor{stringliteral}{"------- -------- --- "} << endl;
-41     cout << \textcolor{stringliteral}{"  verb    key    value"} << endl;
-42     cout << \textcolor{stringliteral}{"verb list:"} << endl;
-43     \textcolor{keywordflow}{for}(\textcolor{keyword}{auto} itr = \hyperlink{class_lib_home_screen_a5593ff5ac78f6495ccb649904cf0ab08}{LibHomeScreen::api\_list}.begin(); itr != 
-      \hyperlink{class_lib_home_screen_a5593ff5ac78f6495ccb649904cf0ab08}{LibHomeScreen::api\_list}.end(); ++itr)
-44     \{
-45         cout << \textcolor{stringliteral}{"  "} << *itr << endl;
-46     \}
-47     \textcolor{comment}{// Todo output api list}
-48     exit(0);
-49 \}
-\end{DoxyCode}
-
-
-\subsection{Variable Documentation}
-\mbox{\Hypertarget{test_8cpp_a529acbd1fed9d98a587edfa62309fa8d}\label{test_8cpp_a529acbd1fed9d98a587edfa62309fa8d}} 
-\index{test.\+cpp@{test.\+cpp}!hs@{hs}}
-\index{hs@{hs}!test.\+cpp@{test.\+cpp}}
-\subsubsection{\texorpdfstring{hs}{hs}}
-{\footnotesize\ttfamily \hyperlink{class_lib_home_screen}{Lib\+Home\+Screen}$\ast$ hs}
-
-
-
-Definition at line 33 of file test.\+cpp.
-
diff --git a/doc/api-ref/latex/dir_0f70dc74e67ded1ed6ea12b5a24cac83.tex b/doc/api-ref/latex/dir_0f70dc74e67ded1ed6ea12b5a24cac83.tex
deleted file mode 100644 (file)
index ddf11f0..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-\hypertarget{dir_0f70dc74e67ded1ed6ea12b5a24cac83}{}\section{include/libhomescreen Directory Reference}
-\label{dir_0f70dc74e67ded1ed6ea12b5a24cac83}\index{include/libhomescreen Directory Reference@{include/libhomescreen Directory Reference}}
-\subsection*{Files}
-\begin{DoxyCompactItemize}
-\item 
-file \hyperlink{libhomescreen_8hpp}{libhomescreen.\+hpp}
-\end{DoxyCompactItemize}
index ae40678..94c1eca 100644 (file)
@@ -5,5 +5,5 @@
 \item 
 file \hyperlink{libhomescreen_8cpp}{libhomescreen.\+cpp}
 \item 
 \item 
 file \hyperlink{libhomescreen_8cpp}{libhomescreen.\+cpp}
 \item 
-file \hyperlink{test_8cpp}{test.\+cpp}
+file \hyperlink{simple-egl_8cpp}{simple-\/egl.\+cpp}
 \end{DoxyCompactItemize}
 \end{DoxyCompactItemize}
index 4a60c25..d1564f9 100644 (file)
@@ -3,9 +3,19 @@
 \subsection*{Files}
 \begin{DoxyCompactItemize}
 \item 
 \subsection*{Files}
 \begin{DoxyCompactItemize}
 \item 
-file \hyperlink{homescreen_8c}{homescreen.\+c}
+file \hyperlink{src_2hmi-debug_8h}{hmi-\/debug.\+h}
 \item 
 \item 
-file \hyperlink{hs-helper_8c}{hs-\/helper.\+c}
+file \hyperlink{homescreen_8cpp}{homescreen.\+cpp}
+\item 
+file \hyperlink{hs-client_8cpp}{hs-\/client.\+cpp}
+\item 
+file \hyperlink{hs-client_8h}{hs-\/client.\+h}
+\item 
+file \hyperlink{hs-clientmanager_8cpp}{hs-\/clientmanager.\+cpp}
+\item 
+file \hyperlink{hs-clientmanager_8h}{hs-\/clientmanager.\+h}
+\item 
+file \hyperlink{hs-helper_8cpp}{hs-\/helper.\+cpp}
 \item 
 file \hyperlink{hs-helper_8h}{hs-\/helper.\+h}
 \end{DoxyCompactItemize}
 \item 
 file \hyperlink{hs-helper_8h}{hs-\/helper.\+h}
 \end{DoxyCompactItemize}
diff --git a/doc/api-ref/latex/dir_a01af9eb3c502936dfd53c3f8e45721d.tex b/doc/api-ref/latex/dir_a01af9eb3c502936dfd53c3f8e45721d.tex
deleted file mode 100644 (file)
index d46199f..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-\hypertarget{dir_a01af9eb3c502936dfd53c3f8e45721d}{}\section{homescreen\+\_\+service Directory Reference}
-\label{dir_a01af9eb3c502936dfd53c3f8e45721d}\index{homescreen\+\_\+service Directory Reference@{homescreen\+\_\+service Directory Reference}}
-\subsection*{Files}
-\begin{DoxyCompactItemize}
-\item 
-file \hyperlink{homescreen_8c}{homescreen.\+c}
-\item 
-file \hyperlink{hs-helper_8c}{hs-\/helper.\+c}
-\item 
-file \hyperlink{hs-helper_8h}{hs-\/helper.\+h}
-\end{DoxyCompactItemize}
index c00f852..1339cc2 100644 (file)
@@ -3,7 +3,7 @@
 \subsection*{Files}
 \begin{DoxyCompactItemize}
 \item 
 \subsection*{Files}
 \begin{DoxyCompactItemize}
 \item 
-file \hyperlink{hmi-debug_8h}{hmi-\/debug.\+h}
+file \hyperlink{include_2hmi-debug_8h}{hmi-\/debug.\+h}
 \item 
 file \hyperlink{libhomescreen_8hpp}{libhomescreen.\+hpp}
 \end{DoxyCompactItemize}
 \item 
 file \hyperlink{libhomescreen_8hpp}{libhomescreen.\+hpp}
 \end{DoxyCompactItemize}
index e457acc..3f21871 100644 (file)
     \vspace{6pt}%
 }
 
     \vspace{6pt}%
 }
 
-% Used for fields simple class style enums
-\newenvironment{DoxyEnumFields}[1]{%
-    \tabulinesep=1mm%
-    \par%
-    \begin{longtabu} spread 0pt [l]{|X[-1,r]|X[-1,l]|}%
-    \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
-    \hline%
-    \endfirsthead%
-    \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
-    \hline%
-    \endhead%
-}{%
-    \end{longtabu}%
-    \vspace{6pt}%
-}
-
 % Used for parameters within a detailed function description
 \newenvironment{DoxyParamCaption}{%
 % Used for parameters within a detailed function description
 \newenvironment{DoxyParamCaption}{%
-  \renewcommand{\item}[2][]{\\ \hspace*{2.0cm} ##1 {\em ##2}}% 
+  \renewcommand{\item}[2][]{##1 {\em ##2}}%
 }{%
 }
 
 }{%
 }
 
 
 % Color used for table heading
 \newcommand{\tableheadbgcolor}{lightgray}%
 
 % Color used for table heading
 \newcommand{\tableheadbgcolor}{lightgray}%
-
-% Version of hypertarget with correct landing location
-\newcommand{\Hypertarget}[1]{\Hy@raisedlink{\hypertarget{#1}{}}}
-
-% Define caption that is also suitable in a table
-\makeatletter
-\def\doxyfigcaption{%
-\refstepcounter{figure}%
-\@dblarg{\@caption{figure}}}
-\makeatother
index d348dbe..ae88208 100644 (file)
@@ -1,10 +1,15 @@
 \section{File List}
 Here is a list of all files with brief descriptions\+:\begin{DoxyCompactList}
 \section{File List}
 Here is a list of all files with brief descriptions\+:\begin{DoxyCompactList}
-\item\contentsline{section}{include/\hyperlink{hmi-debug_8h}{hmi-\/debug.\+h} }{\pageref{hmi-debug_8h}}{}
-\item\contentsline{section}{include/\hyperlink{libhomescreen_8hpp}{libhomescreen.\+hpp} }{\pageref{libhomescreen_8hpp}}{}
-\item\contentsline{section}{libhomescreen/\hyperlink{libhomescreen_8cpp}{libhomescreen.\+cpp} }{\pageref{libhomescreen_8cpp}}{}
-\item\contentsline{section}{libhomescreen/\hyperlink{test_8cpp}{test.\+cpp} }{\pageref{test_8cpp}}{}
-\item\contentsline{section}{src/\hyperlink{homescreen_8c}{homescreen.\+c} }{\pageref{homescreen_8c}}{}
-\item\contentsline{section}{src/\hyperlink{hs-helper_8c}{hs-\/helper.\+c} }{\pageref{hs-helper_8c}}{}
-\item\contentsline{section}{src/\hyperlink{hs-helper_8h}{hs-\/helper.\+h} }{\pageref{hs-helper_8h}}{}
+\item\contentsline{section}{include/\hyperlink{include_2hmi-debug_8h}{hmi-\/debug.\+h} }{\pageref{d2/d66/include_2hmi-debug_8h}}{}
+\item\contentsline{section}{include/\hyperlink{libhomescreen_8hpp}{libhomescreen.\+hpp} }{\pageref{df/d43/libhomescreen_8hpp}}{}
+\item\contentsline{section}{libhomescreen/\hyperlink{libhomescreen_8cpp}{libhomescreen.\+cpp} }{\pageref{d0/d8a/libhomescreen_8cpp}}{}
+\item\contentsline{section}{libhomescreen/\hyperlink{simple-egl_8cpp}{simple-\/egl.\+cpp} }{\pageref{de/da4/simple-egl_8cpp}}{}
+\item\contentsline{section}{src/\hyperlink{src_2hmi-debug_8h}{hmi-\/debug.\+h} }{\pageref{d6/dff/src_2hmi-debug_8h}}{}
+\item\contentsline{section}{src/\hyperlink{homescreen_8cpp}{homescreen.\+cpp} }{\pageref{d6/dda/homescreen_8cpp}}{}
+\item\contentsline{section}{src/\hyperlink{hs-client_8cpp}{hs-\/client.\+cpp} }{\pageref{d8/d55/hs-client_8cpp}}{}
+\item\contentsline{section}{src/\hyperlink{hs-client_8h}{hs-\/client.\+h} }{\pageref{da/dd3/hs-client_8h}}{}
+\item\contentsline{section}{src/\hyperlink{hs-clientmanager_8cpp}{hs-\/clientmanager.\+cpp} }{\pageref{dd/d30/hs-clientmanager_8cpp}}{}
+\item\contentsline{section}{src/\hyperlink{hs-clientmanager_8h}{hs-\/clientmanager.\+h} }{\pageref{de/dca/hs-clientmanager_8h}}{}
+\item\contentsline{section}{src/\hyperlink{hs-helper_8cpp}{hs-\/helper.\+cpp} }{\pageref{df/d66/hs-helper_8cpp}}{}
+\item\contentsline{section}{src/\hyperlink{hs-helper_8h}{hs-\/helper.\+h} }{\pageref{d3/d3d/hs-helper_8h}}{}
 \end{DoxyCompactList}
 \end{DoxyCompactList}
index 1559bf7..88a02cf 100644 (file)
              bookmarksnumbered=true,
              pdfencoding=unicode
             }
              bookmarksnumbered=true,
              pdfencoding=unicode
             }
-\pagenumbering{alph}
+\pagenumbering{roman}
 \begin{titlepage}
 \vspace*{7cm}
 \begin{center}%
 {\Large Home\+Screen\+Binding }\\
 \vspace*{1cm}
 \begin{titlepage}
 \vspace*{7cm}
 \begin{center}%
 {\Large Home\+Screen\+Binding }\\
 \vspace*{1cm}
-{\large Generated by Doxygen 1.8.13}\\
+{\large Generated by Doxygen 1.8.11}\\
 \end{center}
 \end{titlepage}
 \clearemptydoublepage
 \end{center}
 \end{titlepage}
 \clearemptydoublepage
-\pagenumbering{roman}
 \tableofcontents
 \clearemptydoublepage
 \pagenumbering{arabic}
 \tableofcontents
 \clearemptydoublepage
 \pagenumbering{arabic}
 \chapter{File Index}
 \input{files}
 \chapter{Class Documentation}
 \chapter{File Index}
 \input{files}
 \chapter{Class Documentation}
-\input{df/d7d/structevent}
+\input{d6/df5/structdisplay}
+\input{dd/ddc/structgeometry}
+\input{d5/d20/class_h_s___client}
+\input{d0/d53/struct_h_s___client_ctxt}
+\input{d2/d8e/class_h_s___client_manager}
 \input{de/dd0/class_lib_home_screen}
 \input{de/dd0/class_lib_home_screen}
+\input{d6/de3/structwindow}
 \chapter{File Documentation}
 \chapter{File Documentation}
-\input{df/d76/hmi-debug_8h}
+\input{d2/d66/include_2hmi-debug_8h}
+\input{d6/dff/src_2hmi-debug_8h}
 \input{df/d43/libhomescreen_8hpp}
 \input{d0/d8a/libhomescreen_8cpp}
 \input{df/d43/libhomescreen_8hpp}
 \input{d0/d8a/libhomescreen_8cpp}
-\input{df/dac/test_8cpp}
-\input{d0/d1e/homescreen_8c}
-\input{dd/d1d/hs-helper_8c}
+\input{de/da4/simple-egl_8cpp}
+\input{d6/dda/homescreen_8cpp}
+\input{d8/d55/hs-client_8cpp}
+\input{da/dd3/hs-client_8h}
+\input{dd/d30/hs-clientmanager_8cpp}
+\input{de/dca/hs-clientmanager_8h}
+\input{df/d66/hs-helper_8cpp}
 \input{d3/d3d/hs-helper_8h}
 %--- End generated contents ---
 
 \input{d3/d3d/hs-helper_8h}
 %--- End generated contents ---
 
diff --git a/doc/parts/initialize-registercallback.svg b/doc/parts/initialize-registercallback.svg
deleted file mode 100644 (file)
index cc861db..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="330px" preserveAspectRatio="none" style="width:436px;height:330px;" version="1.1" viewBox="0 0 436 330" width="436px" zoomAndPan="magnify"><defs><filter height="300%" id="f1rrry8f9c71eg" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="412" x="12" y="22.9951">Application initialization phase (ex. registerCallback)</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="58.5" x2="58.5" y1="81.5938" y2="273.5234"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="194.5" x2="194.5" y1="81.5938" y2="273.5234"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="335.5" x2="335.5" y1="81.5938" y2="273.5234"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="27" x="42.5" y="78.292">App</text><ellipse cx="59" cy="49.2969" fill="#FEFECE" filter="url(#f1rrry8f9c71eg)" rx="12" ry="12" style="stroke: #A80036; stroke-width: 2.0;"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="47" x2="71" y1="63.2969" y2="63.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="27" x="42.5" y="285.5186">App</text><ellipse cx="59" cy="304.8203" fill="#FEFECE" filter="url(#f1rrry8f9c71eg)" rx="12" ry="12" style="stroke: #A80036; stroke-width: 2.0;"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="47" x2="71" y1="318.8203" y2="318.8203"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="135" x="124.5" y="78.292">HomeScreenBinder</text><ellipse cx="195" cy="49.2969" fill="#FEFECE" filter="url(#f1rrry8f9c71eg)" rx="12" ry="12" style="stroke: #A80036; stroke-width: 2.0;"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="183" x2="207" y1="63.2969" y2="63.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="135" x="124.5" y="285.5186">HomeScreenBinder</text><ellipse cx="195" cy="304.8203" fill="#FEFECE" filter="url(#f1rrry8f9c71eg)" rx="12" ry="12" style="stroke: #A80036; stroke-width: 2.0;"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="183" x2="207" y1="318.8203" y2="318.8203"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="114" x="275.5" y="78.292">HomeScreenGUI</text><ellipse cx="335.5" cy="49.2969" fill="#FEFECE" filter="url(#f1rrry8f9c71eg)" rx="12" ry="12" style="stroke: #A80036; stroke-width: 2.0;"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="323.5" x2="347.5" y1="63.2969" y2="63.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="114" x="275.5" y="285.5186">HomeScreenGUI</text><ellipse cx="335.5" cy="304.8203" fill="#FEFECE" filter="url(#f1rrry8f9c71eg)" rx="12" ry="12" style="stroke: #A80036; stroke-width: 2.0;"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="323.5" x2="347.5" y1="318.8203" y2="318.8203"/><polygon fill="#A80036" points="183,108.5938,193,112.5938,183,116.5938,187,112.5938" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="59" x2="189" y1="112.5938" y2="112.5938"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="99" x="66" y="107.6606">init(port, token)</text><polygon fill="#A80036" points="183,137.7266,193,141.7266,183,145.7266,187,141.7266" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="59" x2="189" y1="141.7266" y2="141.7266"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="71" x="66" y="136.7935">subscribe()</text><polygon fill="#FBFB77" filter="url(#f1rrry8f9c71eg)" points="40.5,154.8594,40.5,224.8594,345.5,224.8594,345.5,164.8594,335.5,154.8594,40.5,154.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="335.5" x2="335.5" y1="154.8594" y2="164.8594"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="345.5" x2="335.5" y1="164.8594" y2="164.8594"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="284" x="46.5" y="171.9263">Register the event the App wishes to receive</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="46.5" y="187.0591">・tap_shortcut</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="145" x="46.5" y="202.1919">・on_screen_message</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="117" x="46.5" y="217.3247">・on_screen_reply</text><polygon fill="#A80036" points="183,251.3906,193,255.3906,183,259.3906,187,255.3906" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="59" x2="189" y1="255.3906" y2="255.3906"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="112" x="66" y="250.4575">registerCallback()</text><!--
-@startuml\r
-title Application initialization phase (ex. registerCallback)\r
-entity App\r
-entity HomeScreenBinder\r
-entity HomeScreenGUI\r
-App->HomeScreenBinder: init(port, token)\r
-App->HomeScreenBinder: subscribe()\r
-\r
-note over HomeScreenBinder\r
-    Register the event the App wishes to receive\r
-    ・tap_shortcut\r
-    ・on_screen_message\r
-    ・on_screen_reply\r
-end note\r
-\r
-App->HomeScreenBinder: registerCallback()\r
-@enduml\r
-
-PlantUML version 1.2017.18(Fri Oct 06 16:56:32 UTC 2017)
-(GPL source distribution)
-Java Runtime: Java(TM) SE Runtime Environment
-JVM: Java HotSpot(TM) 64-Bit Server VM
-Java Version: 1.7.0_25-b15
-Operating System: Linux
-Default Encoding: UTF-8
-Language: en
-Country: US
---></g></svg>
\ No newline at end of file
index 176ec1f..bd7fcfc 100644 (file)
@@ -1,27 +1,32 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="301px" preserveAspectRatio="none" style="width:452px;height:301px;" version="1.1" viewBox="0 0 452 301" width="452px" zoomAndPan="magnify"><defs><filter height="300%" id="fo5flcejoga9p" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="428" x="12" y="22.9951">Application initialization phase (ex. set_event_handler)</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="57.5" x2="57.5" y1="81.5938" y2="244.3906"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="209.5" x2="209.5" y1="81.5938" y2="244.3906"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="350.5" x2="350.5" y1="81.5938" y2="244.3906"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="27" x="41.5" y="78.292">App</text><ellipse cx="58" cy="49.2969" fill="#FEFECE" filter="url(#fo5flcejoga9p)" rx="12" ry="12" style="stroke: #A80036; stroke-width: 2.0;"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="46" x2="70" y1="63.2969" y2="63.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="27" x="41.5" y="256.3857">App</text><ellipse cx="58" cy="275.6875" fill="#FEFECE" filter="url(#fo5flcejoga9p)" rx="12" ry="12" style="stroke: #A80036; stroke-width: 2.0;"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="46" x2="70" y1="289.6875" y2="289.6875"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="135" x="139.5" y="78.292">HomeScreenBinder</text><ellipse cx="210" cy="49.2969" fill="#FEFECE" filter="url(#fo5flcejoga9p)" rx="12" ry="12" style="stroke: #A80036; stroke-width: 2.0;"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="198" x2="222" y1="63.2969" y2="63.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="135" x="139.5" y="256.3857">HomeScreenBinder</text><ellipse cx="210" cy="275.6875" fill="#FEFECE" filter="url(#fo5flcejoga9p)" rx="12" ry="12" style="stroke: #A80036; stroke-width: 2.0;"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="198" x2="222" y1="289.6875" y2="289.6875"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="114" x="290.5" y="78.292">HomeScreenGUI</text><ellipse cx="350.5" cy="49.2969" fill="#FEFECE" filter="url(#fo5flcejoga9p)" rx="12" ry="12" style="stroke: #A80036; stroke-width: 2.0;"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="338.5" x2="362.5" y1="63.2969" y2="63.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="114" x="290.5" y="256.3857">HomeScreenGUI</text><ellipse cx="350.5" cy="275.6875" fill="#FEFECE" filter="url(#fo5flcejoga9p)" rx="12" ry="12" style="stroke: #A80036; stroke-width: 2.0;"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="338.5" x2="362.5" y1="289.6875" y2="289.6875"/><polygon fill="#A80036" points="198,108.5938,208,112.5938,198,116.5938,202,112.5938" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="58" x2="204" y1="112.5938" y2="112.5938"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="99" x="65" y="107.6606">init(port, token)</text><polygon fill="#A80036" points="198,137.7266,208,141.7266,198,145.7266,202,141.7266" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="58" x2="204" y1="141.7266" y2="141.7266"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="65" y="136.7935">set_event_handler()</text><polygon fill="#FBFB77" filter="url(#fo5flcejoga9p)" points="49.5,154.8594,49.5,224.8594,365.5,224.8594,365.5,164.8594,355.5,154.8594,49.5,154.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="355.5" x2="355.5" y1="154.8594" y2="164.8594"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="365.5" x2="355.5" y1="164.8594" y2="164.8594"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="295" x="55.5" y="171.9263">setup event handler the App wishes to receive</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="244" x="55.5" y="187.0591">・LibHomeScreen::Event_TapShortcut</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="286" x="55.5" y="202.1919">・LibHomeScreen::Event_OnScreenMessage</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="263" x="55.5" y="217.3247">・LibHomeScreen::Event_OnScreenReply</text><!--
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="312px" preserveAspectRatio="none" style="width:409px;height:312px;" version="1.1" viewBox="0 0 409 312" width="409px" zoomAndPan="magnify"><defs><filter height="300%" id="fzi0dvp3mx7s5" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="385" x="12" y="24.5332">Application initialization phase (ex. set_event_handler)</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="52.5" x2="52.5" y1="84.2188" y2="254.3281"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="188.5" x2="188.5" y1="84.2188" y2="254.3281"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="317.5" x2="317.5" y1="84.2188" y2="254.3281"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="25" x="37" y="81.1426">App</text><ellipse cx="52.5" cy="50.6094" fill="#FEFECE" filter="url(#fzi0dvp3mx7s5)" rx="12" ry="12" style="stroke: #A80036; stroke-width: 2.0;"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="40.5" x2="64.5" y1="64.6094" y2="64.6094"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="25" x="37" y="267.8613">App</text><ellipse cx="52.5" cy="286.9375" fill="#FEFECE" filter="url(#fzi0dvp3mx7s5)" rx="12" ry="12" style="stroke: #A80036; stroke-width: 2.0;"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="40.5" x2="64.5" y1="300.9375" y2="300.9375"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="122" x="124.5" y="81.1426">HomeScreenBinder</text><ellipse cx="188.5" cy="50.6094" fill="#FEFECE" filter="url(#fzi0dvp3mx7s5)" rx="12" ry="12" style="stroke: #A80036; stroke-width: 2.0;"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="176.5" x2="200.5" y1="64.6094" y2="64.6094"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="122" x="124.5" y="267.8613">HomeScreenBinder</text><ellipse cx="188.5" cy="286.9375" fill="#FEFECE" filter="url(#fzi0dvp3mx7s5)" rx="12" ry="12" style="stroke: #A80036; stroke-width: 2.0;"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="176.5" x2="200.5" y1="300.9375" y2="300.9375"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="104" x="262.5" y="81.1426">HomeScreenGUI</text><ellipse cx="317.5" cy="50.6094" fill="#FEFECE" filter="url(#fzi0dvp3mx7s5)" rx="12" ry="12" style="stroke: #A80036; stroke-width: 2.0;"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="305.5" x2="329.5" y1="64.6094" y2="64.6094"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="104" x="262.5" y="267.8613">HomeScreenGUI</text><ellipse cx="317.5" cy="286.9375" fill="#FEFECE" filter="url(#fzi0dvp3mx7s5)" rx="12" ry="12" style="stroke: #A80036; stroke-width: 2.0;"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="305.5" x2="329.5" y1="300.9375" y2="300.9375"/><polygon fill="#A80036" points="176.5,112.2188,186.5,116.2188,176.5,120.2188,180.5,116.2188" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="52.5" x2="182.5" y1="116.2188" y2="116.2188"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="87" x="59.5" y="111.7139">init(port, token)</text><polygon fill="#A80036" points="176.5,142.5703,186.5,146.5703,176.5,150.5703,180.5,146.5703" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="52.5" x2="182.5" y1="146.5703" y2="146.5703"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="112" x="59.5" y="142.0654">set_event_handler()</text><path d="M43.5,159.9219 L43.5,234.9219 L328.5,234.9219 L328.5,169.9219 L318.5,159.9219 L43.5,159.9219 " fill="#FBFB77" filter="url(#fzi0dvp3mx7s5)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M318.5,159.9219 L318.5,169.9219 L328.5,169.9219 L318.5,159.9219 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="264" x="49.5" y="178.417">setup event handler the App wishes to receive</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="230" x="49.5" y="194.7686">・LibHomeScreen::Event_ShowWindow</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="224" x="49.5" y="211.1201">・LibHomeScreen::Event_HideWindow</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="263" x="49.5" y="227.4717">・LibHomeScreen::Event_ReplyShowWindow</text><!--
 @startuml\r
 @startuml\r
+\r
 title Application initialization phase (ex. set_event_handler)\r
 title Application initialization phase (ex. set_event_handler)\r
+\r
 entity App\r
 entity HomeScreenBinder\r
 entity HomeScreenGUI\r
 entity App\r
 entity HomeScreenBinder\r
 entity HomeScreenGUI\r
+\r
 App->HomeScreenBinder: init(port, token)\r
 App->HomeScreenBinder: set_event_handler()\r
 \r
 note over HomeScreenBinder\r
     setup event handler the App wishes to receive\r
 App->HomeScreenBinder: init(port, token)\r
 App->HomeScreenBinder: set_event_handler()\r
 \r
 note over HomeScreenBinder\r
     setup event handler the App wishes to receive\r
-    ・LibHomeScreen::Event_TapShortcut\r
-    ・LibHomeScreen::Event_OnScreenMessage\r
-    ・LibHomeScreen::Event_OnScreenReply\r
+    ・LibHomeScreen::Event_ShowWindow\r
+    ・LibHomeScreen::Event_HideWindow\r
+    ・LibHomeScreen::Event_ReplyShowWindow\r
 end note\r
 end note\r
+\r
 @enduml\r
 
 @enduml\r
 
-PlantUML version 1.2017.18(Fri Oct 06 16:56:32 UTC 2017)
+PlantUML version 1.2018.01(Mon Jan 29 02:08:22 CST 2018)
 (GPL source distribution)
 Java Runtime: Java(TM) SE Runtime Environment
 JVM: Java HotSpot(TM) 64-Bit Server VM
 (GPL source distribution)
 Java Runtime: Java(TM) SE Runtime Environment
 JVM: Java HotSpot(TM) 64-Bit Server VM
-Java Version: 1.7.0_25-b15
-Operating System: Linux
-Default Encoding: UTF-8
-Language: en
-Country: US
+Java Version: 1.8.0_45-b15
+Operating System: Windows 7
+OS Version: 6.1
+Default Encoding: MS932
+Language: ja
+Country: JP
 --></g></svg>
\ No newline at end of file
 --></g></svg>
\ No newline at end of file
diff --git a/doc/parts/initialize.svg b/doc/parts/initialize.svg
deleted file mode 100644 (file)
index 6e66c99..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="399px" preserveAspectRatio="none" style="width:383px;height:399px;" version="1.1" viewBox="0 0 383 399" width="383px" zoomAndPan="magnify"><defs><filter height="300%" id="f1d1g4haip41mn" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="238" x="73.5" y="22.9951">Application initialization phase</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="24" x2="24" y1="81.5938" y2="341.7891"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="176" x2="176" y1="81.5938" y2="341.7891"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="317" x2="317" y1="81.5938" y2="341.7891"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="27" x="8" y="78.292">App</text><ellipse cx="24.5" cy="49.2969" fill="#FEFECE" filter="url(#f1d1g4haip41mn)" rx="12" ry="12" style="stroke: #A80036; stroke-width: 2.0;"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="12.5" x2="36.5" y1="63.2969" y2="63.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="27" x="8" y="353.7842">App</text><ellipse cx="24.5" cy="373.0859" fill="#FEFECE" filter="url(#f1d1g4haip41mn)" rx="12" ry="12" style="stroke: #A80036; stroke-width: 2.0;"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="12.5" x2="36.5" y1="387.0859" y2="387.0859"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="135" x="106" y="78.292">HomeScreenBinder</text><ellipse cx="176.5" cy="49.2969" fill="#FEFECE" filter="url(#f1d1g4haip41mn)" rx="12" ry="12" style="stroke: #A80036; stroke-width: 2.0;"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="164.5" x2="188.5" y1="63.2969" y2="63.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="135" x="106" y="353.7842">HomeScreenBinder</text><ellipse cx="176.5" cy="373.0859" fill="#FEFECE" filter="url(#f1d1g4haip41mn)" rx="12" ry="12" style="stroke: #A80036; stroke-width: 2.0;"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="164.5" x2="188.5" y1="387.0859" y2="387.0859"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="114" x="257" y="78.292">HomeScreenGUI</text><ellipse cx="317" cy="49.2969" fill="#FEFECE" filter="url(#f1d1g4haip41mn)" rx="12" ry="12" style="stroke: #A80036; stroke-width: 2.0;"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="305" x2="329" y1="63.2969" y2="63.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="114" x="257" y="353.7842">HomeScreenGUI</text><ellipse cx="317" cy="373.0859" fill="#FEFECE" filter="url(#f1d1g4haip41mn)" rx="12" ry="12" style="stroke: #A80036; stroke-width: 2.0;"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="305" x2="329" y1="387.0859" y2="387.0859"/><polygon fill="#A80036" points="164.5,108.5938,174.5,112.5938,164.5,116.5938,168.5,112.5938" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="24.5" x2="170.5" y1="112.5938" y2="112.5938"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="99" x="31.5" y="107.6606">init(port, token)</text><polygon fill="#A80036" points="164.5,137.7266,174.5,141.7266,164.5,145.7266,168.5,141.7266" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="24.5" x2="170.5" y1="141.7266" y2="141.7266"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="71" x="31.5" y="136.7935">subscribe()</text><polygon fill="#FBFB77" filter="url(#f1d1g4haip41mn)" points="54,154.8594,54,194.8594,295,194.8594,295,164.8594,285,154.8594,54,154.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="285" x2="285" y1="154.8594" y2="164.8594"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="295" x2="285" y1="164.8594" y2="164.8594"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="220" x="60" y="171.9263">Appが受信したいイベントを登録する</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="60" y="187.0591">・tap_shortcut</text><polygon fill="#A80036" points="164.5,221.125,174.5,225.125,164.5,229.125,168.5,225.125" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="24.5" x2="170.5" y1="225.125" y2="225.125"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="112" x="31.5" y="220.1919">registerCallback()</text><polygon fill="#A80036" points="164.5,250.2578,174.5,254.2578,164.5,258.2578,168.5,254.2578" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="24.5" x2="170.5" y1="254.2578" y2="254.2578"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="31.5" y="249.3247">set_event_handler()</text><polygon fill="#FBFB77" filter="url(#f1d1g4haip41mn)" points="31,267.3906,31,322.3906,318,322.3906,318,277.3906,308,267.3906,31,267.3906" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="308" x2="308" y1="267.3906" y2="277.3906"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="318" x2="308" y1="277.3906" y2="277.3906"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="195" x="37" y="284.4575">イベント受信のコールバック登録</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="206" x="37" y="299.5903">registerCallbackによる登録または</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="266" x="37" y="314.7231">set_event_handlerによる登録どちらかでOK</text><!--
-@startuml\r
-title Application initialization phase\r
-entity App\r
-entity HomeScreenBinder\r
-entity HomeScreenGUI\r
-App->HomeScreenBinder: init(port, token)\r
-App->HomeScreenBinder: subscribe()\r
-\r
-note over HomeScreenBinder\r
-    Appが受信したいイベントを登録する\r
-    ・tap_shortcut\r
-end note\r
-\r
-App->HomeScreenBinder: registerCallback()\r
-App->HomeScreenBinder: set_event_handler()\r
-\r
-note over HomeScreenBinder\r
-    イベント受信のコールバック登録\r
-    registerCallbackによる登録または\r
-    set_event_handlerによる登録どちらかでOK\r
-end note\r
-@enduml\r
-
-PlantUML version 1.2017.18beta10(Unknown compile time)
-(GPL source distribution)
-Java Runtime: Java(TM) SE Runtime Environment
-JVM: Java HotSpot(TM) 64-Bit Server VM
-Java Version: 1.7.0_25-b15
-Operating System: Linux
-Default Encoding: UTF-8
-Language: en
-Country: US
---></g></svg>
\ No newline at end of file
diff --git a/doc/parts/showInformation.svg b/doc/parts/showInformation.svg
new file mode 100644 (file)
index 0000000..c49d734
--- /dev/null
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="307px" preserveAspectRatio="none" style="width:504px;height:307px;" version="1.1" viewBox="0 0 504 307" width="504px" zoomAndPan="magnify"><defs><filter height="300%" id="f1vbh1i8nn62ke" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="325" x="89.5" y="24.5332">show information on HomeScreen bottom area</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="100" x2="100" y1="84.2188" y2="248.625"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="283" x2="283" y1="84.2188" y2="248.625"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="480" x2="480" y1="84.2188" y2="248.625"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="128" x="33" y="81.1426">homescreen-service</text><ellipse cx="100" cy="50.6094" fill="#FEFECE" filter="url(#f1vbh1i8nn62ke)" rx="12" ry="12" style="stroke: #A80036; stroke-width: 2.0;"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="88" x2="112" y1="64.6094" y2="64.6094"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="128" x="33" y="262.1582">homescreen-service</text><ellipse cx="100" cy="281.2344" fill="#FEFECE" filter="url(#f1vbh1i8nn62ke)" rx="12" ry="12" style="stroke: #A80036; stroke-width: 2.0;"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="88" x2="112" y1="295.2344" y2="295.2344"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="78" x="241" y="81.1426">homescreen</text><ellipse cx="283" cy="50.6094" fill="#FEFECE" filter="url(#f1vbh1i8nn62ke)" rx="12" ry="12" style="stroke: #A80036; stroke-width: 2.0;"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="271" x2="295" y1="64.6094" y2="64.6094"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="78" x="241" y="262.1582">homescreen</text><ellipse cx="283" cy="281.2344" fill="#FEFECE" filter="url(#f1vbh1i8nn62ke)" rx="12" ry="12" style="stroke: #A80036; stroke-width: 2.0;"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="271" x2="295" y1="295.2344" y2="295.2344"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="25" x="464.5" y="81.1426">App</text><ellipse cx="480" cy="50.6094" fill="#FEFECE" filter="url(#f1vbh1i8nn62ke)" rx="12" ry="12" style="stroke: #A80036; stroke-width: 2.0;"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="468" x2="492" y1="64.6094" y2="64.6094"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="25" x="464.5" y="262.1582">App</text><ellipse cx="480" cy="281.2344" fill="#FEFECE" filter="url(#f1vbh1i8nn62ke)" rx="12" ry="12" style="stroke: #A80036; stroke-width: 2.0;"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="468" x2="492" y1="295.2344" y2="295.2344"/><polygon fill="#A80036" points="111,112.2188,101,116.2188,111,120.2188,107,116.2188" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="105" x2="479" y1="116.2188" y2="116.2188"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="101" x="117" y="111.7139">showInformation()</text><path d="M8,129.5703 L8,155.5703 L189,155.5703 L189,139.5703 L179,129.5703 L8,129.5703 " fill="#FBFB77" filter="url(#f1vbh1i8nn62ke)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M179,129.5703 L179,139.5703 L189,139.5703 L179,129.5703 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="160" x="14" y="148.0654">{"info":"display information"}</text><polygon fill="#A80036" points="271,182.9219,281,186.9219,271,190.9219,275,186.9219" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="100" x2="277" y1="186.9219" y2="186.9219"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="159" x="107" y="182.417">push showInformation event</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="283" x2="325" y1="217.625" y2="217.625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="325" x2="325" y1="217.625" y2="230.625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="284" x2="325" y1="230.625" y2="230.625"/><polygon fill="#A80036" points="294,226.625,284,230.625,294,234.625,290,230.625" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="183" x="290" y="212.7686">display information message 3s</text><!--
+@startuml\r
+\r
+title show information on HomeScreen bottom area\r
+\r
+entity "homescreen-service" as hss\r
+entity homescreen\r
+entity App\r
+\r
+App->hss: showInformation()\r
+note over hss\r
+{"info":"display information"}\r
+end note\r
+hss-> homescreen: push showInformation event\r
+\r
+homescreen->homescreen: display information message 3s\r
+\r
+@enduml\r
+
+PlantUML version 1.2018.01(Mon Jan 29 02:08:22 CST 2018)
+(GPL source distribution)
+Java Runtime: Java(TM) SE Runtime Environment
+JVM: Java HotSpot(TM) 64-Bit Server VM
+Java Version: 1.8.0_45-b15
+Operating System: Windows 7
+OS Version: 6.1
+Default Encoding: MS932
+Language: ja
+Country: JP
+--></g></svg>
\ No newline at end of file
diff --git a/doc/parts/showNotification.svg b/doc/parts/showNotification.svg
new file mode 100644 (file)
index 0000000..7ef1572
--- /dev/null
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="363px" preserveAspectRatio="none" style="width:520px;height:363px;" version="1.1" viewBox="0 0 520 363" width="520px" zoomAndPan="magnify"><defs><filter height="300%" id="f1on7njuynqrbg" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="298" x="109" y="24.5332">show notification on HomeScreen top area</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="89" x2="89" y1="84.2188" y2="305.3281"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="273" x2="273" y1="84.2188" y2="305.3281"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="469" x2="469" y1="84.2188" y2="305.3281"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="128" x="22" y="81.1426">homescreen-service</text><ellipse cx="89" cy="50.6094" fill="#FEFECE" filter="url(#f1on7njuynqrbg)" rx="12" ry="12" style="stroke: #A80036; stroke-width: 2.0;"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="77" x2="101" y1="64.6094" y2="64.6094"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="128" x="22" y="318.8613">homescreen-service</text><ellipse cx="89" cy="337.9375" fill="#FEFECE" filter="url(#f1on7njuynqrbg)" rx="12" ry="12" style="stroke: #A80036; stroke-width: 2.0;"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="77" x2="101" y1="351.9375" y2="351.9375"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="78" x="231" y="81.1426">homescreen</text><ellipse cx="273" cy="50.6094" fill="#FEFECE" filter="url(#f1on7njuynqrbg)" rx="12" ry="12" style="stroke: #A80036; stroke-width: 2.0;"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="261" x2="285" y1="64.6094" y2="64.6094"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="78" x="231" y="318.8613">homescreen</text><ellipse cx="273" cy="337.9375" fill="#FEFECE" filter="url(#f1on7njuynqrbg)" rx="12" ry="12" style="stroke: #A80036; stroke-width: 2.0;"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="261" x2="285" y1="351.9375" y2="351.9375"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="25" x="453.5" y="81.1426">App</text><ellipse cx="469" cy="50.6094" fill="#FEFECE" filter="url(#f1on7njuynqrbg)" rx="12" ry="12" style="stroke: #A80036; stroke-width: 2.0;"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="457" x2="481" y1="64.6094" y2="64.6094"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="25" x="453.5" y="318.8613">App</text><ellipse cx="469" cy="337.9375" fill="#FEFECE" filter="url(#f1on7njuynqrbg)" rx="12" ry="12" style="stroke: #A80036; stroke-width: 2.0;"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="457" x2="481" y1="351.9375" y2="351.9375"/><polygon fill="#A80036" points="100,112.2188,90,116.2188,100,120.2188,96,116.2188" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="94" x2="468" y1="116.2188" y2="116.2188"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="102" x="106" y="111.7139">showNotification()</text><path d="M50,129.5703 L50,155.5703 L508,155.5703 L508,139.5703 L498,129.5703 L50,129.5703 " fill="#FBFB77" filter="url(#f1on7njuynqrbg)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M498,129.5703 L498,139.5703 L508,139.5703 L498,129.5703 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="246" x="149.5" y="148.0654">{"icon":"display icon", "text":"display text"}</text><polygon fill="#A80036" points="261,182.9219,271,186.9219,261,190.9219,265,186.9219" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="89" x2="267" y1="186.9219" y2="186.9219"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="160" x="96" y="182.417">push showNotification event</text><path d="M8,200.2734 L8,242.2734 L351,242.2734 L351,210.2734 L341,200.2734 L8,200.2734 " fill="#FBFB77" filter="url(#f1on7njuynqrbg)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M341,200.2734 L341,210.2734 L351,210.2734 L341,200.2734 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="234" x="14" y="218.7686">{"application_id":"request application id",</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="322" x="14" y="235.1201">"parameter":{"icon":"display icon", "text":"display text"}}</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="273" x2="315" y1="274.3281" y2="274.3281"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="315" x2="315" y1="274.3281" y2="287.3281"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="274" x2="315" y1="287.3281" y2="287.3281"/><polygon fill="#A80036" points="284,283.3281,274,287.3281,284,291.3281,280,287.3281" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="182" x="280" y="269.4717">display notification message 3s</text><!--
+@startuml\r
+\r
+title show notification on HomeScreen top area\r
+\r
+entity "homescreen-service" as hss\r
+entity homescreen\r
+entity App\r
+\r
+App->hss: showNotification()\r
+note over App,hss\r
+{"icon":"display icon", "text":"display text"}\r
+end note\r
+hss-> homescreen: push showNotification event\r
+note over hss,homescreen\r
+{"application_id":"request application id", \r
+"parameter":{"icon":"display icon", "text":"display text"}}\r
+end note\r
+\r
+homescreen->homescreen: display notification message 3s\r
+\r
+@enduml\r
+
+PlantUML version 1.2018.01(Mon Jan 29 02:08:22 CST 2018)
+(GPL source distribution)
+Java Runtime: Java(TM) SE Runtime Environment
+JVM: Java HotSpot(TM) 64-Bit Server VM
+Java Version: 1.8.0_45-b15
+Operating System: Windows 7
+OS Version: 6.1
+Default Encoding: MS932
+Language: ja
+Country: JP
+--></g></svg>
\ No newline at end of file
diff --git a/doc/parts/showOnScreen.svg b/doc/parts/showOnScreen.svg
new file mode 100644 (file)
index 0000000..74fb3a1
--- /dev/null
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="1218px" preserveAspectRatio="none" style="width:871px;height:1218px;" version="1.1" viewBox="0 0 871 1218" width="871px" zoomAndPan="magnify"><defs><filter height="300%" id="f5fl993n1id8u" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="190" x="336.25" y="24.5332">show/hide onscreen phase</text><rect fill="#FFFFFF" filter="url(#f5fl993n1id8u)" height="178.5938" style="stroke: #000000; stroke-width: 2.0;" width="407.5" x="442" y="524.1406"/><rect fill="#FFFFFF" height="56.1875" style="stroke: none; stroke-width: 1.0;" width="407.5" x="442" y="646.5469"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="94" x2="94" y1="119.2188" y2="1129.9531"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="188" x2="188" y1="119.2188" y2="1129.9531"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="384" x2="384" y1="119.2188" y2="1129.9531"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="498.5" x2="498.5" y1="119.2188" y2="1129.9531"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="785.5" x2="785.5" y1="119.2188" y2="1129.9531"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="28" x="77" y="116.1426">user</text><ellipse cx="94" cy="44.6094" fill="#FEFECE" filter="url(#f5fl993n1id8u)" rx="8" ry="8" style="stroke: #A80036; stroke-width: 2.0;"/><path d="M94,52.6094 L94,79.6094 M81,60.6094 L107,60.6094 M94,79.6094 L81,94.6094 M94,79.6094 L107,94.6094 " fill="none" filter="url(#f5fl993n1id8u)" style="stroke: #A80036; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="28" x="77" y="1143.4863">user</text><ellipse cx="94" cy="1156.5625" fill="#FEFECE" filter="url(#f5fl993n1id8u)" rx="8" ry="8" style="stroke: #A80036; stroke-width: 2.0;"/><path d="M94,1164.5625 L94,1191.5625 M81,1172.5625 L107,1172.5625 M94,1191.5625 L81,1206.5625 M94,1191.5625 L107,1206.5625 " fill="none" filter="url(#f5fl993n1id8u)" style="stroke: #A80036; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="128" x="121" y="116.1426">homescreen-service</text><ellipse cx="188" cy="85.6094" fill="#FEFECE" filter="url(#f5fl993n1id8u)" rx="12" ry="12" style="stroke: #A80036; stroke-width: 2.0;"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="176" x2="200" y1="99.6094" y2="99.6094"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="128" x="121" y="1143.4863">homescreen-service</text><ellipse cx="188" cy="1162.5625" fill="#FEFECE" filter="url(#f5fl993n1id8u)" rx="12" ry="12" style="stroke: #A80036; stroke-width: 2.0;"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="176" x2="200" y1="1176.5625" y2="1176.5625"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="25" x="368.5" y="116.1426">App</text><ellipse cx="384" cy="85.6094" fill="#FEFECE" filter="url(#f5fl993n1id8u)" rx="12" ry="12" style="stroke: #A80036; stroke-width: 2.0;"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="372" x2="396" y1="99.6094" y2="99.6094"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="25" x="368.5" y="1143.4863">App</text><ellipse cx="384" cy="1162.5625" fill="#FEFECE" filter="url(#f5fl993n1id8u)" rx="12" ry="12" style="stroke: #A80036; stroke-width: 2.0;"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="372" x2="396" y1="1176.5625" y2="1176.5625"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="83" x="454.5" y="116.1426">onscreenapp</text><ellipse cx="499" cy="85.6094" fill="#FEFECE" filter="url(#f5fl993n1id8u)" rx="12" ry="12" style="stroke: #A80036; stroke-width: 2.0;"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="487" x2="511" y1="99.6094" y2="99.6094"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="83" x="454.5" y="1143.4863">onscreenapp</text><ellipse cx="499" cy="1162.5625" fill="#FEFECE" filter="url(#f5fl993n1id8u)" rx="12" ry="12" style="stroke: #A80036; stroke-width: 2.0;"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="487" x2="511" y1="1176.5625" y2="1176.5625"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="101" x="732.5" y="116.1426">windowmanager</text><ellipse cx="786" cy="85.6094" fill="#FEFECE" filter="url(#f5fl993n1id8u)" rx="12" ry="12" style="stroke: #A80036; stroke-width: 2.0;"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="774" x2="798" y1="99.6094" y2="99.6094"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="101" x="732.5" y="1143.4863">windowmanager</text><ellipse cx="786" cy="1162.5625" fill="#FEFECE" filter="url(#f5fl993n1id8u)" rx="12" ry="12" style="stroke: #A80036; stroke-width: 2.0;"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="774" x2="798" y1="1176.5625" y2="1176.5625"/><rect fill="#EEEEEE" filter="url(#f5fl993n1id8u)" height="3" style="stroke: #EEEEEE; stroke-width: 1.0;" width="856.5" x="3" y="150.3945"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="859.5" y1="150.3945" y2="150.3945"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="859.5" y1="153.3945" y2="153.3945"/><rect fill="#EEEEEE" filter="url(#f5fl993n1id8u)" height="24.3516" style="stroke: #000000; stroke-width: 2.0;" width="113" x="374.75" y="139.2188"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="95" x="380.75" y="156.7139">show onscreen</text><polygon fill="#A80036" points="372,191.5703,382,195.5703,372,199.5703,376,195.5703" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="94" x2="378" y1="195.5703" y2="195.5703"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="179" x="101" y="191.0654">the operation request onscreen</text><polygon fill="#A80036" points="199,221.9219,189,225.9219,199,229.9219,195,225.9219" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="193" x2="383" y1="225.9219" y2="225.9219"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="84" x="205" y="221.417">showWindow()</text><path d="M113,239.2734 L113,298.2734 L455,298.2734 L455,249.2734 L445,239.2734 L113,239.2734 " fill="#FBFB77" filter="url(#f5fl993n1id8u)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M445,239.2734 L445,249.2734 L455,249.2734 L445,239.2734 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="185" x="119" y="257.7686">{"application_id":"onscreenapp",</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="317" x="119" y="274.1201">"parameter":{"area":"display area", "file":"qml file path",</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="216" x="119" y="290.4717">"data":{"the datas to onscreen qml"}}}</text><polygon fill="#A80036" points="487,325.3281,497,329.3281,487,333.3281,491,329.3281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="188" x2="493" y1="329.3281" y2="329.3281"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="142" x="195" y="324.8232">push showWindow event</text><path d="M134,342.6797 L134,433.6797 L551,433.6797 L551,352.6797 L541,342.6797 L134,342.6797 " fill="#FBFB77" filter="url(#f5fl993n1id8u)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M541,342.6797 L541,352.6797 L551,352.6797 L541,342.6797 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="185" x="175.75" y="361.1748">{"application_id":"onscreenapp",</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="317" x="175.75" y="377.5264">"parameter":{"area":"display area", "file":"qml file path",</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="212" x="175.75" y="393.8779">"data":{"the datas to onscreen qml"},</text><text fill="#FF0000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="174" x="175.75" y="410.2295">"replyto":"caller application id"</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="175.75" y="426.5811">}}</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="499" x2="541" y1="465.7891" y2="465.7891"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="541" x2="541" y1="465.7891" y2="478.7891"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="500" x2="541" y1="478.7891" y2="478.7891"/><polygon fill="#A80036" points="510,474.7891,500,478.7891,510,482.7891,506,478.7891" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="142" x="506" y="460.9326">get and save parameters</text><polygon fill="#A80036" points="774,504.7891,784,508.7891,774,512.7891,778,508.7891" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="499" x2="780" y1="508.7891" y2="508.7891"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="263" x="506" y="504.2842">activateWindow("onscreeapp", "display area")</text><path d="M442,524.1406 L503,524.1406 L503,532.1406 L493,542.1406 L442,542.1406 L442,524.1406 " fill="#EEEEEE" style="stroke: #000000; stroke-width: 1.0;"/><rect fill="none" height="178.5938" style="stroke: #000000; stroke-width: 2.0;" width="407.5" x="442" y="524.1406"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="16" x="457" y="538.6357">alt</text><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="61" x="518" y="537.5596">[can show]</text><polygon fill="#A80036" points="510,560.4922,500,564.4922,510,568.4922,506,564.4922" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="504" x2="785" y1="564.4922" y2="564.4922"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="123" x="516" y="559.9873">push syncDraw event</text><polygon fill="#A80036" points="774,590.8438,784,594.8438,774,598.8438,778,594.8438" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="499" x2="780" y1="594.8438" y2="594.8438"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="135" x="506" y="590.3389">endDraw("onscreeapp")</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="499" x2="541" y1="625.5469" y2="625.5469"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="541" x2="541" y1="625.5469" y2="638.5469"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="500" x2="541" y1="638.5469" y2="638.5469"/><polygon fill="#A80036" points="510,634.5469,500,638.5469,510,642.5469,506,638.5469" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="139" x="506" y="620.6904">load and display qml file</text><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="442" x2="849.5" y1="647.5469" y2="647.5469"/><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="68" x="447" y="658.9658">[can't show]</text><path d="M452,667.3828 L452,693.3828 L832,693.3828 L832,677.3828 L822,667.3828 L452,667.3828 " fill="#FBFB77" filter="url(#f5fl993n1id8u)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M822,667.3828 L822,677.3828 L832,677.3828 L822,667.3828 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="60" x="605.5" y="685.8779">do nothing</text><rect fill="#EEEEEE" filter="url(#f5fl993n1id8u)" height="3" style="stroke: #EEEEEE; stroke-width: 1.0;" width="856.5" x="3" y="730.9102"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="859.5" y1="730.9102" y2="730.9102"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="859.5" y1="733.9102" y2="733.9102"/><rect fill="#EEEEEE" filter="url(#f5fl993n1id8u)" height="24.3516" style="stroke: #000000; stroke-width: 2.0;" width="108" x="377.25" y="719.7344"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="90" x="383.25" y="737.2295">hide onscreen</text><polygon fill="#A80036" points="487,772.0859,497,776.0859,487,780.0859,491,776.0859" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="94" x2="493" y1="776.0859" y2="776.0859"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="124" x="101" y="771.5811">tap onscreen's button</text><polygon fill="#A80036" points="199,802.4375,189,806.4375,199,810.4375,195,806.4375" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="193" x2="498" y1="806.4375" y2="806.4375"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="114" x="205" y="801.9326">replyShowWindow()</text><path d="M8,819.7891 L8,861.7891 L675,861.7891 L675,829.7891 L665,819.7891 L8,819.7891 " fill="#FBFB77" filter="url(#f5fl993n1id8u)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M665,819.7891 L665,829.7891 L675,829.7891 L665,819.7891 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="352" x="14" y="838.2842">{"application_id":"the application id who called onscreenapp",</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="646" x="14" y="854.6357">"parameter": {"buttonName": "VOLUME_UP", "buttonPressMode": "shortPress", "buttonPressState": "release"}}</text><polygon fill="#A80036" points="372,889.4922,382,893.4922,372,897.4922,376,893.4922" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="188" x2="378" y1="893.4922" y2="893.4922"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="172" x="195" y="888.9873">push replyShowWindow event</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="384" x2="426" y1="924.1953" y2="924.1953"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="426" x2="426" y1="924.1953" y2="937.1953"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="385" x2="426" y1="937.1953" y2="937.1953"/><polygon fill="#A80036" points="395,933.1953,385,937.1953,395,941.1953,391,937.1953" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="101" x="391" y="919.3389">call reply function</text><polygon fill="#A80036" points="199,963.1953,189,967.1953,199,971.1953,195,967.1953" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="193" x2="383" y1="967.1953" y2="967.1953"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="162" x="205" y="962.6904">hideWindow("onscreenapp")</text><polygon fill="#A80036" points="487,993.5469,497,997.5469,487,1001.5469,491,997.5469" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="188" x2="493" y1="997.5469" y2="997.5469"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="136" x="195" y="993.042">push hideWindow event</text><path d="M134,1010.8984 L134,1036.8984 L551,1036.8984 L551,1020.8984 L541,1010.8984 L134,1010.8984 " fill="#FBFB77" filter="url(#f5fl993n1id8u)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M541,1010.8984 L541,1020.8984 L551,1020.8984 L541,1010.8984 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="308" x="182.25" y="1029.3936">{"application_id":"request hideWindow application id"}</text><polygon fill="#A80036" points="774,1064.25,784,1068.25,774,1072.25,778,1068.25" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="499" x2="780" y1="1068.25" y2="1068.25"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="200" x="506" y="1063.7451">deactivateWindow("onscreenapp");</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="499" x2="541" y1="1098.9531" y2="1098.9531"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="541" x2="541" y1="1098.9531" y2="1111.9531"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="500" x2="541" y1="1111.9531" y2="1111.9531"/><polygon fill="#A80036" points="510,1107.9531,500,1111.9531,510,1115.9531,506,1111.9531" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="70" x="506" y="1094.0967">hide window</text><!--
+@startuml\r
+\r
+title show/hide onscreen phase\r
+\r
+actor user\r
+entity "homescreen-service" as hss\r
+entity App\r
+entity onscreenapp\r
+entity windowmanager as wm\r
+\r
+== show onscreen ==\r
+user->App: the operation request onscreen\r
+App->hss: showWindow()\r
+note over App,hss\r
+{"application_id":"onscreenapp", \r
+"parameter":{"area":"display area", "file":"qml file path", \r
+"data":{"the datas to onscreen qml"}}}\r
+end note\r
+\r
+hss->onscreenapp: push showWindow event\r
+note over hss,onscreenapp\r
+{"application_id":"onscreenapp", \r
+"parameter":{"area":"display area", "file":"qml file path", \r
+"data":{"the datas to onscreen qml"},\r
+<font color=red >"replyto":"caller application id"\r
+}}\r
+end note\r
+\r
+onscreenapp->onscreenapp: get and save parameters\r
+onscreenapp->wm: activateWindow("onscreeapp", "display area")\r
+alt can show\r
+wm- ->onscreenapp: push syncDraw event\r
+onscreenapp->wm: endDraw("onscreeapp")\r
+onscreenapp->onscreenapp: load and display qml file\r
+else can't show\r
+note over onscreenapp,wm\r
+do nothing\r
+end note\r
+end\r
+\r
+== hide onscreen ==\r
+\r
+user->onscreenapp: tap onscreen's button\r
+onscreenapp->hss: replyShowWindow()\r
+note over onscreenapp,hss\r
+{"application_id":"the application id who called onscreenapp", \r
+"parameter": {"buttonName": "VOLUME_UP", "buttonPressMode": "shortPress", "buttonPressState": "release"}}\r
+end note\r
+hss->App: push replyShowWindow event\r
+App->App: call reply function\r
+App->hss: hideWindow("onscreenapp")\r
+hss->onscreenapp: push hideWindow event\r
+note over hss,onscreenapp\r
+{"application_id":"request hideWindow application id"}\r
+end note\r
+onscreenapp->wm: deactivateWindow("onscreenapp");\r
+onscreenapp->onscreenapp: hide window\r
+\r
+@enduml\r
+
+PlantUML version 1.2018.01(Mon Jan 29 02:08:22 CST 2018)
+(GPL source distribution)
+Java Runtime: Java(TM) SE Runtime Environment
+JVM: Java HotSpot(TM) 64-Bit Server VM
+Java Version: 1.8.0_45-b15
+Operating System: Windows 7
+OS Version: 6.1
+Default Encoding: MS932
+Language: ja
+Country: JP
+--></g></svg>
\ No newline at end of file
diff --git a/doc/parts/showWindow.svg b/doc/parts/showWindow.svg
new file mode 100644 (file)
index 0000000..c860a85
--- /dev/null
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="463px" preserveAspectRatio="none" style="width:708px;height:463px;" version="1.1" viewBox="0 0 708 463" width="708px" zoomAndPan="magnify"><defs><filter height="300%" id="f13h27mlk3us9l" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="327" x="191.75" y="24.5332">Application callback event showWindow phase</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="72" x2="72" y1="119.2188" y2="374.6797"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="166" x2="166" y1="119.2188" y2="374.6797"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="273.5" x2="273.5" y1="119.2188" y2="374.6797"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="332" x2="332" y1="119.2188" y2="374.6797"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="648.5" x2="648.5" y1="119.2188" y2="374.6797"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="28" x="55" y="116.1426">user</text><ellipse cx="72" cy="44.6094" fill="#FEFECE" filter="url(#f13h27mlk3us9l)" rx="8" ry="8" style="stroke: #A80036; stroke-width: 2.0;"/><path d="M72,52.6094 L72,79.6094 M59,60.6094 L85,60.6094 M72,79.6094 L59,94.6094 M72,79.6094 L85,94.6094 " fill="none" filter="url(#f13h27mlk3us9l)" style="stroke: #A80036; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="28" x="55" y="388.2129">user</text><ellipse cx="72" cy="401.2891" fill="#FEFECE" filter="url(#f13h27mlk3us9l)" rx="8" ry="8" style="stroke: #A80036; stroke-width: 2.0;"/><path d="M72,409.2891 L72,436.2891 M59,417.2891 L85,417.2891 M72,436.2891 L59,451.2891 M72,436.2891 L85,451.2891 " fill="none" filter="url(#f13h27mlk3us9l)" style="stroke: #A80036; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="128" x="99" y="116.1426">homescreen-service</text><ellipse cx="166" cy="85.6094" fill="#FEFECE" filter="url(#f13h27mlk3us9l)" rx="12" ry="12" style="stroke: #A80036; stroke-width: 2.0;"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="154" x2="178" y1="99.6094" y2="99.6094"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="128" x="99" y="388.2129">homescreen-service</text><ellipse cx="166" cy="407.2891" fill="#FEFECE" filter="url(#f13h27mlk3us9l)" rx="12" ry="12" style="stroke: #A80036; stroke-width: 2.0;"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="154" x2="178" y1="421.2891" y2="421.2891"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="55" x="243.5" y="116.1426">launcher</text><ellipse cx="274" cy="85.6094" fill="#FEFECE" filter="url(#f13h27mlk3us9l)" rx="12" ry="12" style="stroke: #A80036; stroke-width: 2.0;"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="262" x2="286" y1="99.6094" y2="99.6094"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="55" x="243.5" y="388.2129">launcher</text><ellipse cx="274" cy="407.2891" fill="#FEFECE" filter="url(#f13h27mlk3us9l)" rx="12" ry="12" style="stroke: #A80036; stroke-width: 2.0;"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="262" x2="286" y1="421.2891" y2="421.2891"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="25" x="316.5" y="116.1426">App</text><ellipse cx="332" cy="85.6094" fill="#FEFECE" filter="url(#f13h27mlk3us9l)" rx="12" ry="12" style="stroke: #A80036; stroke-width: 2.0;"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="320" x2="344" y1="99.6094" y2="99.6094"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="25" x="316.5" y="388.2129">App</text><ellipse cx="332" cy="407.2891" fill="#FEFECE" filter="url(#f13h27mlk3us9l)" rx="12" ry="12" style="stroke: #A80036; stroke-width: 2.0;"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="320" x2="344" y1="421.2891" y2="421.2891"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="101" x="595.5" y="116.1426">windowmanager</text><ellipse cx="649" cy="85.6094" fill="#FEFECE" filter="url(#f13h27mlk3us9l)" rx="12" ry="12" style="stroke: #A80036; stroke-width: 2.0;"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="637" x2="661" y1="99.6094" y2="99.6094"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="101" x="595.5" y="388.2129">windowmanager</text><ellipse cx="649" cy="407.2891" fill="#FEFECE" filter="url(#f13h27mlk3us9l)" rx="12" ry="12" style="stroke: #A80036; stroke-width: 2.0;"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="637" x2="661" y1="421.2891" y2="421.2891"/><polygon fill="#A80036" points="262,147.2188,272,151.2188,262,155.2188,266,151.2188" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="72" x2="268" y1="151.2188" y2="151.2188"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="80" x="79" y="146.7139">tap app's icon</text><polygon fill="#A80036" points="177,177.5703,167,181.5703,177,185.5703,173,181.5703" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="171" x2="273" y1="181.5703" y2="181.5703"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="84" x="183" y="177.0654">showWindow()</text><path d="M8,194.9219 L8,220.9219 L486,220.9219 L486,204.9219 L476,194.9219 L8,194.9219 " fill="#FBFB77" filter="url(#f13h27mlk3us9l)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M476,194.9219 L476,204.9219 L486,204.9219 L476,194.9219 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="457" x="14" y="213.417">{"application_id":"tapped application id", "parameter":{"area":"display area", ...}}</text><polygon fill="#A80036" points="320,248.2734,330,252.2734,320,256.2734,324,252.2734" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="166" x2="326" y1="252.2734" y2="252.2734"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="142" x="173" y="247.7686">push showWindow event</text><polygon fill="#A80036" points="637,278.625,647,282.625,637,286.625,641,282.625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="332" x2="643" y1="282.625" y2="282.625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="293" x="339" y="278.1201">activateWindow("application_name","display area")</text><polygon fill="#A80036" points="343,308.9766,333,312.9766,343,316.9766,339,312.9766" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="337" x2="648" y1="312.9766" y2="312.9766"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="123" x="349" y="308.4717">push syncDraw event</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="332" x2="374" y1="343.6797" y2="343.6797"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="374" x2="374" y1="343.6797" y2="356.6797"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="333" x2="374" y1="356.6797" y2="356.6797"/><polygon fill="#A80036" points="343,352.6797,333,356.6797,343,360.6797,339,356.6797" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="41" x="339" y="338.8232">display</text><!--
+@startuml\r
+\r
+title Application callback event showWindow phase\r
+\r
+actor user\r
+entity "homescreen-service" as hss\r
+entity launcher\r
+entity App\r
+entity windowmanager as wm\r
+\r
+user- ->launcher: tap app's icon\r
+launcher->hss: showWindow()\r
+note over hss,App\r
+{"application_id":"tapped application id", "parameter":{"area":"display area", ...}}\r
+end note\r
+hss->App: push showWindow event\r
+App->wm: activateWindow("application_name","display area")\r
+wm- ->App: push syncDraw event\r
+App->App: display\r
+\r
+@enduml\r
+
+PlantUML version 1.2018.01(Mon Jan 29 02:08:22 CST 2018)
+(GPL source distribution)
+Java Runtime: Java(TM) SE Runtime Environment
+JVM: Java HotSpot(TM) 64-Bit Server VM
+Java Version: 1.8.0_45-b15
+Operating System: Windows 7
+OS Version: 6.1
+Default Encoding: MS932
+Language: ja
+Country: JP
+--></g></svg>
\ No newline at end of file