update doc
[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.11"/>
7 <title>HomeScreenBinding: libhomescreen/libhomescreen.cpp File Reference</title>
8 <link href="../../tabs.css" rel="stylesheet" type="text/css"/>
9 <script type="text/javascript" src="../../jquery.js"></script>
10 <script type="text/javascript" src="../../dynsections.js"></script>
11 <link href="../../search/search.css" rel="stylesheet" type="text/css"/>
12 <script type="text/javascript" src="../../search/searchdata.js"></script>
13 <script type="text/javascript" src="../../search/search.js"></script>
14 <script type="text/javascript">
15   $(document).ready(function() { init_search(); });
16 </script>
17 <link href="../../doxygen.css" rel="stylesheet" type="text/css" />
18 </head>
19 <body>
20 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
21 <div id="titlearea">
22 <table cellspacing="0" cellpadding="0">
23  <tbody>
24  <tr style="height: 56px;">
25   <td id="projectalign" style="padding-left: 0.5em;">
26    <div id="projectname">HomeScreenBinding
27    </div>
28   </td>
29  </tr>
30  </tbody>
31 </table>
32 </div>
33 <!-- end header part -->
34 <!-- Generated by Doxygen 1.8.11 -->
35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
37 </script>
38   <div id="navrow1" class="tabs">
39     <ul class="tablist">
40       <li><a href="../../index.html"><span>Main&#160;Page</span></a></li>
41       <li><a href="../../annotated.html"><span>Classes</span></a></li>
42       <li class="current"><a href="../../files.html"><span>Files</span></a></li>
43       <li>
44         <div id="MSearchBox" class="MSearchBoxInactive">
45         <span class="left">
46           <img id="MSearchSelect" src="../../search/mag_sel.png"
47                onmouseover="return searchBox.OnSearchSelectShow()"
48                onmouseout="return searchBox.OnSearchSelectHide()"
49                alt=""/>
50           <input type="text" id="MSearchField" value="Search" accesskey="S"
51                onfocus="searchBox.OnSearchFieldFocus(true)" 
52                onblur="searchBox.OnSearchFieldFocus(false)" 
53                onkeyup="searchBox.OnSearchFieldChange(event)"/>
54           </span><span class="right">
55             <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
56           </span>
57         </div>
58       </li>
59     </ul>
60   </div>
61   <div id="navrow2" class="tabs2">
62     <ul class="tablist">
63       <li><a href="../../files.html"><span>File&#160;List</span></a></li>
64       <li><a href="../../globals.html"><span>File&#160;Members</span></a></li>
65     </ul>
66   </div>
67 <!-- window showing the filter options -->
68 <div id="MSearchSelectWindow"
69      onmouseover="return searchBox.OnSearchSelectShow()"
70      onmouseout="return searchBox.OnSearchSelectHide()"
71      onkeydown="return searchBox.OnSearchSelectKey(event)">
72 </div>
73
74 <!-- iframe showing the search results (closed by default) -->
75 <div id="MSearchResultsWindow">
76 <iframe src="javascript:void(0)" frameborder="0" 
77         name="MSearchResults" id="MSearchResults">
78 </iframe>
79 </div>
80
81 <div id="nav-path" class="navpath">
82   <ul>
83 <li class="navelem"><a class="el" href="../../dir_65f76d62445e9e84c0450b12bf77c3bc.html">libhomescreen</a></li>  </ul>
84 </div>
85 </div><!-- top -->
86 <div class="header">
87   <div class="summary">
88 <a href="#func-members">Functions</a> &#124;
89 <a href="#var-members">Variables</a>  </div>
90   <div class="headertitle">
91 <div class="title">libhomescreen.cpp File Reference</div>  </div>
92 </div><!--header-->
93 <div class="contents">
94 <div class="textblock"><code>#include &lt;stdarg.h&gt;</code><br />
95 <code>#include &lt;sys/socket.h&gt;</code><br />
96 <code>#include &lt;iostream&gt;</code><br />
97 <code>#include &lt;algorithm&gt;</code><br />
98 <code>#include &lt;errno.h&gt;</code><br />
99 <code>#include &lt;cassert&gt;</code><br />
100 <code>#include &lt;cctype&gt;</code><br />
101 <code>#include &lt;cerrno&gt;</code><br />
102 <code>#include &lt;cstdio&gt;</code><br />
103 <code>#include &lt;cstdlib&gt;</code><br />
104 <code>#include &lt;cstring&gt;</code><br />
105 <code>#include &lt;<a class="el" href="../../df/d43/libhomescreen_8hpp_source.html">libhomescreen.hpp</a>&gt;</code><br />
106 <code>#include &quot;hmi-debug.h&quot;</code><br />
107 </div>
108 <p><a href="../../d0/d8a/libhomescreen_8cpp_source.html">Go to the source code of this file.</a></p>
109 <table class="memberdecls">
110 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
111 Functions</h2></td></tr>
112 <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>
113 <tr class="separator:a7a2176c3d71fec0f09dcb2aa0866b17e"><td class="memSeparator" colspan="2">&#160;</td></tr>
114 <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>
115 <tr class="separator:a73c05b96c151e5e46c28585ccb143c1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
116 <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>
117 <tr class="separator:a782a05fde0f1c17e0c4c8f972a3f53c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
118 <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 *event, struct afb_wsj1_msg *msg)</td></tr>
119 <tr class="separator:a3df86185aa9453726556da201d95a6f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
120 <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>
121 <tr class="separator:a7778933bffa862c63fa0a1b8219faa8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
122 </table><table class="memberdecls">
123 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
124 Variables</h2></td></tr>
125 <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>
126 <tr class="separator:a1e2d6e77dd8f0162f830058579eab42f"><td class="memSeparator" colspan="2">&#160;</td></tr>
127 <tr class="memitem:a5a89bcb5a83f6b2e5c664a041bd8fd00"><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#a5a89bcb5a83f6b2e5c664a041bd8fd00">ApplicationId</a> [] = &quot;application_id&quot;</td></tr>
128 <tr class="separator:a5a89bcb5a83f6b2e5c664a041bd8fd00"><td class="memSeparator" colspan="2">&#160;</td></tr>
129 </table>
130 <h2 class="groupheader">Function Documentation</h2>
131 <a class="anchor" id="a782a05fde0f1c17e0c4c8f972a3f53c8"></a>
132 <div class="memitem">
133 <div class="memproto">
134 <table class="mlabels">
135   <tr>
136   <td class="mlabels-left">
137       <table class="memname">
138         <tr>
139           <td class="memname">static void _on_call_static </td>
140           <td>(</td>
141           <td class="paramtype">void *&#160;</td>
142           <td class="paramname"><em>closure</em>, </td>
143         </tr>
144         <tr>
145           <td class="paramkey"></td>
146           <td></td>
147           <td class="paramtype">const char *&#160;</td>
148           <td class="paramname"><em>api</em>, </td>
149         </tr>
150         <tr>
151           <td class="paramkey"></td>
152           <td></td>
153           <td class="paramtype">const char *&#160;</td>
154           <td class="paramname"><em>verb</em>, </td>
155         </tr>
156         <tr>
157           <td class="paramkey"></td>
158           <td></td>
159           <td class="paramtype">struct afb_wsj1_msg *&#160;</td>
160           <td class="paramname"><em>msg</em>&#160;</td>
161         </tr>
162         <tr>
163           <td></td>
164           <td>)</td>
165           <td></td><td></td>
166         </tr>
167       </table>
168   </td>
169   <td class="mlabels-right">
170 <span class="mlabels"><span class="mlabel">static</span></span>  </td>
171   </tr>
172 </table>
173 </div><div class="memdoc">
174
175 <p>Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00074">74</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
176 <div class="fragment"><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;{</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;    <span class="comment">/* LibHomeScreen is not called from other process */</span></div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;}</div></div><!-- fragment -->
177 </div>
178 </div>
179 <a class="anchor" id="a3df86185aa9453726556da201d95a6f9"></a>
180 <div class="memitem">
181 <div class="memproto">
182 <table class="mlabels">
183   <tr>
184   <td class="mlabels-left">
185       <table class="memname">
186         <tr>
187           <td class="memname">static void _on_event_static </td>
188           <td>(</td>
189           <td class="paramtype">void *&#160;</td>
190           <td class="paramname"><em>closure</em>, </td>
191         </tr>
192         <tr>
193           <td class="paramkey"></td>
194           <td></td>
195           <td class="paramtype">const char *&#160;</td>
196           <td class="paramname"><em>event</em>, </td>
197         </tr>
198         <tr>
199           <td class="paramkey"></td>
200           <td></td>
201           <td class="paramtype">struct afb_wsj1_msg *&#160;</td>
202           <td class="paramname"><em>msg</em>&#160;</td>
203         </tr>
204         <tr>
205           <td></td>
206           <td>)</td>
207           <td></td><td></td>
208         </tr>
209       </table>
210   </td>
211   <td class="mlabels-right">
212 <span class="mlabels"><span class="mlabel">static</span></span>  </td>
213   </tr>
214 </table>
215 </div><div class="memdoc">
216
217 <p>Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00079">79</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
218 <div class="fragment"><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;{</div><div class="line"><a name="l00081"></a><span class="lineno">   81</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,event,msg);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</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#l00031">libhomescreen.hpp:31</a></div></div>
219 </div><!-- fragment -->
220 </div>
221 </div>
222 <a class="anchor" id="a73c05b96c151e5e46c28585ccb143c1c"></a>
223 <div class="memitem">
224 <div class="memproto">
225 <table class="mlabels">
226   <tr>
227   <td class="mlabels-left">
228       <table class="memname">
229         <tr>
230           <td class="memname">static void _on_hangup_static </td>
231           <td>(</td>
232           <td class="paramtype">void *&#160;</td>
233           <td class="paramname"><em>closure</em>, </td>
234         </tr>
235         <tr>
236           <td class="paramkey"></td>
237           <td></td>
238           <td class="paramtype">struct afb_wsj1 *&#160;</td>
239           <td class="paramname"><em>wsj</em>&#160;</td>
240         </tr>
241         <tr>
242           <td></td>
243           <td>)</td>
244           <td></td><td></td>
245         </tr>
246       </table>
247   </td>
248   <td class="mlabels-right">
249 <span class="mlabels"><span class="mlabel">static</span></span>  </td>
250   </tr>
251 </table>
252 </div><div class="memdoc">
253 <p>websocket </p>
254
255 <p>Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00069">69</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
256 <div class="fragment"><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;{</div><div class="line"><a name="l00071"></a><span class="lineno">   71</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="l00072"></a><span class="lineno">   72</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#l00031">libhomescreen.hpp:31</a></div></div>
257 </div><!-- fragment -->
258 </div>
259 </div>
260 <a class="anchor" id="a7778933bffa862c63fa0a1b8219faa8b"></a>
261 <div class="memitem">
262 <div class="memproto">
263 <table class="mlabels">
264   <tr>
265   <td class="mlabels-left">
266       <table class="memname">
267         <tr>
268           <td class="memname">static void _on_reply_static </td>
269           <td>(</td>
270           <td class="paramtype">void *&#160;</td>
271           <td class="paramname"><em>closure</em>, </td>
272         </tr>
273         <tr>
274           <td class="paramkey"></td>
275           <td></td>
276           <td class="paramtype">struct afb_wsj1_msg *&#160;</td>
277           <td class="paramname"><em>msg</em>&#160;</td>
278         </tr>
279         <tr>
280           <td></td>
281           <td>)</td>
282           <td></td><td></td>
283         </tr>
284       </table>
285   </td>
286   <td class="mlabels-right">
287 <span class="mlabels"><span class="mlabel">static</span></span>  </td>
288   </tr>
289 </table>
290 </div><div class="memdoc">
291
292 <p>Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00084">84</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
293 <div class="fragment"><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;{</div><div class="line"><a name="l00086"></a><span class="lineno">   86</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="l00087"></a><span class="lineno">   87</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#l00031">libhomescreen.hpp:31</a></div></div>
294 </div><!-- fragment -->
295 </div>
296 </div>
297 <a class="anchor" id="a7a2176c3d71fec0f09dcb2aa0866b17e"></a>
298 <div class="memitem">
299 <div class="memproto">
300 <table class="mlabels">
301   <tr>
302   <td class="mlabels-left">
303       <table class="memname">
304         <tr>
305           <td class="memname">static bool has_verb </td>
306           <td>(</td>
307           <td class="paramtype">const string &amp;&#160;</td>
308           <td class="paramname"><em>verb</em></td><td>)</td>
309           <td></td>
310         </tr>
311       </table>
312   </td>
313   <td class="mlabels-right">
314 <span class="mlabels"><span class="mlabel">static</span></span>  </td>
315   </tr>
316 </table>
317 </div><div class="memdoc">
318
319 <p>Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00705">705</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
320 <div class="fragment"><div class="line"><a name="l00706"></a><span class="lineno">  706</span>&#160;{</div><div class="line"><a name="l00707"></a><span class="lineno">  707</span>&#160;    <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a>(<span class="stringliteral">&quot;libhomescreen&quot;</span>,<span class="stringliteral">&quot;verb is %s&quot;</span>, verb.c_str());</div><div class="line"><a name="l00708"></a><span class="lineno">  708</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="l00709"></a><span class="lineno">  709</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00710"></a><span class="lineno">  710</span>&#160;    <span class="keywordflow">else</span></div><div class="line"><a name="l00711"></a><span class="lineno">  711</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00712"></a><span class="lineno">  712</span>&#160;}</div><div class="ttc" id="include_2hmi-debug_8h_html_a0d26d8b8201011dade787236519711c0"><div class="ttname"><a href="../../d2/d66/include_2hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a></div><div class="ttdeci">#define HMI_DEBUG(prefix, args,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d66/include_2hmi-debug_8h_source.html#l00042">hmi-debug.h:42</a></div></div>
321 <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#l00063">libhomescreen.hpp:63</a></div></div>
322 </div><!-- fragment -->
323 </div>
324 </div>
325 <h2 class="groupheader">Variable Documentation</h2>
326 <a class="anchor" id="a1e2d6e77dd8f0162f830058579eab42f"></a>
327 <div class="memitem">
328 <div class="memproto">
329 <table class="mlabels">
330   <tr>
331   <td class="mlabels-left">
332       <table class="memname">
333         <tr>
334           <td class="memname">const char API[] = &quot;homescreen&quot;</td>
335         </tr>
336       </table>
337   </td>
338   <td class="mlabels-right">
339 <span class="mlabels"><span class="mlabel">static</span></span>  </td>
340   </tr>
341 </table>
342 </div><div class="memdoc">
343
344 <p>Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00035">35</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
345
346 </div>
347 </div>
348 <a class="anchor" id="a5a89bcb5a83f6b2e5c664a041bd8fd00"></a>
349 <div class="memitem">
350 <div class="memproto">
351 <table class="mlabels">
352   <tr>
353   <td class="mlabels-left">
354       <table class="memname">
355         <tr>
356           <td class="memname">const char ApplicationId[] = &quot;application_id&quot;</td>
357         </tr>
358       </table>
359   </td>
360   <td class="mlabels-right">
361 <span class="mlabels"><span class="mlabel">static</span></span>  </td>
362   </tr>
363 </table>
364 </div><div class="memdoc">
365
366 <p>Definition at line <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html#l00036">36</a> of file <a class="el" href="../../d0/d8a/libhomescreen_8cpp_source.html">libhomescreen.cpp</a>.</p>
367
368 </div>
369 </div>
370 </div><!-- contents -->
371 <!-- start footer part -->
372 <hr class="footer"/><address class="footer"><small>
373 Generated by &#160;<a href="http://www.doxygen.org/index.html">
374 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
375 </a> 1.8.11
376 </small></address>
377 </body>
378 </html>