Add agl-service-homescreen-2017
[apps/agl-service-homescreen.git] / doc / api-ref / latex / de / dd0 / class_lib_home_screen.tex
1 \hypertarget{class_lib_home_screen}{}\section{Lib\+Home\+Screen Class Reference}
2 \label{class_lib_home_screen}\index{Lib\+Home\+Screen@{Lib\+Home\+Screen}}
3
4
5 {\ttfamily \#include $<$libhomescreen.\+hpp$>$}
6
7 \subsection*{Public Types}
8 \begin{DoxyCompactItemize}
9 \item 
10 enum \hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154}{Event\+Type} \{ \hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f}{Event\+\_\+\+Tap\+Shortcut} = 1, 
11 \hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d}{Event\+\_\+\+On\+Screen\+Message}
12  \}
13 \item 
14 using \hyperlink{class_lib_home_screen_ae99dee1e03d494d59d26c9f17078e01f}{handler\+\_\+func} = std\+::function$<$ void(const char $\ast$)$>$
15 \end{DoxyCompactItemize}
16 \subsection*{Public Member Functions}
17 \begin{DoxyCompactItemize}
18 \item 
19 \hyperlink{class_lib_home_screen_a724bd949c4154fad041f96a15ef0f5dc}{Lib\+Home\+Screen} ()
20 \item 
21 \hyperlink{class_lib_home_screen_a249902aebf71a5383ca8ec6ae558d095}{$\sim$\+Lib\+Home\+Screen} ()
22 \item 
23 \hyperlink{class_lib_home_screen_a0fff2f703c8ce184eb9edd133e0f4137}{Lib\+Home\+Screen} (const \hyperlink{class_lib_home_screen}{Lib\+Home\+Screen} \&)=delete
24 \item 
25 \hyperlink{class_lib_home_screen}{Lib\+Home\+Screen} \& \hyperlink{class_lib_home_screen_a23bc17798453cfca50904562736f6b25}{operator=} (const \hyperlink{class_lib_home_screen}{Lib\+Home\+Screen} \&)=delete
26 \item 
27 int \hyperlink{class_lib_home_screen_a6a57b573cc767725762ba9beab032220}{init} (const int port, const std\+::string \&token)
28 \item 
29 int \hyperlink{class_lib_home_screen_a32d3282898d0f04151c24b4103511e00}{run\+Eventloop} ()
30 \item 
31 int \hyperlink{class_lib_home_screen_afb571c9577087b47065eb23e7fdbc903}{tap\+Shortcut} (const char $\ast$application\+\_\+name)
32 \item 
33 int \hyperlink{class_lib_home_screen_ac336482036a72b51a822725f1929523c}{on\+Screen\+Message} (const char $\ast$display\+\_\+message)
34 \item 
35 void \hyperlink{class_lib_home_screen_ab1b0e08bf35415de9064afed899e9f85}{set\+\_\+event\+\_\+handler} (enum \hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154}{Event\+Type} et, \hyperlink{class_lib_home_screen_ae99dee1e03d494d59d26c9f17078e01f}{handler\+\_\+func} f)
36 \item 
37 void \hyperlink{class_lib_home_screen_a2789e8a5372202cc36f48e71dbb9b7cf}{register\+Callback} (void($\ast$event\+\_\+cb)(const std\+::string \&\hyperlink{structevent}{event}, struct json\+\_\+object $\ast$event\+\_\+contents), void($\ast$reply\+\_\+cb)(struct json\+\_\+object $\ast$reply\+\_\+contents), void($\ast$hangup\+\_\+cb)(void)=nullptr)
38 \item 
39 int \hyperlink{class_lib_home_screen_a527b49dcfe581be6275d0eb2236ba37f}{call} (const std\+::string \&verb, struct json\+\_\+object $\ast$arg)
40 \item 
41 int \hyperlink{class_lib_home_screen_ab5e8e8ab7d53e0f114e9e907fcbb7643}{call} (const char $\ast$verb, struct json\+\_\+object $\ast$arg)
42 \item 
43 int \hyperlink{class_lib_home_screen_aa4c189807b75d070f567967f0d690738}{subscribe} (const std\+::string \&event\+\_\+name)
44 \item 
45 int \hyperlink{class_lib_home_screen_aac03a45cbd453ba69ddb00c1016930a6}{unsubscribe} (const std\+::string \&event\+\_\+name)
46 \item 
47 void \hyperlink{class_lib_home_screen_ab1c1fa69f24b981e824dd9fb810c4b74}{on\+\_\+hangup} (void $\ast$closure, struct afb\+\_\+wsj1 $\ast$wsj)
48 \item 
49 void \hyperlink{class_lib_home_screen_a608638eb87b2772a3dcc92d8ca8f3596}{on\+\_\+call} (void $\ast$closure, const char $\ast$api, const char $\ast$verb, struct afb\+\_\+wsj1\+\_\+msg $\ast$msg)
50 \item 
51 void \hyperlink{class_lib_home_screen_a9c4885b51b43ab24a548d49fb3ab2de3}{on\+\_\+event} (void $\ast$closure, const char $\ast$\hyperlink{structevent}{event}, struct afb\+\_\+wsj1\+\_\+msg $\ast$msg)
52 \item 
53 void \hyperlink{class_lib_home_screen_a248d9648c6186287a7632ec1c75fc9c5}{on\+\_\+reply} (void $\ast$closure, struct afb\+\_\+wsj1\+\_\+msg $\ast$msg)
54 \end{DoxyCompactItemize}
55 \subsection*{Static Public Attributes}
56 \begin{DoxyCompactItemize}
57 \item 
58 static const std\+::vector$<$ std\+::string $>$ \hyperlink{class_lib_home_screen_a5593ff5ac78f6495ccb649904cf0ab08}{api\+\_\+list}
59 \item 
60 static const std\+::vector$<$ std\+::string $>$ \hyperlink{class_lib_home_screen_a6a6d8a4d33a006a08652e7377a4c29e9}{event\+\_\+list}
61 \end{DoxyCompactItemize}
62
63
64 \subsection{Detailed Description}
65
66
67 Definition at line 32 of file libhomescreen.\+hpp.
68
69
70
71 \subsection{Member Typedef Documentation}
72 \mbox{\Hypertarget{class_lib_home_screen_ae99dee1e03d494d59d26c9f17078e01f}\label{class_lib_home_screen_ae99dee1e03d494d59d26c9f17078e01f}} 
73 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!handler\+\_\+func@{handler\+\_\+func}}
74 \index{handler\+\_\+func@{handler\+\_\+func}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
75 \subsubsection{\texorpdfstring{handler\+\_\+func}{handler\_func}}
76 {\footnotesize\ttfamily using \hyperlink{class_lib_home_screen_ae99dee1e03d494d59d26c9f17078e01f}{Lib\+Home\+Screen\+::handler\+\_\+func} =  std\+::function$<$void(const char$\ast$)$>$}
77
78
79
80 Definition at line 41 of file libhomescreen.\+hpp.
81
82
83
84 \subsection{Member Enumeration Documentation}
85 \mbox{\Hypertarget{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154}\label{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154}} 
86 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!Event\+Type@{Event\+Type}}
87 \index{Event\+Type@{Event\+Type}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
88 \subsubsection{\texorpdfstring{Event\+Type}{EventType}}
89 {\footnotesize\ttfamily enum \hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154}{Lib\+Home\+Screen\+::\+Event\+Type}}
90
91 \begin{DoxyEnumFields}{Enumerator}
92 \raisebox{\heightof{T}}[0pt][0pt]{\index{Event\+\_\+\+Tap\+Shortcut@{Event\+\_\+\+Tap\+Shortcut}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}\index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!Event\+\_\+\+Tap\+Shortcut@{Event\+\_\+\+Tap\+Shortcut}}}\mbox{\Hypertarget{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f}\label{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f}} 
93 Event\+\_\+\+Tap\+Shortcut&\\
94 \hline
95
96 \raisebox{\heightof{T}}[0pt][0pt]{\index{Event\+\_\+\+On\+Screen\+Message@{Event\+\_\+\+On\+Screen\+Message}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}\index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!Event\+\_\+\+On\+Screen\+Message@{Event\+\_\+\+On\+Screen\+Message}}}\mbox{\Hypertarget{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d}\label{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d}} 
97 Event\+\_\+\+On\+Screen\+Message&\\
98 \hline
99
100 \end{DoxyEnumFields}
101
102
103 Definition at line 43 of file libhomescreen.\+hpp.
104
105
106 \begin{DoxyCode}
107 43                        \{
108 44             \hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f}{Event\_TapShortcut} = 1,
109 45             \hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d}{Event\_OnScreenMessage}
110 46         \};
111 \end{DoxyCode}
112
113
114 \subsection{Constructor \& Destructor Documentation}
115 \mbox{\Hypertarget{class_lib_home_screen_a724bd949c4154fad041f96a15ef0f5dc}\label{class_lib_home_screen_a724bd949c4154fad041f96a15ef0f5dc}} 
116 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
117 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
118 \subsubsection{\texorpdfstring{Lib\+Home\+Screen()}{LibHomeScreen()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
119 {\footnotesize\ttfamily Lib\+Home\+Screen\+::\+Lib\+Home\+Screen (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
120
121 constructor 
122
123 Definition at line 85 of file libhomescreen.\+cpp.
124
125
126 \begin{DoxyCode}
127 86 \{
128 87 
129 88 \}
130 \end{DoxyCode}
131 \mbox{\Hypertarget{class_lib_home_screen_a249902aebf71a5383ca8ec6ae558d095}\label{class_lib_home_screen_a249902aebf71a5383ca8ec6ae558d095}} 
132 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!````~Lib\+Home\+Screen@{$\sim$\+Lib\+Home\+Screen}}
133 \index{````~Lib\+Home\+Screen@{$\sim$\+Lib\+Home\+Screen}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
134 \subsubsection{\texorpdfstring{$\sim$\+Lib\+Home\+Screen()}{~LibHomeScreen()}}
135 {\footnotesize\ttfamily Lib\+Home\+Screen\+::$\sim$\+Lib\+Home\+Screen (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
136
137 destructor 
138
139 Definition at line 93 of file libhomescreen.\+cpp.
140
141
142 \begin{DoxyCode}
143 94 \{
144 95     \textcolor{keywordflow}{if}(mploop)
145 96     \{
146 97         sd\_event\_unref(mploop);
147 98     \}
148 99     \textcolor{keywordflow}{if}(sp\_websock != NULL)
149 100     \{
150 101         free(sp\_websock);
151 102     \}
152 103 \}
153 \end{DoxyCode}
154 \mbox{\Hypertarget{class_lib_home_screen_a0fff2f703c8ce184eb9edd133e0f4137}\label{class_lib_home_screen_a0fff2f703c8ce184eb9edd133e0f4137}} 
155 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
156 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
157 \subsubsection{\texorpdfstring{Lib\+Home\+Screen()}{LibHomeScreen()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
158 {\footnotesize\ttfamily Lib\+Home\+Screen\+::\+Lib\+Home\+Screen (\begin{DoxyParamCaption}\item[{const \hyperlink{class_lib_home_screen}{Lib\+Home\+Screen} \&}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [delete]}}
159
160
161
162 \subsection{Member Function Documentation}
163 \mbox{\Hypertarget{class_lib_home_screen_a527b49dcfe581be6275d0eb2236ba37f}\label{class_lib_home_screen_a527b49dcfe581be6275d0eb2236ba37f}} 
164 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!call@{call}}
165 \index{call@{call}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
166 \subsubsection{\texorpdfstring{call()}{call()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
167 {\footnotesize\ttfamily int Lib\+Home\+Screen\+::call (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{verb,  }\item[{struct json\+\_\+object $\ast$}]{arg }\end{DoxyParamCaption})}
168
169 \mbox{\Hypertarget{class_lib_home_screen_ab5e8e8ab7d53e0f114e9e907fcbb7643}\label{class_lib_home_screen_ab5e8e8ab7d53e0f114e9e907fcbb7643}} 
170 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!call@{call}}
171 \index{call@{call}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
172 \subsubsection{\texorpdfstring{call()}{call()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
173 {\footnotesize\ttfamily int Lib\+Home\+Screen\+::call (\begin{DoxyParamCaption}\item[{const char $\ast$}]{verb,  }\item[{struct json\+\_\+object $\ast$}]{arg }\end{DoxyParamCaption})}
174
175 This function calls the A\+PI of Home\+Screen via Web\+Socket This function is overload function of \char`\"{}call\char`\"{}
176
177 \subparagraph*{Parameters}
178
179
180 \begin{DoxyItemize}
181 \item verb \mbox{[}in\mbox{]} \+: This argument should be specified to the A\+PI name (e.\+g. \char`\"{}tap\+\_\+shortcut\char`\"{})
182 \item arg \mbox{[}in\mbox{]} \+: This argument should be specified to the argument of A\+PI. And this argument expects J\+S\+ON object
183 \end{DoxyItemize}
184
185 \subparagraph*{Return}
186
187
188 \begin{DoxyItemize}
189 \item Returns 0 on success or -\/1 in case of error.
190 \end{DoxyItemize}
191
192 \subparagraph*{Note}
193
194 To call Home\+Screen\textquotesingle{}s A\+P\+Is, the application should set its function name, arguments to J\+S\+ON format. 
195
196 Definition at line 369 of file libhomescreen.\+cpp.
197
198
199 \begin{DoxyCode}
200 370 \{
201 371     \textcolor{keywordtype}{int} ret;
202 372     \textcolor{keywordflow}{if}(!sp\_websock)
203 373     \{
204 374         \textcolor{keywordflow}{return} -1;
205 375     \}
206 376     \textcolor{keywordflow}{if} (!\hyperlink{libhomescreen_8cpp_a7a2176c3d71fec0f09dcb2aa0866b17e}{has\_verb}(\textcolor{keywordtype}{string}(verb)))
207 377     \{
208 378         \hyperlink{libhomescreen_8cpp_a797aa3053bd6a29819d44f8fad8a5eca}{ELOG}(\textcolor{stringliteral}{"verb doesn't exit"});
209 379         \textcolor{keywordflow}{return} -1;
210 380     \}
211 381     ret = afb\_wsj1\_call\_j(sp\_websock, \hyperlink{libhomescreen_8cpp_a1e2d6e77dd8f0162f830058579eab42f}{API}, verb, arg, \hyperlink{libhomescreen_8cpp_a7778933bffa862c63fa0a1b8219faa8b}{\_on\_reply\_static}, \textcolor{keyword}{this});
212 382     \textcolor{keywordflow}{if} (ret < 0) \{
213 383         \hyperlink{libhomescreen_8cpp_a797aa3053bd6a29819d44f8fad8a5eca}{ELOG}(\textcolor{stringliteral}{"Failed to call verb:%s"},verb);
214 384     \}
215 385     \textcolor{keywordflow}{return} ret;
216 386 \}
217 \end{DoxyCode}
218 \mbox{\Hypertarget{class_lib_home_screen_a6a57b573cc767725762ba9beab032220}\label{class_lib_home_screen_a6a57b573cc767725762ba9beab032220}} 
219 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!init@{init}}
220 \index{init@{init}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
221 \subsubsection{\texorpdfstring{init()}{init()}}
222 {\footnotesize\ttfamily int Lib\+Home\+Screen\+::init (\begin{DoxyParamCaption}\item[{const int}]{port,  }\item[{const std\+::string \&}]{token }\end{DoxyParamCaption})}
223
224 This function is initializer
225
226 \subparagraph*{Parameters}
227
228
229 \begin{DoxyItemize}
230 \item port \mbox{[}in\mbox{]} \+: This argument should be specified to the port number to be used for websocket
231 \item token \mbox{[}in\mbox{]} \+: This argument should be specified to the token to be used for websocket
232 \end{DoxyItemize}
233
234 \subparagraph*{Return}
235
236 Nothing
237
238 \subparagraph*{Note}
239
240 Use this constructor 
241
242 Definition at line 119 of file libhomescreen.\+cpp.
243
244
245 \begin{DoxyCode}
246 120 \{
247 121     \textcolor{keywordtype}{int} ret = 0;
248 122     \textcolor{keywordflow}{if}(port > 0 && token.size() > 0)
249 123     \{
250 124         mport = port;
251 125         mtoken = token;
252 126     \}
253 127     \textcolor{keywordflow}{else}
254 128     \{
255 129         \hyperlink{libhomescreen_8cpp_a797aa3053bd6a29819d44f8fad8a5eca}{ELOG}(\textcolor{stringliteral}{"port and token should be > 0, Initial port and token uses."});
256 130     \}
257 131 
258 132     ret = initialize\_websocket();
259 133     \textcolor{keywordflow}{if}(ret != 0 )
260 134     \{
261 135         \hyperlink{libhomescreen_8cpp_a797aa3053bd6a29819d44f8fad8a5eca}{ELOG}(\textcolor{stringliteral}{"Failed to initialize websocket"});
262 136     \}
263 137     \textcolor{keywordflow}{else}\{
264 138         \hyperlink{libhomescreen_8cpp_a4e42b2f5af2174dd24f958351becf63d}{DLOG}(\textcolor{stringliteral}{"Initialized"});
265 139     \}
266 140 
267 141     \textcolor{keywordflow}{return} ret;
268 142 \}
269 \end{DoxyCode}
270 \mbox{\Hypertarget{class_lib_home_screen_a608638eb87b2772a3dcc92d8ca8f3596}\label{class_lib_home_screen_a608638eb87b2772a3dcc92d8ca8f3596}} 
271 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!on\+\_\+call@{on\+\_\+call}}
272 \index{on\+\_\+call@{on\+\_\+call}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
273 \subsubsection{\texorpdfstring{on\+\_\+call()}{on\_call()}}
274 {\footnotesize\ttfamily void Lib\+Home\+Screen\+::on\+\_\+call (\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})}
275
276
277
278 Definition at line 457 of file libhomescreen.\+cpp.
279
280
281 \begin{DoxyCode}
282 458 \{
283 459 \}
284 \end{DoxyCode}
285 \mbox{\Hypertarget{class_lib_home_screen_a9c4885b51b43ab24a548d49fb3ab2de3}\label{class_lib_home_screen_a9c4885b51b43ab24a548d49fb3ab2de3}} 
286 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!on\+\_\+event@{on\+\_\+event}}
287 \index{on\+\_\+event@{on\+\_\+event}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
288 \subsubsection{\texorpdfstring{on\+\_\+event()}{on\_event()}}
289 {\footnotesize\ttfamily void Lib\+Home\+Screen\+::on\+\_\+event (\begin{DoxyParamCaption}\item[{void $\ast$}]{closure,  }\item[{const char $\ast$}]{event,  }\item[{struct afb\+\_\+wsj1\+\_\+msg $\ast$}]{msg }\end{DoxyParamCaption})}
290
291
292
293 Definition at line 467 of file libhomescreen.\+cpp.
294
295
296 \begin{DoxyCode}
297 468 \{
298 469     cout << \textcolor{stringliteral}{"[libhomescreen on\_event]: "} << \textcolor{keyword}{event} << \textcolor{stringliteral}{" ("} << afb\_wsj1\_msg\_object\_s(msg) << \textcolor{stringliteral}{")"} << endl;
299 470 
300 471   \textcolor{keywordflow}{if} (strstr(\hyperlink{structevent}{event}, \hyperlink{libhomescreen_8cpp_a1e2d6e77dd8f0162f830058579eab42f}{API}) == NULL) \{
301 472         \textcolor{keywordflow}{return};
302 473     \}
303 474 
304 475     \textcolor{keyword}{struct }json\_object* ev\_contents = afb\_wsj1\_msg\_object\_j(msg);
305 476     \textcolor{keyword}{struct }json\_object *json\_data = json\_object\_object\_get(ev\_contents, \textcolor{stringliteral}{"data"});
306 477 
307 478     \textcolor{keywordflow}{if}(onEvent != \textcolor{keyword}{nullptr})
308 479     \{
309 480         \textcolor{keyword}{const} \textcolor{keywordtype}{string} ev(\hyperlink{structevent}{event});
310 481         onEvent(ev, ev\_contents);
311 482     \}
312 483 
313 484     \textcolor{keyword}{const} \textcolor{keywordtype}{char}* event\_only = strchr(\hyperlink{structevent}{event}, \textcolor{charliteral}{'/'});
314 485     \textcolor{keywordflow}{if} (event\_only != \textcolor{keyword}{nullptr}) \{
315 486         event\_only = event\_only + 1;
316 487     \}
317 488 
318 489     \textcolor{keywordflow}{if} (strcasecmp(event\_only, \hyperlink{class_lib_home_screen_a6a6d8a4d33a006a08652e7377a4c29e9}{LibHomeScreen::event\_list}[0].c\_str()) == 0) \{
319 490         \textcolor{keyword}{auto} i = this->handlers.find(\hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f}{Event\_TapShortcut});
320 491 
321 492         \textcolor{keyword}{struct }json\_object *json\_application\_name = json\_object\_object\_get(json\_data, \textcolor{stringliteral}{"application\_name"});
322 493         \textcolor{keyword}{const} \textcolor{keywordtype}{char}* application\_name = json\_object\_get\_string(json\_application\_name);
323 494 
324 495         \textcolor{keywordflow}{if} ( i != this->handlers.end() ) \{
325 496             i->second(application\_name);
326 497         \}
327 498     \}
328 499     \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (strcasecmp(event\_only, \hyperlink{class_lib_home_screen_a6a6d8a4d33a006a08652e7377a4c29e9}{LibHomeScreen::event\_list}[1].c\_str()) == 0) \{
329 500 
330 501         \textcolor{keyword}{auto} i = this->handlers.find(\hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d}{Event\_OnScreenMessage});
331 502 
332 503         \textcolor{keyword}{struct }json\_object *json\_display\_message = json\_object\_object\_get(json\_data, \textcolor{stringliteral}{"display\_message"});
333 504         \textcolor{keyword}{const} \textcolor{keywordtype}{char}* display\_message = json\_object\_get\_string(json\_display\_message);
334 505 
335 506         \textcolor{keywordflow}{if} ( i != this->handlers.end() ) \{
336 507             i->second(display\_message);
337 508         \}
338 509 
339 510     \}
340 511 
341 512     json\_object\_put(ev\_contents);
342 513 \}
343 \end{DoxyCode}
344 \mbox{\Hypertarget{class_lib_home_screen_ab1c1fa69f24b981e824dd9fb810c4b74}\label{class_lib_home_screen_ab1c1fa69f24b981e824dd9fb810c4b74}} 
345 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!on\+\_\+hangup@{on\+\_\+hangup}}
346 \index{on\+\_\+hangup@{on\+\_\+hangup}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
347 \subsubsection{\texorpdfstring{on\+\_\+hangup()}{on\_hangup()}}
348 {\footnotesize\ttfamily void Lib\+Home\+Screen\+::on\+\_\+hangup (\begin{DoxyParamCaption}\item[{void $\ast$}]{closure,  }\item[{struct afb\+\_\+wsj1 $\ast$}]{wsj }\end{DoxyParamCaption})}
349
350
351
352 Definition at line 448 of file libhomescreen.\+cpp.
353
354
355 \begin{DoxyCode}
356 449 \{
357 450     \hyperlink{libhomescreen_8cpp_a4e42b2f5af2174dd24f958351becf63d}{DLOG}(\textcolor{stringliteral}{"%s called"}, \_\_FUNCTION\_\_);
358 451     \textcolor{keywordflow}{if}(onHangup != \textcolor{keyword}{nullptr})
359 452     \{
360 453         onHangup();
361 454     \}
362 455 \}
363 \end{DoxyCode}
364 \mbox{\Hypertarget{class_lib_home_screen_a248d9648c6186287a7632ec1c75fc9c5}\label{class_lib_home_screen_a248d9648c6186287a7632ec1c75fc9c5}} 
365 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!on\+\_\+reply@{on\+\_\+reply}}
366 \index{on\+\_\+reply@{on\+\_\+reply}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
367 \subsubsection{\texorpdfstring{on\+\_\+reply()}{on\_reply()}}
368 {\footnotesize\ttfamily void Lib\+Home\+Screen\+::on\+\_\+reply (\begin{DoxyParamCaption}\item[{void $\ast$}]{closure,  }\item[{struct afb\+\_\+wsj1\+\_\+msg $\ast$}]{msg }\end{DoxyParamCaption})}
369
370 msg is like (\{\char`\"{}response\char`\"{}\+:\{\char`\"{}verb\char`\"{}\+:\char`\"{}subscribe\char`\"{},\char`\"{}error\char`\"{}\+:0\},\char`\"{}jtype\char`\"{}\+:\char`\"{}afb-\/reply\char`\"{},\char`\"{}request\char`\"{}\+:\{\char`\"{}status\char`\"{}\+:\char`\"{}success\char`\"{},\char`\"{}info\char`\"{}\+:\char`\"{}homescreen binder subscribe event name \mbox{[}on\+\_\+screen\+\_\+message\mbox{]}\char`\"{}\}\}) msg is like (\{\char`\"{}response\char`\"{}\+:\{\char`\"{}verb\char`\"{}\+:\char`\"{}tap\+\_\+shortcut\char`\"{},\char`\"{}error\char`\"{}\+:0\},\char`\"{}jtype\char`\"{}\+:\char`\"{}afb-\/reply\char`\"{},\char`\"{}request\char`\"{}\+:\{\char`\"{}status\char`\"{}\+:\char`\"{}success\char`\"{},\char`\"{}info\char`\"{}\+:\char`\"{}afb\+\_\+event\+\_\+push event \mbox{[}tap\+\_\+shortcut\mbox{]}\char`\"{}\}\}) 
371
372 Definition at line 519 of file libhomescreen.\+cpp.
373
374
375 \begin{DoxyCode}
376 520 \{
377 521     cout << \textcolor{stringliteral}{"[libhomescreen on\_reply]: "} <<  \textcolor{stringliteral}{" ("} << afb\_wsj1\_msg\_object\_s(msg) << \textcolor{stringliteral}{")"} << endl;
378 522     \textcolor{keywordflow}{if}(onReply != \textcolor{keyword}{nullptr})
379 523     \{
380 524         \textcolor{keyword}{struct }json\_object* reply = afb\_wsj1\_msg\_object\_j(msg);
381 525         onReply(reply);
382 526 
383 527         json\_object\_put(reply);
384 528     \}
385 529 \}
386 \end{DoxyCode}
387 \mbox{\Hypertarget{class_lib_home_screen_ac336482036a72b51a822725f1929523c}\label{class_lib_home_screen_ac336482036a72b51a822725f1929523c}} 
388 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!on\+Screen\+Message@{on\+Screen\+Message}}
389 \index{on\+Screen\+Message@{on\+Screen\+Message}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
390 \subsubsection{\texorpdfstring{on\+Screen\+Message()}{onScreenMessage()}}
391 {\footnotesize\ttfamily int Lib\+Home\+Screen\+::on\+Screen\+Message (\begin{DoxyParamCaption}\item[{const char $\ast$}]{display\+\_\+message }\end{DoxyParamCaption})}
392
393 Home\+Screenアプリに表示するメッセージイベントの発行
394
395 各アプリから\+Home\+Screenアプリケーションの\+On\+Screenに表示するイベントを発行する
396
397 \subparagraph*{Parameters}
398
399
400 \begin{DoxyItemize}
401 \item display\+\_\+message \mbox{[}in\mbox{]} \+: 表示するメッセージ
402 \end{DoxyItemize}
403
404 \subparagraph*{Return}
405
406
407 \begin{DoxyItemize}
408 \item Returns 0 on success or -\/1 in case of error. 
409 \end{DoxyItemize}
410
411 Definition at line 280 of file libhomescreen.\+cpp.
412
413
414 \begin{DoxyCode}
415 281 \{
416 282     \textcolor{keywordflow}{if}(!sp\_websock)
417 283     \{
418 284         \textcolor{keywordflow}{return} -1;
419 285     \}
420 286 
421 287     \textcolor{keyword}{struct }json\_object* j\_obj = json\_object\_new\_object();
422 288     \textcolor{keyword}{struct }json\_object* val = json\_object\_new\_string(display\_message);
423 289     json\_object\_object\_add(j\_obj, \textcolor{stringliteral}{"display\_message"}, val);
424 290     \textcolor{keywordflow}{return} this->\hyperlink{class_lib_home_screen_a527b49dcfe581be6275d0eb2236ba37f}{call}(\textcolor{stringliteral}{"on\_screen\_message"}, j\_obj);
425 291 \}
426 \end{DoxyCode}
427 \mbox{\Hypertarget{class_lib_home_screen_a23bc17798453cfca50904562736f6b25}\label{class_lib_home_screen_a23bc17798453cfca50904562736f6b25}} 
428 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!operator=@{operator=}}
429 \index{operator=@{operator=}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
430 \subsubsection{\texorpdfstring{operator=()}{operator=()}}
431 {\footnotesize\ttfamily \hyperlink{class_lib_home_screen}{Lib\+Home\+Screen}\& Lib\+Home\+Screen\+::operator= (\begin{DoxyParamCaption}\item[{const \hyperlink{class_lib_home_screen}{Lib\+Home\+Screen} \&}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [delete]}}
432
433 \mbox{\Hypertarget{class_lib_home_screen_a2789e8a5372202cc36f48e71dbb9b7cf}\label{class_lib_home_screen_a2789e8a5372202cc36f48e71dbb9b7cf}} 
434 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!register\+Callback@{register\+Callback}}
435 \index{register\+Callback@{register\+Callback}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
436 \subsubsection{\texorpdfstring{register\+Callback()}{registerCallback()}}
437 {\footnotesize\ttfamily void Lib\+Home\+Screen\+::register\+Callback (\begin{DoxyParamCaption}\item[{void($\ast$)(const std\+::string \&\hyperlink{structevent}{event}, struct json\+\_\+object $\ast$event\+\_\+contents)}]{event\+\_\+cb,  }\item[{void($\ast$)(struct json\+\_\+object $\ast$reply\+\_\+contents)}]{reply\+\_\+cb,  }\item[{void($\ast$)(void)}]{hangup\+\_\+cb = {\ttfamily nullptr} }\end{DoxyParamCaption})}
438
439 This function register callback function for reply/event message from home screen
440
441 \subparagraph*{Parameters}
442
443
444 \begin{DoxyItemize}
445 \item event\+\_\+cb \mbox{[}in\mbox{]} \+: This argument should be specified to the callback for subscribed event
446 \item reply\+\_\+cb \mbox{[}in\mbox{]} \+: This argument should be specified to the reply callback for call function
447 \end{DoxyItemize}
448
449 \subparagraph*{Return}
450
451 Nothing
452
453 \subparagraph*{Note}
454
455 Event callback is invoked by home screen for event you subscribed. If you would like to get event, please call subscribe function before/after this function 
456
457 Definition at line 158 of file libhomescreen.\+cpp.
458
459
460 \begin{DoxyCode}
461 162 \{
462 163     onEvent = event\_cb;
463 164     onReply = reply\_cb;
464 165     onHangup = hangup\_cb;
465 166 \}
466 \end{DoxyCode}
467 \mbox{\Hypertarget{class_lib_home_screen_a32d3282898d0f04151c24b4103511e00}\label{class_lib_home_screen_a32d3282898d0f04151c24b4103511e00}} 
468 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!run\+Eventloop@{run\+Eventloop}}
469 \index{run\+Eventloop@{run\+Eventloop}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
470 \subsubsection{\texorpdfstring{run\+Eventloop()}{runEventloop()}}
471 {\footnotesize\ttfamily int Lib\+Home\+Screen\+::run\+Eventloop (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
472
473 This function start receiving the reply/event message from home screen
474
475 \subparagraph*{Parameters}
476
477 Nothing
478
479 \subparagraph*{Return}
480
481
482 \begin{DoxyItemize}
483 \item Returns thread\+\_\+id on success or -\/1 in case of error.
484 \end{DoxyItemize}
485
486 \subparagraph*{Note}
487
488 Definition at line 224 of file libhomescreen.\+cpp.
489
490
491 \begin{DoxyCode}
492 225 \{
493 226     \textcolor{keywordflow}{if}(mploop && sp\_websock)
494 227     \{
495 228         pthread\_t thread\_id;
496 229         \textcolor{keywordtype}{int} ret = pthread\_create(&thread\_id, NULL, \hyperlink{libhomescreen_8cpp_aa73353e1bf62c68b6b0aba7a1e4e275e}{event\_loop\_run}, mploop);
497 230         \textcolor{keywordflow}{if}(ret != 0)
498 231         \{
499 232             \hyperlink{libhomescreen_8cpp_a797aa3053bd6a29819d44f8fad8a5eca}{ELOG}(\textcolor{stringliteral}{"Cannot run eventloop due to error:%d"}, errno);
500 233             \textcolor{keywordflow}{return} -1;
501 234         \}
502 235         \textcolor{keywordflow}{else}
503 236             \textcolor{keywordflow}{return} thread\_id;
504 237     \}
505 238     \textcolor{keywordflow}{else}
506 239     \{
507 240         \hyperlink{libhomescreen_8cpp_a797aa3053bd6a29819d44f8fad8a5eca}{ELOG}(\textcolor{stringliteral}{"Connecting is not established yet"});
508 241         \textcolor{keywordflow}{return} -1;
509 242     \}
510 243 \}
511 \end{DoxyCode}
512 \mbox{\Hypertarget{class_lib_home_screen_ab1b0e08bf35415de9064afed899e9f85}\label{class_lib_home_screen_ab1b0e08bf35415de9064afed899e9f85}} 
513 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!set\+\_\+event\+\_\+handler@{set\+\_\+event\+\_\+handler}}
514 \index{set\+\_\+event\+\_\+handler@{set\+\_\+event\+\_\+handler}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
515 \subsubsection{\texorpdfstring{set\+\_\+event\+\_\+handler()}{set\_event\_handler()}}
516 {\footnotesize\ttfamily void Lib\+Home\+Screen\+::set\+\_\+event\+\_\+handler (\begin{DoxyParamCaption}\item[{enum \hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154}{Event\+Type}}]{et,  }\item[{\hyperlink{class_lib_home_screen_ae99dee1e03d494d59d26c9f17078e01f}{handler\+\_\+func}}]{f }\end{DoxyParamCaption})}
517
518 イベントハンドラの登録
519
520 各アプリから\+Home\+Screenアプリケーションの\+On\+Screenに表示するイベントを発行する
521
522 \subparagraph*{Parameters}
523
524
525 \begin{DoxyItemize}
526 \item et \mbox{[}in\mbox{]} \+: 対象のイベント
527 \item f \mbox{[}in\mbox{]} \+: イベントハンドラ
528 \end{DoxyItemize}
529
530 \subparagraph*{Return}
531
532 Nothing 
533
534 Definition at line 305 of file libhomescreen.\+cpp.
535
536
537 \begin{DoxyCode}
538 306 \{
539 307     \textcolor{keywordflow}{if} (et >= 1 && et <= 2) \{
540 308         \textcolor{keywordflow}{switch} (et) \{
541 309             \textcolor{keywordflow}{case} \hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f}{Event\_TapShortcut}:
542 310                 this->\hyperlink{class_lib_home_screen_aa4c189807b75d070f567967f0d690738}{subscribe}(\hyperlink{class_lib_home_screen_a6a6d8a4d33a006a08652e7377a4c29e9}{LibHomeScreen::event\_list}[0]);
543 311                 \textcolor{keywordflow}{break};
544 312             \textcolor{keywordflow}{case} \hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d}{Event\_OnScreenMessage}:
545 313                 this->\hyperlink{class_lib_home_screen_aa4c189807b75d070f567967f0d690738}{subscribe}(\hyperlink{class_lib_home_screen_a6a6d8a4d33a006a08652e7377a4c29e9}{LibHomeScreen::event\_list}[1]);
546 314                 \textcolor{keywordflow}{break};
547 315         \}
548 316 
549 317         this->handlers[et] = std::move(f);
550 318     \}
551 319 \}
552 \end{DoxyCode}
553 \mbox{\Hypertarget{class_lib_home_screen_aa4c189807b75d070f567967f0d690738}\label{class_lib_home_screen_aa4c189807b75d070f567967f0d690738}} 
554 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!subscribe@{subscribe}}
555 \index{subscribe@{subscribe}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
556 \subsubsection{\texorpdfstring{subscribe()}{subscribe()}}
557 {\footnotesize\ttfamily int Lib\+Home\+Screen\+::subscribe (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{event\+\_\+name }\end{DoxyParamCaption})}
558
559 Register callback function for each event
560
561 \subparagraph*{Parameters}
562
563
564 \begin{DoxyItemize}
565 \item event\+\_\+name \mbox{[}in\mbox{]} \+: This argument should be specified to the event name
566 \end{DoxyItemize}
567
568 \subparagraph*{Return}
569
570
571 \begin{DoxyItemize}
572 \item Returns 0 on success or -\/1 in case of error.
573 \end{DoxyItemize}
574
575 \subparagraph*{Note}
576
577 This function enables to get an event to your callback function. 
578
579 Definition at line 401 of file libhomescreen.\+cpp.
580
581
582 \begin{DoxyCode}
583 402 \{
584 403     \textcolor{keywordflow}{if}(!sp\_websock)
585 404     \{
586 405         \textcolor{keywordflow}{return} -1;
587 406     \}
588 407     \textcolor{keyword}{struct }json\_object* j\_obj = json\_object\_new\_object();
589 408     json\_object\_object\_add(j\_obj, \textcolor{stringliteral}{"event"}, json\_object\_new\_string(event\_name.c\_str()));
590 409 
591 410     \textcolor{keywordtype}{int} ret = afb\_wsj1\_call\_j(sp\_websock, \hyperlink{libhomescreen_8cpp_a1e2d6e77dd8f0162f830058579eab42f}{API}, \textcolor{stringliteral}{"subscribe"}, j\_obj, 
592       \hyperlink{libhomescreen_8cpp_a7778933bffa862c63fa0a1b8219faa8b}{\_on\_reply\_static}, \textcolor{keyword}{this});
593 411     \textcolor{keywordflow}{if} (ret < 0) \{
594 412         \hyperlink{libhomescreen_8cpp_a797aa3053bd6a29819d44f8fad8a5eca}{ELOG}(\textcolor{stringliteral}{"Failed to call verb:%s"},\_\_FUNCTION\_\_);
595 413     \}
596 414     \textcolor{keywordflow}{return} ret;
597 415 \}
598 \end{DoxyCode}
599 \mbox{\Hypertarget{class_lib_home_screen_afb571c9577087b47065eb23e7fdbc903}\label{class_lib_home_screen_afb571c9577087b47065eb23e7fdbc903}} 
600 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!tap\+Shortcut@{tap\+Shortcut}}
601 \index{tap\+Shortcut@{tap\+Shortcut}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
602 \subsubsection{\texorpdfstring{tap\+Shortcut()}{tapShortcut()}}
603 {\footnotesize\ttfamily int Lib\+Home\+Screen\+::tap\+Shortcut (\begin{DoxyParamCaption}\item[{const char $\ast$}]{application\+\_\+name }\end{DoxyParamCaption})}
604
605 ショートカットアイコンがタップされたイベントの発行
606
607 Home\+Screenアプリケーションにて各アプリアイコンがタップされたときにイベントを発行する
608
609 \subparagraph*{Parameters}
610
611
612 \begin{DoxyItemize}
613 \item application\+\_\+name \mbox{[}in\mbox{]} \+: タップされたアプリケーションの名前(label)
614 \end{DoxyItemize}
615
616 \subparagraph*{Return}
617
618
619 \begin{DoxyItemize}
620 \item Returns 0 on success or -\/1 in case of error. 
621 \end{DoxyItemize}
622
623 Definition at line 256 of file libhomescreen.\+cpp.
624
625
626 \begin{DoxyCode}
627 257 \{
628 258     \textcolor{keywordflow}{if}(!sp\_websock)
629 259     \{
630 260         \textcolor{keywordflow}{return} -1;
631 261     \}
632 262 
633 263     \textcolor{keyword}{struct }json\_object* j\_obj = json\_object\_new\_object();
634 264     \textcolor{keyword}{struct }json\_object* val = json\_object\_new\_string(application\_name);
635 265     json\_object\_object\_add(j\_obj, \textcolor{stringliteral}{"application\_name"}, val);
636 266     \textcolor{keywordflow}{return} this->\hyperlink{class_lib_home_screen_a527b49dcfe581be6275d0eb2236ba37f}{call}(\textcolor{stringliteral}{"tap\_shortcut"}, j\_obj);
637 267 \}
638 \end{DoxyCode}
639 \mbox{\Hypertarget{class_lib_home_screen_aac03a45cbd453ba69ddb00c1016930a6}\label{class_lib_home_screen_aac03a45cbd453ba69ddb00c1016930a6}} 
640 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!unsubscribe@{unsubscribe}}
641 \index{unsubscribe@{unsubscribe}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
642 \subsubsection{\texorpdfstring{unsubscribe()}{unsubscribe()}}
643 {\footnotesize\ttfamily int Lib\+Home\+Screen\+::unsubscribe (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{event\+\_\+name }\end{DoxyParamCaption})}
644
645 Unregister callback function for each event
646
647 \subparagraph*{Parameters}
648
649
650 \begin{DoxyItemize}
651 \item event\+\_\+name \mbox{[}in\mbox{]} \+: This argument should be specified to the event name
652 \end{DoxyItemize}
653
654 \subparagraph*{Return}
655
656
657 \begin{DoxyItemize}
658 \item Returns 0 on success or -\/1 in case of error.
659 \end{DoxyItemize}
660
661 \subparagraph*{Note}
662
663 This function disables to get an event to your callback function. 
664
665 Definition at line 430 of file libhomescreen.\+cpp.
666
667
668 \begin{DoxyCode}
669 431 \{
670 432     \textcolor{keywordflow}{if}(!sp\_websock)
671 433     \{
672 434         \textcolor{keywordflow}{return} -1;
673 435     \}
674 436     \textcolor{keyword}{struct }json\_object* j\_obj = json\_object\_new\_object();
675 437     json\_object\_object\_add(j\_obj, \textcolor{stringliteral}{"event"}, json\_object\_new\_string(event\_name.c\_str()));
676 438 
677 439     \textcolor{keywordtype}{int} ret = afb\_wsj1\_call\_j(sp\_websock, \hyperlink{libhomescreen_8cpp_a1e2d6e77dd8f0162f830058579eab42f}{API}, \textcolor{stringliteral}{"unsubscribe"}, j\_obj, 
678       \hyperlink{libhomescreen_8cpp_a7778933bffa862c63fa0a1b8219faa8b}{\_on\_reply\_static}, \textcolor{keyword}{this});
679 440     \textcolor{keywordflow}{if} (ret < 0) \{
680 441         \hyperlink{libhomescreen_8cpp_a797aa3053bd6a29819d44f8fad8a5eca}{ELOG}(\textcolor{stringliteral}{"Failed to call verb:%s"},\_\_FUNCTION\_\_);
681 442     \}
682 443     \textcolor{keywordflow}{return} ret;
683 444 \}
684 \end{DoxyCode}
685
686
687 \subsection{Member Data Documentation}
688 \mbox{\Hypertarget{class_lib_home_screen_a5593ff5ac78f6495ccb649904cf0ab08}\label{class_lib_home_screen_a5593ff5ac78f6495ccb649904cf0ab08}} 
689 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!api\+\_\+list@{api\+\_\+list}}
690 \index{api\+\_\+list@{api\+\_\+list}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
691 \subsubsection{\texorpdfstring{api\+\_\+list}{api\_list}}
692 {\footnotesize\ttfamily const std\+::vector$<$ std\+::string $>$ Lib\+Home\+Screen\+::api\+\_\+list\hspace{0.3cm}{\ttfamily [static]}}
693
694 {\bfseries Initial value\+:}
695 \begin{DoxyCode}
696 \{
697     std::string(\textcolor{stringliteral}{"ping"}), 
698     std::string(\textcolor{stringliteral}{"tap\_shortcut"}), 
699     std::string(\textcolor{stringliteral}{"on\_screen\_message"}),
700     std::string(\textcolor{stringliteral}{"subscribe"}),
701     std::string(\textcolor{stringliteral}{"unsubscribe"})
702 \}
703 \end{DoxyCode}
704
705
706 Definition at line 48 of file libhomescreen.\+hpp.
707
708 \mbox{\Hypertarget{class_lib_home_screen_a6a6d8a4d33a006a08652e7377a4c29e9}\label{class_lib_home_screen_a6a6d8a4d33a006a08652e7377a4c29e9}} 
709 \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!event\+\_\+list@{event\+\_\+list}}
710 \index{event\+\_\+list@{event\+\_\+list}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}
711 \subsubsection{\texorpdfstring{event\+\_\+list}{event\_list}}
712 {\footnotesize\ttfamily const std\+::vector$<$ std\+::string $>$ Lib\+Home\+Screen\+::event\+\_\+list\hspace{0.3cm}{\ttfamily [static]}}
713
714 {\bfseries Initial value\+:}
715 \begin{DoxyCode}
716 \{
717     std::string(\textcolor{stringliteral}{"tap\_shortcut"}),
718     std::string(\textcolor{stringliteral}{"on\_screen\_message"}),
719     std::string(\textcolor{stringliteral}{"none"})
720 \}
721 \end{DoxyCode}
722
723
724 Definition at line 49 of file libhomescreen.\+hpp.
725
726
727
728 The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
729 \item 
730 include/libhomescreen/\hyperlink{libhomescreen_8hpp}{libhomescreen.\+hpp}\item 
731 libhomescreen/\hyperlink{libhomescreen_8cpp}{libhomescreen.\+cpp}\end{DoxyCompactItemize}