aboutsummaryrefslogtreecommitdiffstats
path: root/doc/api-ref/latex
diff options
context:
space:
mode:
authorzheng_wenlong <wenlong_zheng@nexty-ele.com>2017-10-23 14:06:12 +0900
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>2017-11-01 11:35:41 +0000
commit599de8d3f35cb0fe56c7e27591862d61944b456b (patch)
tree1361368744f0015bb5ca647cde3c84709a795e85 /doc/api-ref/latex
parent26ec25e2f9271396328c208ae1a256fdf1a92c91 (diff)
Add a new OnScreenReply api to agl-service-homescreeneel_4.99.2eel/4.99.24.99.2
Add a new event named OnScreenReply. Applications can use this event to reply to the homescreen. Also update the documentation for this event. [Patch Sets 8,9] Update ApplicationGuide.md. For details: Use master source build agl-service-homescreen-2017. Change agl version to EE. Add libhomescreen sample code path. [Patch Sets 10] Delete tailing space. BUG-AGL: SPEC-985 Change-Id: Iea0c321731fa62cd94fc08fc5e303c20847fd525 Signed-off-by: zheng_wenlong <wenlong_zheng@nexty-ele.com>
Diffstat (limited to 'doc/api-ref/latex')
-rw-r--r--doc/api-ref/latex/d0/d1e/homescreen_8c.tex387
-rw-r--r--doc/api-ref/latex/d0/d8a/libhomescreen_8cpp.tex147
-rw-r--r--doc/api-ref/latex/d3/d3d/hs-helper_8h.tex22
-rw-r--r--doc/api-ref/latex/dd/d1d/hs-helper_8c.tex4
-rw-r--r--doc/api-ref/latex/de/dd0/class_lib_home_screen.tex539
-rw-r--r--doc/api-ref/latex/df/d43/libhomescreen_8hpp.tex2
-rw-r--r--doc/api-ref/latex/df/d76/hmi-debug_8h.tex202
-rw-r--r--doc/api-ref/latex/df/d7d/structevent.tex2
-rw-r--r--doc/api-ref/latex/df/dac/test_8cpp.tex51
-rw-r--r--doc/api-ref/latex/dir_68267d1309a1af8e8297ef4c3efbcdba.tex11
-rw-r--r--doc/api-ref/latex/dir_d44c64559bbebec7f509842c48db8b23.tex6
-rw-r--r--doc/api-ref/latex/files.tex9
-rw-r--r--doc/api-ref/latex/refman.tex7
13 files changed, 810 insertions, 579 deletions
diff --git a/doc/api-ref/latex/d0/d1e/homescreen_8c.tex b/doc/api-ref/latex/d0/d1e/homescreen_8c.tex
index 93a1600..150bacb 100644
--- a/doc/api-ref/latex/d0/d1e/homescreen_8c.tex
+++ b/doc/api-ref/latex/d0/d1e/homescreen_8c.tex
@@ -1,5 +1,5 @@
-\hypertarget{homescreen_8c}{}\section{homescreen\+\_\+service/homescreen.c File Reference}
-\label{homescreen_8c}\index{homescreen\+\_\+service/homescreen.\+c@{homescreen\+\_\+service/homescreen.\+c}}
+\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
@@ -22,7 +22,7 @@ struct \hyperlink{structevent}{event}
\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}~3
+\#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}
@@ -35,6 +35,8 @@ static void \hyperlink{homescreen_8c_a096eae5c8f297f9df142a406eea56227}{tap\+\_\
\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)
@@ -54,6 +56,8 @@ static struct afb\+\_\+event \hyperlink{homescreen_8c_a2af1ff5a4cbf03125e61e9038
\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`\"{}
@@ -62,6 +66,8 @@ static const char \hyperlink{homescreen_8c_a1f2c79fa6801b63751e270d67994fe81}{\+
\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}
@@ -93,7 +99,7 @@ Definition at line 18 of file homescreen.\+c.
\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~3}
+{\footnotesize\ttfamily \#define C\+O\+M\+M\+A\+N\+D\+\_\+\+E\+V\+E\+N\+T\+\_\+\+N\+UM~4}
@@ -120,28 +126,32 @@ Definition at line 32 of file homescreen.\+c.
-Definition at line 238 of file homescreen.\+c.
+Definition at line 277 of file homescreen.\+c.
\begin{DoxyCode}
-239 \{
-240 AFB\_NOTICE(\textcolor{stringliteral}{"binding init"});
-241
-242 \hyperlink{homescreen_8c_a2af1ff5a4cbf03125e61e903832035f5}{ev\_tap\_shortcut} = afb\_daemon\_make\_event(\hyperlink{hs-helper_8h_a0cd84b1a2184c9b84d1b7bf24582f28e}{evlist}[0]);
-243 \hyperlink{homescreen_8c_af7cfc4f688bb898c09291252c4cb832c}{ev\_on\_screen\_message} = afb\_daemon\_make\_event(\hyperlink{hs-helper_8h_a0cd84b1a2184c9b84d1b7bf24582f28e}{evlist}[1]);
-244 \hyperlink{homescreen_8c_a25fbdcc4e5787e3f41d99f4a71e86611}{ev\_reserved} = afb\_daemon\_make\_event(\hyperlink{hs-helper_8h_a0cd84b1a2184c9b84d1b7bf24582f28e}{evlist}[2]);
-245
-246 \hyperlink{homescreen_8c_a1c3c5bfa861dcb58d9e9d216d893864c}{event\_list}[0].\hyperlink{structevent_a45c6cfb7961a21a3366db067e4cc59ab}{name} = \hyperlink{hs-helper_8h_a0cd84b1a2184c9b84d1b7bf24582f28e}{evlist}[0];
-247 \hyperlink{homescreen_8c_a1c3c5bfa861dcb58d9e9d216d893864c}{event\_list}[0].\hyperlink{structevent_a58726ebc551d36562ac3f9e1fe293214}{event} = &\hyperlink{homescreen_8c_a2af1ff5a4cbf03125e61e903832035f5}{ev\_tap\_shortcut};
-248
-249 \hyperlink{homescreen_8c_a1c3c5bfa861dcb58d9e9d216d893864c}{event\_list}[1].\hyperlink{structevent_a45c6cfb7961a21a3366db067e4cc59ab}{name} = \hyperlink{hs-helper_8h_a0cd84b1a2184c9b84d1b7bf24582f28e}{evlist}[1];
-250 \hyperlink{homescreen_8c_a1c3c5bfa861dcb58d9e9d216d893864c}{event\_list}[1].\hyperlink{structevent_a58726ebc551d36562ac3f9e1fe293214}{event} = &\hyperlink{homescreen_8c_af7cfc4f688bb898c09291252c4cb832c}{ev\_on\_screen\_message};
-251
-252 \hyperlink{homescreen_8c_a1c3c5bfa861dcb58d9e9d216d893864c}{event\_list}[2].\hyperlink{structevent_a45c6cfb7961a21a3366db067e4cc59ab}{name} = \hyperlink{hs-helper_8h_a0cd84b1a2184c9b84d1b7bf24582f28e}{evlist}[2];
-253 \hyperlink{homescreen_8c_a1c3c5bfa861dcb58d9e9d216d893864c}{event\_list}[2].\hyperlink{structevent_a58726ebc551d36562ac3f9e1fe293214}{event} = &\hyperlink{homescreen_8c_a25fbdcc4e5787e3f41d99f4a71e86611}{ev\_reserved};
-254
-255 \textcolor{keywordflow}{return} 0;
-256 \}
+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}}
@@ -149,47 +159,95 @@ Definition at line 238 of file 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を表示する
+Home\+Screen On\+Screen message
\subparagraph*{Parameters}
Request key
\begin{DoxyItemize}
-\item display\+\_\+message \+: 表示したい文字列
+\item display\+\_\+message \+: message for display
\end{DoxyItemize}
\subparagraph*{Return}
Nothing
-Definition at line 113 of file homescreen.\+c.
+Definition at line 114 of file homescreen.\+c.
\begin{DoxyCode}
-114 \{
-115 AFB\_NOTICE(\textcolor{stringliteral}{"%s is called."}, \_\_FUNCTION\_\_);
-116
-117 \textcolor{keywordtype}{int} ret = 0;
-118 \textcolor{keyword}{const} \textcolor{keywordtype}{char}* value = afb\_req\_value(request, \hyperlink{homescreen_8c_abfd6c1d6f316fa952b11553f8f275e92}{\_display\_message});
-119 \textcolor{keywordflow}{if} (value) \{
-120
-121 AFB\_NOTICE(\textcolor{stringliteral}{"request params = %s."}, value);
-122
-123 \textcolor{keyword}{struct }json\_object* push\_obj = json\_object\_new\_object();
-124 \hyperlink{hs-helper_8c_a8777c53f1d4d5412f19b134ad85ffedf}{hs\_add\_object\_to\_json\_object\_str}( push\_obj, 2,
-125 \hyperlink{homescreen_8c_abfd6c1d6f316fa952b11553f8f275e92}{\_display\_message}, value);
-126 afb\_event\_push(\hyperlink{homescreen_8c_af7cfc4f688bb898c09291252c4cb832c}{ev\_on\_screen\_message}, push\_obj);
-127 \} \textcolor{keywordflow}{else} \{
-128 afb\_req\_fail\_f(request, \textcolor{stringliteral}{"failed"}, \textcolor{stringliteral}{"called %s, Unknown palameter"}, \_\_FUNCTION\_\_);
-129 \textcolor{keywordflow}{return};
-130 \}
-131
-132 \textcolor{comment}{// HomeScreenに返すレスポンス}
-133 \textcolor{keyword}{struct }json\_object *res = json\_object\_new\_object();
-134 \hyperlink{hs-helper_8c_ae83604a37134e7bdee3ce4f10bb0b47a}{hs\_add\_object\_to\_json\_object\_func}(res, \_\_FUNCTION\_\_, 2,
-135 \hyperlink{homescreen_8c_aed1c5296a2e6d34945507a0fca17a376}{\_error}, ret);
-136 afb\_req\_success(request, res, \textcolor{stringliteral}{"afb\_event\_push event [on\_screen\_message]"});
-137 \}
+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}}
@@ -199,13 +257,13 @@ Definition at line 113 of file homescreen.\+c.
-Definition at line 258 of file homescreen.\+c.
+Definition at line 301 of file homescreen.\+c.
\begin{DoxyCode}
-259 \{
-260 AFB\_NOTICE(\textcolor{stringliteral}{"on\_event %s"}, \hyperlink{structevent}{event});
-261 \}
+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}}
@@ -215,16 +273,17 @@ Definition at line 258 of file homescreen.\+c.
-Definition at line 55 of file homescreen.\+c.
+Definition at line 57 of file homescreen.\+c.
\begin{DoxyCode}
-56 \{
-57 \textcolor{keyword}{static} \textcolor{keywordtype}{int} pingcount = 0;
-58 afb\_req\_success\_f(request, json\_object\_new\_int(pingcount), \textcolor{stringliteral}{"Ping count = %d"}, pingcount);
-59 AFB\_NOTICE(\textcolor{stringliteral}{"Verbosity macro at level notice invoked at ping invocation count = %d"}, pingcount);
-60 pingcount++;
-61 \}
+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}}
@@ -234,14 +293,14 @@ Definition at line 55 of file homescreen.\+c.
-Definition at line 232 of file homescreen.\+c.
+Definition at line 271 of file homescreen.\+c.
\begin{DoxyCode}
-233 \{
-234 AFB\_NOTICE(\textcolor{stringliteral}{"binding preinit (was register)"});
-235 \textcolor{keywordflow}{return} 0;
-236 \}
+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}}
@@ -264,36 +323,36 @@ Nothing
\subparagraph*{Note}
-Definition at line 151 of file homescreen.\+c.
+Definition at line 189 of file homescreen.\+c.
\begin{DoxyCode}
-152 \{
-153 \textcolor{keyword}{const} \textcolor{keywordtype}{char} *value = afb\_req\_value(request, \textcolor{stringliteral}{"event"});
-154 AFB\_NOTICE(\textcolor{stringliteral}{"value is %s"}, value);
-155 \textcolor{keywordtype}{int} ret = 0;
-156 \textcolor{keywordflow}{if}(value) \{
-157 \textcolor{keywordtype}{int} index = \hyperlink{hs-helper_8c_a2ff1b894941c3b461ca8119079c4146a}{hs\_search\_event\_name\_index}(value);
-158 \textcolor{keywordflow}{if}(index < 0)
-159 \{
-160 AFB\_NOTICE(\textcolor{stringliteral}{"dedicated event doesn't exist"});
-161 ret = \hyperlink{homescreen_8c_a9a68ed04201d9390bb85b2c6ab1d7250}{EVENT\_SUBSCRIBE\_ERROR\_CODE};
-162 \}
-163 \textcolor{keywordflow}{else}
-164 \{
-165 afb\_req\_subscribe(request, *\hyperlink{homescreen_8c_a1c3c5bfa861dcb58d9e9d216d893864c}{event\_list}[index].\hyperlink{structevent}{event});
-166 \}
-167 \}
-168 \textcolor{keywordflow}{else}\{
-169 AFB\_NOTICE(\textcolor{stringliteral}{"Please input event name"});
-170 ret = \hyperlink{homescreen_8c_a9a68ed04201d9390bb85b2c6ab1d7250}{EVENT\_SUBSCRIBE\_ERROR\_CODE};
-171 \}
-172 \textcolor{comment}{/*create response json object*/}
-173 \textcolor{keyword}{struct }json\_object *res = json\_object\_new\_object();
-174 \hyperlink{hs-helper_8c_ae83604a37134e7bdee3ce4f10bb0b47a}{hs\_add\_object\_to\_json\_object\_func}(res, \_\_FUNCTION\_\_, 2,
-175 \hyperlink{homescreen_8c_aed1c5296a2e6d34945507a0fca17a376}{\_error}, ret);
-176 afb\_req\_success\_f(request, res, \textcolor{stringliteral}{"homescreen binder subscribe event name [%s]"}, value);
-177 \}
+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}}
@@ -301,47 +360,47 @@ Definition at line 151 of file 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]}}
-Home\+Screenから呼ばれる ショートカットがタップされたことをアプリケーションに通知するために使用する アプリケーションからは使用されない
+tap\+\_\+shortcut notify for homescreen When Shortcut area is tapped, notify these applciations
\subparagraph*{Parameters}
Request key
\begin{DoxyItemize}
-\item application\+\_\+name \+: アプリケーション名
+\item application\+\_\+name \+: application name
\end{DoxyItemize}
\subparagraph*{Return}
Nothing
-Definition at line 76 of file homescreen.\+c.
+Definition at line 77 of file homescreen.\+c.
\begin{DoxyCode}
-77 \{
-78 AFB\_NOTICE(\textcolor{stringliteral}{"%s is called."}, \_\_FUNCTION\_\_);
-79
-80 \textcolor{keywordtype}{int} ret = 0;
-81 \textcolor{keyword}{const} \textcolor{keywordtype}{char}* value = afb\_req\_value(request, \hyperlink{homescreen_8c_a1f2c79fa6801b63751e270d67994fe81}{\_application\_name});
-82 \textcolor{keywordflow}{if} (value) \{
-83
-84 AFB\_NOTICE(\textcolor{stringliteral}{"request params = %s."}, value);
-85
-86 \textcolor{keyword}{struct }json\_object* push\_obj = json\_object\_new\_object();
-87 \hyperlink{hs-helper_8c_a8777c53f1d4d5412f19b134ad85ffedf}{hs\_add\_object\_to\_json\_object\_str}( push\_obj, 2,
-88 \hyperlink{homescreen_8c_a1f2c79fa6801b63751e270d67994fe81}{\_application\_name}, value);
-89 afb\_event\_push(\hyperlink{homescreen_8c_a2af1ff5a4cbf03125e61e903832035f5}{ev\_tap\_shortcut}, push\_obj);
-90 \} \textcolor{keywordflow}{else} \{
-91 afb\_req\_fail\_f(request, \textcolor{stringliteral}{"failed"}, \textcolor{stringliteral}{"called %s, Unknown palameter"}, \_\_FUNCTION\_\_);
-92 \textcolor{keywordflow}{return};
-93 \}
-94
-95 \textcolor{comment}{// HomeScreenに返すレスポンス}
-96 \textcolor{keyword}{struct }json\_object *res = json\_object\_new\_object();
-97 \hyperlink{hs-helper_8c_ae83604a37134e7bdee3ce4f10bb0b47a}{hs\_add\_object\_to\_json\_object\_func}(res, \_\_FUNCTION\_\_, 2,
-98 \hyperlink{homescreen_8c_aed1c5296a2e6d34945507a0fca17a376}{\_error}, ret);
-99 afb\_req\_success(request, res, \textcolor{stringliteral}{"afb\_event\_push event [tap\_shortcut]"});
-100 \}
+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}}
@@ -364,36 +423,36 @@ Nothing
\subparagraph*{Note}
-Definition at line 191 of file homescreen.\+c.
+Definition at line 229 of file homescreen.\+c.
\begin{DoxyCode}
-192 \{
-193 \textcolor{keyword}{const} \textcolor{keywordtype}{char} *value = afb\_req\_value(request, \textcolor{stringliteral}{"event"});
-194 AFB\_NOTICE(\textcolor{stringliteral}{"value is %s"}, value);
-195 \textcolor{keywordtype}{int} ret = 0;
-196 \textcolor{keywordflow}{if}(value) \{
-197 \textcolor{keywordtype}{int} index = \hyperlink{hs-helper_8c_a2ff1b894941c3b461ca8119079c4146a}{hs\_search\_event\_name\_index}(value);
-198 \textcolor{keywordflow}{if}(index < 0)
-199 \{
-200 AFB\_NOTICE(\textcolor{stringliteral}{"dedicated event doesn't exist"});
-201 ret = \hyperlink{homescreen_8c_a9a68ed04201d9390bb85b2c6ab1d7250}{EVENT\_SUBSCRIBE\_ERROR\_CODE};
-202 \}
-203 \textcolor{keywordflow}{else}
-204 \{
-205 afb\_req\_unsubscribe(request, *\hyperlink{homescreen_8c_a1c3c5bfa861dcb58d9e9d216d893864c}{event\_list}[index].\hyperlink{structevent}{event});
-206 \}
-207 \}
-208 \textcolor{keywordflow}{else}\{
-209 AFB\_NOTICE(\textcolor{stringliteral}{"Please input event name"});
-210 ret = \hyperlink{homescreen_8c_a9a68ed04201d9390bb85b2c6ab1d7250}{EVENT\_SUBSCRIBE\_ERROR\_CODE};
-211 \}
-212 \textcolor{comment}{/*create response json object*/}
-213 \textcolor{keyword}{struct }json\_object *res = json\_object\_new\_object();
-214 \hyperlink{hs-helper_8c_ae83604a37134e7bdee3ce4f10bb0b47a}{hs\_add\_object\_to\_json\_object\_func}(res, \_\_FUNCTION\_\_, 2,
-215 \hyperlink{homescreen_8c_aed1c5296a2e6d34945507a0fca17a376}{\_error}, ret);
-216 afb\_req\_success\_f(request, res, \textcolor{stringliteral}{"homescreen binder unsubscribe event name [%s]"}, value);
-217 \}
+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}
@@ -406,7 +465,7 @@ Definition at line 191 of file homescreen.\+c.
-Definition at line 48 of file homescreen.\+c.
+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}}
@@ -416,7 +475,7 @@ Definition at line 48 of file homescreen.\+c.
-Definition at line 49 of file homescreen.\+c.
+Definition at line 50 of file homescreen.\+c.
\mbox{\Hypertarget{homescreen_8c_aed1c5296a2e6d34945507a0fca17a376}\label{homescreen_8c_aed1c5296a2e6d34945507a0fca17a376}}
\index{homescreen.\+c@{homescreen.\+c}!\+\_\+error@{\+\_\+error}}
@@ -426,7 +485,17 @@ Definition at line 49 of file homescreen.\+c.
-Definition at line 46 of file homescreen.\+c.
+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}}
@@ -447,7 +516,7 @@ Definition at line 46 of file homescreen.\+c.
\end{DoxyCode}
-Definition at line 263 of file homescreen.\+c.
+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}}
@@ -459,6 +528,16 @@ Definition at line 263 of file homescreen.\+c.
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}}
@@ -467,7 +546,7 @@ Definition at line 43 of file homescreen.\+c.
-Definition at line 44 of file homescreen.\+c.
+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}}
@@ -505,6 +584,8 @@ Definition at line 40 of file homescreen.\+c.
\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 =
@@ -514,5 +595,5 @@ Definition at line 40 of file homescreen.\+c.
\end{DoxyCode}
-Definition at line 222 of file homescreen.\+c.
+Definition at line 260 of file homescreen.\+c.
diff --git a/doc/api-ref/latex/d0/d8a/libhomescreen_8cpp.tex b/doc/api-ref/latex/d0/d8a/libhomescreen_8cpp.tex
index 3e7f572..3a824b9 100644
--- a/doc/api-ref/latex/d0/d8a/libhomescreen_8cpp.tex
+++ b/doc/api-ref/latex/d0/d8a/libhomescreen_8cpp.tex
@@ -12,21 +12,11 @@
{\ttfamily \#include $<$cstdio$>$}\newline
{\ttfamily \#include $<$cstdlib$>$}\newline
{\ttfamily \#include $<$cstring$>$}\newline
-{\ttfamily \#include $<$libhomescreen/libhomescreen.\+hpp$>$}\newline
-\subsection*{Macros}
-\begin{DoxyCompactItemize}
-\item
-\#define \hyperlink{libhomescreen_8cpp_a797aa3053bd6a29819d44f8fad8a5eca}{E\+L\+OG}(args, ...)~\hyperlink{libhomescreen_8cpp_af583e7770fe13e35089388a45eaf9d9d}{\+\_\+\+E\+L\+OG}(\+\_\+\+\_\+\+F\+U\+N\+C\+T\+I\+O\+N\+\_\+\+\_\+,\+\_\+\+\_\+\+L\+I\+N\+E\+\_\+\+\_\+,args,\#\#\+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+)
-\item
-\#define \hyperlink{libhomescreen_8cpp_a4e42b2f5af2174dd24f958351becf63d}{D\+L\+OG}(args, ...)~\hyperlink{libhomescreen_8cpp_a7639744c63851d916fb673963e234124}{\+\_\+\+D\+L\+OG}(\+\_\+\+\_\+\+F\+U\+N\+C\+T\+I\+O\+N\+\_\+\+\_\+,\+\_\+\+\_\+\+L\+I\+N\+E\+\_\+\+\_\+,args,\#\#\+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+)
-\end{DoxyCompactItemize}
+{\ttfamily \#include $<$libhomescreen.\+hpp$>$}\newline
+{\ttfamily \#include \char`\"{}hmi-\/debug.\+h\char`\"{}}\newline
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item
-static void \hyperlink{libhomescreen_8cpp_a7639744c63851d916fb673963e234124}{\+\_\+\+D\+L\+OG} (const char $\ast$func, const int line, const char $\ast$log,...)
-\item
-static void \hyperlink{libhomescreen_8cpp_af583e7770fe13e35089388a45eaf9d9d}{\+\_\+\+E\+L\+OG} (const char $\ast$func, const int line, const char $\ast$log,...)
-\item
static bool \hyperlink{libhomescreen_8cpp_a7a2176c3d71fec0f09dcb2aa0866b17e}{has\+\_\+verb} (const string \&verb)
\item
static void \hyperlink{libhomescreen_8cpp_a73c05b96c151e5e46c28585ccb143c1c}{\+\_\+on\+\_\+hangup\+\_\+static} (void $\ast$closure, struct afb\+\_\+wsj1 $\ast$wsj)
@@ -46,76 +36,7 @@ static const char \hyperlink{libhomescreen_8cpp_a1e2d6e77dd8f0162f830058579eab42
\end{DoxyCompactItemize}
-\subsection{Macro Definition Documentation}
-\mbox{\Hypertarget{libhomescreen_8cpp_a4e42b2f5af2174dd24f958351becf63d}\label{libhomescreen_8cpp_a4e42b2f5af2174dd24f958351becf63d}}
-\index{libhomescreen.\+cpp@{libhomescreen.\+cpp}!D\+L\+OG@{D\+L\+OG}}
-\index{D\+L\+OG@{D\+L\+OG}!libhomescreen.\+cpp@{libhomescreen.\+cpp}}
-\subsubsection{\texorpdfstring{D\+L\+OG}{DLOG}}
-{\footnotesize\ttfamily \#define D\+L\+OG(\begin{DoxyParamCaption}\item[{}]{args, }\item[{}]{... }\end{DoxyParamCaption})~\hyperlink{libhomescreen_8cpp_a7639744c63851d916fb673963e234124}{\+\_\+\+D\+L\+OG}(\+\_\+\+\_\+\+F\+U\+N\+C\+T\+I\+O\+N\+\_\+\+\_\+,\+\_\+\+\_\+\+L\+I\+N\+E\+\_\+\+\_\+,args,\#\#\+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+)}
-
-
-
-Definition at line 33 of file libhomescreen.\+cpp.
-
-\mbox{\Hypertarget{libhomescreen_8cpp_a797aa3053bd6a29819d44f8fad8a5eca}\label{libhomescreen_8cpp_a797aa3053bd6a29819d44f8fad8a5eca}}
-\index{libhomescreen.\+cpp@{libhomescreen.\+cpp}!E\+L\+OG@{E\+L\+OG}}
-\index{E\+L\+OG@{E\+L\+OG}!libhomescreen.\+cpp@{libhomescreen.\+cpp}}
-\subsubsection{\texorpdfstring{E\+L\+OG}{ELOG}}
-{\footnotesize\ttfamily \#define E\+L\+OG(\begin{DoxyParamCaption}\item[{}]{args, }\item[{}]{... }\end{DoxyParamCaption})~\hyperlink{libhomescreen_8cpp_af583e7770fe13e35089388a45eaf9d9d}{\+\_\+\+E\+L\+OG}(\+\_\+\+\_\+\+F\+U\+N\+C\+T\+I\+O\+N\+\_\+\+\_\+,\+\_\+\+\_\+\+L\+I\+N\+E\+\_\+\+\_\+,args,\#\#\+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+)}
-
-
-
-Definition at line 32 of file libhomescreen.\+cpp.
-
-
-
\subsection{Function Documentation}
-\mbox{\Hypertarget{libhomescreen_8cpp_a7639744c63851d916fb673963e234124}\label{libhomescreen_8cpp_a7639744c63851d916fb673963e234124}}
-\index{libhomescreen.\+cpp@{libhomescreen.\+cpp}!\+\_\+\+D\+L\+OG@{\+\_\+\+D\+L\+OG}}
-\index{\+\_\+\+D\+L\+OG@{\+\_\+\+D\+L\+OG}!libhomescreen.\+cpp@{libhomescreen.\+cpp}}
-\subsubsection{\texorpdfstring{\+\_\+\+D\+L\+O\+G()}{\_DLOG()}}
-{\footnotesize\ttfamily static void \+\_\+\+D\+L\+OG (\begin{DoxyParamCaption}\item[{const char $\ast$}]{func, }\item[{const int}]{line, }\item[{const char $\ast$}]{log, }\item[{}]{... }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}
-
-
-
-Definition at line 545 of file libhomescreen.\+cpp.
-
-
-\begin{DoxyCode}
-546 \{
-547 \textcolor{keywordtype}{char} *message;
-548 va\_list args;
-549 va\_start(args, log);
-550 \textcolor{keywordflow}{if} (log == NULL || vasprintf(&message, log, args) < 0)
-551 message = NULL;
-552 cout << \textcolor{stringliteral}{"[libhomescreen DEBUG]"} << func << \textcolor{stringliteral}{"("} << line << \textcolor{stringliteral}{"):"} << message << endl;
-553 va\_end(args);
-554 free(message);
-555 \}
-\end{DoxyCode}
-\mbox{\Hypertarget{libhomescreen_8cpp_af583e7770fe13e35089388a45eaf9d9d}\label{libhomescreen_8cpp_af583e7770fe13e35089388a45eaf9d9d}}
-\index{libhomescreen.\+cpp@{libhomescreen.\+cpp}!\+\_\+\+E\+L\+OG@{\+\_\+\+E\+L\+OG}}
-\index{\+\_\+\+E\+L\+OG@{\+\_\+\+E\+L\+OG}!libhomescreen.\+cpp@{libhomescreen.\+cpp}}
-\subsubsection{\texorpdfstring{\+\_\+\+E\+L\+O\+G()}{\_ELOG()}}
-{\footnotesize\ttfamily static void \+\_\+\+E\+L\+OG (\begin{DoxyParamCaption}\item[{const char $\ast$}]{func, }\item[{const int}]{line, }\item[{const char $\ast$}]{log, }\item[{}]{... }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}
-
-
-
-Definition at line 533 of file libhomescreen.\+cpp.
-
-
-\begin{DoxyCode}
-534 \{
-535 \textcolor{keywordtype}{char} *message;
-536 va\_list args;
-537 va\_start(args, log);
-538 \textcolor{keywordflow}{if} (log == NULL || vasprintf(&message, log, args) < 0)
-539 message = NULL;
-540 cout << \textcolor{stringliteral}{"[libhomescreen ERROR]"} << func << \textcolor{stringliteral}{"("} << line << \textcolor{stringliteral}{"):"} << message << endl;
-541 va\_end(args);
-542 free(message);
-543 \}
-\end{DoxyCode}
\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}}
@@ -124,13 +45,13 @@ Definition at line 533 of file libhomescreen.\+cpp.
-Definition at line 66 of file libhomescreen.\+cpp.
+Definition at line 64 of file libhomescreen.\+cpp.
\begin{DoxyCode}
-67 \{
-68 \textcolor{comment}{/* LibHomeScreen is not called from other process */}
-69 \}
+65 \{
+66 \textcolor{comment}{/* LibHomeScreen is not called from other process */}
+67 \}
\end{DoxyCode}
\mbox{\Hypertarget{libhomescreen_8cpp_a3df86185aa9453726556da201d95a6f9}\label{libhomescreen_8cpp_a3df86185aa9453726556da201d95a6f9}}
\index{libhomescreen.\+cpp@{libhomescreen.\+cpp}!\+\_\+on\+\_\+event\+\_\+static@{\+\_\+on\+\_\+event\+\_\+static}}
@@ -140,13 +61,13 @@ Definition at line 66 of file libhomescreen.\+cpp.
-Definition at line 71 of file libhomescreen.\+cpp.
+Definition at line 69 of file libhomescreen.\+cpp.
\begin{DoxyCode}
-72 \{
-73 \textcolor{keyword}{static\_cast<}\hyperlink{class_lib_home_screen}{LibHomeScreen}*\textcolor{keyword}{>}(closure)->on\_event(NULL,\hyperlink{structevent}{event},msg);
-74 \}
+70 \{
+71 \textcolor{keyword}{static\_cast<}\hyperlink{class_lib_home_screen}{LibHomeScreen}*\textcolor{keyword}{>}(closure)->on\_event(NULL,\hyperlink{structevent}{event},msg);
+72 \}
\end{DoxyCode}
\mbox{\Hypertarget{libhomescreen_8cpp_a73c05b96c151e5e46c28585ccb143c1c}\label{libhomescreen_8cpp_a73c05b96c151e5e46c28585ccb143c1c}}
\index{libhomescreen.\+cpp@{libhomescreen.\+cpp}!\+\_\+on\+\_\+hangup\+\_\+static@{\+\_\+on\+\_\+hangup\+\_\+static}}
@@ -156,13 +77,13 @@ Definition at line 71 of file libhomescreen.\+cpp.
websocket
-Definition at line 61 of file libhomescreen.\+cpp.
+Definition at line 59 of file libhomescreen.\+cpp.
\begin{DoxyCode}
-62 \{
-63 \textcolor{keyword}{static\_cast<}\hyperlink{class_lib_home_screen}{LibHomeScreen}*\textcolor{keyword}{>}(closure)->on\_hangup(NULL,wsj);
-64 \}
+60 \{
+61 \textcolor{keyword}{static\_cast<}\hyperlink{class_lib_home_screen}{LibHomeScreen}*\textcolor{keyword}{>}(closure)->on\_hangup(NULL,wsj);
+62 \}
\end{DoxyCode}
\mbox{\Hypertarget{libhomescreen_8cpp_a7778933bffa862c63fa0a1b8219faa8b}\label{libhomescreen_8cpp_a7778933bffa862c63fa0a1b8219faa8b}}
\index{libhomescreen.\+cpp@{libhomescreen.\+cpp}!\+\_\+on\+\_\+reply\+\_\+static@{\+\_\+on\+\_\+reply\+\_\+static}}
@@ -172,13 +93,13 @@ Definition at line 61 of file libhomescreen.\+cpp.
-Definition at line 76 of file libhomescreen.\+cpp.
+Definition at line 74 of file libhomescreen.\+cpp.
\begin{DoxyCode}
-77 \{
-78 \textcolor{keyword}{static\_cast<}\hyperlink{class_lib_home_screen}{LibHomeScreen}*\textcolor{keyword}{>}(closure)->on\_reply(NULL,msg);
-79 \}
+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}}
@@ -188,16 +109,16 @@ Definition at line 76 of file libhomescreen.\+cpp.
-Definition at line 204 of file libhomescreen.\+cpp.
+Definition at line 201 of file libhomescreen.\+cpp.
\begin{DoxyCode}
-205 \{
-206 \textcolor{keyword}{struct }sd\_event* loop = (\textcolor{keyword}{struct }sd\_event*)(args);
-207 \hyperlink{libhomescreen_8cpp_a4e42b2f5af2174dd24f958351becf63d}{DLOG}(\textcolor{stringliteral}{"start eventloop"});
-208 \textcolor{keywordflow}{for}(;;)
-209 sd\_event\_run(loop, 30000000);
-210 \}
+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 \}
\end{DoxyCode}
\mbox{\Hypertarget{libhomescreen_8cpp_a7a2176c3d71fec0f09dcb2aa0866b17e}\label{libhomescreen_8cpp_a7a2176c3d71fec0f09dcb2aa0866b17e}}
\index{libhomescreen.\+cpp@{libhomescreen.\+cpp}!has\+\_\+verb@{has\+\_\+verb}}
@@ -207,19 +128,19 @@ Definition at line 204 of file libhomescreen.\+cpp.
-Definition at line 557 of file libhomescreen.\+cpp.
+Definition at line 518 of file libhomescreen.\+cpp.
\begin{DoxyCode}
-558 \{
-559 \hyperlink{libhomescreen_8cpp_a4e42b2f5af2174dd24f958351becf63d}{DLOG}(\textcolor{stringliteral}{"verb is %s"}, verb.c\_str());
-560 \textcolor{keywordflow}{if}(find(\hyperlink{class_lib_home_screen_a5593ff5ac78f6495ccb649904cf0ab08}{LibHomeScreen::api\_list}.begin(),
+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(),
\hyperlink{class_lib_home_screen_a5593ff5ac78f6495ccb649904cf0ab08}{LibHomeScreen::api\_list}.end(), verb) !=
\hyperlink{class_lib_home_screen_a5593ff5ac78f6495ccb649904cf0ab08}{LibHomeScreen::api\_list}.end())
-561 \textcolor{keywordflow}{return} \textcolor{keyword}{true};
-562 \textcolor{keywordflow}{else}
-563 \textcolor{keywordflow}{return} \textcolor{keyword}{false};
-564 \}
+522 \textcolor{keywordflow}{return} \textcolor{keyword}{true};
+523 \textcolor{keywordflow}{else}
+524 \textcolor{keywordflow}{return} \textcolor{keyword}{false};
+525 \}
\end{DoxyCode}
@@ -232,5 +153,5 @@ Definition at line 557 of file libhomescreen.\+cpp.
-Definition at line 40 of file libhomescreen.\+cpp.
+Definition at line 36 of file libhomescreen.\+cpp.
diff --git a/doc/api-ref/latex/d3/d3d/hs-helper_8h.tex b/doc/api-ref/latex/d3/d3d/hs-helper_8h.tex
index 3cd4498..d6e9808 100644
--- a/doc/api-ref/latex/d3/d3d/hs-helper_8h.tex
+++ b/doc/api-ref/latex/d3/d3d/hs-helper_8h.tex
@@ -1,9 +1,10 @@
-\hypertarget{hs-helper_8h}{}\section{homescreen\+\_\+service/hs-\/helper.h File Reference}
-\label{hs-helper_8h}\index{homescreen\+\_\+service/hs-\/helper.\+h@{homescreen\+\_\+service/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
\subsection*{Macros}
\begin{DoxyCompactItemize}
\item
@@ -96,16 +97,16 @@ O\+U\+T\+\_\+\+R\+A\+N\+GE&\\
\end{DoxyEnumFields}
-Definition at line 25 of file hs-\/helper.\+h.
+Definition at line 26 of file hs-\/helper.\+h.
\begin{DoxyCode}
-26 \{
-27 \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1}{REQ\_FAIL} = -1,
-28 \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee}{REQ\_OK}=0,
-29 \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a}{NOT\_NUMBER},
-30 \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b}{OUT\_RANGE}
-31 \}\hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899}{REQ\_ERROR};
+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};
\end{DoxyCode}
@@ -334,10 +335,11 @@ Definition at line 142 of file hs-\/helper.\+c.
= \{
\textcolor{stringliteral}{"tap\_shortcut"},
\textcolor{stringliteral}{"on\_screen\_message"},
+ \textcolor{stringliteral}{"on\_screen\_reply"},
\textcolor{stringliteral}{"reserved"}
\}
\end{DoxyCode}
-Definition at line 33 of file hs-\/helper.\+h.
+Definition at line 34 of file hs-\/helper.\+h.
diff --git a/doc/api-ref/latex/dd/d1d/hs-helper_8c.tex b/doc/api-ref/latex/dd/d1d/hs-helper_8c.tex
index 74c26fb..407da09 100644
--- a/doc/api-ref/latex/dd/d1d/hs-helper_8c.tex
+++ b/doc/api-ref/latex/dd/d1d/hs-helper_8c.tex
@@ -1,5 +1,5 @@
-\hypertarget{hs-helper_8c}{}\section{homescreen\+\_\+service/hs-\/helper.c File Reference}
-\label{hs-helper_8c}\index{homescreen\+\_\+service/hs-\/helper.\+c@{homescreen\+\_\+service/hs-\/helper.\+c}}
+\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
diff --git a/doc/api-ref/latex/de/dd0/class_lib_home_screen.tex b/doc/api-ref/latex/de/dd0/class_lib_home_screen.tex
index 5dba568..ce14de7 100644
--- a/doc/api-ref/latex/de/dd0/class_lib_home_screen.tex
+++ b/doc/api-ref/latex/de/dd0/class_lib_home_screen.tex
@@ -8,10 +8,11 @@
\begin{DoxyCompactItemize}
\item
enum \hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154}{Event\+Type} \{ \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}
\}
\item
-using \hyperlink{class_lib_home_screen_ae99dee1e03d494d59d26c9f17078e01f}{handler\+\_\+func} = std\+::function$<$ void(const char $\ast$)$>$
+using \hyperlink{class_lib_home_screen_a334f11f81c84c98d18284215dcaada3a}{handler\+\_\+func} = std\+::function$<$ void(json\+\_\+object $\ast$)$>$
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
@@ -26,13 +27,13 @@ using \hyperlink{class_lib_home_screen_ae99dee1e03d494d59d26c9f17078e01f}{handle
\item
int \hyperlink{class_lib_home_screen_a6a57b573cc767725762ba9beab032220}{init} (const int port, const std\+::string \&token)
\item
-int \hyperlink{class_lib_home_screen_a32d3282898d0f04151c24b4103511e00}{run\+Eventloop} ()
-\item
int \hyperlink{class_lib_home_screen_afb571c9577087b47065eb23e7fdbc903}{tap\+Shortcut} (const char $\ast$application\+\_\+name)
\item
int \hyperlink{class_lib_home_screen_ac336482036a72b51a822725f1929523c}{on\+Screen\+Message} (const char $\ast$display\+\_\+message)
\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_ae99dee1e03d494d59d26c9f17078e01f}{handler\+\_\+func} f)
+int \hyperlink{class_lib_home_screen_a6c065f41f2c5d1f58d2763bfb4da9c37}{on\+Screen\+Reply} (const char $\ast$reply\+\_\+message)
+\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)
\item
@@ -69,15 +70,15 @@ Definition at line 32 of file libhomescreen.\+hpp.
\subsection{Member Typedef Documentation}
-\mbox{\Hypertarget{class_lib_home_screen_ae99dee1e03d494d59d26c9f17078e01f}\label{class_lib_home_screen_ae99dee1e03d494d59d26c9f17078e01f}}
+\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}}
\subsubsection{\texorpdfstring{handler\+\_\+func}{handler\_func}}
-{\footnotesize\ttfamily using \hyperlink{class_lib_home_screen_ae99dee1e03d494d59d26c9f17078e01f}{Lib\+Home\+Screen\+::handler\+\_\+func} = std\+::function$<$void(const char$\ast$)$>$}
+{\footnotesize\ttfamily using \hyperlink{class_lib_home_screen_a334f11f81c84c98d18284215dcaada3a}{Lib\+Home\+Screen\+::handler\+\_\+func} = std\+::function$<$void(json\+\_\+object$\ast$)$>$}
-Definition at line 41 of file libhomescreen.\+hpp.
+Definition at line 42 of file libhomescreen.\+hpp.
@@ -97,17 +98,22 @@ Event\+\_\+\+Tap\+Shortcut&\\
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 43 of file libhomescreen.\+hpp.
+Definition at line 44 of file libhomescreen.\+hpp.
\begin{DoxyCode}
-43 \{
-44 \hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f}{Event\_TapShortcut} = 1,
-45 \hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d}{Event\_OnScreenMessage}
-46 \};
+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 \};
\end{DoxyCode}
@@ -120,13 +126,12 @@ Definition at line 43 of file libhomescreen.\+hpp.
constructor
-Definition at line 85 of file libhomescreen.\+cpp.
+Definition at line 83 of file libhomescreen.\+cpp.
\begin{DoxyCode}
-86 \{
-87
-88 \}
+84 \{
+85 \}
\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}}
@@ -136,20 +141,20 @@ Definition at line 85 of file libhomescreen.\+cpp.
destructor
-Definition at line 93 of file libhomescreen.\+cpp.
+Definition at line 90 of file libhomescreen.\+cpp.
\begin{DoxyCode}
-94 \{
-95 \textcolor{keywordflow}{if}(mploop)
-96 \{
-97 sd\_event\_unref(mploop);
-98 \}
-99 \textcolor{keywordflow}{if}(sp\_websock != NULL)
-100 \{
-101 free(sp\_websock);
-102 \}
-103 \}
+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 \}
\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}}
@@ -193,27 +198,27 @@ 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.
-Definition at line 369 of file libhomescreen.\+cpp.
+Definition at line 360 of file libhomescreen.\+cpp.
\begin{DoxyCode}
-370 \{
-371 \textcolor{keywordtype}{int} ret;
-372 \textcolor{keywordflow}{if}(!sp\_websock)
-373 \{
-374 \textcolor{keywordflow}{return} -1;
+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}{if} (!\hyperlink{libhomescreen_8cpp_a7a2176c3d71fec0f09dcb2aa0866b17e}{has\_verb}(\textcolor{keywordtype}{string}(verb)))
-377 \{
-378 \hyperlink{libhomescreen_8cpp_a797aa3053bd6a29819d44f8fad8a5eca}{ELOG}(\textcolor{stringliteral}{"verb doesn't exit"});
-379 \textcolor{keywordflow}{return} -1;
-380 \}
-381 ret = afb\_wsj1\_call\_j(sp\_websock, \hyperlink{libhomescreen_8cpp_a1e2d6e77dd8f0162f830058579eab42f}{API}, verb, arg, \hyperlink{libhomescreen_8cpp_a7778933bffa862c63fa0a1b8219faa8b}{\_on\_reply\_static}, \textcolor{keyword}{this});
-382 \textcolor{keywordflow}{if} (ret < 0) \{
-383 \hyperlink{libhomescreen_8cpp_a797aa3053bd6a29819d44f8fad8a5eca}{ELOG}(\textcolor{stringliteral}{"Failed to call verb:%s"},verb);
-384 \}
-385 \textcolor{keywordflow}{return} ret;
-386 \}
+376 \textcolor{keywordflow}{return} ret;
+377 \}
\end{DoxyCode}
\mbox{\Hypertarget{class_lib_home_screen_a6a57b573cc767725762ba9beab032220}\label{class_lib_home_screen_a6a57b573cc767725762ba9beab032220}}
\index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!init@{init}}
@@ -239,33 +244,33 @@ Nothing
Use this constructor
-Definition at line 119 of file libhomescreen.\+cpp.
+Definition at line 116 of file libhomescreen.\+cpp.
\begin{DoxyCode}
-120 \{
-121 \textcolor{keywordtype}{int} ret = 0;
-122 \textcolor{keywordflow}{if}(port > 0 && token.size() > 0)
-123 \{
-124 mport = port;
-125 mtoken = token;
-126 \}
-127 \textcolor{keywordflow}{else}
-128 \{
-129 \hyperlink{libhomescreen_8cpp_a797aa3053bd6a29819d44f8fad8a5eca}{ELOG}(\textcolor{stringliteral}{"port and token should be > 0, Initial port and token uses."});
-130 \}
-131
-132 ret = initialize\_websocket();
-133 \textcolor{keywordflow}{if}(ret != 0 )
-134 \{
-135 \hyperlink{libhomescreen_8cpp_a797aa3053bd6a29819d44f8fad8a5eca}{ELOG}(\textcolor{stringliteral}{"Failed to initialize websocket"});
+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"});
+133 \}
+134 \textcolor{keywordflow}{else}\{
+135 \hyperlink{hmi-debug_8h_a0d26d8b8201011dade787236519711c0}{HMI\_DEBUG}(\textcolor{stringliteral}{"libhomescreen"},\textcolor{stringliteral}{"Initialized"});
136 \}
-137 \textcolor{keywordflow}{else}\{
-138 \hyperlink{libhomescreen_8cpp_a4e42b2f5af2174dd24f958351becf63d}{DLOG}(\textcolor{stringliteral}{"Initialized"});
-139 \}
-140
-141 \textcolor{keywordflow}{return} ret;
-142 \}
+137
+138 \textcolor{keywordflow}{return} ret;
+139 \}
\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}}
@@ -275,12 +280,12 @@ Definition at line 119 of file libhomescreen.\+cpp.
-Definition at line 457 of file libhomescreen.\+cpp.
+Definition at line 448 of file libhomescreen.\+cpp.
\begin{DoxyCode}
-458 \{
-459 \}
+449 \{
+450 \}
\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}}
@@ -290,56 +295,52 @@ Definition at line 457 of file libhomescreen.\+cpp.
-Definition at line 467 of file libhomescreen.\+cpp.
+Definition at line 458 of file libhomescreen.\+cpp.
\begin{DoxyCode}
-468 \{
-469 cout << \textcolor{stringliteral}{"[libhomescreen on\_event]: "} << \textcolor{keyword}{event} << \textcolor{stringliteral}{" ("} << afb\_wsj1\_msg\_object\_s(msg) << \textcolor{stringliteral}{")"} << endl;
-470
-471 \textcolor{keywordflow}{if} (strstr(\hyperlink{structevent}{event}, \hyperlink{libhomescreen_8cpp_a1e2d6e77dd8f0162f830058579eab42f}{API}) == NULL) \{
-472 \textcolor{keywordflow}{return};
+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}{struct }json\_object* ev\_contents = afb\_wsj1\_msg\_object\_j(msg);
-476 \textcolor{keyword}{struct }json\_object *json\_data = json\_object\_object\_get(ev\_contents, \textcolor{stringliteral}{"data"});
-477
-478 \textcolor{keywordflow}{if}(onEvent != \textcolor{keyword}{nullptr})
-479 \{
-480 \textcolor{keyword}{const} \textcolor{keywordtype}{string} ev(\hyperlink{structevent}{event});
-481 onEvent(ev, ev\_contents);
-482 \}
-483
-484 \textcolor{keyword}{const} \textcolor{keywordtype}{char}* event\_only = strchr(\hyperlink{structevent}{event}, \textcolor{charliteral}{'/'});
-485 \textcolor{keywordflow}{if} (event\_only != \textcolor{keyword}{nullptr}) \{
-486 event\_only = event\_only + 1;
-487 \}
-488
-489 \textcolor{keywordflow}{if} (strcasecmp(event\_only, \hyperlink{class_lib_home_screen_a6a6d8a4d33a006a08652e7377a4c29e9}{LibHomeScreen::event\_list}[0].c\_str()) == 0) \{
-490 \textcolor{keyword}{auto} i = this->handlers.find(\hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f}{Event\_TapShortcut});
-491
-492 \textcolor{keyword}{struct }json\_object *json\_application\_name = json\_object\_object\_get(json\_data, \textcolor{stringliteral}{"application\_name"});
-493 \textcolor{keyword}{const} \textcolor{keywordtype}{char}* application\_name = json\_object\_get\_string(json\_application\_name);
-494
-495 \textcolor{keywordflow}{if} ( i != this->handlers.end() ) \{
-496 i->second(application\_name);
-497 \}
-498 \}
-499 \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (strcasecmp(event\_only, \hyperlink{class_lib_home_screen_a6a6d8a4d33a006a08652e7377a4c29e9}{LibHomeScreen::event\_list}[1].c\_str()) == 0) \{
-500
-501 \textcolor{keyword}{auto} i = this->handlers.find(\hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d}{Event\_OnScreenMessage});
-502
-503 \textcolor{keyword}{struct }json\_object *json\_display\_message = json\_object\_object\_get(json\_data, \textcolor{stringliteral}{"display\_message"});
-504 \textcolor{keyword}{const} \textcolor{keywordtype}{char}* display\_message = json\_object\_get\_string(json\_display\_message);
-505
-506 \textcolor{keywordflow}{if} ( i != this->handlers.end() ) \{
-507 i->second(display\_message);
-508 \}
-509
-510 \}
-511
-512 json\_object\_put(ev\_contents);
-513 \}
+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 \}
\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}}
@@ -349,17 +350,17 @@ Definition at line 467 of file libhomescreen.\+cpp.
-Definition at line 448 of file libhomescreen.\+cpp.
+Definition at line 439 of file libhomescreen.\+cpp.
\begin{DoxyCode}
-449 \{
-450 \hyperlink{libhomescreen_8cpp_a4e42b2f5af2174dd24f958351becf63d}{DLOG}(\textcolor{stringliteral}{"%s called"}, \_\_FUNCTION\_\_);
-451 \textcolor{keywordflow}{if}(onHangup != \textcolor{keyword}{nullptr})
-452 \{
-453 onHangup();
-454 \}
-455 \}
+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 \}
\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}}
@@ -369,20 +370,20 @@ Definition at line 448 of file libhomescreen.\+cpp.
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 519 of file libhomescreen.\+cpp.
+Definition at line 506 of file libhomescreen.\+cpp.
\begin{DoxyCode}
-520 \{
-521 cout << \textcolor{stringliteral}{"[libhomescreen on\_reply]: "} << \textcolor{stringliteral}{" ("} << afb\_wsj1\_msg\_object\_s(msg) << \textcolor{stringliteral}{")"} << endl;
-522 \textcolor{keywordflow}{if}(onReply != \textcolor{keyword}{nullptr})
-523 \{
-524 \textcolor{keyword}{struct }json\_object* reply = afb\_wsj1\_msg\_object\_j(msg);
-525 onReply(reply);
-526
-527 json\_object\_put(reply);
-528 \}
-529 \}
+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 \}
\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}}
@@ -390,15 +391,55 @@ Definition at line 519 of file libhomescreen.\+cpp.
\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})}
-Home\+Screenアプリに表示するメッセージイベントの発行
+Sending on\+Screen message event
+
+Sending On\+Screen message event to Home\+Screen from applications
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item display\+\_\+message \mbox{[}in\mbox{]} \+: message for display
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+
+\begin{DoxyItemize}
+\item Returns 0 on success or -\/1 in case of error.
+\end{DoxyItemize}
+
+Definition at line 244 of file libhomescreen.\+cpp.
-各アプリから\+Home\+Screenアプリケーションの\+On\+Screenに表示するイベントを発行する
+
+\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 \}
+\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}}
+\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})}
+
+Sending on\+Screen reply event
+
+Sending On\+Screen reply event to applications from Home\+Screen
\subparagraph*{Parameters}
\begin{DoxyItemize}
-\item display\+\_\+message \mbox{[}in\mbox{]} \+: 表示するメッセージ
+\item reply\+\_\+message \mbox{[}in\mbox{]} \+: message for reply
\end{DoxyItemize}
\subparagraph*{Return}
@@ -408,21 +449,21 @@ Home\+Screenアプリに表示するメッセージイベントの発行
\item Returns 0 on success or -\/1 in case of error.
\end{DoxyItemize}
-Definition at line 280 of file libhomescreen.\+cpp.
+Definition at line 268 of file libhomescreen.\+cpp.
\begin{DoxyCode}
-281 \{
-282 \textcolor{keywordflow}{if}(!sp\_websock)
-283 \{
-284 \textcolor{keywordflow}{return} -1;
-285 \}
-286
-287 \textcolor{keyword}{struct }json\_object* j\_obj = json\_object\_new\_object();
-288 \textcolor{keyword}{struct }json\_object* val = json\_object\_new\_string(display\_message);
-289 json\_object\_object\_add(j\_obj, \textcolor{stringliteral}{"display\_message"}, val);
-290 \textcolor{keywordflow}{return} this->\hyperlink{class_lib_home_screen_a527b49dcfe581be6275d0eb2236ba37f}{call}(\textcolor{stringliteral}{"on\_screen\_message"}, j\_obj);
-291 \}
+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 \}
\end{DoxyCode}
\mbox{\Hypertarget{class_lib_home_screen_a23bc17798453cfca50904562736f6b25}\label{class_lib_home_screen_a23bc17798453cfca50904562736f6b25}}
\index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!operator=@{operator=}}
@@ -454,101 +495,59 @@ 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
-Definition at line 158 of file libhomescreen.\+cpp.
-
-
-\begin{DoxyCode}
-162 \{
-163 onEvent = event\_cb;
-164 onReply = reply\_cb;
-165 onHangup = hangup\_cb;
-166 \}
-\end{DoxyCode}
-\mbox{\Hypertarget{class_lib_home_screen_a32d3282898d0f04151c24b4103511e00}\label{class_lib_home_screen_a32d3282898d0f04151c24b4103511e00}}
-\index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!run\+Eventloop@{run\+Eventloop}}
-\index{run\+Eventloop@{run\+Eventloop}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
-\subsubsection{\texorpdfstring{run\+Eventloop()}{runEventloop()}}
-{\footnotesize\ttfamily int Lib\+Home\+Screen\+::run\+Eventloop (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
-
-This function start receiving the reply/event message from home screen
-
-\subparagraph*{Parameters}
-
-Nothing
-
-\subparagraph*{Return}
-
-
-\begin{DoxyItemize}
-\item Returns thread\+\_\+id on success or -\/1 in case of error.
-\end{DoxyItemize}
-
-\subparagraph*{Note}
-
-Definition at line 224 of file libhomescreen.\+cpp.
+Definition at line 155 of file libhomescreen.\+cpp.
\begin{DoxyCode}
-225 \{
-226 \textcolor{keywordflow}{if}(mploop && sp\_websock)
-227 \{
-228 pthread\_t thread\_id;
-229 \textcolor{keywordtype}{int} ret = pthread\_create(&thread\_id, NULL, \hyperlink{libhomescreen_8cpp_aa73353e1bf62c68b6b0aba7a1e4e275e}{event\_loop\_run}, mploop);
-230 \textcolor{keywordflow}{if}(ret != 0)
-231 \{
-232 \hyperlink{libhomescreen_8cpp_a797aa3053bd6a29819d44f8fad8a5eca}{ELOG}(\textcolor{stringliteral}{"Cannot run eventloop due to error:%d"}, errno);
-233 \textcolor{keywordflow}{return} -1;
-234 \}
-235 \textcolor{keywordflow}{else}
-236 \textcolor{keywordflow}{return} thread\_id;
-237 \}
-238 \textcolor{keywordflow}{else}
-239 \{
-240 \hyperlink{libhomescreen_8cpp_a797aa3053bd6a29819d44f8fad8a5eca}{ELOG}(\textcolor{stringliteral}{"Connecting is not established yet"});
-241 \textcolor{keywordflow}{return} -1;
-242 \}
-243 \}
+159 \{
+160 onEvent = event\_cb;
+161 onReply = reply\_cb;
+162 onHangup = hangup\_cb;
+163 \}
\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}}
\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_ae99dee1e03d494d59d26c9f17078e01f}{handler\+\_\+func}}]{f }\end{DoxyParamCaption})}
+{\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})}
-イベントハンドラの登録
+Setting Event Handler
-各アプリから\+Home\+Screenアプリケーションの\+On\+Screenに表示するイベントを発行する
+Setting event handler for Homescreen
\subparagraph*{Parameters}
\begin{DoxyItemize}
-\item et \mbox{[}in\mbox{]} \+: 対象のイベント
-\item f \mbox{[}in\mbox{]} \+: イベントハンドラ
+\item et \mbox{[}in\mbox{]} \+: event name
+\item f \mbox{[}in\mbox{]} \+: event handler
\end{DoxyItemize}
\subparagraph*{Return}
Nothing
-Definition at line 305 of file libhomescreen.\+cpp.
+Definition at line 293 of file libhomescreen.\+cpp.
\begin{DoxyCode}
-306 \{
-307 \textcolor{keywordflow}{if} (et >= 1 && et <= 2) \{
-308 \textcolor{keywordflow}{switch} (et) \{
-309 \textcolor{keywordflow}{case} \hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f}{Event\_TapShortcut}:
-310 this->\hyperlink{class_lib_home_screen_aa4c189807b75d070f567967f0d690738}{subscribe}(\hyperlink{class_lib_home_screen_a6a6d8a4d33a006a08652e7377a4c29e9}{LibHomeScreen::event\_list}[0]);
-311 \textcolor{keywordflow}{break};
-312 \textcolor{keywordflow}{case} \hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d}{Event\_OnScreenMessage}:
-313 this->\hyperlink{class_lib_home_screen_aa4c189807b75d070f567967f0d690738}{subscribe}(\hyperlink{class_lib_home_screen_a6a6d8a4d33a006a08652e7377a4c29e9}{LibHomeScreen::event\_list}[1]);
-314 \textcolor{keywordflow}{break};
-315 \}
-316
-317 this->handlers[et] = std::move(f);
-318 \}
-319 \}
+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 \}
\end{DoxyCode}
\mbox{\Hypertarget{class_lib_home_screen_aa4c189807b75d070f567967f0d690738}\label{class_lib_home_screen_aa4c189807b75d070f567967f0d690738}}
\index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!subscribe@{subscribe}}
@@ -576,25 +575,25 @@ Register callback function for each event
This function enables to get an event to your callback function.
-Definition at line 401 of file libhomescreen.\+cpp.
+Definition at line 392 of file libhomescreen.\+cpp.
\begin{DoxyCode}
-402 \{
-403 \textcolor{keywordflow}{if}(!sp\_websock)
-404 \{
-405 \textcolor{keywordflow}{return} -1;
-406 \}
-407 \textcolor{keyword}{struct }json\_object* j\_obj = json\_object\_new\_object();
-408 json\_object\_object\_add(j\_obj, \textcolor{stringliteral}{"event"}, json\_object\_new\_string(event\_name.c\_str()));
-409
-410 \textcolor{keywordtype}{int} ret = afb\_wsj1\_call\_j(sp\_websock, \hyperlink{libhomescreen_8cpp_a1e2d6e77dd8f0162f830058579eab42f}{API}, \textcolor{stringliteral}{"subscribe"}, j\_obj,
+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,
\hyperlink{libhomescreen_8cpp_a7778933bffa862c63fa0a1b8219faa8b}{\_on\_reply\_static}, \textcolor{keyword}{this});
-411 \textcolor{keywordflow}{if} (ret < 0) \{
-412 \hyperlink{libhomescreen_8cpp_a797aa3053bd6a29819d44f8fad8a5eca}{ELOG}(\textcolor{stringliteral}{"Failed to call verb:%s"},\_\_FUNCTION\_\_);
-413 \}
-414 \textcolor{keywordflow}{return} ret;
-415 \}
+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 \}
\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}}
@@ -602,15 +601,15 @@ Definition at line 401 of file libhomescreen.\+cpp.
\subsubsection{\texorpdfstring{tap\+Shortcut()}{tapShortcut()}}
{\footnotesize\ttfamily int Lib\+Home\+Screen\+::tap\+Shortcut (\begin{DoxyParamCaption}\item[{const char $\ast$}]{application\+\_\+name }\end{DoxyParamCaption})}
-ショートカットアイコンがタップされたイベントの発行
+Sending Short\+Cut Icon tapped event
-Home\+Screenアプリケーションにて各アプリアイコンがタップされたときにイベントを発行する
+When Home\+Screen shortcut area is tapped, sending a event
\subparagraph*{Parameters}
\begin{DoxyItemize}
-\item application\+\_\+name \mbox{[}in\mbox{]} \+: タップされたアプリケーションの名前(label)
+\item application\+\_\+name \mbox{[}in\mbox{]} \+: Tapped application name (label)
\end{DoxyItemize}
\subparagraph*{Return}
@@ -620,21 +619,21 @@ Home\+Screenアプリケーションにて各アプリアイコンがタップ
\item Returns 0 on success or -\/1 in case of error.
\end{DoxyItemize}
-Definition at line 256 of file libhomescreen.\+cpp.
+Definition at line 220 of file libhomescreen.\+cpp.
\begin{DoxyCode}
-257 \{
-258 \textcolor{keywordflow}{if}(!sp\_websock)
-259 \{
-260 \textcolor{keywordflow}{return} -1;
-261 \}
-262
-263 \textcolor{keyword}{struct }json\_object* j\_obj = json\_object\_new\_object();
-264 \textcolor{keyword}{struct }json\_object* val = json\_object\_new\_string(application\_name);
-265 json\_object\_object\_add(j\_obj, \textcolor{stringliteral}{"application\_name"}, val);
-266 \textcolor{keywordflow}{return} this->\hyperlink{class_lib_home_screen_a527b49dcfe581be6275d0eb2236ba37f}{call}(\textcolor{stringliteral}{"tap\_shortcut"}, j\_obj);
-267 \}
+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 \}
\end{DoxyCode}
\mbox{\Hypertarget{class_lib_home_screen_aac03a45cbd453ba69ddb00c1016930a6}\label{class_lib_home_screen_aac03a45cbd453ba69ddb00c1016930a6}}
\index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!unsubscribe@{unsubscribe}}
@@ -662,25 +661,25 @@ Unregister callback function for each event
This function disables to get an event to your callback function.
-Definition at line 430 of file libhomescreen.\+cpp.
+Definition at line 421 of file libhomescreen.\+cpp.
\begin{DoxyCode}
-431 \{
-432 \textcolor{keywordflow}{if}(!sp\_websock)
-433 \{
-434 \textcolor{keywordflow}{return} -1;
-435 \}
-436 \textcolor{keyword}{struct }json\_object* j\_obj = json\_object\_new\_object();
-437 json\_object\_object\_add(j\_obj, \textcolor{stringliteral}{"event"}, json\_object\_new\_string(event\_name.c\_str()));
-438
-439 \textcolor{keywordtype}{int} ret = afb\_wsj1\_call\_j(sp\_websock, \hyperlink{libhomescreen_8cpp_a1e2d6e77dd8f0162f830058579eab42f}{API}, \textcolor{stringliteral}{"unsubscribe"}, j\_obj,
+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,
\hyperlink{libhomescreen_8cpp_a7778933bffa862c63fa0a1b8219faa8b}{\_on\_reply\_static}, \textcolor{keyword}{this});
-440 \textcolor{keywordflow}{if} (ret < 0) \{
-441 \hyperlink{libhomescreen_8cpp_a797aa3053bd6a29819d44f8fad8a5eca}{ELOG}(\textcolor{stringliteral}{"Failed to call verb:%s"},\_\_FUNCTION\_\_);
-442 \}
-443 \textcolor{keywordflow}{return} ret;
-444 \}
+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 \}
\end{DoxyCode}
@@ -697,13 +696,14 @@ Definition at line 430 of file libhomescreen.\+cpp.
std::string(\textcolor{stringliteral}{"ping"}),
std::string(\textcolor{stringliteral}{"tap\_shortcut"}),
std::string(\textcolor{stringliteral}{"on\_screen\_message"}),
+ std::string(\textcolor{stringliteral}{"on\_screen\_reply"}),
std::string(\textcolor{stringliteral}{"subscribe"}),
std::string(\textcolor{stringliteral}{"unsubscribe"})
\}
\end{DoxyCode}
-Definition at line 48 of file libhomescreen.\+hpp.
+Definition at line 50 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}}
@@ -716,16 +716,17 @@ Definition at line 48 of file libhomescreen.\+hpp.
\{
std::string(\textcolor{stringliteral}{"tap\_shortcut"}),
std::string(\textcolor{stringliteral}{"on\_screen\_message"}),
+ std::string(\textcolor{stringliteral}{"on\_screen\_reply"}),
std::string(\textcolor{stringliteral}{"none"})
\}
\end{DoxyCode}
-Definition at line 49 of file libhomescreen.\+hpp.
+Definition at line 51 of file libhomescreen.\+hpp.
The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item
-include/libhomescreen/\hyperlink{libhomescreen_8hpp}{libhomescreen.\+hpp}\item
+include/\hyperlink{libhomescreen_8hpp}{libhomescreen.\+hpp}\item
libhomescreen/\hyperlink{libhomescreen_8cpp}{libhomescreen.\+cpp}\end{DoxyCompactItemize}
diff --git a/doc/api-ref/latex/df/d43/libhomescreen_8hpp.tex b/doc/api-ref/latex/df/d43/libhomescreen_8hpp.tex
index aa4b996..a88a588 100644
--- a/doc/api-ref/latex/df/d43/libhomescreen_8hpp.tex
+++ b/doc/api-ref/latex/df/d43/libhomescreen_8hpp.tex
@@ -1,5 +1,5 @@
\hypertarget{libhomescreen_8hpp}{}\section{include/libhomescreen.hpp File Reference}
-\label{libhomescreen_8hpp}\index{include/libhomescreen/libhomescreen.\+hpp@{include/libhomescreen/libhomescreen.\+hpp}}
+\label{libhomescreen_8hpp}\index{include/libhomescreen.\+hpp@{include/libhomescreen.\+hpp}}
{\ttfamily \#include $<$vector$>$}\newline
{\ttfamily \#include $<$map$>$}\newline
{\ttfamily \#include $<$string$>$}\newline
diff --git a/doc/api-ref/latex/df/d76/hmi-debug_8h.tex b/doc/api-ref/latex/df/d76/hmi-debug_8h.tex
new file mode 100644
index 0000000..4f5a64c
--- /dev/null
+++ b/doc/api-ref/latex/df/d76/hmi-debug_8h.tex
@@ -0,0 +1,202 @@
+\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
index 5eb6636..d33a2da 100644
--- a/doc/api-ref/latex/df/d7d/structevent.tex
+++ b/doc/api-ref/latex/df/d7d/structevent.tex
@@ -41,4 +41,4 @@ Definition at line 36 of file homescreen.\+c.
The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
\item
-homescreen\+\_\+service/\hyperlink{homescreen_8c}{homescreen.\+c}\end{DoxyCompactItemize}
+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
index cbc5bce..92ef1df 100644
--- a/doc/api-ref/latex/df/dac/test_8cpp.tex
+++ b/doc/api-ref/latex/df/dac/test_8cpp.tex
@@ -1,6 +1,6 @@
\hypertarget{test_8cpp}{}\section{libhomescreen/test.cpp File Reference}
\label{test_8cpp}\index{libhomescreen/test.\+cpp@{libhomescreen/test.\+cpp}}
-{\ttfamily \#include $<$libhomescreen/libhomescreen.\+hpp$>$}\newline
+{\ttfamily \#include $<$libhomescreen.\+hpp$>$}\newline
{\ttfamily \#include $<$iostream$>$}\newline
{\ttfamily \#include $<$glib-\/2.\+0/glib.\+h$>$}\newline
{\ttfamily \#include $<$fcntl.\+h$>$}\newline
@@ -143,26 +143,35 @@ Definition at line 117 of file test.\+cpp.
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}
- , [](\textcolor{keyword}{const} \textcolor{keywordtype}{char}* application\_name)\{
-163 cout << \textcolor{stringliteral}{"set\_event\_handler Event\_TapShortcut application\_name = "} << application\_name << endl;
-164 \});
-165
-166 \hyperlink{test_8cpp_a529acbd1fed9d98a587edfa62309fa8d}{hs}->\hyperlink{class_lib_home_screen_ab1b0e08bf35415de9064afed899e9f85}{set\_event\_handler}(\hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d}{LibHomeScreen::Event\_OnScreenMessage}
- , [](\textcolor{keyword}{const} \textcolor{keywordtype}{char}* display\_message)\{
-167 cout << \textcolor{stringliteral}{"set\_event\_handler Event\_OnScreenMessage display\_message = "} << display\_message << endl;
-168 \});
-169
-170
-171 \textcolor{keywordflow}{if} (ret < 0) \{
-172 printf(\textcolor{stringliteral}{"failed to create event loop"});
-173 \textcolor{keywordflow}{return} -1;
-174 \}
-175 \hyperlink{test_8cpp_a529acbd1fed9d98a587edfa62309fa8d}{hs}->\hyperlink{class_lib_home_screen_a32d3282898d0f04151c24b4103511e00}{runEventloop}();
-176
-177 \hyperlink{test_8cpp_aa9b3c43c212b49edee82ac30a11aa255}{call\_test}();
-178
-179 \textcolor{keywordflow}{return} 0;
-180 \}
+ , [](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}}
diff --git a/doc/api-ref/latex/dir_68267d1309a1af8e8297ef4c3efbcdba.tex b/doc/api-ref/latex/dir_68267d1309a1af8e8297ef4c3efbcdba.tex
new file mode 100644
index 0000000..4a60c25
--- /dev/null
+++ b/doc/api-ref/latex/dir_68267d1309a1af8e8297ef4c3efbcdba.tex
@@ -0,0 +1,11 @@
+\hypertarget{dir_68267d1309a1af8e8297ef4c3efbcdba}{}\section{src Directory Reference}
+\label{dir_68267d1309a1af8e8297ef4c3efbcdba}\index{src Directory Reference@{src 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}
diff --git a/doc/api-ref/latex/dir_d44c64559bbebec7f509842c48db8b23.tex b/doc/api-ref/latex/dir_d44c64559bbebec7f509842c48db8b23.tex
index ab82131..c00f852 100644
--- a/doc/api-ref/latex/dir_d44c64559bbebec7f509842c48db8b23.tex
+++ b/doc/api-ref/latex/dir_d44c64559bbebec7f509842c48db8b23.tex
@@ -1,7 +1,9 @@
\hypertarget{dir_d44c64559bbebec7f509842c48db8b23}{}\section{include Directory Reference}
\label{dir_d44c64559bbebec7f509842c48db8b23}\index{include Directory Reference@{include Directory Reference}}
-\subsection*{Directories}
+\subsection*{Files}
\begin{DoxyCompactItemize}
\item
-directory \hyperlink{dir_0f70dc74e67ded1ed6ea12b5a24cac83}{libhomescreen}
+file \hyperlink{hmi-debug_8h}{hmi-\/debug.\+h}
+\item
+file \hyperlink{libhomescreen_8hpp}{libhomescreen.\+hpp}
\end{DoxyCompactItemize}
diff --git a/doc/api-ref/latex/files.tex b/doc/api-ref/latex/files.tex
index d076b5a..d348dbe 100644
--- a/doc/api-ref/latex/files.tex
+++ b/doc/api-ref/latex/files.tex
@@ -1,9 +1,10 @@
\section{File List}
Here is a list of all files with brief descriptions\+:\begin{DoxyCompactList}
-\item\contentsline{section}{homescreen\+\_\+service/\hyperlink{homescreen_8c}{homescreen.\+c} }{\pageref{homescreen_8c}}{}
-\item\contentsline{section}{homescreen\+\_\+service/\hyperlink{hs-helper_8c}{hs-\/helper.\+c} }{\pageref{hs-helper_8c}}{}
-\item\contentsline{section}{homescreen\+\_\+service/\hyperlink{hs-helper_8h}{hs-\/helper.\+h} }{\pageref{hs-helper_8h}}{}
-\item\contentsline{section}{include/libhomescreen/\hyperlink{libhomescreen_8hpp}{libhomescreen.\+hpp} }{\pageref{libhomescreen_8hpp}}{}
+\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}}{}
\end{DoxyCompactList}
diff --git a/doc/api-ref/latex/refman.tex b/doc/api-ref/latex/refman.tex
index 2a03ade..1559bf7 100644
--- a/doc/api-ref/latex/refman.tex
+++ b/doc/api-ref/latex/refman.tex
@@ -146,12 +146,13 @@
\input{df/d7d/structevent}
\input{de/dd0/class_lib_home_screen}
\chapter{File Documentation}
-\input{d0/d1e/homescreen_8c}
-\input{dd/d1d/hs-helper_8c}
-\input{d3/d3d/hs-helper_8h}
+\input{df/d76/hmi-debug_8h}
\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{d3/d3d/hs-helper_8h}
%--- End generated contents ---
% Index