summaryrefslogtreecommitdiffstats
path: root/doc/api-ref/latex/d6
diff options
context:
space:
mode:
Diffstat (limited to 'doc/api-ref/latex/d6')
-rw-r--r--doc/api-ref/latex/d6/dda/homescreen_8cpp.tex672
-rw-r--r--doc/api-ref/latex/d6/de3/structwindow.tex170
-rw-r--r--doc/api-ref/latex/d6/df5/structdisplay.tex116
-rw-r--r--doc/api-ref/latex/d6/dff/src_2hmi-debug_8h.tex242
4 files changed, 1200 insertions, 0 deletions
diff --git a/doc/api-ref/latex/d6/dda/homescreen_8cpp.tex b/doc/api-ref/latex/d6/dda/homescreen_8cpp.tex
new file mode 100644
index 0000000..4620f7b
--- /dev/null
+++ b/doc/api-ref/latex/d6/dda/homescreen_8cpp.tex
@@ -0,0 +1,672 @@
+\hypertarget{homescreen_8cpp}{}\section{src/homescreen.cpp File Reference}
+\label{homescreen_8cpp}\index{src/homescreen.\+cpp@{src/homescreen.\+cpp}}
+{\ttfamily \#include $<$memory$>$}\\*
+{\ttfamily \#include $<$algorithm$>$}\\*
+{\ttfamily \#include \char`\"{}hs-\/helper.\+h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}hmi-\/debug.\+h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}hs-\/clientmanager.\+h\char`\"{}}\\*
+\subsection*{Macros}
+\begin{DoxyCompactItemize}
+\item
+\#define \hyperlink{homescreen_8cpp_a369266c24eacffb87046522897a570d5}{\+\_\+\+G\+N\+U\+\_\+\+S\+O\+U\+R\+CE}
+\end{DoxyCompactItemize}
+\subsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+static void \hyperlink{homescreen_8cpp_ace65cfe6008848a3cd66581f536cc4c9}{ping\+Sample} (afb\+\_\+req\+\_\+t request)
+\item
+static void \hyperlink{homescreen_8cpp_ab8abb667377924d5c073611738febbd3}{tap\+\_\+shortcut} (afb\+\_\+req\+\_\+t request)
+\item
+static void \hyperlink{homescreen_8cpp_a0df2b60ff6cd56b53dc87b36bfee2b91}{on\+\_\+screen\+\_\+message} (afb\+\_\+req\+\_\+t request)
+\item
+static void \hyperlink{homescreen_8cpp_a7443596f6ddf459824ecd8138c681532}{on\+\_\+screen\+\_\+reply} (afb\+\_\+req\+\_\+t request)
+\item
+static void \hyperlink{homescreen_8cpp_a6e942ab2b7207d2aef9adce71a4574e8}{subscribe} (afb\+\_\+req\+\_\+t request)
+\item
+static void \hyperlink{homescreen_8cpp_a3b162ab1856a8fa4284cb2c5c35ea748}{unsubscribe} (afb\+\_\+req\+\_\+t request)
+\item
+static void \hyperlink{homescreen_8cpp_ae475c69e7ca2a539ae0fb40a82963ac1}{show\+Window} (afb\+\_\+req\+\_\+t request)
+\item
+static void \hyperlink{homescreen_8cpp_a057c380ea38cfba4e2fbccc40fc21798}{hide\+Window} (afb\+\_\+req\+\_\+t request)
+\item
+static void \hyperlink{homescreen_8cpp_a710bcc84a61e11dbd4517def2764ff95}{reply\+Show\+Window} (afb\+\_\+req\+\_\+t request)
+\item
+static void \hyperlink{homescreen_8cpp_ad96a84455e8676abb4486e48ef67b1ad}{show\+Notification} (afb\+\_\+req\+\_\+t request)
+\item
+static void \hyperlink{homescreen_8cpp_a916c8dd31373222ee2b6ef89aca91978}{show\+Information} (afb\+\_\+req\+\_\+t request)
+\item
+static int \hyperlink{homescreen_8cpp_ab3b1914acb53dcc038c1cf86c2975785}{preinit} (afb\+\_\+api\+\_\+t api)
+\item
+static int \hyperlink{homescreen_8cpp_a5d7de3437d5dcb79fa035959d95878db}{init} (afb\+\_\+api\+\_\+t api)
+\item
+static void \hyperlink{homescreen_8cpp_a60665935681c76d38b3833912109cdd3}{onevent} (afb\+\_\+api\+\_\+t api, const char $\ast$event, struct json\+\_\+object $\ast$object)
+\end{DoxyCompactItemize}
+\subsection*{Variables}
+\begin{DoxyCompactItemize}
+\item
+const char \hyperlink{homescreen_8cpp_aed1c5296a2e6d34945507a0fca17a376}{\+\_\+error} \mbox{[}$\,$\mbox{]} = \char`\"{}error\char`\"{}
+\item
+const char \hyperlink{homescreen_8cpp_a6a0e1db2562b442f8131ddf64b61d1ba}{\+\_\+application\+\_\+id} \mbox{[}$\,$\mbox{]} = \char`\"{}application\+\_\+id\char`\"{}
+\item
+const char \hyperlink{homescreen_8cpp_abfd6c1d6f316fa952b11553f8f275e92}{\+\_\+display\+\_\+message} \mbox{[}$\,$\mbox{]} = \char`\"{}display\+\_\+message\char`\"{}
+\item
+const char \hyperlink{homescreen_8cpp_a79b0f0b481161527ccb80e83da143219}{\+\_\+reply\+\_\+message} \mbox{[}$\,$\mbox{]} = \char`\"{}reply\+\_\+message\char`\"{}
+\item
+static \hyperlink{class_h_s___client_manager}{H\+S\+\_\+\+Client\+Manager} $\ast$ \hyperlink{homescreen_8cpp_a501f5bca8425de3171d46e0723f466ec}{g\+\_\+client\+\_\+manager} = \hyperlink{class_h_s___client_manager_ad86c1fea7d107d52cbf0466fb7a2658b}{H\+S\+\_\+\+Client\+Manager\+::instance}()
+\item
+static const afb\+\_\+verb\+\_\+t \hyperlink{homescreen_8cpp_a01e06b6317acebc1d5686386b15f0872}{verbs} \mbox{[}$\,$\mbox{]}
+\item
+const afb\+\_\+binding\+\_\+t \hyperlink{homescreen_8cpp_a970e7864dba290a0371534ad4961bcc5}{afb\+Binding\+Export}
+\end{DoxyCompactItemize}
+
+
+\subsection{Macro Definition Documentation}
+\index{homescreen.\+cpp@{homescreen.\+cpp}!\+\_\+\+G\+N\+U\+\_\+\+S\+O\+U\+R\+CE@{\+\_\+\+G\+N\+U\+\_\+\+S\+O\+U\+R\+CE}}
+\index{\+\_\+\+G\+N\+U\+\_\+\+S\+O\+U\+R\+CE@{\+\_\+\+G\+N\+U\+\_\+\+S\+O\+U\+R\+CE}!homescreen.\+cpp@{homescreen.\+cpp}}
+\subsubsection[{\texorpdfstring{\+\_\+\+G\+N\+U\+\_\+\+S\+O\+U\+R\+CE}{_GNU_SOURCE}}]{\setlength{\rightskip}{0pt plus 5cm}\#define \+\_\+\+G\+N\+U\+\_\+\+S\+O\+U\+R\+CE}\hypertarget{homescreen_8cpp_a369266c24eacffb87046522897a570d5}{}\label{homescreen_8cpp_a369266c24eacffb87046522897a570d5}
+
+
+Definition at line 18 of file homescreen.\+cpp.
+
+
+
+\subsection{Function Documentation}
+\index{homescreen.\+cpp@{homescreen.\+cpp}!hide\+Window@{hide\+Window}}
+\index{hide\+Window@{hide\+Window}!homescreen.\+cpp@{homescreen.\+cpp}}
+\subsubsection[{\texorpdfstring{hide\+Window(afb\+\_\+req\+\_\+t request)}{hideWindow(afb_req_t request)}}]{\setlength{\rightskip}{0pt plus 5cm}static void hide\+Window (
+\begin{DoxyParamCaption}
+\item[{afb\+\_\+req\+\_\+t}]{request}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{homescreen_8cpp_a057c380ea38cfba4e2fbccc40fc21798}{}\label{homescreen_8cpp_a057c380ea38cfba4e2fbccc40fc21798}
+hide\+Window event
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item request \+: the request
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+None
+
+Definition at line 221 of file homescreen.\+cpp.
+
+
+\begin{DoxyCode}
+222 \{
+223 \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"called."});
+224
+225 \textcolor{keywordtype}{int} ret = \hyperlink{homescreen_8cpp_a501f5bca8425de3171d46e0723f466ec}{g\_client\_manager}->\hyperlink{class_h_s___client_manager_a6195694d281a3b97b0345b96c0add1fd}{hideWindow}(request);
+226 \textcolor{keywordflow}{if} (ret != 0) \{
+227 afb\_req\_fail\_f(request, \textcolor{stringliteral}{"failed"}, \textcolor{stringliteral}{"called %s, Unknown parameter"}, \_\_FUNCTION\_\_);
+228 \textcolor{keywordflow}{return};
+229 \}
+230
+231 \textcolor{comment}{// response to HomeScreen}
+232 \textcolor{keyword}{struct }json\_object *res = json\_object\_new\_object();
+233 \hyperlink{hs-helper_8cpp_ae83604a37134e7bdee3ce4f10bb0b47a}{hs\_add\_object\_to\_json\_object\_func}(res, \_\_FUNCTION\_\_, 2,
+234 \hyperlink{homescreen_8cpp_aed1c5296a2e6d34945507a0fca17a376}{\_error}, ret);
+235 afb\_req\_success(request, res, \textcolor{stringliteral}{"afb\_event\_push event [hideWindow]"});
+236 \}
+\end{DoxyCode}
+\index{homescreen.\+cpp@{homescreen.\+cpp}!init@{init}}
+\index{init@{init}!homescreen.\+cpp@{homescreen.\+cpp}}
+\subsubsection[{\texorpdfstring{init(afb\+\_\+api\+\_\+t api)}{init(afb_api_t api)}}]{\setlength{\rightskip}{0pt plus 5cm}static int init (
+\begin{DoxyParamCaption}
+\item[{afb\+\_\+api\+\_\+t}]{api}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{homescreen_8cpp_a5d7de3437d5dcb79fa035959d95878db}{}\label{homescreen_8cpp_a5d7de3437d5dcb79fa035959d95878db}
+homescreen binding init function
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item api \+: the api serving the request
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+None
+
+Definition at line 368 of file homescreen.\+cpp.
+
+
+\begin{DoxyCode}
+369 \{
+370 \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"binding init"});
+371
+372 \hyperlink{homescreen_8cpp_a501f5bca8425de3171d46e0723f466ec}{g\_client\_manager}->\hyperlink{class_h_s___client_manager_ae0b9b18adeffca7822b060ad4ea8a7a1}{init}();
+373
+374 \textcolor{keywordflow}{return} 0;
+375 \}
+\end{DoxyCode}
+\index{homescreen.\+cpp@{homescreen.\+cpp}!on\+\_\+screen\+\_\+message@{on\+\_\+screen\+\_\+message}}
+\index{on\+\_\+screen\+\_\+message@{on\+\_\+screen\+\_\+message}!homescreen.\+cpp@{homescreen.\+cpp}}
+\subsubsection[{\texorpdfstring{on\+\_\+screen\+\_\+message(afb\+\_\+req\+\_\+t request)}{on_screen_message(afb_req_t request)}}]{\setlength{\rightskip}{0pt plus 5cm}static void on\+\_\+screen\+\_\+message (
+\begin{DoxyParamCaption}
+\item[{afb\+\_\+req\+\_\+t}]{request}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{homescreen_8cpp_a0df2b60ff6cd56b53dc87b36bfee2b91}{}\label{homescreen_8cpp_a0df2b60ff6cd56b53dc87b36bfee2b91}
+Home\+Screen On\+Screen message
+
+\subparagraph*{Parameters}
+
+Request key
+\begin{DoxyItemize}
+\item display\+\_\+message \+: message for display
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+None
+
+Definition at line 85 of file homescreen.\+cpp.
+
+
+\begin{DoxyCode}
+86 \{
+87 \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"called."});
+88
+89 \textcolor{keywordtype}{int} ret = \hyperlink{homescreen_8cpp_a501f5bca8425de3171d46e0723f466ec}{g\_client\_manager}->\hyperlink{class_h_s___client_manager_a58ce4a013d3694265dd69f481bf88510}{on\_screen\_message}(request);
+90 \textcolor{keywordflow}{if} (ret != 0) \{
+91 afb\_req\_fail\_f(request, \textcolor{stringliteral}{"failed"}, \textcolor{stringliteral}{"called %s, Unknown parameter"}, \_\_FUNCTION\_\_);
+92 \textcolor{keywordflow}{return};
+93 \}
+94
+95 \textcolor{comment}{// response to HomeScreen}
+96 \textcolor{keyword}{struct }json\_object *res = json\_object\_new\_object();
+97 \hyperlink{hs-helper_8cpp_ae83604a37134e7bdee3ce4f10bb0b47a}{hs\_add\_object\_to\_json\_object\_func}(res, \_\_FUNCTION\_\_, 2,
+98 \hyperlink{homescreen_8cpp_aed1c5296a2e6d34945507a0fca17a376}{\_error}, ret);
+99 afb\_req\_success(request, res, \textcolor{stringliteral}{"afb\_event\_push event [on\_screen\_message]"});
+100 \}
+\end{DoxyCode}
+\index{homescreen.\+cpp@{homescreen.\+cpp}!on\+\_\+screen\+\_\+reply@{on\+\_\+screen\+\_\+reply}}
+\index{on\+\_\+screen\+\_\+reply@{on\+\_\+screen\+\_\+reply}!homescreen.\+cpp@{homescreen.\+cpp}}
+\subsubsection[{\texorpdfstring{on\+\_\+screen\+\_\+reply(afb\+\_\+req\+\_\+t request)}{on_screen_reply(afb_req_t request)}}]{\setlength{\rightskip}{0pt plus 5cm}static void on\+\_\+screen\+\_\+reply (
+\begin{DoxyParamCaption}
+\item[{afb\+\_\+req\+\_\+t}]{request}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{homescreen_8cpp_a7443596f6ddf459824ecd8138c681532}{}\label{homescreen_8cpp_a7443596f6ddf459824ecd8138c681532}
+Home\+Screen On\+Screen Reply
+
+\subparagraph*{Parameters}
+
+Request key
+\begin{DoxyItemize}
+\item reply\+\_\+message \+: message for reply
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+None
+
+Definition at line 113 of file homescreen.\+cpp.
+
+
+\begin{DoxyCode}
+114 \{
+115 \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"called."});
+116
+117 \textcolor{keywordtype}{int} ret = \hyperlink{homescreen_8cpp_a501f5bca8425de3171d46e0723f466ec}{g\_client\_manager}->\hyperlink{class_h_s___client_manager_aa78f992287e3b8fe93422b331dc9edc5}{on\_screen\_reply}(request);
+118 \textcolor{keywordflow}{if} (ret != 0) \{
+119 afb\_req\_fail\_f(request, \textcolor{stringliteral}{"failed"}, \textcolor{stringliteral}{"called %s, Unknown parameter"}, \_\_FUNCTION\_\_);
+120 \textcolor{keywordflow}{return};
+121 \}
+122
+123 \textcolor{comment}{// response to HomeScreen}
+124 \textcolor{keyword}{struct }json\_object *res = json\_object\_new\_object();
+125 \hyperlink{hs-helper_8cpp_ae83604a37134e7bdee3ce4f10bb0b47a}{hs\_add\_object\_to\_json\_object\_func}(res, \_\_FUNCTION\_\_, 2,
+126 \hyperlink{homescreen_8cpp_aed1c5296a2e6d34945507a0fca17a376}{\_error}, ret);
+127 afb\_req\_success(request, res, \textcolor{stringliteral}{"afb\_event\_push event [on\_screen\_reply]"});
+128 \}
+\end{DoxyCode}
+\index{homescreen.\+cpp@{homescreen.\+cpp}!onevent@{onevent}}
+\index{onevent@{onevent}!homescreen.\+cpp@{homescreen.\+cpp}}
+\subsubsection[{\texorpdfstring{onevent(afb\+\_\+api\+\_\+t api, const char $\ast$event, struct json\+\_\+object $\ast$object)}{onevent(afb_api_t api, const char *event, struct json_object *object)}}]{\setlength{\rightskip}{0pt plus 5cm}static void onevent (
+\begin{DoxyParamCaption}
+\item[{afb\+\_\+api\+\_\+t}]{api, }
+\item[{const char $\ast$}]{event, }
+\item[{struct json\+\_\+object $\ast$}]{object}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{homescreen_8cpp_a60665935681c76d38b3833912109cdd3}{}\label{homescreen_8cpp_a60665935681c76d38b3833912109cdd3}
+homescreen binding event function
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item api \+: the api serving the request
+\item event \+: event name
+\item object \+: event json object
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+None
+
+Definition at line 389 of file homescreen.\+cpp.
+
+
+\begin{DoxyCode}
+390 \{
+391 \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"on\_event %s"}, event);
+392 \}
+\end{DoxyCode}
+\index{homescreen.\+cpp@{homescreen.\+cpp}!ping\+Sample@{ping\+Sample}}
+\index{ping\+Sample@{ping\+Sample}!homescreen.\+cpp@{homescreen.\+cpp}}
+\subsubsection[{\texorpdfstring{ping\+Sample(afb\+\_\+req\+\_\+t request)}{pingSample(afb_req_t request)}}]{\setlength{\rightskip}{0pt plus 5cm}static void ping\+Sample (
+\begin{DoxyParamCaption}
+\item[{afb\+\_\+req\+\_\+t}]{request}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{homescreen_8cpp_ace65cfe6008848a3cd66581f536cc4c9}{}\label{homescreen_8cpp_ace65cfe6008848a3cd66581f536cc4c9}
+
+
+Definition at line 38 of file homescreen.\+cpp.
+
+
+\begin{DoxyCode}
+39 \{
+40 \textcolor{keyword}{static} \textcolor{keywordtype}{int} pingcount = 0;
+41 afb\_req\_success\_f(request, json\_object\_new\_int(pingcount), \textcolor{stringliteral}{"Ping count = %d"}, pingcount);
+42 \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"Verbosity macro at level notice invoked at ping invocation
+ count = %d"}, pingcount);
+43 pingcount++;
+44 \}
+\end{DoxyCode}
+\index{homescreen.\+cpp@{homescreen.\+cpp}!preinit@{preinit}}
+\index{preinit@{preinit}!homescreen.\+cpp@{homescreen.\+cpp}}
+\subsubsection[{\texorpdfstring{preinit(afb\+\_\+api\+\_\+t api)}{preinit(afb_api_t api)}}]{\setlength{\rightskip}{0pt plus 5cm}static int preinit (
+\begin{DoxyParamCaption}
+\item[{afb\+\_\+api\+\_\+t}]{api}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{homescreen_8cpp_ab3b1914acb53dcc038c1cf86c2975785}{}\label{homescreen_8cpp_ab3b1914acb53dcc038c1cf86c2975785}
+homescreen binding preinit function
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item api \+: the api serving the request
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+None
+
+Definition at line 352 of file homescreen.\+cpp.
+
+
+\begin{DoxyCode}
+353 \{
+354 \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"binding preinit (was register)"});
+355 \textcolor{keywordflow}{return} 0;
+356 \}
+\end{DoxyCode}
+\index{homescreen.\+cpp@{homescreen.\+cpp}!reply\+Show\+Window@{reply\+Show\+Window}}
+\index{reply\+Show\+Window@{reply\+Show\+Window}!homescreen.\+cpp@{homescreen.\+cpp}}
+\subsubsection[{\texorpdfstring{reply\+Show\+Window(afb\+\_\+req\+\_\+t request)}{replyShowWindow(afb_req_t request)}}]{\setlength{\rightskip}{0pt plus 5cm}static void reply\+Show\+Window (
+\begin{DoxyParamCaption}
+\item[{afb\+\_\+req\+\_\+t}]{request}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{homescreen_8cpp_a710bcc84a61e11dbd4517def2764ff95}{}\label{homescreen_8cpp_a710bcc84a61e11dbd4517def2764ff95}
+reply\+Show\+Window event
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item request \+: the request
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+None
+
+Definition at line 248 of file homescreen.\+cpp.
+
+
+\begin{DoxyCode}
+249 \{
+250 \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"called."});
+251
+252 \textcolor{keywordtype}{int} ret = \hyperlink{homescreen_8cpp_a501f5bca8425de3171d46e0723f466ec}{g\_client\_manager}->\hyperlink{class_h_s___client_manager_a59b1c1e115b5a257a585c41f854f5fdd}{replyShowWindow}(request);
+253 \textcolor{keywordflow}{if} (ret != 0) \{
+254 afb\_req\_fail\_f(request, \textcolor{stringliteral}{"failed"}, \textcolor{stringliteral}{"called %s, Unknown parameter"}, \_\_FUNCTION\_\_);
+255 \textcolor{keywordflow}{return};
+256 \}
+257
+258 \textcolor{comment}{// response to HomeScreen}
+259 \textcolor{keyword}{struct }json\_object *res = json\_object\_new\_object();
+260 \hyperlink{hs-helper_8cpp_ae83604a37134e7bdee3ce4f10bb0b47a}{hs\_add\_object\_to\_json\_object\_func}(res, \_\_FUNCTION\_\_, 2,
+261 \hyperlink{homescreen_8cpp_aed1c5296a2e6d34945507a0fca17a376}{\_error}, ret);
+262 afb\_req\_success(request, res, \textcolor{stringliteral}{"afb\_event\_push event [replyShowWindow]"});
+263 \}
+\end{DoxyCode}
+\index{homescreen.\+cpp@{homescreen.\+cpp}!show\+Information@{show\+Information}}
+\index{show\+Information@{show\+Information}!homescreen.\+cpp@{homescreen.\+cpp}}
+\subsubsection[{\texorpdfstring{show\+Information(afb\+\_\+req\+\_\+t request)}{showInformation(afb_req_t request)}}]{\setlength{\rightskip}{0pt plus 5cm}static void show\+Information (
+\begin{DoxyParamCaption}
+\item[{afb\+\_\+req\+\_\+t}]{request}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{homescreen_8cpp_a916c8dd31373222ee2b6ef89aca91978}{}\label{homescreen_8cpp_a916c8dd31373222ee2b6ef89aca91978}
+show\+Information event
+
+the contents to homescreen which display at bottom area.
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item request \+: the request
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+None
+
+Definition at line 306 of file homescreen.\+cpp.
+
+
+\begin{DoxyCode}
+307 \{
+308 \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"called."});
+309
+310 \textcolor{keywordtype}{int} ret = \hyperlink{homescreen_8cpp_a501f5bca8425de3171d46e0723f466ec}{g\_client\_manager}->\hyperlink{class_h_s___client_manager_a0645294f89c67fd3c9b0cce62a900f69}{showInformation}(request);
+311 \textcolor{keywordflow}{if} (ret != 0) \{
+312 afb\_req\_fail\_f(request, \textcolor{stringliteral}{"failed"}, \textcolor{stringliteral}{"called %s, Unknown parameter"}, \_\_FUNCTION\_\_);
+313 \textcolor{keywordflow}{return};
+314 \}
+315
+316 \textcolor{comment}{// response to Application}
+317 \textcolor{keyword}{struct }json\_object *res = json\_object\_new\_object();
+318 \hyperlink{hs-helper_8cpp_ae83604a37134e7bdee3ce4f10bb0b47a}{hs\_add\_object\_to\_json\_object\_func}(res, \_\_FUNCTION\_\_, 2,
+319 \hyperlink{homescreen_8cpp_aed1c5296a2e6d34945507a0fca17a376}{\_error}, ret);
+320 afb\_req\_success(request, res, \textcolor{stringliteral}{"afb\_event\_push event [showInformation]"});
+321 \}
+\end{DoxyCode}
+\index{homescreen.\+cpp@{homescreen.\+cpp}!show\+Notification@{show\+Notification}}
+\index{show\+Notification@{show\+Notification}!homescreen.\+cpp@{homescreen.\+cpp}}
+\subsubsection[{\texorpdfstring{show\+Notification(afb\+\_\+req\+\_\+t request)}{showNotification(afb_req_t request)}}]{\setlength{\rightskip}{0pt plus 5cm}static void show\+Notification (
+\begin{DoxyParamCaption}
+\item[{afb\+\_\+req\+\_\+t}]{request}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{homescreen_8cpp_ad96a84455e8676abb4486e48ef67b1ad}{}\label{homescreen_8cpp_ad96a84455e8676abb4486e48ef67b1ad}
+show\+Notification event
+
+the contents to homescreen which display at top area.
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item request \+: the request
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+None
+
+Definition at line 277 of file homescreen.\+cpp.
+
+
+\begin{DoxyCode}
+278 \{
+279 \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"called."});
+280
+281 \textcolor{keywordtype}{int} ret = \hyperlink{homescreen_8cpp_a501f5bca8425de3171d46e0723f466ec}{g\_client\_manager}->\hyperlink{class_h_s___client_manager_a857934af280081ca6ac61d9f2cac37c5}{showNotification}(request);
+282 \textcolor{keywordflow}{if} (ret != 0) \{
+283 afb\_req\_fail\_f(request, \textcolor{stringliteral}{"failed"}, \textcolor{stringliteral}{"called %s, Unknown parameter"}, \_\_FUNCTION\_\_);
+284 \textcolor{keywordflow}{return};
+285 \}
+286
+287 \textcolor{comment}{// response to Application}
+288 \textcolor{keyword}{struct }json\_object *res = json\_object\_new\_object();
+289 \hyperlink{hs-helper_8cpp_ae83604a37134e7bdee3ce4f10bb0b47a}{hs\_add\_object\_to\_json\_object\_func}(res, \_\_FUNCTION\_\_, 2,
+290 \hyperlink{homescreen_8cpp_aed1c5296a2e6d34945507a0fca17a376}{\_error}, ret);
+291 afb\_req\_success(request, res, \textcolor{stringliteral}{"afb\_event\_push event [showNotification]"});
+292 \}
+\end{DoxyCode}
+\index{homescreen.\+cpp@{homescreen.\+cpp}!show\+Window@{show\+Window}}
+\index{show\+Window@{show\+Window}!homescreen.\+cpp@{homescreen.\+cpp}}
+\subsubsection[{\texorpdfstring{show\+Window(afb\+\_\+req\+\_\+t request)}{showWindow(afb_req_t request)}}]{\setlength{\rightskip}{0pt plus 5cm}static void show\+Window (
+\begin{DoxyParamCaption}
+\item[{afb\+\_\+req\+\_\+t}]{request}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{homescreen_8cpp_ae475c69e7ca2a539ae0fb40a82963ac1}{}\label{homescreen_8cpp_ae475c69e7ca2a539ae0fb40a82963ac1}
+show\+Window event
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item request \+: the request
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+None
+
+Definition at line 194 of file homescreen.\+cpp.
+
+
+\begin{DoxyCode}
+195 \{
+196 \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"called."});
+197
+198 \textcolor{keywordtype}{int} ret = \hyperlink{homescreen_8cpp_a501f5bca8425de3171d46e0723f466ec}{g\_client\_manager}->\hyperlink{class_h_s___client_manager_afed8158f276d1d22c32b0d89e970d442}{showWindow}(request);
+199 \textcolor{keywordflow}{if} (ret != 0) \{
+200 afb\_req\_fail\_f(request, \textcolor{stringliteral}{"failed"}, \textcolor{stringliteral}{"called %s, Unknown parameter"}, \_\_FUNCTION\_\_);
+201 \textcolor{keywordflow}{return};
+202 \}
+203
+204 \textcolor{comment}{// response to HomeScreen}
+205 \textcolor{keyword}{struct }json\_object *res = json\_object\_new\_object();
+206 \hyperlink{hs-helper_8cpp_ae83604a37134e7bdee3ce4f10bb0b47a}{hs\_add\_object\_to\_json\_object\_func}(res, \_\_FUNCTION\_\_, 2,
+207 \hyperlink{homescreen_8cpp_aed1c5296a2e6d34945507a0fca17a376}{\_error}, ret);
+208 afb\_req\_success(request, res, \textcolor{stringliteral}{"afb\_event\_push event [showWindow]"});
+209 \}
+\end{DoxyCode}
+\index{homescreen.\+cpp@{homescreen.\+cpp}!subscribe@{subscribe}}
+\index{subscribe@{subscribe}!homescreen.\+cpp@{homescreen.\+cpp}}
+\subsubsection[{\texorpdfstring{subscribe(afb\+\_\+req\+\_\+t request)}{subscribe(afb_req_t request)}}]{\setlength{\rightskip}{0pt plus 5cm}static void subscribe (
+\begin{DoxyParamCaption}
+\item[{afb\+\_\+req\+\_\+t}]{request}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{homescreen_8cpp_a6e942ab2b7207d2aef9adce71a4574e8}{}\label{homescreen_8cpp_a6e942ab2b7207d2aef9adce71a4574e8}
+Subscribe event
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item event \+: Event name. Event list is written in \hyperlink{libhomescreen_8cpp}{libhomescreen.\+cpp}
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+None
+
+Definition at line 140 of file homescreen.\+cpp.
+
+
+\begin{DoxyCode}
+141 \{
+142 \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"called."});
+143
+144 \textcolor{keywordtype}{int} ret = \hyperlink{homescreen_8cpp_a501f5bca8425de3171d46e0723f466ec}{g\_client\_manager}->\hyperlink{class_h_s___client_manager_a1b8a4e42342c4bcdc4e7dc4934e02469}{subscribe}(request);
+145 \textcolor{keywordflow}{if}(ret) \{
+146 afb\_req\_fail\_f(request, \textcolor{stringliteral}{"afb\_req\_subscribe failed"}, \textcolor{stringliteral}{"called %s."}, \_\_FUNCTION\_\_);
+147 \textcolor{keywordflow}{return};
+148 \}
+149
+150 \textcolor{comment}{/*create response json object*/}
+151 \textcolor{keyword}{struct }json\_object *res = json\_object\_new\_object();
+152 \hyperlink{hs-helper_8cpp_ae83604a37134e7bdee3ce4f10bb0b47a}{hs\_add\_object\_to\_json\_object\_func}(res, \_\_FUNCTION\_\_, 2,
+153 \hyperlink{homescreen_8cpp_aed1c5296a2e6d34945507a0fca17a376}{\_error}, ret);
+154 afb\_req\_success\_f(request, res, \textcolor{stringliteral}{"homescreen binder subscribe."});
+155 \}
+\end{DoxyCode}
+\index{homescreen.\+cpp@{homescreen.\+cpp}!tap\+\_\+shortcut@{tap\+\_\+shortcut}}
+\index{tap\+\_\+shortcut@{tap\+\_\+shortcut}!homescreen.\+cpp@{homescreen.\+cpp}}
+\subsubsection[{\texorpdfstring{tap\+\_\+shortcut(afb\+\_\+req\+\_\+t request)}{tap_shortcut(afb_req_t request)}}]{\setlength{\rightskip}{0pt plus 5cm}static void tap\+\_\+shortcut (
+\begin{DoxyParamCaption}
+\item[{afb\+\_\+req\+\_\+t}]{request}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{homescreen_8cpp_ab8abb667377924d5c073611738febbd3}{}\label{homescreen_8cpp_ab8abb667377924d5c073611738febbd3}
+tap\+\_\+shortcut notify for homescreen When Shortcut area is tapped, notify these applciations
+
+\subparagraph*{Parameters}
+
+Request key
+\begin{DoxyItemize}
+\item application\+\_\+id \+: application id
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+None
+
+Definition at line 58 of file homescreen.\+cpp.
+
+
+\begin{DoxyCode}
+59 \{
+60 \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"called."});
+61 \textcolor{keywordtype}{int} ret = \hyperlink{homescreen_8cpp_a501f5bca8425de3171d46e0723f466ec}{g\_client\_manager}->\hyperlink{class_h_s___client_manager_a9910fc27c412530b5b9854b00bd16c07}{tap\_shortcut}(request);
+62 \textcolor{keywordflow}{if} (ret != 0) \{
+63 afb\_req\_fail\_f(request, \textcolor{stringliteral}{"failed"}, \textcolor{stringliteral}{"called %s, Unknown parameter"}, \_\_FUNCTION\_\_);
+64 \textcolor{keywordflow}{return};
+65 \}
+66
+67 \textcolor{comment}{// response to HomeScreen}
+68 \textcolor{keyword}{struct }json\_object *res = json\_object\_new\_object();
+69 \hyperlink{hs-helper_8cpp_ae83604a37134e7bdee3ce4f10bb0b47a}{hs\_add\_object\_to\_json\_object\_func}(res, \_\_FUNCTION\_\_, 2,
+70 \hyperlink{homescreen_8cpp_aed1c5296a2e6d34945507a0fca17a376}{\_error}, ret);
+71 afb\_req\_success(request, res, \textcolor{stringliteral}{"afb\_event\_push event [tap\_shortcut]"});
+72 \}
+\end{DoxyCode}
+\index{homescreen.\+cpp@{homescreen.\+cpp}!unsubscribe@{unsubscribe}}
+\index{unsubscribe@{unsubscribe}!homescreen.\+cpp@{homescreen.\+cpp}}
+\subsubsection[{\texorpdfstring{unsubscribe(afb\+\_\+req\+\_\+t request)}{unsubscribe(afb_req_t request)}}]{\setlength{\rightskip}{0pt plus 5cm}static void unsubscribe (
+\begin{DoxyParamCaption}
+\item[{afb\+\_\+req\+\_\+t}]{request}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{homescreen_8cpp_a3b162ab1856a8fa4284cb2c5c35ea748}{}\label{homescreen_8cpp_a3b162ab1856a8fa4284cb2c5c35ea748}
+Unsubscribe event
+
+\subparagraph*{Parameters}
+
+
+\begin{DoxyItemize}
+\item event \+: Event name. Event list is written in \hyperlink{libhomescreen_8cpp}{libhomescreen.\+cpp}
+\end{DoxyItemize}
+
+\subparagraph*{Return}
+
+None
+
+Definition at line 167 of file homescreen.\+cpp.
+
+
+\begin{DoxyCode}
+168 \{
+169 \hyperlink{include_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{HMI\_NOTICE}(\textcolor{stringliteral}{"homescreen-service"},\textcolor{stringliteral}{"called."});
+170
+171 \textcolor{keywordtype}{int} ret = \hyperlink{homescreen_8cpp_a501f5bca8425de3171d46e0723f466ec}{g\_client\_manager}->\hyperlink{class_h_s___client_manager_ac86314afbb90116e2f02ce071166226e}{unsubscribe}(request);
+172 \textcolor{keywordflow}{if}(ret) \{
+173 afb\_req\_fail\_f(request, \textcolor{stringliteral}{"afb\_req\_unsubscribe failed"}, \textcolor{stringliteral}{"called %s."}, \_\_FUNCTION\_\_);
+174 \textcolor{keywordflow}{return};
+175 \}
+176
+177 \textcolor{comment}{/*create response json object*/}
+178 \textcolor{keyword}{struct }json\_object *res = json\_object\_new\_object();
+179 \hyperlink{hs-helper_8cpp_ae83604a37134e7bdee3ce4f10bb0b47a}{hs\_add\_object\_to\_json\_object\_func}(res, \_\_FUNCTION\_\_, 2,
+180 \hyperlink{homescreen_8cpp_aed1c5296a2e6d34945507a0fca17a376}{\_error}, ret);
+181 afb\_req\_success\_f(request, res, \textcolor{stringliteral}{"homescreen binder unsubscribe success."});
+182 \}
+\end{DoxyCode}
+
+
+\subsection{Variable Documentation}
+\index{homescreen.\+cpp@{homescreen.\+cpp}!\+\_\+application\+\_\+id@{\+\_\+application\+\_\+id}}
+\index{\+\_\+application\+\_\+id@{\+\_\+application\+\_\+id}!homescreen.\+cpp@{homescreen.\+cpp}}
+\subsubsection[{\texorpdfstring{\+\_\+application\+\_\+id}{_application_id}}]{\setlength{\rightskip}{0pt plus 5cm}const char \+\_\+application\+\_\+id\mbox{[}$\,$\mbox{]} = \char`\"{}application\+\_\+id\char`\"{}}\hypertarget{homescreen_8cpp_a6a0e1db2562b442f8131ddf64b61d1ba}{}\label{homescreen_8cpp_a6a0e1db2562b442f8131ddf64b61d1ba}
+
+
+Definition at line 28 of file homescreen.\+cpp.
+
+\index{homescreen.\+cpp@{homescreen.\+cpp}!\+\_\+display\+\_\+message@{\+\_\+display\+\_\+message}}
+\index{\+\_\+display\+\_\+message@{\+\_\+display\+\_\+message}!homescreen.\+cpp@{homescreen.\+cpp}}
+\subsubsection[{\texorpdfstring{\+\_\+display\+\_\+message}{_display_message}}]{\setlength{\rightskip}{0pt plus 5cm}const char \+\_\+display\+\_\+message\mbox{[}$\,$\mbox{]} = \char`\"{}display\+\_\+message\char`\"{}}\hypertarget{homescreen_8cpp_abfd6c1d6f316fa952b11553f8f275e92}{}\label{homescreen_8cpp_abfd6c1d6f316fa952b11553f8f275e92}
+
+
+Definition at line 29 of file homescreen.\+cpp.
+
+\index{homescreen.\+cpp@{homescreen.\+cpp}!\+\_\+error@{\+\_\+error}}
+\index{\+\_\+error@{\+\_\+error}!homescreen.\+cpp@{homescreen.\+cpp}}
+\subsubsection[{\texorpdfstring{\+\_\+error}{_error}}]{\setlength{\rightskip}{0pt plus 5cm}const char \+\_\+error\mbox{[}$\,$\mbox{]} = \char`\"{}error\char`\"{}}\hypertarget{homescreen_8cpp_aed1c5296a2e6d34945507a0fca17a376}{}\label{homescreen_8cpp_aed1c5296a2e6d34945507a0fca17a376}
+
+
+Definition at line 27 of file homescreen.\+cpp.
+
+\index{homescreen.\+cpp@{homescreen.\+cpp}!\+\_\+reply\+\_\+message@{\+\_\+reply\+\_\+message}}
+\index{\+\_\+reply\+\_\+message@{\+\_\+reply\+\_\+message}!homescreen.\+cpp@{homescreen.\+cpp}}
+\subsubsection[{\texorpdfstring{\+\_\+reply\+\_\+message}{_reply_message}}]{\setlength{\rightskip}{0pt plus 5cm}const char \+\_\+reply\+\_\+message\mbox{[}$\,$\mbox{]} = \char`\"{}reply\+\_\+message\char`\"{}}\hypertarget{homescreen_8cpp_a79b0f0b481161527ccb80e83da143219}{}\label{homescreen_8cpp_a79b0f0b481161527ccb80e83da143219}
+
+
+Definition at line 30 of file homescreen.\+cpp.
+
+\index{homescreen.\+cpp@{homescreen.\+cpp}!afb\+Binding\+Export@{afb\+Binding\+Export}}
+\index{afb\+Binding\+Export@{afb\+Binding\+Export}!homescreen.\+cpp@{homescreen.\+cpp}}
+\subsubsection[{\texorpdfstring{afb\+Binding\+Export}{afbBindingExport}}]{\setlength{\rightskip}{0pt plus 5cm}const afb\+\_\+binding\+\_\+t afb\+Binding\+Export}\hypertarget{homescreen_8cpp_a970e7864dba290a0371534ad4961bcc5}{}\label{homescreen_8cpp_a970e7864dba290a0371534ad4961bcc5}
+{\bfseries Initial value\+:}
+\begin{DoxyCode}
+= \{
+ .api = \textcolor{stringliteral}{"homescreen"},
+ .specification = NULL,
+ .info = NULL,
+ .verbs = \hyperlink{homescreen_8cpp_a01e06b6317acebc1d5686386b15f0872}{verbs},
+ .preinit = \hyperlink{homescreen_8cpp_ab3b1914acb53dcc038c1cf86c2975785}{preinit},
+ .init = \hyperlink{homescreen_8cpp_a5d7de3437d5dcb79fa035959d95878db}{init},
+ .onevent = \hyperlink{homescreen_8cpp_a60665935681c76d38b3833912109cdd3}{onevent}
+\}
+\end{DoxyCode}
+
+
+Definition at line 394 of file homescreen.\+cpp.
+
+\index{homescreen.\+cpp@{homescreen.\+cpp}!g\+\_\+client\+\_\+manager@{g\+\_\+client\+\_\+manager}}
+\index{g\+\_\+client\+\_\+manager@{g\+\_\+client\+\_\+manager}!homescreen.\+cpp@{homescreen.\+cpp}}
+\subsubsection[{\texorpdfstring{g\+\_\+client\+\_\+manager}{g_client_manager}}]{\setlength{\rightskip}{0pt plus 5cm}{\bf H\+S\+\_\+\+Client\+Manager}$\ast$ g\+\_\+client\+\_\+manager = {\bf H\+S\+\_\+\+Client\+Manager\+::instance}()\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{homescreen_8cpp_a501f5bca8425de3171d46e0723f466ec}{}\label{homescreen_8cpp_a501f5bca8425de3171d46e0723f466ec}
+
+
+Definition at line 32 of file homescreen.\+cpp.
+
+\index{homescreen.\+cpp@{homescreen.\+cpp}!verbs@{verbs}}
+\index{verbs@{verbs}!homescreen.\+cpp@{homescreen.\+cpp}}
+\subsubsection[{\texorpdfstring{verbs}{verbs}}]{\setlength{\rightskip}{0pt plus 5cm}const afb\+\_\+verb\+\_\+t verbs\mbox{[}$\,$\mbox{]}\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{homescreen_8cpp_a01e06b6317acebc1d5686386b15f0872}{}\label{homescreen_8cpp_a01e06b6317acebc1d5686386b15f0872}
+{\bfseries Initial value\+:}
+\begin{DoxyCode}
+= \{
+
+ \{ .verb=\textcolor{stringliteral}{"ping"}, .callback=\hyperlink{homescreen_8cpp_ace65cfe6008848a3cd66581f536cc4c9}{pingSample} \},
+ \{ .verb=\textcolor{stringliteral}{"tap\_shortcut"}, .callback=\hyperlink{homescreen_8cpp_ab8abb667377924d5c073611738febbd3}{tap\_shortcut} \},
+ \{ .verb=\textcolor{stringliteral}{"showWindow"}, .callback=\hyperlink{homescreen_8cpp_ae475c69e7ca2a539ae0fb40a82963ac1}{showWindow} \},
+ \{ .verb=\textcolor{stringliteral}{"hideWindow"}, .callback=\hyperlink{homescreen_8cpp_a057c380ea38cfba4e2fbccc40fc21798}{hideWindow} \},
+ \{ .verb=\textcolor{stringliteral}{"replyShowWindow"}, .callback=\hyperlink{homescreen_8cpp_a710bcc84a61e11dbd4517def2764ff95}{replyShowWindow} \},
+ \{ .verb=\textcolor{stringliteral}{"on\_screen\_message"}, .callback=\hyperlink{homescreen_8cpp_a0df2b60ff6cd56b53dc87b36bfee2b91}{on\_screen\_message} \},
+ \{ .verb=\textcolor{stringliteral}{"on\_screen\_reply"}, .callback=\hyperlink{homescreen_8cpp_a7443596f6ddf459824ecd8138c681532}{on\_screen\_reply} \},
+ \{ .verb=\textcolor{stringliteral}{"subscribe"}, .callback=\hyperlink{homescreen_8cpp_a6e942ab2b7207d2aef9adce71a4574e8}{subscribe} \},
+ \{ .verb=\textcolor{stringliteral}{"unsubscribe"}, .callback=\hyperlink{homescreen_8cpp_a3b162ab1856a8fa4284cb2c5c35ea748}{unsubscribe} \},
+ \{ .verb=\textcolor{stringliteral}{"showNotification"}, .callback=\hyperlink{homescreen_8cpp_ad96a84455e8676abb4486e48ef67b1ad}{showNotification} \},
+ \{ .verb=\textcolor{stringliteral}{"showInformation"}, .callback=\hyperlink{homescreen_8cpp_a916c8dd31373222ee2b6ef89aca91978}{showInformation} \},
+ \{NULL \}
+\}
+\end{DoxyCode}
+
+
+Definition at line 326 of file homescreen.\+cpp.
+
diff --git a/doc/api-ref/latex/d6/de3/structwindow.tex b/doc/api-ref/latex/d6/de3/structwindow.tex
new file mode 100644
index 0000000..bf61d03
--- /dev/null
+++ b/doc/api-ref/latex/d6/de3/structwindow.tex
@@ -0,0 +1,170 @@
+\hypertarget{structwindow}{}\section{window Struct Reference}
+\label{structwindow}\index{window@{window}}
+\subsection*{Public Attributes}
+\begin{DoxyCompactItemize}
+\item
+struct \hyperlink{structdisplay}{display} $\ast$ \hyperlink{structwindow_a129486f2bd23791194f389ca1405cfd4}{display}
+\item
+struct \hyperlink{structgeometry}{geometry} \hyperlink{structgeometry}{geometry} \hyperlink{structwindow_ad2b6c8ed8044b41fd1189a0ce26d539a}{window\+\_\+size}
+\item
+\begin{tabbing}
+xx\=xx\=xx\=xx\=xx\=xx\=xx\=xx\=xx\=\kill
+struct \{\\
+\>GLuint \hyperlink{structwindow_a5202f3b60e262a6fa4fcee68dd47cb67}{rotation\_uniform}\\
+\>GLuint \hyperlink{structwindow_aaf965f90f9fc938db2315ff62028c362}{pos}\\
+\>GLuint \hyperlink{structwindow_aef10fe94766ccd4831ee611c5ad0e55c}{col}\\
+\} \hyperlink{structwindow_a6975a930e9a3c166f8201fc4ef5e7728}{gl}\\
+
+\end{tabbing}\item
+uint32\+\_\+t \hyperlink{structwindow_a72629bf021a361ad900504732a74cb68}{benchmark\+\_\+time}
+\item
+uint32\+\_\+t \hyperlink{structwindow_a633864bb495ec265bee220a5c70cc98f}{frames}
+\item
+struct wl\+\_\+egl\+\_\+window $\ast$ \hyperlink{structwindow_ae41be0955d0e73530e1bc13dfeb9d731}{native}
+\item
+struct wl\+\_\+surface $\ast$ \hyperlink{structwindow_a7d0790cfc7c30621611fa26ab5c1ae97}{surface}
+\item
+struct ivi\+\_\+surface $\ast$ \hyperlink{structwindow_a40e2c6fb4178953c820fc1b9f41d4b31}{ivi\+\_\+surface}
+\item
+E\+G\+L\+Surface \hyperlink{structwindow_a8de0059f3f1cb0dec33fba1143b7dee1}{egl\+\_\+surface}
+\item
+struct wl\+\_\+callback $\ast$ \hyperlink{structwindow_a35ba639556fa19d9273dad0953a6807e}{callback}
+\item
+int \hyperlink{structwindow_a8da44798a9e1feb7ed3fbd18ec3a28b6}{fullscreen}
+\item
+int \hyperlink{structwindow_a026a50808d8323a5a73d585c19916fa8}{opaque}
+\item
+int \hyperlink{structwindow_a0e634038f669aff472012f25ea250b40}{buffer\+\_\+size}
+\item
+int \hyperlink{structwindow_a851bcb65083f5ab5ff768b09522bed70}{frame\+\_\+sync}
+\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+
+
+Definition at line 136 of file simple-\/egl.\+cpp.
+
+
+
+\subsection{Member Data Documentation}
+\index{window@{window}!benchmark\+\_\+time@{benchmark\+\_\+time}}
+\index{benchmark\+\_\+time@{benchmark\+\_\+time}!window@{window}}
+\subsubsection[{\texorpdfstring{benchmark\+\_\+time}{benchmark_time}}]{\setlength{\rightskip}{0pt plus 5cm}uint32\+\_\+t window\+::benchmark\+\_\+time}\hypertarget{structwindow_a72629bf021a361ad900504732a74cb68}{}\label{structwindow_a72629bf021a361ad900504732a74cb68}
+
+
+Definition at line 145 of file simple-\/egl.\+cpp.
+
+\index{window@{window}!buffer\+\_\+size@{buffer\+\_\+size}}
+\index{buffer\+\_\+size@{buffer\+\_\+size}!window@{window}}
+\subsubsection[{\texorpdfstring{buffer\+\_\+size}{buffer_size}}]{\setlength{\rightskip}{0pt plus 5cm}int window\+::buffer\+\_\+size}\hypertarget{structwindow_a0e634038f669aff472012f25ea250b40}{}\label{structwindow_a0e634038f669aff472012f25ea250b40}
+
+
+Definition at line 151 of file simple-\/egl.\+cpp.
+
+\index{window@{window}!callback@{callback}}
+\index{callback@{callback}!window@{window}}
+\subsubsection[{\texorpdfstring{callback}{callback}}]{\setlength{\rightskip}{0pt plus 5cm}struct wl\+\_\+callback$\ast$ window\+::callback}\hypertarget{structwindow_a35ba639556fa19d9273dad0953a6807e}{}\label{structwindow_a35ba639556fa19d9273dad0953a6807e}
+
+
+Definition at line 150 of file simple-\/egl.\+cpp.
+
+\index{window@{window}!col@{col}}
+\index{col@{col}!window@{window}}
+\subsubsection[{\texorpdfstring{col}{col}}]{\setlength{\rightskip}{0pt plus 5cm}G\+Luint window\+::col}\hypertarget{structwindow_aef10fe94766ccd4831ee611c5ad0e55c}{}\label{structwindow_aef10fe94766ccd4831ee611c5ad0e55c}
+
+
+Definition at line 142 of file simple-\/egl.\+cpp.
+
+\index{window@{window}!display@{display}}
+\index{display@{display}!window@{window}}
+\subsubsection[{\texorpdfstring{display}{display}}]{\setlength{\rightskip}{0pt plus 5cm}struct {\bf display}$\ast$ window\+::display}\hypertarget{structwindow_a129486f2bd23791194f389ca1405cfd4}{}\label{structwindow_a129486f2bd23791194f389ca1405cfd4}
+
+
+Definition at line 137 of file simple-\/egl.\+cpp.
+
+\index{window@{window}!egl\+\_\+surface@{egl\+\_\+surface}}
+\index{egl\+\_\+surface@{egl\+\_\+surface}!window@{window}}
+\subsubsection[{\texorpdfstring{egl\+\_\+surface}{egl_surface}}]{\setlength{\rightskip}{0pt plus 5cm}E\+G\+L\+Surface window\+::egl\+\_\+surface}\hypertarget{structwindow_a8de0059f3f1cb0dec33fba1143b7dee1}{}\label{structwindow_a8de0059f3f1cb0dec33fba1143b7dee1}
+
+
+Definition at line 149 of file simple-\/egl.\+cpp.
+
+\index{window@{window}!frame\+\_\+sync@{frame\+\_\+sync}}
+\index{frame\+\_\+sync@{frame\+\_\+sync}!window@{window}}
+\subsubsection[{\texorpdfstring{frame\+\_\+sync}{frame_sync}}]{\setlength{\rightskip}{0pt plus 5cm}int window\+::frame\+\_\+sync}\hypertarget{structwindow_a851bcb65083f5ab5ff768b09522bed70}{}\label{structwindow_a851bcb65083f5ab5ff768b09522bed70}
+
+
+Definition at line 151 of file simple-\/egl.\+cpp.
+
+\index{window@{window}!frames@{frames}}
+\index{frames@{frames}!window@{window}}
+\subsubsection[{\texorpdfstring{frames}{frames}}]{\setlength{\rightskip}{0pt plus 5cm}uint32\+\_\+t window\+::frames}\hypertarget{structwindow_a633864bb495ec265bee220a5c70cc98f}{}\label{structwindow_a633864bb495ec265bee220a5c70cc98f}
+
+
+Definition at line 145 of file simple-\/egl.\+cpp.
+
+\index{window@{window}!fullscreen@{fullscreen}}
+\index{fullscreen@{fullscreen}!window@{window}}
+\subsubsection[{\texorpdfstring{fullscreen}{fullscreen}}]{\setlength{\rightskip}{0pt plus 5cm}int window\+::fullscreen}\hypertarget{structwindow_a8da44798a9e1feb7ed3fbd18ec3a28b6}{}\label{structwindow_a8da44798a9e1feb7ed3fbd18ec3a28b6}
+
+
+Definition at line 151 of file simple-\/egl.\+cpp.
+
+\index{window@{window}!gl@{gl}}
+\index{gl@{gl}!window@{window}}
+\subsubsection[{\texorpdfstring{gl}{gl}}]{\setlength{\rightskip}{0pt plus 5cm}struct \{ ... \} window\+::gl}\hypertarget{structwindow_a6975a930e9a3c166f8201fc4ef5e7728}{}\label{structwindow_a6975a930e9a3c166f8201fc4ef5e7728}
+\index{window@{window}!ivi\+\_\+surface@{ivi\+\_\+surface}}
+\index{ivi\+\_\+surface@{ivi\+\_\+surface}!window@{window}}
+\subsubsection[{\texorpdfstring{ivi\+\_\+surface}{ivi_surface}}]{\setlength{\rightskip}{0pt plus 5cm}struct ivi\+\_\+surface$\ast$ window\+::ivi\+\_\+surface}\hypertarget{structwindow_a40e2c6fb4178953c820fc1b9f41d4b31}{}\label{structwindow_a40e2c6fb4178953c820fc1b9f41d4b31}
+
+
+Definition at line 148 of file simple-\/egl.\+cpp.
+
+\index{window@{window}!native@{native}}
+\index{native@{native}!window@{window}}
+\subsubsection[{\texorpdfstring{native}{native}}]{\setlength{\rightskip}{0pt plus 5cm}struct wl\+\_\+egl\+\_\+window$\ast$ window\+::native}\hypertarget{structwindow_ae41be0955d0e73530e1bc13dfeb9d731}{}\label{structwindow_ae41be0955d0e73530e1bc13dfeb9d731}
+
+
+Definition at line 146 of file simple-\/egl.\+cpp.
+
+\index{window@{window}!opaque@{opaque}}
+\index{opaque@{opaque}!window@{window}}
+\subsubsection[{\texorpdfstring{opaque}{opaque}}]{\setlength{\rightskip}{0pt plus 5cm}int window\+::opaque}\hypertarget{structwindow_a026a50808d8323a5a73d585c19916fa8}{}\label{structwindow_a026a50808d8323a5a73d585c19916fa8}
+
+
+Definition at line 151 of file simple-\/egl.\+cpp.
+
+\index{window@{window}!pos@{pos}}
+\index{pos@{pos}!window@{window}}
+\subsubsection[{\texorpdfstring{pos}{pos}}]{\setlength{\rightskip}{0pt plus 5cm}G\+Luint window\+::pos}\hypertarget{structwindow_aaf965f90f9fc938db2315ff62028c362}{}\label{structwindow_aaf965f90f9fc938db2315ff62028c362}
+
+
+Definition at line 141 of file simple-\/egl.\+cpp.
+
+\index{window@{window}!rotation\+\_\+uniform@{rotation\+\_\+uniform}}
+\index{rotation\+\_\+uniform@{rotation\+\_\+uniform}!window@{window}}
+\subsubsection[{\texorpdfstring{rotation\+\_\+uniform}{rotation_uniform}}]{\setlength{\rightskip}{0pt plus 5cm}G\+Luint window\+::rotation\+\_\+uniform}\hypertarget{structwindow_a5202f3b60e262a6fa4fcee68dd47cb67}{}\label{structwindow_a5202f3b60e262a6fa4fcee68dd47cb67}
+
+
+Definition at line 140 of file simple-\/egl.\+cpp.
+
+\index{window@{window}!surface@{surface}}
+\index{surface@{surface}!window@{window}}
+\subsubsection[{\texorpdfstring{surface}{surface}}]{\setlength{\rightskip}{0pt plus 5cm}struct wl\+\_\+surface$\ast$ window\+::surface}\hypertarget{structwindow_a7d0790cfc7c30621611fa26ab5c1ae97}{}\label{structwindow_a7d0790cfc7c30621611fa26ab5c1ae97}
+
+
+Definition at line 147 of file simple-\/egl.\+cpp.
+
+\index{window@{window}!window\+\_\+size@{window\+\_\+size}}
+\index{window\+\_\+size@{window\+\_\+size}!window@{window}}
+\subsubsection[{\texorpdfstring{window\+\_\+size}{window_size}}]{\setlength{\rightskip}{0pt plus 5cm}struct {\bf geometry} {\bf geometry} window\+::window\+\_\+size}\hypertarget{structwindow_ad2b6c8ed8044b41fd1189a0ce26d539a}{}\label{structwindow_ad2b6c8ed8044b41fd1189a0ce26d539a}
+
+
+Definition at line 138 of file simple-\/egl.\+cpp.
+
+
+
+The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
+\item
+libhomescreen/\hyperlink{simple-egl_8cpp}{simple-\/egl.\+cpp}\end{DoxyCompactItemize}
diff --git a/doc/api-ref/latex/d6/df5/structdisplay.tex b/doc/api-ref/latex/d6/df5/structdisplay.tex
new file mode 100644
index 0000000..0205443
--- /dev/null
+++ b/doc/api-ref/latex/d6/df5/structdisplay.tex
@@ -0,0 +1,116 @@
+\hypertarget{structdisplay}{}\section{display Struct Reference}
+\label{structdisplay}\index{display@{display}}
+\subsection*{Public Attributes}
+\begin{DoxyCompactItemize}
+\item
+struct wl\+\_\+display $\ast$ \hyperlink{structdisplay_aa8faf09631925e9221fd8a0c086ce75a}{display}
+\item
+struct wl\+\_\+registry $\ast$ \hyperlink{structdisplay_a925781323f5c8eb84ef2225ed129de4b}{registry}
+\item
+struct wl\+\_\+compositor $\ast$ \hyperlink{structdisplay_a41ba32dfde812165dda5b62885000c78}{compositor}
+\item
+struct wl\+\_\+seat $\ast$ \hyperlink{structdisplay_a9dd8fd9967beb6b3767bd93011373bb8}{seat}
+\item
+\begin{tabbing}
+xx\=xx\=xx\=xx\=xx\=xx\=xx\=xx\=xx\=\kill
+struct \{\\
+\>EGLDisplay \hyperlink{structdisplay_a8a1cbda15a286e41e89a85f158ce9311}{dpy}\\
+\>EGLContext \hyperlink{structdisplay_a3420940a29a710e0e5ebd41ba462cc00}{ctx}\\
+\>EGLConfig \hyperlink{structdisplay_a880aef9408b499f5b749541dc6e396c3}{conf}\\
+\} \hyperlink{structdisplay_a8b8bc104c19ff228d476a377e572d9c7}{egl}\\
+
+\end{tabbing}\item
+struct \hyperlink{structwindow}{window} $\ast$ \hyperlink{structdisplay_a9974d560bec291487ae2440f897ffc58}{window}
+\item
+struct ivi\+\_\+application $\ast$ \hyperlink{structdisplay_a24c073faff3bb4799c2d46291f27ab89}{ivi\+\_\+application}
+\item
+P\+F\+N\+E\+G\+L\+S\+W\+A\+P\+B\+U\+F\+F\+E\+R\+S\+W\+I\+T\+H\+D\+A\+M\+A\+G\+E\+E\+X\+T\+P\+R\+OC \hyperlink{structdisplay_a48c46c118e4765ef06596f6341c8f23f}{swap\+\_\+buffers\+\_\+with\+\_\+damage}
+\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+
+
+Definition at line 116 of file simple-\/egl.\+cpp.
+
+
+
+\subsection{Member Data Documentation}
+\index{display@{display}!compositor@{compositor}}
+\index{compositor@{compositor}!display@{display}}
+\subsubsection[{\texorpdfstring{compositor}{compositor}}]{\setlength{\rightskip}{0pt plus 5cm}struct wl\+\_\+compositor$\ast$ display\+::compositor}\hypertarget{structdisplay_a41ba32dfde812165dda5b62885000c78}{}\label{structdisplay_a41ba32dfde812165dda5b62885000c78}
+
+
+Definition at line 119 of file simple-\/egl.\+cpp.
+
+\index{display@{display}!conf@{conf}}
+\index{conf@{conf}!display@{display}}
+\subsubsection[{\texorpdfstring{conf}{conf}}]{\setlength{\rightskip}{0pt plus 5cm}E\+G\+L\+Config display\+::conf}\hypertarget{structdisplay_a880aef9408b499f5b749541dc6e396c3}{}\label{structdisplay_a880aef9408b499f5b749541dc6e396c3}
+
+
+Definition at line 124 of file simple-\/egl.\+cpp.
+
+\index{display@{display}!ctx@{ctx}}
+\index{ctx@{ctx}!display@{display}}
+\subsubsection[{\texorpdfstring{ctx}{ctx}}]{\setlength{\rightskip}{0pt plus 5cm}E\+G\+L\+Context display\+::ctx}\hypertarget{structdisplay_a3420940a29a710e0e5ebd41ba462cc00}{}\label{structdisplay_a3420940a29a710e0e5ebd41ba462cc00}
+
+
+Definition at line 123 of file simple-\/egl.\+cpp.
+
+\index{display@{display}!display@{display}}
+\index{display@{display}!display@{display}}
+\subsubsection[{\texorpdfstring{display}{display}}]{\setlength{\rightskip}{0pt plus 5cm}struct wl\+\_\+display$\ast$ display\+::display}\hypertarget{structdisplay_aa8faf09631925e9221fd8a0c086ce75a}{}\label{structdisplay_aa8faf09631925e9221fd8a0c086ce75a}
+
+
+Definition at line 117 of file simple-\/egl.\+cpp.
+
+\index{display@{display}!dpy@{dpy}}
+\index{dpy@{dpy}!display@{display}}
+\subsubsection[{\texorpdfstring{dpy}{dpy}}]{\setlength{\rightskip}{0pt plus 5cm}E\+G\+L\+Display display\+::dpy}\hypertarget{structdisplay_a8a1cbda15a286e41e89a85f158ce9311}{}\label{structdisplay_a8a1cbda15a286e41e89a85f158ce9311}
+
+
+Definition at line 122 of file simple-\/egl.\+cpp.
+
+\index{display@{display}!egl@{egl}}
+\index{egl@{egl}!display@{display}}
+\subsubsection[{\texorpdfstring{egl}{egl}}]{\setlength{\rightskip}{0pt plus 5cm}struct \{ ... \} display\+::egl}\hypertarget{structdisplay_a8b8bc104c19ff228d476a377e572d9c7}{}\label{structdisplay_a8b8bc104c19ff228d476a377e572d9c7}
+\index{display@{display}!ivi\+\_\+application@{ivi\+\_\+application}}
+\index{ivi\+\_\+application@{ivi\+\_\+application}!display@{display}}
+\subsubsection[{\texorpdfstring{ivi\+\_\+application}{ivi_application}}]{\setlength{\rightskip}{0pt plus 5cm}struct ivi\+\_\+application$\ast$ display\+::ivi\+\_\+application}\hypertarget{structdisplay_a24c073faff3bb4799c2d46291f27ab89}{}\label{structdisplay_a24c073faff3bb4799c2d46291f27ab89}
+
+
+Definition at line 127 of file simple-\/egl.\+cpp.
+
+\index{display@{display}!registry@{registry}}
+\index{registry@{registry}!display@{display}}
+\subsubsection[{\texorpdfstring{registry}{registry}}]{\setlength{\rightskip}{0pt plus 5cm}struct wl\+\_\+registry$\ast$ display\+::registry}\hypertarget{structdisplay_a925781323f5c8eb84ef2225ed129de4b}{}\label{structdisplay_a925781323f5c8eb84ef2225ed129de4b}
+
+
+Definition at line 118 of file simple-\/egl.\+cpp.
+
+\index{display@{display}!seat@{seat}}
+\index{seat@{seat}!display@{display}}
+\subsubsection[{\texorpdfstring{seat}{seat}}]{\setlength{\rightskip}{0pt plus 5cm}struct wl\+\_\+seat$\ast$ display\+::seat}\hypertarget{structdisplay_a9dd8fd9967beb6b3767bd93011373bb8}{}\label{structdisplay_a9dd8fd9967beb6b3767bd93011373bb8}
+
+
+Definition at line 120 of file simple-\/egl.\+cpp.
+
+\index{display@{display}!swap\+\_\+buffers\+\_\+with\+\_\+damage@{swap\+\_\+buffers\+\_\+with\+\_\+damage}}
+\index{swap\+\_\+buffers\+\_\+with\+\_\+damage@{swap\+\_\+buffers\+\_\+with\+\_\+damage}!display@{display}}
+\subsubsection[{\texorpdfstring{swap\+\_\+buffers\+\_\+with\+\_\+damage}{swap_buffers_with_damage}}]{\setlength{\rightskip}{0pt plus 5cm}P\+F\+N\+E\+G\+L\+S\+W\+A\+P\+B\+U\+F\+F\+E\+R\+S\+W\+I\+T\+H\+D\+A\+M\+A\+G\+E\+E\+X\+T\+P\+R\+OC display\+::swap\+\_\+buffers\+\_\+with\+\_\+damage}\hypertarget{structdisplay_a48c46c118e4765ef06596f6341c8f23f}{}\label{structdisplay_a48c46c118e4765ef06596f6341c8f23f}
+
+
+Definition at line 129 of file simple-\/egl.\+cpp.
+
+\index{display@{display}!window@{window}}
+\index{window@{window}!display@{display}}
+\subsubsection[{\texorpdfstring{window}{window}}]{\setlength{\rightskip}{0pt plus 5cm}struct {\bf window}$\ast$ display\+::window}\hypertarget{structdisplay_a9974d560bec291487ae2440f897ffc58}{}\label{structdisplay_a9974d560bec291487ae2440f897ffc58}
+
+
+Definition at line 126 of file simple-\/egl.\+cpp.
+
+
+
+The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
+\item
+libhomescreen/\hyperlink{simple-egl_8cpp}{simple-\/egl.\+cpp}\end{DoxyCompactItemize}
diff --git a/doc/api-ref/latex/d6/dff/src_2hmi-debug_8h.tex b/doc/api-ref/latex/d6/dff/src_2hmi-debug_8h.tex
new file mode 100644
index 0000000..7aa760c
--- /dev/null
+++ b/doc/api-ref/latex/d6/dff/src_2hmi-debug_8h.tex
@@ -0,0 +1,242 @@
+\hypertarget{src_2hmi-debug_8h}{}\section{src/hmi-\/debug.h File Reference}
+\label{src_2hmi-debug_8h}\index{src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}}
+{\ttfamily \#include $<$time.\+h$>$}\\*
+{\ttfamily \#include $<$stdio.\+h$>$}\\*
+{\ttfamily \#include $<$stdarg.\+h$>$}\\*
+{\ttfamily \#include $<$string.\+h$>$}\\*
+{\ttfamily \#include $<$stdlib.\+h$>$}\\*
+\subsection*{Macros}
+\begin{DoxyCompactItemize}
+\item
+\#define \hyperlink{src_2hmi-debug_8h_a5fccb4fc71e44089a1b1a77fc76c0b68}{\+\_\+\+\_\+\+F\+I\+L\+E\+N\+A\+M\+E\+\_\+\+\_\+}~(strrchr(\+\_\+\+\_\+\+F\+I\+L\+E\+\_\+\+\_\+, \textquotesingle{}/\textquotesingle{}) ? strrchr(\+\_\+\+\_\+\+F\+I\+L\+E\+\_\+\+\_\+, \textquotesingle{}/\textquotesingle{}) + 1 \+: \+\_\+\+\_\+\+F\+I\+L\+E\+\_\+\+\_\+)
+\item
+\#define \hyperlink{src_2hmi-debug_8h_a65bb6c7cfe38f8a724beab5059d36fb2}{H\+M\+I\+\_\+\+E\+R\+R\+OR}(prefix, args, ...)~\hyperlink{src_2hmi-debug_8h_a0846b9d51e2e0612c4825a9a581aa40a}{\+\_\+\+H\+M\+I\+\_\+\+L\+OG}(\hyperlink{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+E\+R\+R\+OR}, \hyperlink{src_2hmi-debug_8h_a5fccb4fc71e44089a1b1a77fc76c0b68}{\+\_\+\+\_\+\+F\+I\+L\+E\+N\+A\+M\+E\+\_\+\+\_\+}, \+\_\+\+\_\+\+F\+U\+N\+C\+T\+I\+O\+N\+\_\+\+\_\+, \+\_\+\+\_\+\+L\+I\+N\+E\+\_\+\+\_\+, prefix, args, \#\#\+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+)
+\item
+\#define \hyperlink{src_2hmi-debug_8h_a25361812432cd2480bc8f1a8e56ecbf7}{H\+M\+I\+\_\+\+W\+A\+R\+N\+I\+NG}(prefix, args, ...)~\hyperlink{src_2hmi-debug_8h_a0846b9d51e2e0612c4825a9a581aa40a}{\+\_\+\+H\+M\+I\+\_\+\+L\+OG}(\hyperlink{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+W\+A\+R\+N\+I\+NG}, \hyperlink{src_2hmi-debug_8h_a5fccb4fc71e44089a1b1a77fc76c0b68}{\+\_\+\+\_\+\+F\+I\+L\+E\+N\+A\+M\+E\+\_\+\+\_\+}, \+\_\+\+\_\+\+F\+U\+N\+C\+T\+I\+O\+N\+\_\+\+\_\+,\+\_\+\+\_\+\+L\+I\+N\+E\+\_\+\+\_\+, prefix, args,\#\#\+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+)
+\item
+\#define \hyperlink{src_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{H\+M\+I\+\_\+\+N\+O\+T\+I\+CE}(prefix, args, ...)~\hyperlink{src_2hmi-debug_8h_a0846b9d51e2e0612c4825a9a581aa40a}{\+\_\+\+H\+M\+I\+\_\+\+L\+OG}(\hyperlink{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+T\+I\+CE}, \hyperlink{src_2hmi-debug_8h_a5fccb4fc71e44089a1b1a77fc76c0b68}{\+\_\+\+\_\+\+F\+I\+L\+E\+N\+A\+M\+E\+\_\+\+\_\+}, \+\_\+\+\_\+\+F\+U\+N\+C\+T\+I\+O\+N\+\_\+\+\_\+,\+\_\+\+\_\+\+L\+I\+N\+E\+\_\+\+\_\+, prefix, args,\#\#\+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+)
+\item
+\#define \hyperlink{src_2hmi-debug_8h_a11b249a67108f0f4c50a0fc8a3eb4f5c}{H\+M\+I\+\_\+\+I\+N\+FO}(prefix, args, ...)~\hyperlink{src_2hmi-debug_8h_a0846b9d51e2e0612c4825a9a581aa40a}{\+\_\+\+H\+M\+I\+\_\+\+L\+OG}(\hyperlink{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+I\+N\+FO}, \hyperlink{src_2hmi-debug_8h_a5fccb4fc71e44089a1b1a77fc76c0b68}{\+\_\+\+\_\+\+F\+I\+L\+E\+N\+A\+M\+E\+\_\+\+\_\+}, \+\_\+\+\_\+\+F\+U\+N\+C\+T\+I\+O\+N\+\_\+\+\_\+,\+\_\+\+\_\+\+L\+I\+N\+E\+\_\+\+\_\+, prefix, args,\#\#\+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+)
+\item
+\#define \hyperlink{src_2hmi-debug_8h_a0d26d8b8201011dade787236519711c0}{H\+M\+I\+\_\+\+D\+E\+B\+UG}(prefix, args, ...)~\hyperlink{src_2hmi-debug_8h_a0846b9d51e2e0612c4825a9a581aa40a}{\+\_\+\+H\+M\+I\+\_\+\+L\+OG}(\hyperlink{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+D\+E\+B\+UG}, \hyperlink{src_2hmi-debug_8h_a5fccb4fc71e44089a1b1a77fc76c0b68}{\+\_\+\+\_\+\+F\+I\+L\+E\+N\+A\+M\+E\+\_\+\+\_\+}, \+\_\+\+\_\+\+F\+U\+N\+C\+T\+I\+O\+N\+\_\+\+\_\+,\+\_\+\+\_\+\+L\+I\+N\+E\+\_\+\+\_\+, prefix, args,\#\#\+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+)
+\end{DoxyCompactItemize}
+\subsection*{Enumerations}
+\begin{DoxyCompactItemize}
+\item
+enum \hyperlink{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583}{L\+O\+G\+\_\+\+L\+E\+V\+EL} \{ \\*
+\hyperlink{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+NE} = 0,
+\hyperlink{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+E\+R\+R\+OR},
+\hyperlink{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+W\+A\+R\+N\+I\+NG},
+\hyperlink{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+T\+I\+CE},
+\\*
+\hyperlink{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+I\+N\+FO},
+\hyperlink{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+D\+E\+B\+UG},
+\hyperlink{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+M\+AX} = L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+D\+E\+B\+UG,
+\hyperlink{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+NE} = 0,
+\\*
+\hyperlink{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+E\+R\+R\+OR},
+\hyperlink{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+W\+A\+R\+N\+I\+NG},
+\hyperlink{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+T\+I\+CE},
+\hyperlink{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+I\+N\+FO},
+\\*
+\hyperlink{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+D\+E\+B\+UG},
+\hyperlink{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444}{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+M\+AX} = L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+D\+E\+B\+UG
+ \}
+\end{DoxyCompactItemize}
+\subsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+static void \hyperlink{src_2hmi-debug_8h_a0846b9d51e2e0612c4825a9a581aa40a}{\+\_\+\+H\+M\+I\+\_\+\+L\+OG} (enum \hyperlink{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583}{L\+O\+G\+\_\+\+L\+E\+V\+EL} level, const char $\ast$file, const char $\ast$func, const int line, const char $\ast$prefix, const char $\ast$log,...)
+\end{DoxyCompactItemize}
+\subsection*{Variables}
+\begin{DoxyCompactItemize}
+\item
+static char \hyperlink{src_2hmi-debug_8h_a13d4c7647aad2e84766f8b48a6caab09}{E\+R\+R\+O\+R\+\_\+\+F\+L\+AG} \mbox{[}6\mbox{]}\mbox{[}20\mbox{]} = \{\char`\"{}N\+O\+NE\char`\"{}, \char`\"{}E\+R\+R\+OR\char`\"{}, \char`\"{}W\+A\+R\+N\+I\+NG\char`\"{}, \char`\"{}N\+O\+T\+I\+CE\char`\"{}, \char`\"{}I\+N\+FO\char`\"{}, \char`\"{}D\+E\+B\+UG\char`\"{}\}
+\end{DoxyCompactItemize}
+
+
+\subsection{Macro Definition Documentation}
+\index{src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}!\+\_\+\+\_\+\+F\+I\+L\+E\+N\+A\+M\+E\+\_\+\+\_\+@{\+\_\+\+\_\+\+F\+I\+L\+E\+N\+A\+M\+E\+\_\+\+\_\+}}
+\index{\+\_\+\+\_\+\+F\+I\+L\+E\+N\+A\+M\+E\+\_\+\+\_\+@{\+\_\+\+\_\+\+F\+I\+L\+E\+N\+A\+M\+E\+\_\+\+\_\+}!src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}}
+\subsubsection[{\texorpdfstring{\+\_\+\+\_\+\+F\+I\+L\+E\+N\+A\+M\+E\+\_\+\+\_\+}{__FILENAME__}}]{\setlength{\rightskip}{0pt plus 5cm}\#define \+\_\+\+\_\+\+F\+I\+L\+E\+N\+A\+M\+E\+\_\+\+\_\+~(strrchr(\+\_\+\+\_\+\+F\+I\+L\+E\+\_\+\+\_\+, \textquotesingle{}/\textquotesingle{}) ? strrchr(\+\_\+\+\_\+\+F\+I\+L\+E\+\_\+\+\_\+, \textquotesingle{}/\textquotesingle{}) + 1 \+: \+\_\+\+\_\+\+F\+I\+L\+E\+\_\+\+\_\+)}\hypertarget{src_2hmi-debug_8h_a5fccb4fc71e44089a1b1a77fc76c0b68}{}\label{src_2hmi-debug_8h_a5fccb4fc71e44089a1b1a77fc76c0b68}
+
+
+Definition at line 40 of file hmi-\/debug.\+h.
+
+\index{src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}!H\+M\+I\+\_\+\+D\+E\+B\+UG@{H\+M\+I\+\_\+\+D\+E\+B\+UG}}
+\index{H\+M\+I\+\_\+\+D\+E\+B\+UG@{H\+M\+I\+\_\+\+D\+E\+B\+UG}!src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}}
+\subsubsection[{\texorpdfstring{H\+M\+I\+\_\+\+D\+E\+B\+UG}{HMI_DEBUG}}]{\setlength{\rightskip}{0pt plus 5cm}\#define H\+M\+I\+\_\+\+D\+E\+B\+UG(
+\begin{DoxyParamCaption}
+\item[{}]{prefix, }
+\item[{}]{args, }
+\item[{}]{...}
+\end{DoxyParamCaption}
+)~{\bf \+\_\+\+H\+M\+I\+\_\+\+L\+OG}({\bf L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+D\+E\+B\+UG}, {\bf \+\_\+\+\_\+\+F\+I\+L\+E\+N\+A\+M\+E\+\_\+\+\_\+}, \+\_\+\+\_\+\+F\+U\+N\+C\+T\+I\+O\+N\+\_\+\+\_\+,\+\_\+\+\_\+\+L\+I\+N\+E\+\_\+\+\_\+, prefix, args,\#\#\+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+)}\hypertarget{src_2hmi-debug_8h_a0d26d8b8201011dade787236519711c0}{}\label{src_2hmi-debug_8h_a0d26d8b8201011dade787236519711c0}
+
+
+Definition at line 46 of file hmi-\/debug.\+h.
+
+\index{src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}!H\+M\+I\+\_\+\+E\+R\+R\+OR@{H\+M\+I\+\_\+\+E\+R\+R\+OR}}
+\index{H\+M\+I\+\_\+\+E\+R\+R\+OR@{H\+M\+I\+\_\+\+E\+R\+R\+OR}!src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}}
+\subsubsection[{\texorpdfstring{H\+M\+I\+\_\+\+E\+R\+R\+OR}{HMI_ERROR}}]{\setlength{\rightskip}{0pt plus 5cm}\#define H\+M\+I\+\_\+\+E\+R\+R\+OR(
+\begin{DoxyParamCaption}
+\item[{}]{prefix, }
+\item[{}]{args, }
+\item[{}]{...}
+\end{DoxyParamCaption}
+)~{\bf \+\_\+\+H\+M\+I\+\_\+\+L\+OG}({\bf L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+E\+R\+R\+OR}, {\bf \+\_\+\+\_\+\+F\+I\+L\+E\+N\+A\+M\+E\+\_\+\+\_\+}, \+\_\+\+\_\+\+F\+U\+N\+C\+T\+I\+O\+N\+\_\+\+\_\+, \+\_\+\+\_\+\+L\+I\+N\+E\+\_\+\+\_\+, prefix, args, \#\#\+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+)}\hypertarget{src_2hmi-debug_8h_a65bb6c7cfe38f8a724beab5059d36fb2}{}\label{src_2hmi-debug_8h_a65bb6c7cfe38f8a724beab5059d36fb2}
+
+
+Definition at line 42 of file hmi-\/debug.\+h.
+
+\index{src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}!H\+M\+I\+\_\+\+I\+N\+FO@{H\+M\+I\+\_\+\+I\+N\+FO}}
+\index{H\+M\+I\+\_\+\+I\+N\+FO@{H\+M\+I\+\_\+\+I\+N\+FO}!src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}}
+\subsubsection[{\texorpdfstring{H\+M\+I\+\_\+\+I\+N\+FO}{HMI_INFO}}]{\setlength{\rightskip}{0pt plus 5cm}\#define H\+M\+I\+\_\+\+I\+N\+FO(
+\begin{DoxyParamCaption}
+\item[{}]{prefix, }
+\item[{}]{args, }
+\item[{}]{...}
+\end{DoxyParamCaption}
+)~{\bf \+\_\+\+H\+M\+I\+\_\+\+L\+OG}({\bf L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+I\+N\+FO}, {\bf \+\_\+\+\_\+\+F\+I\+L\+E\+N\+A\+M\+E\+\_\+\+\_\+}, \+\_\+\+\_\+\+F\+U\+N\+C\+T\+I\+O\+N\+\_\+\+\_\+,\+\_\+\+\_\+\+L\+I\+N\+E\+\_\+\+\_\+, prefix, args,\#\#\+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+)}\hypertarget{src_2hmi-debug_8h_a11b249a67108f0f4c50a0fc8a3eb4f5c}{}\label{src_2hmi-debug_8h_a11b249a67108f0f4c50a0fc8a3eb4f5c}
+
+
+Definition at line 45 of file hmi-\/debug.\+h.
+
+\index{src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}!H\+M\+I\+\_\+\+N\+O\+T\+I\+CE@{H\+M\+I\+\_\+\+N\+O\+T\+I\+CE}}
+\index{H\+M\+I\+\_\+\+N\+O\+T\+I\+CE@{H\+M\+I\+\_\+\+N\+O\+T\+I\+CE}!src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}}
+\subsubsection[{\texorpdfstring{H\+M\+I\+\_\+\+N\+O\+T\+I\+CE}{HMI_NOTICE}}]{\setlength{\rightskip}{0pt plus 5cm}\#define H\+M\+I\+\_\+\+N\+O\+T\+I\+CE(
+\begin{DoxyParamCaption}
+\item[{}]{prefix, }
+\item[{}]{args, }
+\item[{}]{...}
+\end{DoxyParamCaption}
+)~{\bf \+\_\+\+H\+M\+I\+\_\+\+L\+OG}({\bf L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+T\+I\+CE}, {\bf \+\_\+\+\_\+\+F\+I\+L\+E\+N\+A\+M\+E\+\_\+\+\_\+}, \+\_\+\+\_\+\+F\+U\+N\+C\+T\+I\+O\+N\+\_\+\+\_\+,\+\_\+\+\_\+\+L\+I\+N\+E\+\_\+\+\_\+, prefix, args,\#\#\+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+)}\hypertarget{src_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}{}\label{src_2hmi-debug_8h_abc0d6e0760017d8ae48b836925b2ef15}
+
+
+Definition at line 44 of file hmi-\/debug.\+h.
+
+\index{src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}!H\+M\+I\+\_\+\+W\+A\+R\+N\+I\+NG@{H\+M\+I\+\_\+\+W\+A\+R\+N\+I\+NG}}
+\index{H\+M\+I\+\_\+\+W\+A\+R\+N\+I\+NG@{H\+M\+I\+\_\+\+W\+A\+R\+N\+I\+NG}!src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}}
+\subsubsection[{\texorpdfstring{H\+M\+I\+\_\+\+W\+A\+R\+N\+I\+NG}{HMI_WARNING}}]{\setlength{\rightskip}{0pt plus 5cm}\#define H\+M\+I\+\_\+\+W\+A\+R\+N\+I\+NG(
+\begin{DoxyParamCaption}
+\item[{}]{prefix, }
+\item[{}]{args, }
+\item[{}]{...}
+\end{DoxyParamCaption}
+)~{\bf \+\_\+\+H\+M\+I\+\_\+\+L\+OG}({\bf L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+W\+A\+R\+N\+I\+NG}, {\bf \+\_\+\+\_\+\+F\+I\+L\+E\+N\+A\+M\+E\+\_\+\+\_\+}, \+\_\+\+\_\+\+F\+U\+N\+C\+T\+I\+O\+N\+\_\+\+\_\+,\+\_\+\+\_\+\+L\+I\+N\+E\+\_\+\+\_\+, prefix, args,\#\#\+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+)}\hypertarget{src_2hmi-debug_8h_a25361812432cd2480bc8f1a8e56ecbf7}{}\label{src_2hmi-debug_8h_a25361812432cd2480bc8f1a8e56ecbf7}
+
+
+Definition at line 43 of file hmi-\/debug.\+h.
+
+
+
+\subsection{Enumeration Type Documentation}
+\index{src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}!L\+O\+G\+\_\+\+L\+E\+V\+EL@{L\+O\+G\+\_\+\+L\+E\+V\+EL}}
+\index{L\+O\+G\+\_\+\+L\+E\+V\+EL@{L\+O\+G\+\_\+\+L\+E\+V\+EL}!src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}}
+\subsubsection[{\texorpdfstring{L\+O\+G\+\_\+\+L\+E\+V\+EL}{LOG_LEVEL}}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf L\+O\+G\+\_\+\+L\+E\+V\+EL}}\hypertarget{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583}{}\label{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583}
+\begin{Desc}
+\item[Enumerator]\par
+\begin{description}
+\index{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+NE@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+NE}!src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}}\index{src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}!L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+NE@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+NE}}\item[{\em
+L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+NE\hypertarget{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848}{}\label{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848}
+}]\index{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+E\+R\+R\+OR@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+E\+R\+R\+OR}!src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}}\index{src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}!L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+E\+R\+R\+OR@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+E\+R\+R\+OR}}\item[{\em
+L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+E\+R\+R\+OR\hypertarget{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f}{}\label{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f}
+}]\index{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+W\+A\+R\+N\+I\+NG@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+W\+A\+R\+N\+I\+NG}!src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}}\index{src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}!L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+W\+A\+R\+N\+I\+NG@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+W\+A\+R\+N\+I\+NG}}\item[{\em
+L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+W\+A\+R\+N\+I\+NG\hypertarget{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef}{}\label{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef}
+}]\index{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+T\+I\+CE@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+T\+I\+CE}!src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}}\index{src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}!L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+T\+I\+CE@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+T\+I\+CE}}\item[{\em
+L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+T\+I\+CE\hypertarget{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e}{}\label{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e}
+}]\index{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+I\+N\+FO@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+I\+N\+FO}!src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}}\index{src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}!L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+I\+N\+FO@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+I\+N\+FO}}\item[{\em
+L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+I\+N\+FO\hypertarget{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4}{}\label{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4}
+}]\index{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+D\+E\+B\+UG@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+D\+E\+B\+UG}!src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}}\index{src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}!L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+D\+E\+B\+UG@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+D\+E\+B\+UG}}\item[{\em
+L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+D\+E\+B\+UG\hypertarget{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177}{}\label{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177}
+}]\index{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+M\+AX@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+M\+AX}!src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}}\index{src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}!L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+M\+AX@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+M\+AX}}\item[{\em
+L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+M\+AX\hypertarget{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444}{}\label{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444}
+}]\index{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+NE@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+NE}!src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}}\index{src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}!L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+NE@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+NE}}\item[{\em
+L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+NE\hypertarget{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848}{}\label{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848}
+}]\index{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+E\+R\+R\+OR@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+E\+R\+R\+OR}!src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}}\index{src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}!L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+E\+R\+R\+OR@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+E\+R\+R\+OR}}\item[{\em
+L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+E\+R\+R\+OR\hypertarget{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f}{}\label{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f}
+}]\index{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+W\+A\+R\+N\+I\+NG@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+W\+A\+R\+N\+I\+NG}!src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}}\index{src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}!L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+W\+A\+R\+N\+I\+NG@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+W\+A\+R\+N\+I\+NG}}\item[{\em
+L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+W\+A\+R\+N\+I\+NG\hypertarget{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef}{}\label{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef}
+}]\index{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+T\+I\+CE@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+T\+I\+CE}!src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}}\index{src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}!L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+T\+I\+CE@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+T\+I\+CE}}\item[{\em
+L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+T\+I\+CE\hypertarget{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e}{}\label{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e}
+}]\index{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+I\+N\+FO@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+I\+N\+FO}!src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}}\index{src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}!L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+I\+N\+FO@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+I\+N\+FO}}\item[{\em
+L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+I\+N\+FO\hypertarget{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4}{}\label{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4}
+}]\index{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+D\+E\+B\+UG@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+D\+E\+B\+UG}!src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}}\index{src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}!L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+D\+E\+B\+UG@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+D\+E\+B\+UG}}\item[{\em
+L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+D\+E\+B\+UG\hypertarget{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177}{}\label{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177}
+}]\index{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+M\+AX@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+M\+AX}!src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}}\index{src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}!L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+M\+AX@{L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+M\+AX}}\item[{\em
+L\+O\+G\+\_\+\+L\+E\+V\+E\+L\+\_\+\+M\+AX\hypertarget{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444}{}\label{src_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444}
+}]\end{description}
+\end{Desc}
+
+
+Definition at line 30 of file hmi-\/debug.\+h.
+
+
+\begin{DoxyCode}
+30 \{
+31 \hyperlink{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848}{LOG\_LEVEL\_NONE} = 0,
+32 \hyperlink{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f}{LOG\_LEVEL\_ERROR},
+33 \hyperlink{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef}{LOG\_LEVEL\_WARNING},
+34 \hyperlink{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e}{LOG\_LEVEL\_NOTICE},
+35 \hyperlink{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4}{LOG\_LEVEL\_INFO},
+36 \hyperlink{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177}{LOG\_LEVEL\_DEBUG},
+37 \hyperlink{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444}{LOG\_LEVEL\_MAX} = LOG\_LEVEL\_DEBUG
+38 \};
+\end{DoxyCode}
+
+
+\subsection{Function Documentation}
+\index{src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}!\+\_\+\+H\+M\+I\+\_\+\+L\+OG@{\+\_\+\+H\+M\+I\+\_\+\+L\+OG}}
+\index{\+\_\+\+H\+M\+I\+\_\+\+L\+OG@{\+\_\+\+H\+M\+I\+\_\+\+L\+OG}!src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}}
+\subsubsection[{\texorpdfstring{\+\_\+\+H\+M\+I\+\_\+\+L\+O\+G(enum L\+O\+G\+\_\+\+L\+E\+V\+E\+L level, const char $\ast$file, const char $\ast$func, const int line, const char $\ast$prefix, const char $\ast$log,...)}{_HMI_LOG(enum LOG_LEVEL level, const char *file, const char *func, const int line, const char *prefix, const char *log,...)}}]{\setlength{\rightskip}{0pt plus 5cm}static void \+\_\+\+H\+M\+I\+\_\+\+L\+OG (
+\begin{DoxyParamCaption}
+\item[{enum {\bf L\+O\+G\+\_\+\+L\+E\+V\+EL}}]{level, }
+\item[{const char $\ast$}]{file, }
+\item[{const char $\ast$}]{func, }
+\item[{const int}]{line, }
+\item[{const char $\ast$}]{prefix, }
+\item[{const char $\ast$}]{log, }
+\item[{}]{...}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{src_2hmi-debug_8h_a0846b9d51e2e0612c4825a9a581aa40a}{}\label{src_2hmi-debug_8h_a0846b9d51e2e0612c4825a9a581aa40a}
+
+
+Definition at line 50 of file hmi-\/debug.\+h.
+
+
+\begin{DoxyCode}
+51 \{
+52 \textcolor{keyword}{const} \textcolor{keywordtype}{int} log\_level = (getenv(\textcolor{stringliteral}{"USE\_HMI\_DEBUG"}) == NULL)?\hyperlink{include_2hmi-debug_8h_aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f}{LOG\_LEVEL\_ERROR}:atoi(getenv(\textcolor{stringliteral}{"
+ USE\_HMI\_DEBUG"}));
+53 \textcolor{keywordflow}{if}(log\_level < level)
+54 \{
+55 \textcolor{keywordflow}{return};
+56 \}
+57
+58 \textcolor{keywordtype}{char} *message;
+59 \textcolor{keyword}{struct }timespec tp;
+60 \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} time;
+61
+62 clock\_gettime(CLOCK\_REALTIME, &tp);
+63 time = (tp.tv\_sec * 1000000L) + (tp.tv\_nsec / 1000);
+64
+65 va\_list args;
+66 va\_start(args, log);
+67 \textcolor{keywordflow}{if} (log == NULL || vasprintf(&message, log, args) < 0)
+68 message = NULL;
+69 fprintf(stderr, \textcolor{stringliteral}{"[%10.3f] [%s %s] [%s, %s(), Line:%d] >>> %s \(\backslash\)n"}, time / 1000.0, prefix,
+ \hyperlink{src_2hmi-debug_8h_a13d4c7647aad2e84766f8b48a6caab09}{ERROR\_FLAG}[level], file, func, line, message);
+70 va\_end(args);
+71 free(message);
+72 \}
+\end{DoxyCode}
+
+
+\subsection{Variable Documentation}
+\index{src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}!E\+R\+R\+O\+R\+\_\+\+F\+L\+AG@{E\+R\+R\+O\+R\+\_\+\+F\+L\+AG}}
+\index{E\+R\+R\+O\+R\+\_\+\+F\+L\+AG@{E\+R\+R\+O\+R\+\_\+\+F\+L\+AG}!src/hmi-\/debug.\+h@{src/hmi-\/debug.\+h}}
+\subsubsection[{\texorpdfstring{E\+R\+R\+O\+R\+\_\+\+F\+L\+AG}{ERROR_FLAG}}]{\setlength{\rightskip}{0pt plus 5cm}char E\+R\+R\+O\+R\+\_\+\+F\+L\+AG\mbox{[}6\mbox{]}\mbox{[}20\mbox{]} = \{\char`\"{}N\+O\+NE\char`\"{}, \char`\"{}E\+R\+R\+OR\char`\"{}, \char`\"{}W\+A\+R\+N\+I\+NG\char`\"{}, \char`\"{}N\+O\+T\+I\+CE\char`\"{}, \char`\"{}I\+N\+FO\char`\"{}, \char`\"{}D\+E\+B\+UG\char`\"{}\}\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{src_2hmi-debug_8h_a13d4c7647aad2e84766f8b48a6caab09}{}\label{src_2hmi-debug_8h_a13d4c7647aad2e84766f8b48a6caab09}
+
+
+Definition at line 48 of file hmi-\/debug.\+h.
+