1 \hypertarget{libhomescreen_8cpp}{}\section{libhomescreen/libhomescreen.cpp File Reference}
2 \label{libhomescreen_8cpp}\index{libhomescreen/libhomescreen.\+cpp@{libhomescreen/libhomescreen.\+cpp}}
3 {\ttfamily \#include $<$stdarg.\+h$>$}\\*
4 {\ttfamily \#include $<$sys/socket.\+h$>$}\\*
5 {\ttfamily \#include $<$iostream$>$}\\*
6 {\ttfamily \#include $<$algorithm$>$}\\*
7 {\ttfamily \#include $<$errno.\+h$>$}\\*
8 {\ttfamily \#include $<$cassert$>$}\\*
9 {\ttfamily \#include $<$cctype$>$}\\*
10 {\ttfamily \#include $<$cerrno$>$}\\*
11 {\ttfamily \#include $<$cstdio$>$}\\*
12 {\ttfamily \#include $<$cstdlib$>$}\\*
13 {\ttfamily \#include $<$cstring$>$}\\*
14 {\ttfamily \#include $<$libhomescreen.\+hpp$>$}\\*
15 {\ttfamily \#include \char`\"{}hmi-\/debug.\+h\char`\"{}}\\*
16 \subsection*{Functions}
17 \begin{DoxyCompactItemize}
19 static bool \hyperlink{libhomescreen_8cpp_a7a2176c3d71fec0f09dcb2aa0866b17e}{has\+\_\+verb} (const string \&verb)
21 static void \hyperlink{libhomescreen_8cpp_a73c05b96c151e5e46c28585ccb143c1c}{\+\_\+on\+\_\+hangup\+\_\+static} (void $\ast$closure, struct afb\+\_\+wsj1 $\ast$wsj)
23 static void \hyperlink{libhomescreen_8cpp_a782a05fde0f1c17e0c4c8f972a3f53c8}{\+\_\+on\+\_\+call\+\_\+static} (void $\ast$closure, const char $\ast$api, const char $\ast$verb, struct afb\+\_\+wsj1\+\_\+msg $\ast$msg)
25 static void \hyperlink{libhomescreen_8cpp_a3df86185aa9453726556da201d95a6f9}{\+\_\+on\+\_\+event\+\_\+static} (void $\ast$closure, const char $\ast$event, struct afb\+\_\+wsj1\+\_\+msg $\ast$msg)
27 static void \hyperlink{libhomescreen_8cpp_a7778933bffa862c63fa0a1b8219faa8b}{\+\_\+on\+\_\+reply\+\_\+static} (void $\ast$closure, struct afb\+\_\+wsj1\+\_\+msg $\ast$msg)
28 \end{DoxyCompactItemize}
29 \subsection*{Variables}
30 \begin{DoxyCompactItemize}
32 static const char \hyperlink{libhomescreen_8cpp_a1e2d6e77dd8f0162f830058579eab42f}{A\+PI} \mbox{[}$\,$\mbox{]} = \char`\"{}homescreen\char`\"{}
34 static const char \hyperlink{libhomescreen_8cpp_a5a89bcb5a83f6b2e5c664a041bd8fd00}{Application\+Id} \mbox{[}$\,$\mbox{]} = \char`\"{}application\+\_\+id\char`\"{}
35 \end{DoxyCompactItemize}
38 \subsection{Function Documentation}
39 \index{libhomescreen.\+cpp@{libhomescreen.\+cpp}!\+\_\+on\+\_\+call\+\_\+static@{\+\_\+on\+\_\+call\+\_\+static}}
40 \index{\+\_\+on\+\_\+call\+\_\+static@{\+\_\+on\+\_\+call\+\_\+static}!libhomescreen.\+cpp@{libhomescreen.\+cpp}}
41 \subsubsection[{\texorpdfstring{\+\_\+on\+\_\+call\+\_\+static(void $\ast$closure, const char $\ast$api, const char $\ast$verb, struct afb\+\_\+wsj1\+\_\+msg $\ast$msg)}{_on_call_static(void *closure, const char *api, const char *verb, struct afb_wsj1_msg *msg)}}]{\setlength{\rightskip}{0pt plus 5cm}static void \+\_\+on\+\_\+call\+\_\+static (
42 \begin{DoxyParamCaption}
43 \item[{void $\ast$}]{closure, }
44 \item[{const char $\ast$}]{api, }
45 \item[{const char $\ast$}]{verb, }
46 \item[{struct afb\+\_\+wsj1\+\_\+msg $\ast$}]{msg}
47 \end{DoxyParamCaption}
48 )\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{libhomescreen_8cpp_a782a05fde0f1c17e0c4c8f972a3f53c8}{}\label{libhomescreen_8cpp_a782a05fde0f1c17e0c4c8f972a3f53c8}
51 Definition at line 74 of file libhomescreen.\+cpp.
56 76 \textcolor{comment}{/* LibHomeScreen is not called from other process */}
59 \index{libhomescreen.\+cpp@{libhomescreen.\+cpp}!\+\_\+on\+\_\+event\+\_\+static@{\+\_\+on\+\_\+event\+\_\+static}}
60 \index{\+\_\+on\+\_\+event\+\_\+static@{\+\_\+on\+\_\+event\+\_\+static}!libhomescreen.\+cpp@{libhomescreen.\+cpp}}
61 \subsubsection[{\texorpdfstring{\+\_\+on\+\_\+event\+\_\+static(void $\ast$closure, const char $\ast$event, struct afb\+\_\+wsj1\+\_\+msg $\ast$msg)}{_on_event_static(void *closure, const char *event, struct afb_wsj1_msg *msg)}}]{\setlength{\rightskip}{0pt plus 5cm}static void \+\_\+on\+\_\+event\+\_\+static (
62 \begin{DoxyParamCaption}
63 \item[{void $\ast$}]{closure, }
64 \item[{const char $\ast$}]{event, }
65 \item[{struct afb\+\_\+wsj1\+\_\+msg $\ast$}]{msg}
66 \end{DoxyParamCaption}
67 )\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{libhomescreen_8cpp_a3df86185aa9453726556da201d95a6f9}{}\label{libhomescreen_8cpp_a3df86185aa9453726556da201d95a6f9}
70 Definition at line 79 of file libhomescreen.\+cpp.
75 81 \textcolor{keyword}{static\_cast<}\hyperlink{class_lib_home_screen}{LibHomeScreen}*\textcolor{keyword}{>}(closure)->on\_event(NULL,event,msg);
78 \index{libhomescreen.\+cpp@{libhomescreen.\+cpp}!\+\_\+on\+\_\+hangup\+\_\+static@{\+\_\+on\+\_\+hangup\+\_\+static}}
79 \index{\+\_\+on\+\_\+hangup\+\_\+static@{\+\_\+on\+\_\+hangup\+\_\+static}!libhomescreen.\+cpp@{libhomescreen.\+cpp}}
80 \subsubsection[{\texorpdfstring{\+\_\+on\+\_\+hangup\+\_\+static(void $\ast$closure, struct afb\+\_\+wsj1 $\ast$wsj)}{_on_hangup_static(void *closure, struct afb_wsj1 *wsj)}}]{\setlength{\rightskip}{0pt plus 5cm}static void \+\_\+on\+\_\+hangup\+\_\+static (
81 \begin{DoxyParamCaption}
82 \item[{void $\ast$}]{closure, }
83 \item[{struct afb\+\_\+wsj1 $\ast$}]{wsj}
84 \end{DoxyParamCaption}
85 )\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{libhomescreen_8cpp_a73c05b96c151e5e46c28585ccb143c1c}{}\label{libhomescreen_8cpp_a73c05b96c151e5e46c28585ccb143c1c}
88 Definition at line 69 of file libhomescreen.\+cpp.
93 71 \textcolor{keyword}{static\_cast<}\hyperlink{class_lib_home_screen}{LibHomeScreen}*\textcolor{keyword}{>}(closure)->on\_hangup(NULL,wsj);
96 \index{libhomescreen.\+cpp@{libhomescreen.\+cpp}!\+\_\+on\+\_\+reply\+\_\+static@{\+\_\+on\+\_\+reply\+\_\+static}}
97 \index{\+\_\+on\+\_\+reply\+\_\+static@{\+\_\+on\+\_\+reply\+\_\+static}!libhomescreen.\+cpp@{libhomescreen.\+cpp}}
98 \subsubsection[{\texorpdfstring{\+\_\+on\+\_\+reply\+\_\+static(void $\ast$closure, struct afb\+\_\+wsj1\+\_\+msg $\ast$msg)}{_on_reply_static(void *closure, struct afb_wsj1_msg *msg)}}]{\setlength{\rightskip}{0pt plus 5cm}static void \+\_\+on\+\_\+reply\+\_\+static (
99 \begin{DoxyParamCaption}
100 \item[{void $\ast$}]{closure, }
101 \item[{struct afb\+\_\+wsj1\+\_\+msg $\ast$}]{msg}
102 \end{DoxyParamCaption}
103 )\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{libhomescreen_8cpp_a7778933bffa862c63fa0a1b8219faa8b}{}\label{libhomescreen_8cpp_a7778933bffa862c63fa0a1b8219faa8b}
106 Definition at line 84 of file libhomescreen.\+cpp.
111 86 \textcolor{keyword}{static\_cast<}\hyperlink{class_lib_home_screen}{LibHomeScreen}*\textcolor{keyword}{>}(closure)->on\_reply(NULL,msg);
114 \index{libhomescreen.\+cpp@{libhomescreen.\+cpp}!has\+\_\+verb@{has\+\_\+verb}}
115 \index{has\+\_\+verb@{has\+\_\+verb}!libhomescreen.\+cpp@{libhomescreen.\+cpp}}
116 \subsubsection[{\texorpdfstring{has\+\_\+verb(const string \&verb)}{has_verb(const string &verb)}}]{\setlength{\rightskip}{0pt plus 5cm}static bool has\+\_\+verb (
117 \begin{DoxyParamCaption}
118 \item[{const string \&}]{verb}
119 \end{DoxyParamCaption}
120 )\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{libhomescreen_8cpp_a7a2176c3d71fec0f09dcb2aa0866b17e}{}\label{libhomescreen_8cpp_a7a2176c3d71fec0f09dcb2aa0866b17e}
123 Definition at line 705 of file libhomescreen.\+cpp.
128 707 \hyperlink{include_2hmi-debug_8h_a0d26d8b8201011dade787236519711c0}{HMI\_DEBUG}(\textcolor{stringliteral}{"libhomescreen"},\textcolor{stringliteral}{"verb is %s"}, verb.c\_str());
129 708 \textcolor{keywordflow}{if}(find(\hyperlink{class_lib_home_screen_a5593ff5ac78f6495ccb649904cf0ab08}{LibHomeScreen::api\_list}.begin(),
130 \hyperlink{class_lib_home_screen_a5593ff5ac78f6495ccb649904cf0ab08}{LibHomeScreen::api\_list}.end(), verb) !=
131 \hyperlink{class_lib_home_screen_a5593ff5ac78f6495ccb649904cf0ab08}{LibHomeScreen::api\_list}.end())
132 709 \textcolor{keywordflow}{return} \textcolor{keyword}{true};
133 710 \textcolor{keywordflow}{else}
134 711 \textcolor{keywordflow}{return} \textcolor{keyword}{false};
139 \subsection{Variable Documentation}
140 \index{libhomescreen.\+cpp@{libhomescreen.\+cpp}!A\+PI@{A\+PI}}
141 \index{A\+PI@{A\+PI}!libhomescreen.\+cpp@{libhomescreen.\+cpp}}
142 \subsubsection[{\texorpdfstring{A\+PI}{API}}]{\setlength{\rightskip}{0pt plus 5cm}const char A\+PI\mbox{[}$\,$\mbox{]} = \char`\"{}homescreen\char`\"{}\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{libhomescreen_8cpp_a1e2d6e77dd8f0162f830058579eab42f}{}\label{libhomescreen_8cpp_a1e2d6e77dd8f0162f830058579eab42f}
145 Definition at line 35 of file libhomescreen.\+cpp.
147 \index{libhomescreen.\+cpp@{libhomescreen.\+cpp}!Application\+Id@{Application\+Id}}
148 \index{Application\+Id@{Application\+Id}!libhomescreen.\+cpp@{libhomescreen.\+cpp}}
149 \subsubsection[{\texorpdfstring{Application\+Id}{ApplicationId}}]{\setlength{\rightskip}{0pt plus 5cm}const char Application\+Id\mbox{[}$\,$\mbox{]} = \char`\"{}application\+\_\+id\char`\"{}\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{libhomescreen_8cpp_a5a89bcb5a83f6b2e5c664a041bd8fd00}{}\label{libhomescreen_8cpp_a5a89bcb5a83f6b2e5c664a041bd8fd00}
152 Definition at line 36 of file libhomescreen.\+cpp.