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.13"/>
7 <meta name="viewport" content="width=device-width, initial-scale=1"/>
8 <title>Sound Manager: LibSoundmanager Class 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="navtree.css" rel="stylesheet" type="text/css"/>
13 <script type="text/javascript" src="resize.js"></script>
14 <script type="text/javascript" src="navtreedata.js"></script>
15 <script type="text/javascript" src="navtree.js"></script>
16 <script type="text/javascript">
17 $(document).ready(initResizable);
19 <link href="search/search.css" rel="stylesheet" type="text/css"/>
20 <script type="text/javascript" src="search/searchdata.js"></script>
21 <script type="text/javascript" src="search/search.js"></script>
22 <link href="doxygen.css" rel="stylesheet" type="text/css" />
25 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
27 <table cellspacing="0" cellpadding="0">
29 <tr style="height: 56px;">
30 <td id="projectalign" style="padding-left: 0.5em;">
31 <div id="projectname">Sound Manager
38 <!-- end header part -->
39 <!-- Generated by Doxygen 1.8.13 -->
40 <script type="text/javascript">
41 var searchBox = new SearchBox("searchBox", "search",false,'Search');
43 <script type="text/javascript" src="menudata.js"></script>
44 <script type="text/javascript" src="menu.js"></script>
45 <script type="text/javascript">
47 initMenu('',true,false,'search.php','Search');
48 $(document).ready(function() { init_search(); });
51 <div id="main-nav"></div>
53 <div id="side-nav" class="ui-resizable side-nav-resizable">
55 <div id="nav-tree-contents">
56 <div id="nav-sync" class="sync"></div>
59 <div id="splitbar" style="-moz-user-select:none;"
60 class="ui-resizable-handle">
63 <script type="text/javascript">
64 $(document).ready(function(){initNavTree('class_lib_soundmanager.html','');});
66 <div id="doc-content">
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">
83 <a href="#pub-methods">Public Member Functions</a> </div>
84 <div class="headertitle">
85 <div class="title">LibSoundmanager Class Reference</div> </div>
87 <div class="contents">
89 <p><code>#include <<a class="el" href="libsoundmanager_8hpp_source.html">libsoundmanager.hpp</a>></code></p>
90 <table class="memberdecls">
91 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
92 Public Member Functions</h2></td></tr>
93 <tr class="memitem:a289a9d6ff8be95ae78660f239d962d79"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_lib_soundmanager.html#a289a9d6ff8be95ae78660f239d962d79">LibSoundmanager</a> (const int port, const std::string &token)</td></tr>
94 <tr class="separator:a289a9d6ff8be95ae78660f239d962d79"><td class="memSeparator" colspan="2"> </td></tr>
95 <tr class="memitem:abf861908e3d6d85d2b3c08683b08f934"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_lib_soundmanager.html#abf861908e3d6d85d2b3c08683b08f934">~LibSoundmanager</a> ()</td></tr>
96 <tr class="separator:abf861908e3d6d85d2b3c08683b08f934"><td class="memSeparator" colspan="2"> </td></tr>
97 <tr class="memitem:a560edf9ae3b1e367ad4cbb31c7021d74"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_lib_soundmanager.html#a560edf9ae3b1e367ad4cbb31c7021d74">register_callback</a> (void(*event_cb)(const std::string &<a class="el" href="structevent.html">event</a>, struct json_object *event_contents), void(*reply_cb)(struct json_object *reply_contents))</td></tr>
98 <tr class="separator:a560edf9ae3b1e367ad4cbb31c7021d74"><td class="memSeparator" colspan="2"> </td></tr>
99 <tr class="memitem:abe71d3531e7888f47185a601b284e729"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="class_lib_soundmanager.html#abe71d3531e7888f47185a601b284e729">run_eventloop</a> ()</td></tr>
100 <tr class="separator:abe71d3531e7888f47185a601b284e729"><td class="memSeparator" colspan="2"> </td></tr>
101 <tr class="memitem:a1fe952a4dabbab6126cc23e36c79c773"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="class_lib_soundmanager.html#a1fe952a4dabbab6126cc23e36c79c773">call</a> (const std::string &verb, struct json_object *arg)</td></tr>
102 <tr class="separator:a1fe952a4dabbab6126cc23e36c79c773"><td class="memSeparator" colspan="2"> </td></tr>
103 <tr class="memitem:ae5b83ce661b1d785de2518ca10113956"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="class_lib_soundmanager.html#ae5b83ce661b1d785de2518ca10113956">call_sync</a> (const std::string &verb, struct json_object *arg, struct json_object *ret)</td></tr>
104 <tr class="separator:ae5b83ce661b1d785de2518ca10113956"><td class="memSeparator" colspan="2"> </td></tr>
105 <tr class="memitem:a9cd7c5470cb135f9b1aa56d790c7e91e"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="class_lib_soundmanager.html#a9cd7c5470cb135f9b1aa56d790c7e91e">subscribe</a> (const std::string &event_name)</td></tr>
106 <tr class="separator:a9cd7c5470cb135f9b1aa56d790c7e91e"><td class="memSeparator" colspan="2"> </td></tr>
107 <tr class="memitem:a21060844aa7efad6473b6104546afb06"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="class_lib_soundmanager.html#a21060844aa7efad6473b6104546afb06">unsubscribe</a> (const std::string &event_name)</td></tr>
108 <tr class="separator:a21060844aa7efad6473b6104546afb06"><td class="memSeparator" colspan="2"> </td></tr>
109 <tr class="memitem:a71a8165cb15c7815aa95a8955f5cd7f6"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_lib_soundmanager.html#a71a8165cb15c7815aa95a8955f5cd7f6">on_hangup</a> (void *closure, struct afb_wsj1 *wsj)</td></tr>
110 <tr class="separator:a71a8165cb15c7815aa95a8955f5cd7f6"><td class="memSeparator" colspan="2"> </td></tr>
111 <tr class="memitem:a3ba2255cb1d29c77c4c6a2267949eda0"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_lib_soundmanager.html#a3ba2255cb1d29c77c4c6a2267949eda0">on_call</a> (void *closure, const char *api, const char *verb, struct afb_wsj1_msg *msg)</td></tr>
112 <tr class="separator:a3ba2255cb1d29c77c4c6a2267949eda0"><td class="memSeparator" colspan="2"> </td></tr>
113 <tr class="memitem:a86ef62e7847cd20e9cafbc1f6c017b3e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_lib_soundmanager.html#a86ef62e7847cd20e9cafbc1f6c017b3e">on_event</a> (void *closure, const char *<a class="el" href="structevent.html">event</a>, struct afb_wsj1_msg *msg)</td></tr>
114 <tr class="separator:a86ef62e7847cd20e9cafbc1f6c017b3e"><td class="memSeparator" colspan="2"> </td></tr>
115 <tr class="memitem:a69b4f10e509605a570cc52c795bc9d51"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_lib_soundmanager.html#a69b4f10e509605a570cc52c795bc9d51">on_reply</a> (void *closure, struct afb_wsj1_msg *msg)</td></tr>
116 <tr class="separator:a69b4f10e509605a570cc52c795bc9d51"><td class="memSeparator" colspan="2"> </td></tr>
118 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
119 <div class="textblock">
120 <p class="definition">Definition at line <a class="el" href="libsoundmanager_8hpp_source.html#l00062">62</a> of file <a class="el" href="libsoundmanager_8hpp_source.html">libsoundmanager.hpp</a>.</p>
121 </div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
122 <a id="a289a9d6ff8be95ae78660f239d962d79"></a>
123 <h2 class="memtitle"><span class="permalink"><a href="#a289a9d6ff8be95ae78660f239d962d79">◆ </a></span>LibSoundmanager()</h2>
125 <div class="memitem">
126 <div class="memproto">
127 <table class="memname">
129 <td class="memname">LibSoundmanager::LibSoundmanager </td>
131 <td class="paramtype">const int </td>
132 <td class="paramname"><em>port</em>, </td>
135 <td class="paramkey"></td>
137 <td class="paramtype">const std::string & </td>
138 <td class="paramname"><em>token</em> </td>
146 </div><div class="memdoc">
150 <a id="abf861908e3d6d85d2b3c08683b08f934"></a>
151 <h2 class="memtitle"><span class="permalink"><a href="#abf861908e3d6d85d2b3c08683b08f934">◆ </a></span>~LibSoundmanager()</h2>
153 <div class="memitem">
154 <div class="memproto">
155 <table class="memname">
157 <td class="memname">LibSoundmanager::~LibSoundmanager </td>
159 <td class="paramname"></td><td>)</td>
163 </div><div class="memdoc">
165 <p class="definition">Definition at line <a class="el" href="libsoundmanager_8cpp_source.html#l00093">93</a> of file <a class="el" href="libsoundmanager_8cpp_source.html">libsoundmanager.cpp</a>.</p>
169 <h2 class="groupheader">Member Function Documentation</h2>
170 <a id="a1fe952a4dabbab6126cc23e36c79c773"></a>
171 <h2 class="memtitle"><span class="permalink"><a href="#a1fe952a4dabbab6126cc23e36c79c773">◆ </a></span>call()</h2>
173 <div class="memitem">
174 <div class="memproto">
175 <table class="memname">
177 <td class="memname">int LibSoundmanager::call </td>
179 <td class="paramtype">const std::string & </td>
180 <td class="paramname"><em>verb</em>, </td>
183 <td class="paramkey"></td>
185 <td class="paramtype">struct json_object * </td>
186 <td class="paramname"><em>arg</em> </td>
194 </div><div class="memdoc">
195 <p>This function calls the API of Audio Manager via WebSocket</p>
198 <li>verb [in] : This argument should be specified to the API name (e.g. "connect")</li>
199 <li>arg [in] : This argument should be specified to the argument of API. And this argument expects JSON object</li>
203 <li>Returns 0 on success or -1 in case of error.</li>
206 <p>To call Audio Manager's APIs, the application should set its function name, arguments to JSON format. </p>
208 <p class="definition">Definition at line <a class="el" href="libsoundmanager_8cpp_source.html#l00217">217</a> of file <a class="el" href="libsoundmanager_8cpp_source.html">libsoundmanager.cpp</a>.</p>
212 <a id="ae5b83ce661b1d785de2518ca10113956"></a>
213 <h2 class="memtitle"><span class="permalink"><a href="#ae5b83ce661b1d785de2518ca10113956">◆ </a></span>call_sync()</h2>
215 <div class="memitem">
216 <div class="memproto">
217 <table class="memname">
219 <td class="memname">int LibSoundmanager::call_sync </td>
221 <td class="paramtype">const std::string & </td>
222 <td class="paramname"><em>verb</em>, </td>
225 <td class="paramkey"></td>
227 <td class="paramtype">struct json_object * </td>
228 <td class="paramname"><em>arg</em>, </td>
231 <td class="paramkey"></td>
233 <td class="paramtype">struct json_object * </td>
234 <td class="paramname"><em>ret</em> </td>
242 </div><div class="memdoc">
244 <p class="definition">Definition at line <a class="el" href="libsoundmanager_8cpp_source.html#l00236">236</a> of file <a class="el" href="libsoundmanager_8cpp_source.html">libsoundmanager.cpp</a>.</p>
248 <a id="a3ba2255cb1d29c77c4c6a2267949eda0"></a>
249 <h2 class="memtitle"><span class="permalink"><a href="#a3ba2255cb1d29c77c4c6a2267949eda0">◆ </a></span>on_call()</h2>
251 <div class="memitem">
252 <div class="memproto">
253 <table class="memname">
255 <td class="memname">void LibSoundmanager::on_call </td>
257 <td class="paramtype">void * </td>
258 <td class="paramname"><em>closure</em>, </td>
261 <td class="paramkey"></td>
263 <td class="paramtype">const char * </td>
264 <td class="paramname"><em>api</em>, </td>
267 <td class="paramkey"></td>
269 <td class="paramtype">const char * </td>
270 <td class="paramname"><em>verb</em>, </td>
273 <td class="paramkey"></td>
275 <td class="paramtype">struct afb_wsj1_msg * </td>
276 <td class="paramname"><em>msg</em> </td>
284 </div><div class="memdoc">
286 <p class="definition">Definition at line <a class="el" href="libsoundmanager_8cpp_source.html#l00347">347</a> of file <a class="el" href="libsoundmanager_8cpp_source.html">libsoundmanager.cpp</a>.</p>
290 <a id="a86ef62e7847cd20e9cafbc1f6c017b3e"></a>
291 <h2 class="memtitle"><span class="permalink"><a href="#a86ef62e7847cd20e9cafbc1f6c017b3e">◆ </a></span>on_event()</h2>
293 <div class="memitem">
294 <div class="memproto">
295 <table class="memname">
297 <td class="memname">void LibSoundmanager::on_event </td>
299 <td class="paramtype">void * </td>
300 <td class="paramname"><em>closure</em>, </td>
303 <td class="paramkey"></td>
305 <td class="paramtype">const char * </td>
306 <td class="paramname"><em>event</em>, </td>
309 <td class="paramkey"></td>
311 <td class="paramtype">struct afb_wsj1_msg * </td>
312 <td class="paramname"><em>msg</em> </td>
320 </div><div class="memdoc">
322 <p class="definition">Definition at line <a class="el" href="libsoundmanager_8cpp_source.html#l00358">358</a> of file <a class="el" href="libsoundmanager_8cpp_source.html">libsoundmanager.cpp</a>.</p>
326 <a id="a71a8165cb15c7815aa95a8955f5cd7f6"></a>
327 <h2 class="memtitle"><span class="permalink"><a href="#a71a8165cb15c7815aa95a8955f5cd7f6">◆ </a></span>on_hangup()</h2>
329 <div class="memitem">
330 <div class="memproto">
331 <table class="memname">
333 <td class="memname">void LibSoundmanager::on_hangup </td>
335 <td class="paramtype">void * </td>
336 <td class="paramname"><em>closure</em>, </td>
339 <td class="paramkey"></td>
341 <td class="paramtype">struct afb_wsj1 * </td>
342 <td class="paramname"><em>wsj</em> </td>
350 </div><div class="memdoc">
352 <p class="definition">Definition at line <a class="el" href="libsoundmanager_8cpp_source.html#l00342">342</a> of file <a class="el" href="libsoundmanager_8cpp_source.html">libsoundmanager.cpp</a>.</p>
356 <a id="a69b4f10e509605a570cc52c795bc9d51"></a>
357 <h2 class="memtitle"><span class="permalink"><a href="#a69b4f10e509605a570cc52c795bc9d51">◆ </a></span>on_reply()</h2>
359 <div class="memitem">
360 <div class="memproto">
361 <table class="memname">
363 <td class="memname">void LibSoundmanager::on_reply </td>
365 <td class="paramtype">void * </td>
366 <td class="paramname"><em>closure</em>, </td>
369 <td class="paramkey"></td>
371 <td class="paramtype">struct afb_wsj1_msg * </td>
372 <td class="paramname"><em>msg</em> </td>
380 </div><div class="memdoc">
382 <p class="definition">Definition at line <a class="el" href="libsoundmanager_8cpp_source.html#l00369">369</a> of file <a class="el" href="libsoundmanager_8cpp_source.html">libsoundmanager.cpp</a>.</p>
386 <a id="a560edf9ae3b1e367ad4cbb31c7021d74"></a>
387 <h2 class="memtitle"><span class="permalink"><a href="#a560edf9ae3b1e367ad4cbb31c7021d74">◆ </a></span>register_callback()</h2>
389 <div class="memitem">
390 <div class="memproto">
391 <table class="memname">
393 <td class="memname">void LibSoundmanager::register_callback </td>
395 <td class="paramtype">void(*)(const std::string &<a class="el" href="structevent.html">event</a>, struct json_object *event_contents) </td>
396 <td class="paramname"><em>event_cb</em>, </td>
399 <td class="paramkey"></td>
401 <td class="paramtype">void(*)(struct json_object *reply_contents) </td>
402 <td class="paramname"><em>reply_cb</em> </td>
410 </div><div class="memdoc">
411 <p>This function register callback function for reply/event message from sound manager</p>
414 <li>event_cb [in] : This argument should be specified to the callback for subscribed event</li>
415 <li>reply_cb [in] : This argument should be specified to the reply callback for call function</li>
419 <li>Returns 0 on success or -1 in case of error.</li>
422 <p>Event callback is invoked by sound manager for event you subscribed. If you would like to get event, please call subscribe function before/after this function </p>
424 <p class="definition">Definition at line <a class="el" href="libsoundmanager_8cpp_source.html#l00119">119</a> of file <a class="el" href="libsoundmanager_8cpp_source.html">libsoundmanager.cpp</a>.</p>
428 <a id="abe71d3531e7888f47185a601b284e729"></a>
429 <h2 class="memtitle"><span class="permalink"><a href="#abe71d3531e7888f47185a601b284e729">◆ </a></span>run_eventloop()</h2>
431 <div class="memitem">
432 <div class="memproto">
433 <table class="memname">
435 <td class="memname">int LibSoundmanager::run_eventloop </td>
437 <td class="paramname"></td><td>)</td>
441 </div><div class="memdoc">
442 <p>This function start receiving the reply/event message from sound manager</p>
444 <p>Nothing </p><h4>Rreturn</h4>
446 <li>Returns thread_id on success or -1 in case of error.</li>
450 <p class="definition">Definition at line <a class="el" href="libsoundmanager_8cpp_source.html#l00182">182</a> of file <a class="el" href="libsoundmanager_8cpp_source.html">libsoundmanager.cpp</a>.</p>
454 <a id="a9cd7c5470cb135f9b1aa56d790c7e91e"></a>
455 <h2 class="memtitle"><span class="permalink"><a href="#a9cd7c5470cb135f9b1aa56d790c7e91e">◆ </a></span>subscribe()</h2>
457 <div class="memitem">
458 <div class="memproto">
459 <table class="memname">
461 <td class="memname">int LibSoundmanager::subscribe </td>
463 <td class="paramtype">const std::string & </td>
464 <td class="paramname"><em>event_name</em></td><td>)</td>
468 </div><div class="memdoc">
469 <p>Register callback function for each event</p>
472 <li>event_name [in] : This argument should be specified to the event name</li>
476 <li>Returns 0 on success or -1 in case of error.</li>
479 <p>This function enables to get an event to your callback function. Regarding the list of event name, please refer to CommandSender API and RountingSender API. </p>
481 <p class="definition">Definition at line <a class="el" href="libsoundmanager_8cpp_source.html#l00255">255</a> of file <a class="el" href="libsoundmanager_8cpp_source.html">libsoundmanager.cpp</a>.</p>
485 <a id="a21060844aa7efad6473b6104546afb06"></a>
486 <h2 class="memtitle"><span class="permalink"><a href="#a21060844aa7efad6473b6104546afb06">◆ </a></span>unsubscribe()</h2>
488 <div class="memitem">
489 <div class="memproto">
490 <table class="memname">
492 <td class="memname">int LibSoundmanager::unsubscribe </td>
494 <td class="paramtype">const std::string & </td>
495 <td class="paramname"><em>event_name</em></td><td>)</td>
499 </div><div class="memdoc">
500 <p>Unregister callback function for each event</p>
503 <li>event_name [in] : This argument should be specified to the event name</li>
507 <li>Returns 0 on success or -1 in case of error.</li>
510 <p>This function disables to get an event to your callback function. </p>
512 <p class="definition">Definition at line <a class="el" href="libsoundmanager_8cpp_source.html#l00284">284</a> of file <a class="el" href="libsoundmanager_8cpp_source.html">libsoundmanager.cpp</a>.</p>
516 <hr/>The documentation for this class was generated from the following files:<ul>
517 <li>SoundManagerBinding/include/libsoundmanager/<a class="el" href="libsoundmanager_8hpp_source.html">libsoundmanager.hpp</a></li>
518 <li>SoundManagerBinding/libsoundmanager/<a class="el" href="libsoundmanager_8cpp_source.html">libsoundmanager.cpp</a></li>
520 </div><!-- contents -->
521 </div><!-- doc-content -->
522 <!-- start footer part -->
523 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
525 <li class="navelem"><a class="el" href="class_lib_soundmanager.html">LibSoundmanager</a></li>
526 <li class="footer">Generated by
527 <a href="http://www.doxygen.org/index.html">
528 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>