Add documentation about Sound Manager and Audio Manager architecture
[staging/soundmanager.git] / doc / api-ref / html / class_lib_soundmanager.html
diff --git a/doc/api-ref/html/class_lib_soundmanager.html b/doc/api-ref/html/class_lib_soundmanager.html
new file mode 100644 (file)
index 0000000..013af0d
--- /dev/null
@@ -0,0 +1,532 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Sound Manager: LibSoundmanager Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Sound Manager
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('class_lib_soundmanager.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">LibSoundmanager Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><code>#include &lt;<a class="el" href="libsoundmanager_8hpp_source.html">libsoundmanager.hpp</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a289a9d6ff8be95ae78660f239d962d79"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lib_soundmanager.html#a289a9d6ff8be95ae78660f239d962d79">LibSoundmanager</a> (const int port, const std::string &amp;token)</td></tr>
+<tr class="separator:a289a9d6ff8be95ae78660f239d962d79"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abf861908e3d6d85d2b3c08683b08f934"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lib_soundmanager.html#abf861908e3d6d85d2b3c08683b08f934">~LibSoundmanager</a> ()</td></tr>
+<tr class="separator:abf861908e3d6d85d2b3c08683b08f934"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a560edf9ae3b1e367ad4cbb31c7021d74"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lib_soundmanager.html#a560edf9ae3b1e367ad4cbb31c7021d74">register_callback</a> (void(*event_cb)(const std::string &amp;<a class="el" href="structevent.html">event</a>, struct json_object *event_contents), void(*reply_cb)(struct json_object *reply_contents))</td></tr>
+<tr class="separator:a560edf9ae3b1e367ad4cbb31c7021d74"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abe71d3531e7888f47185a601b284e729"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lib_soundmanager.html#abe71d3531e7888f47185a601b284e729">run_eventloop</a> ()</td></tr>
+<tr class="separator:abe71d3531e7888f47185a601b284e729"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1fe952a4dabbab6126cc23e36c79c773"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lib_soundmanager.html#a1fe952a4dabbab6126cc23e36c79c773">call</a> (const std::string &amp;verb, struct json_object *arg)</td></tr>
+<tr class="separator:a1fe952a4dabbab6126cc23e36c79c773"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae5b83ce661b1d785de2518ca10113956"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lib_soundmanager.html#ae5b83ce661b1d785de2518ca10113956">call_sync</a> (const std::string &amp;verb, struct json_object *arg, struct json_object *ret)</td></tr>
+<tr class="separator:ae5b83ce661b1d785de2518ca10113956"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9cd7c5470cb135f9b1aa56d790c7e91e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lib_soundmanager.html#a9cd7c5470cb135f9b1aa56d790c7e91e">subscribe</a> (const std::string &amp;event_name)</td></tr>
+<tr class="separator:a9cd7c5470cb135f9b1aa56d790c7e91e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a21060844aa7efad6473b6104546afb06"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lib_soundmanager.html#a21060844aa7efad6473b6104546afb06">unsubscribe</a> (const std::string &amp;event_name)</td></tr>
+<tr class="separator:a21060844aa7efad6473b6104546afb06"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a71a8165cb15c7815aa95a8955f5cd7f6"><td class="memItemLeft" align="right" valign="top">void&#160;</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>
+<tr class="separator:a71a8165cb15c7815aa95a8955f5cd7f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3ba2255cb1d29c77c4c6a2267949eda0"><td class="memItemLeft" align="right" valign="top">void&#160;</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>
+<tr class="separator:a3ba2255cb1d29c77c4c6a2267949eda0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a86ef62e7847cd20e9cafbc1f6c017b3e"><td class="memItemLeft" align="right" valign="top">void&#160;</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>
+<tr class="separator:a86ef62e7847cd20e9cafbc1f6c017b3e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a69b4f10e509605a570cc52c795bc9d51"><td class="memItemLeft" align="right" valign="top">void&#160;</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>
+<tr class="separator:a69b4f10e509605a570cc52c795bc9d51"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock">
+<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>
+</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a id="a289a9d6ff8be95ae78660f239d962d79"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a289a9d6ff8be95ae78660f239d962d79">&#9670;&nbsp;</a></span>LibSoundmanager()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">LibSoundmanager::LibSoundmanager </td>
+          <td>(</td>
+          <td class="paramtype">const int&#160;</td>
+          <td class="paramname"><em>port</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>token</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="abf861908e3d6d85d2b3c08683b08f934"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abf861908e3d6d85d2b3c08683b08f934">&#9670;&nbsp;</a></span>~LibSoundmanager()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">LibSoundmanager::~LibSoundmanager </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<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>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a id="a1fe952a4dabbab6126cc23e36c79c773"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1fe952a4dabbab6126cc23e36c79c773">&#9670;&nbsp;</a></span>call()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int LibSoundmanager::call </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>verb</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">struct json_object *&#160;</td>
+          <td class="paramname"><em>arg</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>This function calls the API of Audio Manager via WebSocket</p>
+<h4>Parameters</h4>
+<ul>
+<li>verb [in] : This argument should be specified to the API name (e.g. "connect")</li>
+<li>arg [in] : This argument should be specified to the argument of API. And this argument expects JSON object</li>
+</ul>
+<h4>Rreturn</h4>
+<ul>
+<li>Returns 0 on success or -1 in case of error.</li>
+</ul>
+<h4>Note</h4>
+<p>To call Audio Manager's APIs, the application should set its function name, arguments to JSON format. </p>
+
+<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>
+
+</div>
+</div>
+<a id="ae5b83ce661b1d785de2518ca10113956"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae5b83ce661b1d785de2518ca10113956">&#9670;&nbsp;</a></span>call_sync()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int LibSoundmanager::call_sync </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>verb</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">struct json_object *&#160;</td>
+          <td class="paramname"><em>arg</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">struct json_object *&#160;</td>
+          <td class="paramname"><em>ret</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<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>
+
+</div>
+</div>
+<a id="a3ba2255cb1d29c77c4c6a2267949eda0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3ba2255cb1d29c77c4c6a2267949eda0">&#9670;&nbsp;</a></span>on_call()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void LibSoundmanager::on_call </td>
+          <td>(</td>
+          <td class="paramtype">void *&#160;</td>
+          <td class="paramname"><em>closure</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>api</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>verb</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">struct afb_wsj1_msg *&#160;</td>
+          <td class="paramname"><em>msg</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<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>
+
+</div>
+</div>
+<a id="a86ef62e7847cd20e9cafbc1f6c017b3e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a86ef62e7847cd20e9cafbc1f6c017b3e">&#9670;&nbsp;</a></span>on_event()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void LibSoundmanager::on_event </td>
+          <td>(</td>
+          <td class="paramtype">void *&#160;</td>
+          <td class="paramname"><em>closure</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>event</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">struct afb_wsj1_msg *&#160;</td>
+          <td class="paramname"><em>msg</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<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>
+
+</div>
+</div>
+<a id="a71a8165cb15c7815aa95a8955f5cd7f6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a71a8165cb15c7815aa95a8955f5cd7f6">&#9670;&nbsp;</a></span>on_hangup()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void LibSoundmanager::on_hangup </td>
+          <td>(</td>
+          <td class="paramtype">void *&#160;</td>
+          <td class="paramname"><em>closure</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">struct afb_wsj1 *&#160;</td>
+          <td class="paramname"><em>wsj</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<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>
+
+</div>
+</div>
+<a id="a69b4f10e509605a570cc52c795bc9d51"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a69b4f10e509605a570cc52c795bc9d51">&#9670;&nbsp;</a></span>on_reply()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void LibSoundmanager::on_reply </td>
+          <td>(</td>
+          <td class="paramtype">void *&#160;</td>
+          <td class="paramname"><em>closure</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">struct afb_wsj1_msg *&#160;</td>
+          <td class="paramname"><em>msg</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<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>
+
+</div>
+</div>
+<a id="a560edf9ae3b1e367ad4cbb31c7021d74"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a560edf9ae3b1e367ad4cbb31c7021d74">&#9670;&nbsp;</a></span>register_callback()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void LibSoundmanager::register_callback </td>
+          <td>(</td>
+          <td class="paramtype">void(*)(const std::string &amp;<a class="el" href="structevent.html">event</a>, struct json_object *event_contents)&#160;</td>
+          <td class="paramname"><em>event_cb</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void(*)(struct json_object *reply_contents)&#160;</td>
+          <td class="paramname"><em>reply_cb</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>This function register callback function for reply/event message from sound manager</p>
+<h4>Parameters</h4>
+<ul>
+<li>event_cb [in] : This argument should be specified to the callback for subscribed event</li>
+<li>reply_cb [in] : This argument should be specified to the reply callback for call function</li>
+</ul>
+<h4>Rreturn</h4>
+<ul>
+<li>Returns 0 on success or -1 in case of error.</li>
+</ul>
+<h4>Note</h4>
+<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>
+
+<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>
+
+</div>
+</div>
+<a id="abe71d3531e7888f47185a601b284e729"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abe71d3531e7888f47185a601b284e729">&#9670;&nbsp;</a></span>run_eventloop()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int LibSoundmanager::run_eventloop </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>This function start receiving the reply/event message from sound manager</p>
+<h4>Parameters</h4>
+<p>Nothing </p><h4>Rreturn</h4>
+<ul>
+<li>Returns thread_id on success or -1 in case of error.</li>
+</ul>
+<h4>Note</h4>
+
+<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>
+
+</div>
+</div>
+<a id="a9cd7c5470cb135f9b1aa56d790c7e91e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9cd7c5470cb135f9b1aa56d790c7e91e">&#9670;&nbsp;</a></span>subscribe()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int LibSoundmanager::subscribe </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>event_name</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Register callback function for each event</p>
+<h4>Parameters</h4>
+<ul>
+<li>event_name [in] : This argument should be specified to the event name</li>
+</ul>
+<h4>Rreturn</h4>
+<ul>
+<li>Returns 0 on success or -1 in case of error.</li>
+</ul>
+<h4>Note</h4>
+<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>
+
+<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>
+
+</div>
+</div>
+<a id="a21060844aa7efad6473b6104546afb06"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a21060844aa7efad6473b6104546afb06">&#9670;&nbsp;</a></span>unsubscribe()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int LibSoundmanager::unsubscribe </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>event_name</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Unregister callback function for each event</p>
+<h4>Parameters</h4>
+<ul>
+<li>event_name [in] : This argument should be specified to the event name</li>
+</ul>
+<h4>Rreturn</h4>
+<ul>
+<li>Returns 0 on success or -1 in case of error.</li>
+</ul>
+<h4>Note</h4>
+<p>This function disables to get an event to your callback function. </p>
+
+<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>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li>SoundManagerBinding/include/libsoundmanager/<a class="el" href="libsoundmanager_8hpp_source.html">libsoundmanager.hpp</a></li>
+<li>SoundManagerBinding/libsoundmanager/<a class="el" href="libsoundmanager_8cpp_source.html">libsoundmanager.cpp</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="class_lib_soundmanager.html">LibSoundmanager</a></li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>