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">
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(); });
17 <link href="../../doxygen.css" rel="stylesheet" type="text/css" />
20 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
22 <table cellspacing="0" cellpadding="0">
24 <tr style="height: 56px;">
25 <td id="projectalign" style="padding-left: 0.5em;">
26 <div id="projectname">HomeScreenBinding
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');
38 <div id="navrow1" class="tabs">
40 <li><a href="../../index.html"><span>Main 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>
44 <div id="MSearchBox" class="MSearchBoxInactive">
46 <img id="MSearchSelect" src="../../search/mag_sel.png"
47 onmouseover="return searchBox.OnSearchSelectShow()"
48 onmouseout="return searchBox.OnSearchSelectHide()"
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>
61 <div id="navrow2" class="tabs2">
63 <li><a href="../../files.html"><span>File List</span></a></li>
64 <li><a href="../../globals.html"><span>File Members</span></a></li>
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)">
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">
81 <div id="nav-path" class="navpath">
83 <li class="navelem"><a class="el" href="../../dir_65f76d62445e9e84c0450b12bf77c3bc.html">libhomescreen</a></li> </ul>
88 <a href="#func-members">Functions</a> |
89 <a href="#var-members">Variables</a> </div>
90 <div class="headertitle">
91 <div class="title">libhomescreen.cpp File Reference</div> </div>
93 <div class="contents">
94 <div class="textblock"><code>#include <stdarg.h></code><br />
95 <code>#include <sys/socket.h></code><br />
96 <code>#include <iostream></code><br />
97 <code>#include <algorithm></code><br />
98 <code>#include <errno.h></code><br />
99 <code>#include <cassert></code><br />
100 <code>#include <cctype></code><br />
101 <code>#include <cerrno></code><br />
102 <code>#include <cstdio></code><br />
103 <code>#include <cstdlib></code><br />
104 <code>#include <cstring></code><br />
105 <code>#include <<a class="el" href="../../df/d43/libhomescreen_8hpp_source.html">libhomescreen.hpp</a>></code><br />
106 <code>#include "hmi-debug.h"</code><br />
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 </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d8a/libhomescreen_8cpp.html#a7a2176c3d71fec0f09dcb2aa0866b17e">has_verb</a> (const string &verb)</td></tr>
113 <tr class="separator:a7a2176c3d71fec0f09dcb2aa0866b17e"><td class="memSeparator" colspan="2"> </td></tr>
114 <tr class="memitem:a73c05b96c151e5e46c28585ccb143c1c"><td class="memItemLeft" align="right" valign="top">static void </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"> </td></tr>
116 <tr class="memitem:a782a05fde0f1c17e0c4c8f972a3f53c8"><td class="memItemLeft" align="right" valign="top">static void </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"> </td></tr>
118 <tr class="memitem:a3df86185aa9453726556da201d95a6f9"><td class="memItemLeft" align="right" valign="top">static void </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"> </td></tr>
120 <tr class="memitem:a7778933bffa862c63fa0a1b8219faa8b"><td class="memItemLeft" align="right" valign="top">static void </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"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d8a/libhomescreen_8cpp.html#a1e2d6e77dd8f0162f830058579eab42f">API</a> [] = "homescreen"</td></tr>
126 <tr class="separator:a1e2d6e77dd8f0162f830058579eab42f"><td class="memSeparator" colspan="2"> </td></tr>
127 <tr class="memitem:a5a89bcb5a83f6b2e5c664a041bd8fd00"><td class="memItemLeft" align="right" valign="top">static const char </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d8a/libhomescreen_8cpp.html#a5a89bcb5a83f6b2e5c664a041bd8fd00">ApplicationId</a> [] = "application_id"</td></tr>
128 <tr class="separator:a5a89bcb5a83f6b2e5c664a041bd8fd00"><td class="memSeparator" colspan="2"> </td></tr>
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">
136 <td class="mlabels-left">
137 <table class="memname">
139 <td class="memname">static void _on_call_static </td>
141 <td class="paramtype">void * </td>
142 <td class="paramname"><em>closure</em>, </td>
145 <td class="paramkey"></td>
147 <td class="paramtype">const char * </td>
148 <td class="paramname"><em>api</em>, </td>
151 <td class="paramkey"></td>
153 <td class="paramtype">const char * </td>
154 <td class="paramname"><em>verb</em>, </td>
157 <td class="paramkey"></td>
159 <td class="paramtype">struct afb_wsj1_msg * </td>
160 <td class="paramname"><em>msg</em> </td>
169 <td class="mlabels-right">
170 <span class="mlabels"><span class="mlabel">static</span></span> </td>
173 </div><div class="memdoc">
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> {</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <span class="comment">/* LibHomeScreen is not called from other process */</span></div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span> }</div></div><!-- fragment -->
179 <a class="anchor" id="a3df86185aa9453726556da201d95a6f9"></a>
180 <div class="memitem">
181 <div class="memproto">
182 <table class="mlabels">
184 <td class="mlabels-left">
185 <table class="memname">
187 <td class="memname">static void _on_event_static </td>
189 <td class="paramtype">void * </td>
190 <td class="paramname"><em>closure</em>, </td>
193 <td class="paramkey"></td>
195 <td class="paramtype">const char * </td>
196 <td class="paramname"><em>event</em>, </td>
199 <td class="paramkey"></td>
201 <td class="paramtype">struct afb_wsj1_msg * </td>
202 <td class="paramname"><em>msg</em> </td>
211 <td class="mlabels-right">
212 <span class="mlabels"><span class="mlabel">static</span></span> </td>
215 </div><div class="memdoc">
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> {</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <span class="keyword">static_cast<</span><a class="code" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a>*<span class="keyword">></span>(closure)->on_event(NULL,event,msg);</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span> }</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 -->
222 <a class="anchor" id="a73c05b96c151e5e46c28585ccb143c1c"></a>
223 <div class="memitem">
224 <div class="memproto">
225 <table class="mlabels">
227 <td class="mlabels-left">
228 <table class="memname">
230 <td class="memname">static void _on_hangup_static </td>
232 <td class="paramtype">void * </td>
233 <td class="paramname"><em>closure</em>, </td>
236 <td class="paramkey"></td>
238 <td class="paramtype">struct afb_wsj1 * </td>
239 <td class="paramname"><em>wsj</em> </td>
248 <td class="mlabels-right">
249 <span class="mlabels"><span class="mlabel">static</span></span> </td>
252 </div><div class="memdoc">
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> {</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <span class="keyword">static_cast<</span><a class="code" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a>*<span class="keyword">></span>(closure)->on_hangup(NULL,wsj);</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span> }</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 -->
260 <a class="anchor" id="a7778933bffa862c63fa0a1b8219faa8b"></a>
261 <div class="memitem">
262 <div class="memproto">
263 <table class="mlabels">
265 <td class="mlabels-left">
266 <table class="memname">
268 <td class="memname">static void _on_reply_static </td>
270 <td class="paramtype">void * </td>
271 <td class="paramname"><em>closure</em>, </td>
274 <td class="paramkey"></td>
276 <td class="paramtype">struct afb_wsj1_msg * </td>
277 <td class="paramname"><em>msg</em> </td>
286 <td class="mlabels-right">
287 <span class="mlabels"><span class="mlabel">static</span></span> </td>
290 </div><div class="memdoc">
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> {</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <span class="keyword">static_cast<</span><a class="code" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a>*<span class="keyword">></span>(closure)->on_reply(NULL,msg);</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span> }</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 -->
297 <a class="anchor" id="a7a2176c3d71fec0f09dcb2aa0866b17e"></a>
298 <div class="memitem">
299 <div class="memproto">
300 <table class="mlabels">
302 <td class="mlabels-left">
303 <table class="memname">
305 <td class="memname">static bool has_verb </td>
307 <td class="paramtype">const string & </td>
308 <td class="paramname"><em>verb</em></td><td>)</td>
313 <td class="mlabels-right">
314 <span class="mlabels"><span class="mlabel">static</span></span> </td>
317 </div><div class="memdoc">
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> {</div><div class="line"><a name="l00707"></a><span class="lineno"> 707</span>  <a class="code" href="../../d2/d66/include_2hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a>(<span class="stringliteral">"libhomescreen"</span>,<span class="stringliteral">"verb is %s"</span>, verb.c_str());</div><div class="line"><a name="l00708"></a><span class="lineno"> 708</span>  <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>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00710"></a><span class="lineno"> 710</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00711"></a><span class="lineno"> 711</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00712"></a><span class="lineno"> 712</span> }</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< std::string > 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 -->
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">
331 <td class="mlabels-left">
332 <table class="memname">
334 <td class="memname">const char API[] = "homescreen"</td>
338 <td class="mlabels-right">
339 <span class="mlabels"><span class="mlabel">static</span></span> </td>
342 </div><div class="memdoc">
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>
348 <a class="anchor" id="a5a89bcb5a83f6b2e5c664a041bd8fd00"></a>
349 <div class="memitem">
350 <div class="memproto">
351 <table class="mlabels">
353 <td class="mlabels-left">
354 <table class="memname">
356 <td class="memname">const char ApplicationId[] = "application_id"</td>
360 <td class="mlabels-right">
361 <span class="mlabels"><span class="mlabel">static</span></span> </td>
364 </div><div class="memdoc">
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>
370 </div><!-- contents -->
371 <!-- start footer part -->
372 <hr class="footer"/><address class="footer"><small>
373 Generated by  <a href="http://www.doxygen.org/index.html">
374 <img class="footer" src="../../doxygen.png" alt="doxygen"/>