0c33842aa33e1c101af61019fa5b09744624c9d1
[apps/agl-service-homescreen.git] / doc / api-ref / html / d0 / d8a / libhomescreen_8cpp.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml">
3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 <meta name="generator" content="Doxygen 1.8.13"/>
7 <meta name="viewport" content="width=device-width, initial-scale=1"/>
8 <title>HomeScreenBinding: libhomescreen.cpp File Reference</title>
9 <link href="../../tabs.css" rel="stylesheet" type="text/css"/>
10 <script type="text/javascript" src="../../jquery.js"></script>
11 <script type="text/javascript" src="../../dynsections.js"></script>
12 <link href="../../search/search.css" rel="stylesheet" type="text/css"/>
13 <script type="text/javascript" src="../../search/searchdata.js"></script>
14 <script type="text/javascript" src="../../search/search.js"></script>
15 <link href="../../doxygen.css" rel="stylesheet" type="text/css" />
16 </head>
17 <body>
18 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
19 <div id="titlearea">
20 <table cellspacing="0" cellpadding="0">
21  <tbody>
22  <tr style="height: 56px;">
23   <td id="projectalign" style="padding-left: 0.5em;">
24    <div id="projectname">HomeScreenBinding
25    </div>
26   </td>
27  </tr>
28  </tbody>
29 </table>
30 </div>
31 <!-- end header part -->
32 <!-- Generated by Doxygen 1.8.13 -->
33 <script type="text/javascript">
34 var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
35 </script>
36 <script type="text/javascript" src="../../menudata.js"></script>
37 <script type="text/javascript" src="../../menu.js"></script>
38 <script type="text/javascript">
39 $(function() {
40   initMenu('../../',true,false,'search.php','Search');
41   $(document).ready(function() { init_search(); });
42 });
43 </script>
44 <div id="main-nav"></div>
45 <!-- window showing the filter options -->
46 <div id="MSearchSelectWindow"
47      onmouseover="return searchBox.OnSearchSelectShow()"
48      onmouseout="return searchBox.OnSearchSelectHide()"
49      onkeydown="return searchBox.OnSearchSelectKey(event)">
50 </div>
51
52 <!-- iframe showing the search results (closed by default) -->
53 <div id="MSearchResultsWindow">
54 <iframe src="javascript:void(0)" frameborder="0" 
55         name="MSearchResults" id="MSearchResults">
56 </iframe>
57 </div>
58
59 <div id="nav-path" class="navpath">
60   <ul>
61 <li class="navelem"><a class="el" href="../../dir_65f76d62445e9e84c0450b12bf77c3bc.html">libhomescreen</a></li>  </ul>
62 </div>
63 </div><!-- top -->
64 <div class="header">
65   <div class="summary">
66 <a href="#define-members">Macros</a> &#124;
67 <a href="#func-members">Functions</a> &#124;
68 <a href="#var-members">Variables</a>  </div>
69   <div class="headertitle">
70 <div class="title">libhomescreen.cpp File Reference</div>  </div>
71 </div><!--header-->
72 <div class="contents">
73 <div class="textblock"><code>#include &lt;stdarg.h&gt;</code><br />
74 <code>#include &lt;sys/socket.h&gt;</code><br />
75 <code>#include &lt;iostream&gt;</code><br />
76 <code>#include &lt;algorithm&gt;</code><br />
77 <code>#include &lt;thread&gt;</code><br />
78 <code>#include &lt;errno.h&gt;</code><br />
79 <code>#include &lt;cassert&gt;</code><br />
80 <code>#include &lt;cctype&gt;</code><br />
81 <code>#include &lt;cerrno&gt;</code><br />
82 <code>#include &lt;cstdio&gt;</code><br />
83 <code>#include &lt;cstdlib&gt;</code><br />
84 <code>#include &lt;cstring&gt;</code><br />
85 <code>#include &lt;<a class="el" href="../../df/d43/libhomescreen_8hpp_source.html">libhomescreen.hpp</a>&gt;</code><br />
86 </div>
87 <p><a href="../../d0/d8a/libhomescreen_8cpp_source.html">Go to the source code of this file.</a></p>
88 <table class="memberdecls">
89 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
90 Macros</h2></td></tr>
91 <tr class="memitem:a797aa3053bd6a29819d44f8fad8a5eca"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d8a/libhomescreen_8cpp.html#a797aa3053bd6a29819d44f8fad8a5eca">ELOG</a>(args, ...)&#160;&#160;&#160;<a class="el" href="../../d0/d8a/libhomescreen_8cpp.html#af583e7770fe13e35089388a45eaf9d9d">_ELOG</a>(__FUNCTION__,__LINE__,args,##__VA_ARGS__)</td></tr>
92 <tr class="separator:a797aa3053bd6a29819d44f8fad8a5eca"><td class="memSeparator" colspan="2">&#160;</td></tr>
93 <tr class="memitem:a4e42b2f5af2174dd24f958351becf63d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d8a/libhomescreen_8cpp.html#a4e42b2f5af2174dd24f958351becf63d">DLOG</a>(args, ...)&#160;&#160;&#160;<a class="el" href="../../d0/d8a/libhomescreen_8cpp.html#a7639744c63851d916fb673963e234124">_DLOG</a>(__FUNCTION__,__LINE__,args,##__VA_ARGS__)</td></tr>
94 <tr class="separator:a4e42b2f5af2174dd24f958351becf63d"><td class="memSeparator" colspan="2">&#160;</td></tr>
95 </table><table class="memberdecls">
96 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
97 Functions</h2></td></tr>
98 <tr class="memitem:a7639744c63851d916fb673963e234124"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d8a/libhomescreen_8cpp.html#a7639744c63851d916fb673963e234124">_DLOG</a> (const char *func, const int line, const char *log,...)</td></tr>
99 <tr class="separator:a7639744c63851d916fb673963e234124"><td class="memSeparator" colspan="2">&#160;</td></tr>
100 <tr class="memitem:af583e7770fe13e35089388a45eaf9d9d"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d8a/libhomescreen_8cpp.html#af583e7770fe13e35089388a45eaf9d9d">_ELOG</a> (const char *func, const int line, const char *log,...)</td></tr>
101 <tr class="separator:af583e7770fe13e35089388a45eaf9d9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
102 <tr class="memitem:a7a2176c3d71fec0f09dcb2aa0866b17e"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d8a/libhomescreen_8cpp.html#a7a2176c3d71fec0f09dcb2aa0866b17e">has_verb</a> (const string &amp;verb)</td></tr>
103 <tr class="separator:a7a2176c3d71fec0f09dcb2aa0866b17e"><td class="memSeparator" colspan="2">&#160;</td></tr>
104 <tr class="memitem:a73c05b96c151e5e46c28585ccb143c1c"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d8a/libhomescreen_8cpp.html#a73c05b96c151e5e46c28585ccb143c1c">_on_hangup_static</a> (void *closure, struct afb_wsj1 *wsj)</td></tr>
105 <tr class="separator:a73c05b96c151e5e46c28585ccb143c1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
106 <tr class="memitem:a782a05fde0f1c17e0c4c8f972a3f53c8"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d8a/libhomescreen_8cpp.html#a782a05fde0f1c17e0c4c8f972a3f53c8">_on_call_static</a> (void *closure, const char *api, const char *verb, struct afb_wsj1_msg *msg)</td></tr>
107 <tr class="separator:a782a05fde0f1c17e0c4c8f972a3f53c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
108 <tr class="memitem:a3df86185aa9453726556da201d95a6f9"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d8a/libhomescreen_8cpp.html#a3df86185aa9453726556da201d95a6f9">_on_event_static</a> (void *closure, const char *<a class="el" href="../../df/d7d/structevent.html">event</a>, struct afb_wsj1_msg *msg)</td></tr>
109 <tr class="separator:a3df86185aa9453726556da201d95a6f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
110 <tr class="memitem:a7778933bffa862c63fa0a1b8219faa8b"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d8a/libhomescreen_8cpp.html#a7778933bffa862c63fa0a1b8219faa8b">_on_reply_static</a> (void *closure, struct afb_wsj1_msg *msg)</td></tr>
111 <tr class="separator:a7778933bffa862c63fa0a1b8219faa8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
112 <tr class="memitem:aa73353e1bf62c68b6b0aba7a1e4e275e"><td class="memItemLeft" align="right" valign="top">static void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d8a/libhomescreen_8cpp.html#aa73353e1bf62c68b6b0aba7a1e4e275e">event_loop_run</a> (void *args)</td></tr>
113 <tr class="separator:aa73353e1bf62c68b6b0aba7a1e4e275e"><td class="memSeparator" colspan="2">&#160;</td></tr>
114 </table><table class="memberdecls">
115 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
116 Variables</h2></td></tr>
117 <tr class="memitem:a1e2d6e77dd8f0162f830058579eab42f"><td class="memItemLeft" align="right" valign="top">static const char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d8a/libhomescreen_8cpp.html#a1e2d6e77dd8f0162f830058579eab42f">API</a> [] = &quot;homescreen&quot;</td></tr>
118 <tr class="separator:a1e2d6e77dd8f0162f830058579eab42f"><td class="memSeparator" colspan="2">&#160;</td></tr>
119 </table>
120 <h2 class="groupheader">Macro Definition Documentation</h2>
121 <a id="a4e42b2f5af2174dd24f958351becf63d"></a>
122 <h2 class="memtitle"><span class="permalink"><a href="#a4e42b2f5af2174dd24f958351becf63d">&#9670;&nbsp;</a></span>DLOG</h2>
123
124 <div class="memitem">
125 <div class="memproto">
126       <table class="memname">
127         <tr>
128           <td class="memname">#define DLOG</td>
129           <td>(</td>
130           <td class="paramtype">&#160;</td>
131           <td class="paramname">args, </td>
132         </tr>
133         <tr>
134           <td class="paramkey"></td>
135           <td></td>
136           <td class="paramtype">&#160;</td>
137           <td class="paramname"><em>...</em>&#160;</td>
138         </tr>
139         <tr>
140           <td></td>
141           <td>)</td>
142           <td></td><td>&#160;&#160;&#160;<a class="el" href="../../d0/d8a/libhomescreen_8cpp.html#a7639744c63851d916fb673963e234124">_DLOG</a>(__FUNCTION__,__LINE__,args,##__VA_ARGS__)</td>
143         </tr>
144       </table>
145 </div><div class="memdoc">
146
147 <p class="definition">Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00033">33</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
148
149 </div>
150 </div>
151 <a id="a797aa3053bd6a29819d44f8fad8a5eca"></a>
152 <h2 class="memtitle"><span class="permalink"><a href="#a797aa3053bd6a29819d44f8fad8a5eca">&#9670;&nbsp;</a></span>ELOG</h2>
153
154 <div class="memitem">
155 <div class="memproto">
156       <table class="memname">
157         <tr>
158           <td class="memname">#define ELOG</td>
159           <td>(</td>
160           <td class="paramtype">&#160;</td>
161           <td class="paramname">args, </td>
162         </tr>
163         <tr>
164           <td class="paramkey"></td>
165           <td></td>
166           <td class="paramtype">&#160;</td>
167           <td class="paramname"><em>...</em>&#160;</td>
168         </tr>
169         <tr>
170           <td></td>
171           <td>)</td>
172           <td></td><td>&#160;&#160;&#160;<a class="el" href="../../d0/d8a/libhomescreen_8cpp.html#af583e7770fe13e35089388a45eaf9d9d">_ELOG</a>(__FUNCTION__,__LINE__,args,##__VA_ARGS__)</td>
173         </tr>
174       </table>
175 </div><div class="memdoc">
176
177 <p class="definition">Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00032">32</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
178
179 </div>
180 </div>
181 <h2 class="groupheader">Function Documentation</h2>
182 <a id="a7639744c63851d916fb673963e234124"></a>
183 <h2 class="memtitle"><span class="permalink"><a href="#a7639744c63851d916fb673963e234124">&#9670;&nbsp;</a></span>_DLOG()</h2>
184
185 <div class="memitem">
186 <div class="memproto">
187 <table class="mlabels">
188   <tr>
189   <td class="mlabels-left">
190       <table class="memname">
191         <tr>
192           <td class="memname">static void _DLOG </td>
193           <td>(</td>
194           <td class="paramtype">const char *&#160;</td>
195           <td class="paramname"><em>func</em>, </td>
196         </tr>
197         <tr>
198           <td class="paramkey"></td>
199           <td></td>
200           <td class="paramtype">const int&#160;</td>
201           <td class="paramname"><em>line</em>, </td>
202         </tr>
203         <tr>
204           <td class="paramkey"></td>
205           <td></td>
206           <td class="paramtype">const char *&#160;</td>
207           <td class="paramname"><em>log</em>, </td>
208         </tr>
209         <tr>
210           <td class="paramkey"></td>
211           <td></td>
212           <td class="paramtype">&#160;</td>
213           <td class="paramname"><em>...</em>&#160;</td>
214         </tr>
215         <tr>
216           <td></td>
217           <td>)</td>
218           <td></td><td></td>
219         </tr>
220       </table>
221   </td>
222   <td class="mlabels-right">
223 <span class="mlabels"><span class="mlabel">static</span></span>  </td>
224   </tr>
225 </table>
226 </div><div class="memdoc">
227
228 <p class="definition">Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00545">545</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
229 <div class="fragment"><div class="line"><a name="l00546"></a><span class="lineno">  546</span>&#160;{</div><div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160;    <span class="keywordtype">char</span> *message;</div><div class="line"><a name="l00548"></a><span class="lineno">  548</span>&#160;    va_list args;</div><div class="line"><a name="l00549"></a><span class="lineno">  549</span>&#160;    va_start(args, log);</div><div class="line"><a name="l00550"></a><span class="lineno">  550</span>&#160;    <span class="keywordflow">if</span> (log == NULL || vasprintf(&amp;message, log, args) &lt; 0)</div><div class="line"><a name="l00551"></a><span class="lineno">  551</span>&#160;        message = NULL;</div><div class="line"><a name="l00552"></a><span class="lineno">  552</span>&#160;    cout &lt;&lt; <span class="stringliteral">&quot;[libhomescreen DEBUG]&quot;</span> &lt;&lt; func &lt;&lt; <span class="stringliteral">&quot;(&quot;</span> &lt;&lt; line &lt;&lt; <span class="stringliteral">&quot;):&quot;</span> &lt;&lt; message &lt;&lt; endl;</div><div class="line"><a name="l00553"></a><span class="lineno">  553</span>&#160;    va_end(args);</div><div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;    free(message);</div><div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160;}</div></div><!-- fragment -->
230 </div>
231 </div>
232 <a id="af583e7770fe13e35089388a45eaf9d9d"></a>
233 <h2 class="memtitle"><span class="permalink"><a href="#af583e7770fe13e35089388a45eaf9d9d">&#9670;&nbsp;</a></span>_ELOG()</h2>
234
235 <div class="memitem">
236 <div class="memproto">
237 <table class="mlabels">
238   <tr>
239   <td class="mlabels-left">
240       <table class="memname">
241         <tr>
242           <td class="memname">static void _ELOG </td>
243           <td>(</td>
244           <td class="paramtype">const char *&#160;</td>
245           <td class="paramname"><em>func</em>, </td>
246         </tr>
247         <tr>
248           <td class="paramkey"></td>
249           <td></td>
250           <td class="paramtype">const int&#160;</td>
251           <td class="paramname"><em>line</em>, </td>
252         </tr>
253         <tr>
254           <td class="paramkey"></td>
255           <td></td>
256           <td class="paramtype">const char *&#160;</td>
257           <td class="paramname"><em>log</em>, </td>
258         </tr>
259         <tr>
260           <td class="paramkey"></td>
261           <td></td>
262           <td class="paramtype">&#160;</td>
263           <td class="paramname"><em>...</em>&#160;</td>
264         </tr>
265         <tr>
266           <td></td>
267           <td>)</td>
268           <td></td><td></td>
269         </tr>
270       </table>
271   </td>
272   <td class="mlabels-right">
273 <span class="mlabels"><span class="mlabel">static</span></span>  </td>
274   </tr>
275 </table>
276 </div><div class="memdoc">
277
278 <p class="definition">Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00533">533</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
279 <div class="fragment"><div class="line"><a name="l00534"></a><span class="lineno">  534</span>&#160;{</div><div class="line"><a name="l00535"></a><span class="lineno">  535</span>&#160;    <span class="keywordtype">char</span> *message;</div><div class="line"><a name="l00536"></a><span class="lineno">  536</span>&#160;    va_list args;</div><div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160;    va_start(args, log);</div><div class="line"><a name="l00538"></a><span class="lineno">  538</span>&#160;    <span class="keywordflow">if</span> (log == NULL || vasprintf(&amp;message, log, args) &lt; 0)</div><div class="line"><a name="l00539"></a><span class="lineno">  539</span>&#160;        message = NULL;</div><div class="line"><a name="l00540"></a><span class="lineno">  540</span>&#160;    cout &lt;&lt; <span class="stringliteral">&quot;[libhomescreen ERROR]&quot;</span> &lt;&lt; func &lt;&lt; <span class="stringliteral">&quot;(&quot;</span> &lt;&lt; line &lt;&lt; <span class="stringliteral">&quot;):&quot;</span> &lt;&lt; message &lt;&lt; endl;</div><div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160;    va_end(args);</div><div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;    free(message);</div><div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;}</div></div><!-- fragment -->
280 </div>
281 </div>
282 <a id="a782a05fde0f1c17e0c4c8f972a3f53c8"></a>
283 <h2 class="memtitle"><span class="permalink"><a href="#a782a05fde0f1c17e0c4c8f972a3f53c8">&#9670;&nbsp;</a></span>_on_call_static()</h2>
284
285 <div class="memitem">
286 <div class="memproto">
287 <table class="mlabels">
288   <tr>
289   <td class="mlabels-left">
290       <table class="memname">
291         <tr>
292           <td class="memname">static void _on_call_static </td>
293           <td>(</td>
294           <td class="paramtype">void *&#160;</td>
295           <td class="paramname"><em>closure</em>, </td>
296         </tr>
297         <tr>
298           <td class="paramkey"></td>
299           <td></td>
300           <td class="paramtype">const char *&#160;</td>
301           <td class="paramname"><em>api</em>, </td>
302         </tr>
303         <tr>
304           <td class="paramkey"></td>
305           <td></td>
306           <td class="paramtype">const char *&#160;</td>
307           <td class="paramname"><em>verb</em>, </td>
308         </tr>
309         <tr>
310           <td class="paramkey"></td>
311           <td></td>
312           <td class="paramtype">struct afb_wsj1_msg *&#160;</td>
313           <td class="paramname"><em>msg</em>&#160;</td>
314         </tr>
315         <tr>
316           <td></td>
317           <td>)</td>
318           <td></td><td></td>
319         </tr>
320       </table>
321   </td>
322   <td class="mlabels-right">
323 <span class="mlabels"><span class="mlabel">static</span></span>  </td>
324   </tr>
325 </table>
326 </div><div class="memdoc">
327
328 <p class="definition">Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00066">66</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
329 <div class="fragment"><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;{</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;    <span class="comment">/* LibHomeScreen is not called from other process */</span></div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;}</div></div><!-- fragment -->
330 </div>
331 </div>
332 <a id="a3df86185aa9453726556da201d95a6f9"></a>
333 <h2 class="memtitle"><span class="permalink"><a href="#a3df86185aa9453726556da201d95a6f9">&#9670;&nbsp;</a></span>_on_event_static()</h2>
334
335 <div class="memitem">
336 <div class="memproto">
337 <table class="mlabels">
338   <tr>
339   <td class="mlabels-left">
340       <table class="memname">
341         <tr>
342           <td class="memname">static void _on_event_static </td>
343           <td>(</td>
344           <td class="paramtype">void *&#160;</td>
345           <td class="paramname"><em>closure</em>, </td>
346         </tr>
347         <tr>
348           <td class="paramkey"></td>
349           <td></td>
350           <td class="paramtype">const char *&#160;</td>
351           <td class="paramname"><em>event</em>, </td>
352         </tr>
353         <tr>
354           <td class="paramkey"></td>
355           <td></td>
356           <td class="paramtype">struct afb_wsj1_msg *&#160;</td>
357           <td class="paramname"><em>msg</em>&#160;</td>
358         </tr>
359         <tr>
360           <td></td>
361           <td>)</td>
362           <td></td><td></td>
363         </tr>
364       </table>
365   </td>
366   <td class="mlabels-right">
367 <span class="mlabels"><span class="mlabel">static</span></span>  </td>
368   </tr>
369 </table>
370 </div><div class="memdoc">
371
372 <p class="definition">Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00071">71</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
373 <div class="fragment"><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;{</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;    <span class="keyword">static_cast&lt;</span><a class="code" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a>*<span class="keyword">&gt;</span>(closure)-&gt;on_event(NULL,<a class="code" href="../../df/d7d/structevent.html">event</a>,msg);</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;}</div><div class="ttc" id="structevent_html"><div class="ttname"><a href="../../df/d7d/structevent.html">event</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d1e/homescreen_8c_source.html#l00035">homescreen.c:35</a></div></div>
374 <div class="ttc" id="class_lib_home_screen_html"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00032">libhomescreen.hpp:32</a></div></div>
375 </div><!-- fragment -->
376 </div>
377 </div>
378 <a id="a73c05b96c151e5e46c28585ccb143c1c"></a>
379 <h2 class="memtitle"><span class="permalink"><a href="#a73c05b96c151e5e46c28585ccb143c1c">&#9670;&nbsp;</a></span>_on_hangup_static()</h2>
380
381 <div class="memitem">
382 <div class="memproto">
383 <table class="mlabels">
384   <tr>
385   <td class="mlabels-left">
386       <table class="memname">
387         <tr>
388           <td class="memname">static void _on_hangup_static </td>
389           <td>(</td>
390           <td class="paramtype">void *&#160;</td>
391           <td class="paramname"><em>closure</em>, </td>
392         </tr>
393         <tr>
394           <td class="paramkey"></td>
395           <td></td>
396           <td class="paramtype">struct afb_wsj1 *&#160;</td>
397           <td class="paramname"><em>wsj</em>&#160;</td>
398         </tr>
399         <tr>
400           <td></td>
401           <td>)</td>
402           <td></td><td></td>
403         </tr>
404       </table>
405   </td>
406   <td class="mlabels-right">
407 <span class="mlabels"><span class="mlabel">static</span></span>  </td>
408   </tr>
409 </table>
410 </div><div class="memdoc">
411 <p>websocket </p>
412
413 <p class="definition">Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00061">61</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
414 <div class="fragment"><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;{</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;    <span class="keyword">static_cast&lt;</span><a class="code" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a>*<span class="keyword">&gt;</span>(closure)-&gt;on_hangup(NULL,wsj);</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;}</div><div class="ttc" id="class_lib_home_screen_html"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00032">libhomescreen.hpp:32</a></div></div>
415 </div><!-- fragment -->
416 </div>
417 </div>
418 <a id="a7778933bffa862c63fa0a1b8219faa8b"></a>
419 <h2 class="memtitle"><span class="permalink"><a href="#a7778933bffa862c63fa0a1b8219faa8b">&#9670;&nbsp;</a></span>_on_reply_static()</h2>
420
421 <div class="memitem">
422 <div class="memproto">
423 <table class="mlabels">
424   <tr>
425   <td class="mlabels-left">
426       <table class="memname">
427         <tr>
428           <td class="memname">static void _on_reply_static </td>
429           <td>(</td>
430           <td class="paramtype">void *&#160;</td>
431           <td class="paramname"><em>closure</em>, </td>
432         </tr>
433         <tr>
434           <td class="paramkey"></td>
435           <td></td>
436           <td class="paramtype">struct afb_wsj1_msg *&#160;</td>
437           <td class="paramname"><em>msg</em>&#160;</td>
438         </tr>
439         <tr>
440           <td></td>
441           <td>)</td>
442           <td></td><td></td>
443         </tr>
444       </table>
445   </td>
446   <td class="mlabels-right">
447 <span class="mlabels"><span class="mlabel">static</span></span>  </td>
448   </tr>
449 </table>
450 </div><div class="memdoc">
451
452 <p class="definition">Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00076">76</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
453 <div class="fragment"><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;{</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;    <span class="keyword">static_cast&lt;</span><a class="code" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a>*<span class="keyword">&gt;</span>(closure)-&gt;on_reply(NULL,msg);</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;}</div><div class="ttc" id="class_lib_home_screen_html"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00032">libhomescreen.hpp:32</a></div></div>
454 </div><!-- fragment -->
455 </div>
456 </div>
457 <a id="aa73353e1bf62c68b6b0aba7a1e4e275e"></a>
458 <h2 class="memtitle"><span class="permalink"><a href="#aa73353e1bf62c68b6b0aba7a1e4e275e">&#9670;&nbsp;</a></span>event_loop_run()</h2>
459
460 <div class="memitem">
461 <div class="memproto">
462 <table class="mlabels">
463   <tr>
464   <td class="mlabels-left">
465       <table class="memname">
466         <tr>
467           <td class="memname">static void* event_loop_run </td>
468           <td>(</td>
469           <td class="paramtype">void *&#160;</td>
470           <td class="paramname"><em>args</em></td><td>)</td>
471           <td></td>
472         </tr>
473       </table>
474   </td>
475   <td class="mlabels-right">
476 <span class="mlabels"><span class="mlabel">static</span></span>  </td>
477   </tr>
478 </table>
479 </div><div class="memdoc">
480
481 <p class="definition">Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00204">204</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
482 <div class="fragment"><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;{</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;    <span class="keyword">struct </span>sd_event* loop = (<span class="keyword">struct </span>sd_event*)(args);</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;    <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a4e42b2f5af2174dd24f958351becf63d">DLOG</a>(<span class="stringliteral">&quot;start eventloop&quot;</span>);</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;    <span class="keywordflow">for</span>(;;)</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;        sd_event_run(loop, 30000000);</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;}</div><div class="ttc" id="libhomescreen_8cpp_html_a4e42b2f5af2174dd24f958351becf63d"><div class="ttname"><a href="../../d0/d8a/libhomescreen_8cpp.html#a4e42b2f5af2174dd24f958351becf63d">DLOG</a></div><div class="ttdeci">#define DLOG(args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00033">libhomescreen.cpp:33</a></div></div>
483 </div><!-- fragment -->
484 </div>
485 </div>
486 <a id="a7a2176c3d71fec0f09dcb2aa0866b17e"></a>
487 <h2 class="memtitle"><span class="permalink"><a href="#a7a2176c3d71fec0f09dcb2aa0866b17e">&#9670;&nbsp;</a></span>has_verb()</h2>
488
489 <div class="memitem">
490 <div class="memproto">
491 <table class="mlabels">
492   <tr>
493   <td class="mlabels-left">
494       <table class="memname">
495         <tr>
496           <td class="memname">static bool has_verb </td>
497           <td>(</td>
498           <td class="paramtype">const string &amp;&#160;</td>
499           <td class="paramname"><em>verb</em></td><td>)</td>
500           <td></td>
501         </tr>
502       </table>
503   </td>
504   <td class="mlabels-right">
505 <span class="mlabels"><span class="mlabel">static</span></span>  </td>
506   </tr>
507 </table>
508 </div><div class="memdoc">
509
510 <p class="definition">Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00557">557</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
511 <div class="fragment"><div class="line"><a name="l00558"></a><span class="lineno">  558</span>&#160;{</div><div class="line"><a name="l00559"></a><span class="lineno">  559</span>&#160;    <a class="code" href="../../d0/d8a/libhomescreen_8cpp.html#a4e42b2f5af2174dd24f958351becf63d">DLOG</a>(<span class="stringliteral">&quot;verb is %s&quot;</span>, verb.c_str());</div><div class="line"><a name="l00560"></a><span class="lineno">  560</span>&#160;    <span class="keywordflow">if</span>(find(<a class="code" href="../../de/dd0/class_lib_home_screen.html#a5593ff5ac78f6495ccb649904cf0ab08">LibHomeScreen::api_list</a>.begin(), <a class="code" href="../../de/dd0/class_lib_home_screen.html#a5593ff5ac78f6495ccb649904cf0ab08">LibHomeScreen::api_list</a>.end(), verb) != <a class="code" href="../../de/dd0/class_lib_home_screen.html#a5593ff5ac78f6495ccb649904cf0ab08">LibHomeScreen::api_list</a>.end())</div><div class="line"><a name="l00561"></a><span class="lineno">  561</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00562"></a><span class="lineno">  562</span>&#160;    <span class="keywordflow">else</span></div><div class="line"><a name="l00563"></a><span class="lineno">  563</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00564"></a><span class="lineno">  564</span>&#160;}</div><div class="ttc" id="libhomescreen_8cpp_html_a4e42b2f5af2174dd24f958351becf63d"><div class="ttname"><a href="../../d0/d8a/libhomescreen_8cpp.html#a4e42b2f5af2174dd24f958351becf63d">DLOG</a></div><div class="ttdeci">#define DLOG(args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d8a/libhomescreen_8cpp_source.html#l00033">libhomescreen.cpp:33</a></div></div>
512 <div class="ttc" id="class_lib_home_screen_html_a5593ff5ac78f6495ccb649904cf0ab08"><div class="ttname"><a href="../../de/dd0/class_lib_home_screen.html#a5593ff5ac78f6495ccb649904cf0ab08">LibHomeScreen::api_list</a></div><div class="ttdeci">static const std::vector&lt; std::string &gt; api_list</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d43/libhomescreen_8hpp_source.html#l00048">libhomescreen.hpp:48</a></div></div>
513 </div><!-- fragment -->
514 </div>
515 </div>
516 <h2 class="groupheader">Variable Documentation</h2>
517 <a id="a1e2d6e77dd8f0162f830058579eab42f"></a>
518 <h2 class="memtitle"><span class="permalink"><a href="#a1e2d6e77dd8f0162f830058579eab42f">&#9670;&nbsp;</a></span>API</h2>
519
520 <div class="memitem">
521 <div class="memproto">
522 <table class="mlabels">
523   <tr>
524   <td class="mlabels-left">
525       <table class="memname">
526         <tr>
527           <td class="memname">const char API[] = &quot;homescreen&quot;</td>
528         </tr>
529       </table>
530   </td>
531   <td class="mlabels-right">
532 <span class="mlabels"><span class="mlabel">static</span></span>  </td>
533   </tr>
534 </table>
535 </div><div class="memdoc">
536
537 <p class="definition">Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00040">40</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
538
539 </div>
540 </div>
541 </div><!-- contents -->
542 <!-- start footer part -->
543 <hr class="footer"/><address class="footer"><small>
544 Generated by &#160;<a href="http://www.doxygen.org/index.html">
545 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
546 </a> 1.8.13
547 </small></address>
548 </body>
549 </html>