\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.

