\hypertarget{libhomescreen_8cpp}{}\section{libhomescreen/libhomescreen.cpp File Reference} \label{libhomescreen_8cpp}\index{libhomescreen/libhomescreen.\+cpp@{libhomescreen/libhomescreen.\+cpp}} {\ttfamily \#include $<$stdarg.\+h$>$}\\* {\ttfamily \#include $<$sys/socket.\+h$>$}\\* {\ttfamily \#include $<$iostream$>$}\\* {\ttfamily \#include $<$algorithm$>$}\\* {\ttfamily \#include $<$errno.\+h$>$}\\* {\ttfamily \#include $<$cassert$>$}\\* {\ttfamily \#include $<$cctype$>$}\\* {\ttfamily \#include $<$cerrno$>$}\\* {\ttfamily \#include $<$cstdio$>$}\\* {\ttfamily \#include $<$cstdlib$>$}\\* {\ttfamily \#include $<$cstring$>$}\\* {\ttfamily \#include $<$libhomescreen.\+hpp$>$}\\* {\ttfamily \#include \char`\"{}hmi-\/debug.\+h\char`\"{}}\\* \subsection*{Functions} \begin{DoxyCompactItemize} \item 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) \item static void \hyperlink{libhomescreen_8cpp_a782a05fde0f1c17e0c4c8f972a3f53c8}{\+\_\+on\+\_\+call\+\_\+static} (void $\ast$closure, const char $\ast$api, const char $\ast$verb, struct afb\+\_\+wsj1\+\_\+msg $\ast$msg) \item static void \hyperlink{libhomescreen_8cpp_a3df86185aa9453726556da201d95a6f9}{\+\_\+on\+\_\+event\+\_\+static} (void $\ast$closure, const char $\ast$event, struct afb\+\_\+wsj1\+\_\+msg $\ast$msg) \item static void \hyperlink{libhomescreen_8cpp_a7778933bffa862c63fa0a1b8219faa8b}{\+\_\+on\+\_\+reply\+\_\+static} (void $\ast$closure, struct afb\+\_\+wsj1\+\_\+msg $\ast$msg) \end{DoxyCompactItemize} \subsection*{Variables} \begin{DoxyCompactItemize} \item static const char \hyperlink{libhomescreen_8cpp_a1e2d6e77dd8f0162f830058579eab42f}{A\+PI} \mbox{[}$\,$\mbox{]} = \char`\"{}homescreen\char`\"{} \item static const char \hyperlink{libhomescreen_8cpp_a5a89bcb5a83f6b2e5c664a041bd8fd00}{Application\+Id} \mbox{[}$\,$\mbox{]} = \char`\"{}application\+\_\+id\char`\"{} \end{DoxyCompactItemize} \subsection{Function Documentation} \index{libhomescreen.\+cpp@{libhomescreen.\+cpp}!\+\_\+on\+\_\+call\+\_\+static@{\+\_\+on\+\_\+call\+\_\+static}} \index{\+\_\+on\+\_\+call\+\_\+static@{\+\_\+on\+\_\+call\+\_\+static}!libhomescreen.\+cpp@{libhomescreen.\+cpp}} \subsubsection[{\texorpdfstring{\+\_\+on\+\_\+call\+\_\+static(void $\ast$closure, const char $\ast$api, const char $\ast$verb, struct afb\+\_\+wsj1\+\_\+msg $\ast$msg)}{_on_call_static(void *closure, const char *api, const char *verb, struct afb_wsj1_msg *msg)}}]{\setlength{\rightskip}{0pt plus 5cm}static void \+\_\+on\+\_\+call\+\_\+static ( \begin{DoxyParamCaption} \item[{void $\ast$}]{closure, } \item[{const char $\ast$}]{api, } \item[{const char $\ast$}]{verb, } \item[{struct afb\+\_\+wsj1\+\_\+msg $\ast$}]{msg} \end{DoxyParamCaption} )\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{libhomescreen_8cpp_a782a05fde0f1c17e0c4c8f972a3f53c8}{}\label{libhomescreen_8cpp_a782a05fde0f1c17e0c4c8f972a3f53c8} Definition at line 74 of file libhomescreen.\+cpp. \begin{DoxyCode} 75 \{ 76 \textcolor{comment}{/* LibHomeScreen is not called from other process */} 77 \} \end{DoxyCode} \index{libhomescreen.\+cpp@{libhomescreen.\+cpp}!\+\_\+on\+\_\+event\+\_\+static@{\+\_\+on\+\_\+event\+\_\+static}} \index{\+\_\+on\+\_\+event\+\_\+static@{\+\_\+on\+\_\+event\+\_\+static}!libhomescreen.\+cpp@{libhomescreen.\+cpp}} \subsubsection[{\texorpdfstring{\+\_\+on\+\_\+event\+\_\+static(void $\ast$closure, const char $\ast$event, struct afb\+\_\+wsj1\+\_\+msg $\ast$msg)}{_on_event_static(void *closure, const char *event, struct afb_wsj1_msg *msg)}}]{\setlength{\rightskip}{0pt plus 5cm}static void \+\_\+on\+\_\+event\+\_\+static ( \begin{DoxyParamCaption} \item[{void $\ast$}]{closure, } \item[{const char $\ast$}]{event, } \item[{struct afb\+\_\+wsj1\+\_\+msg $\ast$}]{msg} \end{DoxyParamCaption} )\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{libhomescreen_8cpp_a3df86185aa9453726556da201d95a6f9}{}\label{libhomescreen_8cpp_a3df86185aa9453726556da201d95a6f9} Definition at line 79 of file libhomescreen.\+cpp. \begin{DoxyCode} 80 \{ 81 \textcolor{keyword}{static\_cast<}\hyperlink{class_lib_home_screen}{LibHomeScreen}*\textcolor{keyword}{>}(closure)->on\_event(NULL,event,msg); 82 \} \end{DoxyCode} \index{libhomescreen.\+cpp@{libhomescreen.\+cpp}!\+\_\+on\+\_\+hangup\+\_\+static@{\+\_\+on\+\_\+hangup\+\_\+static}} \index{\+\_\+on\+\_\+hangup\+\_\+static@{\+\_\+on\+\_\+hangup\+\_\+static}!libhomescreen.\+cpp@{libhomescreen.\+cpp}} \subsubsection[{\texorpdfstring{\+\_\+on\+\_\+hangup\+\_\+static(void $\ast$closure, struct afb\+\_\+wsj1 $\ast$wsj)}{_on_hangup_static(void *closure, struct afb_wsj1 *wsj)}}]{\setlength{\rightskip}{0pt plus 5cm}static void \+\_\+on\+\_\+hangup\+\_\+static ( \begin{DoxyParamCaption} \item[{void $\ast$}]{closure, } \item[{struct afb\+\_\+wsj1 $\ast$}]{wsj} \end{DoxyParamCaption} )\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{libhomescreen_8cpp_a73c05b96c151e5e46c28585ccb143c1c}{}\label{libhomescreen_8cpp_a73c05b96c151e5e46c28585ccb143c1c} websocket Definition at line 69 of file libhomescreen.\+cpp. \begin{DoxyCode} 70 \{ 71 \textcolor{keyword}{static\_cast<}\hyperlink{class_lib_home_screen}{LibHomeScreen}*\textcolor{keyword}{>}(closure)->on\_hangup(NULL,wsj); 72 \} \end{DoxyCode} \index{libhomescreen.\+cpp@{libhomescreen.\+cpp}!\+\_\+on\+\_\+reply\+\_\+static@{\+\_\+on\+\_\+reply\+\_\+static}} \index{\+\_\+on\+\_\+reply\+\_\+static@{\+\_\+on\+\_\+reply\+\_\+static}!libhomescreen.\+cpp@{libhomescreen.\+cpp}} \subsubsection[{\texorpdfstring{\+\_\+on\+\_\+reply\+\_\+static(void $\ast$closure, struct afb\+\_\+wsj1\+\_\+msg $\ast$msg)}{_on_reply_static(void *closure, struct afb_wsj1_msg *msg)}}]{\setlength{\rightskip}{0pt plus 5cm}static void \+\_\+on\+\_\+reply\+\_\+static ( \begin{DoxyParamCaption} \item[{void $\ast$}]{closure, } \item[{struct afb\+\_\+wsj1\+\_\+msg $\ast$}]{msg} \end{DoxyParamCaption} )\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{libhomescreen_8cpp_a7778933bffa862c63fa0a1b8219faa8b}{}\label{libhomescreen_8cpp_a7778933bffa862c63fa0a1b8219faa8b} Definition at line 84 of file libhomescreen.\+cpp. \begin{DoxyCode} 85 \{ 86 \textcolor{keyword}{static\_cast<}\hyperlink{class_lib_home_screen}{LibHomeScreen}*\textcolor{keyword}{>}(closure)->on\_reply(NULL,msg); 87 \} \end{DoxyCode} \index{libhomescreen.\+cpp@{libhomescreen.\+cpp}!has\+\_\+verb@{has\+\_\+verb}} \index{has\+\_\+verb@{has\+\_\+verb}!libhomescreen.\+cpp@{libhomescreen.\+cpp}} \subsubsection[{\texorpdfstring{has\+\_\+verb(const string \&verb)}{has_verb(const string &verb)}}]{\setlength{\rightskip}{0pt plus 5cm}static bool has\+\_\+verb ( \begin{DoxyParamCaption} \item[{const string \&}]{verb} \end{DoxyParamCaption} )\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{libhomescreen_8cpp_a7a2176c3d71fec0f09dcb2aa0866b17e}{}\label{libhomescreen_8cpp_a7a2176c3d71fec0f09dcb2aa0866b17e} Definition at line 705 of file libhomescreen.\+cpp. \begin{DoxyCode} 706 \{ 707 \hyperlink{include_2hmi-debug_8h_a0d26d8b8201011dade787236519711c0}{HMI\_DEBUG}(\textcolor{stringliteral}{"libhomescreen"},\textcolor{stringliteral}{"verb is %s"}, verb.c\_str()); 708 \textcolor{keywordflow}{if}(find(\hyperlink{class_lib_home_screen_a5593ff5ac78f6495ccb649904cf0ab08}{LibHomeScreen::api\_list}.begin(), \hyperlink{class_lib_home_screen_a5593ff5ac78f6495ccb649904cf0ab08}{LibHomeScreen::api\_list}.end(), verb) != \hyperlink{class_lib_home_screen_a5593ff5ac78f6495ccb649904cf0ab08}{LibHomeScreen::api\_list}.end()) 709 \textcolor{keywordflow}{return} \textcolor{keyword}{true}; 710 \textcolor{keywordflow}{else} 711 \textcolor{keywordflow}{return} \textcolor{keyword}{false}; 712 \} \end{DoxyCode} \subsection{Variable Documentation} \index{libhomescreen.\+cpp@{libhomescreen.\+cpp}!A\+PI@{A\+PI}} \index{A\+PI@{A\+PI}!libhomescreen.\+cpp@{libhomescreen.\+cpp}} \subsubsection[{\texorpdfstring{A\+PI}{API}}]{\setlength{\rightskip}{0pt plus 5cm}const char A\+PI\mbox{[}$\,$\mbox{]} = \char`\"{}homescreen\char`\"{}\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{libhomescreen_8cpp_a1e2d6e77dd8f0162f830058579eab42f}{}\label{libhomescreen_8cpp_a1e2d6e77dd8f0162f830058579eab42f} Definition at line 35 of file libhomescreen.\+cpp. \index{libhomescreen.\+cpp@{libhomescreen.\+cpp}!Application\+Id@{Application\+Id}} \index{Application\+Id@{Application\+Id}!libhomescreen.\+cpp@{libhomescreen.\+cpp}} \subsubsection[{\texorpdfstring{Application\+Id}{ApplicationId}}]{\setlength{\rightskip}{0pt plus 5cm}const char Application\+Id\mbox{[}$\,$\mbox{]} = \char`\"{}application\+\_\+id\char`\"{}\hspace{0.3cm}{\ttfamily [static]}}\hypertarget{libhomescreen_8cpp_a5a89bcb5a83f6b2e5c664a041bd8fd00}{}\label{libhomescreen_8cpp_a5a89bcb5a83f6b2e5c664a041bd8fd00} Definition at line 36 of file libhomescreen.\+cpp.