Current File : //usr/share/doc/dbus/api/group__DBusServerInternals.html
<!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"/>
<title>D-Bus: DBusServer implementation details</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />



</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">D-Bus
   &#160;<span id="projectnumber">1.8.20</span>
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.6.1 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">DBusServer implementation details</div>  </div>
<div class="ingroups"><a class="el" href="group__DBusInternals.html">D-Bus secret internal implementation details</a></div></div><!--header-->
<div class="contents">

<p>Implementation details of <a class="el" href="structDBusServer.html" title="Internals of DBusServer object.">DBusServer</a>.  
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDBusServer.html">DBusServer</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Internals of <a class="el" href="structDBusServer.html" title="Internals of DBusServer object.">DBusServer</a> object.  <a href="structDBusServer.html#details">More...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gab3c673c1e36e293c5f2baa92418603a3"></a><!-- doxytag: member="DBusServerInternals::DBusWatchAddFunction" ref="gab3c673c1e36e293c5f2baa92418603a3" args=")(DBusWatchList *list, DBusWatch *watch)" -->
typedef <a class="el" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusServerInternals.html#gab3c673c1e36e293c5f2baa92418603a3">DBusWatchAddFunction</a> )(<a class="el" href="structDBusWatchList.html">DBusWatchList</a> *list, <a class="el" href="structDBusWatch.html">DBusWatch</a> *watch)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to be called in protected_change_watch() with refcount held. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga475a0e9a2f2b7a279ba07fa3352114d4"></a><!-- doxytag: member="DBusServerInternals::DBusWatchRemoveFunction" ref="ga475a0e9a2f2b7a279ba07fa3352114d4" args=")(DBusWatchList *list, DBusWatch *watch)" -->
typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusServerInternals.html#ga475a0e9a2f2b7a279ba07fa3352114d4">DBusWatchRemoveFunction</a> )(<a class="el" href="structDBusWatchList.html">DBusWatchList</a> *list, <a class="el" href="structDBusWatch.html">DBusWatch</a> *watch)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to be called in protected_change_watch() with refcount held. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga851f0958d46980f5a39bcfb874a4cb78"></a><!-- doxytag: member="DBusServerInternals::DBusWatchToggleFunction" ref="ga851f0958d46980f5a39bcfb874a4cb78" args=")(DBusWatchList *list, DBusWatch *watch, dbus_bool_t enabled)" -->
typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusServerInternals.html#ga851f0958d46980f5a39bcfb874a4cb78">DBusWatchToggleFunction</a> )(<a class="el" href="structDBusWatchList.html">DBusWatchList</a> *list, <a class="el" href="structDBusWatch.html">DBusWatch</a> *watch, <a class="el" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> enabled)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to be called in protected_change_watch() with refcount held. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga6ca28a0af7de84c51fdbafe8786d3446"></a><!-- doxytag: member="DBusServerInternals::DBusTimeoutAddFunction" ref="ga6ca28a0af7de84c51fdbafe8786d3446" args=")(DBusTimeoutList *list, DBusTimeout *timeout)" -->
typedef <a class="el" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusServerInternals.html#ga6ca28a0af7de84c51fdbafe8786d3446">DBusTimeoutAddFunction</a> )(<a class="el" href="structDBusTimeoutList.html">DBusTimeoutList</a> *list, <a class="el" href="structDBusTimeout.html">DBusTimeout</a> *timeout)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to be called in protected_change_timeout() with refcount held. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gafe75d05f2abf712c7fe13691ef27754c"></a><!-- doxytag: member="DBusServerInternals::DBusTimeoutRemoveFunction" ref="gafe75d05f2abf712c7fe13691ef27754c" args=")(DBusTimeoutList *list, DBusTimeout *timeout)" -->
typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusServerInternals.html#gafe75d05f2abf712c7fe13691ef27754c">DBusTimeoutRemoveFunction</a> )(<a class="el" href="structDBusTimeoutList.html">DBusTimeoutList</a> *list, <a class="el" href="structDBusTimeout.html">DBusTimeout</a> *timeout)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to be called in protected_change_timeout() with refcount held. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga1b4c97e7ef6f2cb8704cf74acc03c727"></a><!-- doxytag: member="DBusServerInternals::DBusTimeoutToggleFunction" ref="ga1b4c97e7ef6f2cb8704cf74acc03c727" args=")(DBusTimeoutList *list, DBusTimeout *timeout, dbus_bool_t enabled)" -->
typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusServerInternals.html#ga1b4c97e7ef6f2cb8704cf74acc03c727">DBusTimeoutToggleFunction</a> )(<a class="el" href="structDBusTimeoutList.html">DBusTimeoutList</a> *list, <a class="el" href="structDBusTimeout.html">DBusTimeout</a> *timeout, <a class="el" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> enabled)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to be called in protected_change_timeout() with refcount held. <br/></td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gae9d6174bb5be7a2f422af5389fbb081f"></a><!-- doxytag: member="DBusServerInternals::_dbus_server_trace_ref" ref="gae9d6174bb5be7a2f422af5389fbb081f" args="(DBusServer *server, int old_refcount, int new_refcount, const char *why)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><b>_dbus_server_trace_ref</b> (<a class="el" href="structDBusServer.html">DBusServer</a> *server, int old_refcount, int new_refcount, const char *why)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusServerInternals.html#gaacfb3d29553f205b362c850cfda02fd9">_dbus_server_init_base</a> (<a class="el" href="structDBusServer.html">DBusServer</a> *server, const <a class="el" href="structDBusServerVTable.html">DBusServerVTable</a> *vtable, const <a class="el" href="structDBusString.html">DBusString</a> *address)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the members of the <a class="el" href="structDBusServer.html" title="Internals of DBusServer object.">DBusServer</a> base class.  <a href="#gaacfb3d29553f205b362c850cfda02fd9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusServerInternals.html#ga93b5bca90e69122d5acbbeef2b4ca03e">_dbus_server_finalize_base</a> (<a class="el" href="structDBusServer.html">DBusServer</a> *server)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Finalizes the members of the <a class="el" href="structDBusServer.html" title="Internals of DBusServer object.">DBusServer</a> base class.  <a href="#ga93b5bca90e69122d5acbbeef2b4ca03e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusServerInternals.html#ga0866e5b205b8a570c77c8ad787b665fd">_dbus_server_add_watch</a> (<a class="el" href="structDBusServer.html">DBusServer</a> *server, <a class="el" href="structDBusWatch.html">DBusWatch</a> *watch)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a watch for this server, chaining out to application-provided watch handlers.  <a href="#ga0866e5b205b8a570c77c8ad787b665fd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusServerInternals.html#ga61cfdbfcc9316d4bae55f83b069f248c">_dbus_server_remove_watch</a> (<a class="el" href="structDBusServer.html">DBusServer</a> *server, <a class="el" href="structDBusWatch.html">DBusWatch</a> *watch)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes a watch previously added with <a class="el" href="group__DBusServerInternals.html#ga61cfdbfcc9316d4bae55f83b069f248c" title="Removes a watch previously added with _dbus_server_remove_watch().">_dbus_server_remove_watch()</a>.  <a href="#ga61cfdbfcc9316d4bae55f83b069f248c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusServerInternals.html#gabdc55833c157737f5cb8b3662f8fc0ed">_dbus_server_toggle_all_watches</a> (<a class="el" href="structDBusServer.html">DBusServer</a> *server, <a class="el" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> enabled)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Toggles all watch and notifies app via server's DBusWatchToggledFunction if available.  <a href="#gabdc55833c157737f5cb8b3662f8fc0ed"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusServerInternals.html#ga7e10a662386fb7f693e0d168161e395b">_dbus_server_add_timeout</a> (<a class="el" href="structDBusServer.html">DBusServer</a> *server, <a class="el" href="structDBusTimeout.html">DBusTimeout</a> *timeout)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a timeout for this server, chaining out to application-provided timeout handlers.  <a href="#ga7e10a662386fb7f693e0d168161e395b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusServerInternals.html#ga69509697f091e354442cedb63886c20e">_dbus_server_remove_timeout</a> (<a class="el" href="structDBusServer.html">DBusServer</a> *server, <a class="el" href="structDBusTimeout.html">DBusTimeout</a> *timeout)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes a timeout previously added with <a class="el" href="group__DBusServerInternals.html#ga7e10a662386fb7f693e0d168161e395b" title="Adds a timeout for this server, chaining out to application-provided timeout handlers.">_dbus_server_add_timeout()</a>.  <a href="#ga69509697f091e354442cedb63886c20e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusServerInternals.html#ga74d2714ce80a089d2607a6fc5763d819">_dbus_server_toggle_timeout</a> (<a class="el" href="structDBusServer.html">DBusServer</a> *server, <a class="el" href="structDBusTimeout.html">DBusTimeout</a> *timeout, <a class="el" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> enabled)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Toggles a timeout and notifies app via server's DBusTimeoutToggledFunction if available.  <a href="#ga74d2714ce80a089d2607a6fc5763d819"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusServerInternals.html#ga987e9bf42ab4e4cededa8e8f65c54e2e">_dbus_server_ref_unlocked</a> (<a class="el" href="structDBusServer.html">DBusServer</a> *server)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Like <a class="el" href="group__DBusServer.html#gabe1c14264ef6bf3e5fe446ab9bf8b913" title="Increments the reference count of a DBusServer.">dbus_server_ref()</a> but does not acquire the lock (must already be held)  <a href="#ga987e9bf42ab4e4cededa8e8f65c54e2e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusServerInternals.html#ga6e1d0b379c98b0d59ebd19dc9b8a2dbe">_dbus_server_unref_unlocked</a> (<a class="el" href="structDBusServer.html">DBusServer</a> *server)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Like <a class="el" href="group__DBusServer.html#ga95d0b6cb9795b4919aa08f667807c555" title="Decrements the reference count of a DBusServer.">dbus_server_unref()</a> but does not acquire the lock (must already be held)  <a href="#ga6e1d0b379c98b0d59ebd19dc9b8a2dbe"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<p>Implementation details of <a class="el" href="structDBusServer.html" title="Internals of DBusServer object.">DBusServer</a>. </p>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="ga7e10a662386fb7f693e0d168161e395b"></a><!-- doxytag: member="dbus&#45;server.c::_dbus_server_add_timeout" ref="ga7e10a662386fb7f693e0d168161e395b" args="(DBusServer *server, DBusTimeout *timeout)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> <a class="el" href="group__DBusServerInternals.html#ga7e10a662386fb7f693e0d168161e395b">_dbus_server_add_timeout</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusServer.html">DBusServer</a> *&#160;</td>
          <td class="paramname"><em>server</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structDBusTimeout.html">DBusTimeout</a> *&#160;</td>
          <td class="paramname"><em>timeout</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Adds a timeout for this server, chaining out to application-provided timeout handlers. </p>
<p>The timeout should be repeatedly handled with <a class="el" href="group__DBusTimeout.html#ga038b67c8d3db2624a1e4a8bc45f25d12" title="Calls the timeout handler for this timeout.">dbus_timeout_handle()</a> at its given interval until it is removed.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">server</td><td>the server. </td></tr>
    <tr><td class="paramname">timeout</td><td>the timeout to add. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dbus-server_8c_source.html#l00397">397</a> of file <a class="el" href="dbus-server_8c_source.html">dbus-server.c</a>.</p>

<p>References <a class="el" href="dbus-timeout_8c_source.html#l00310">_dbus_timeout_list_add_timeout()</a>, <a class="el" href="group__DBusMacros.html#gaa93f0eb578d23995850d61f7d61c55c1">FALSE</a>, and <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.</p>

</div>
</div>
<a class="anchor" id="ga0866e5b205b8a570c77c8ad787b665fd"></a><!-- doxytag: member="dbus&#45;server.c::_dbus_server_add_watch" ref="ga0866e5b205b8a570c77c8ad787b665fd" args="(DBusServer *server, DBusWatch *watch)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> <a class="el" href="group__DBusServerInternals.html#ga0866e5b205b8a570c77c8ad787b665fd">_dbus_server_add_watch</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusServer.html">DBusServer</a> *&#160;</td>
          <td class="paramname"><em>server</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structDBusWatch.html">DBusWatch</a> *&#160;</td>
          <td class="paramname"><em>watch</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Adds a watch for this server, chaining out to application-provided watch handlers. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">server</td><td>the server. </td></tr>
    <tr><td class="paramname">watch</td><td>the watch to add. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dbus-server_8c_source.html#l00288">288</a> of file <a class="el" href="dbus-server_8c_source.html">dbus-server.c</a>.</p>

<p>References <a class="el" href="dbus-watch_8c_source.html#l00376">_dbus_watch_list_add_watch()</a>, <a class="el" href="group__DBusMacros.html#gaa93f0eb578d23995850d61f7d61c55c1">FALSE</a>, and <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.</p>

<p>Referenced by <a class="el" href="dbus-server-socket_8c_source.html#l00280">_dbus_server_new_for_socket()</a>.</p>

</div>
</div>
<a class="anchor" id="ga93b5bca90e69122d5acbbeef2b4ca03e"></a><!-- doxytag: member="dbus&#45;server.c::_dbus_server_finalize_base" ref="ga93b5bca90e69122d5acbbeef2b4ca03e" args="(DBusServer *server)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="group__DBusServerInternals.html#ga93b5bca90e69122d5acbbeef2b4ca03e">_dbus_server_finalize_base</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusServer.html">DBusServer</a> *&#160;</td>
          <td class="paramname"><em>server</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Finalizes the members of the <a class="el" href="structDBusServer.html" title="Internals of DBusServer object.">DBusServer</a> base class. </p>
<p>Chained up to by subclass finalizers.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">server</td><td>the server. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dbus-server_8c_source.html#l00193">193</a> of file <a class="el" href="dbus-server_8c_source.html">dbus-server.c</a>.</p>

<p>References <a class="el" href="dbus-dataslot_8c_source.html#l00340">_dbus_data_slot_list_free()</a>, <a class="el" href="dbus-threads_8c_source.html#l00094">_dbus_rmutex_free_at_location()</a>, <a class="el" href="dbus-string_8c_source.html#l00242">_dbus_string_free()</a>, <a class="el" href="dbus-timeout_8c_source.html#l00211">_dbus_timeout_list_free()</a>, <a class="el" href="dbus-watch_8c_source.html#l00249">_dbus_watch_list_free()</a>, <a class="el" href="dbus-server-protected_8h_source.html#l00069">DBusServer::address</a>, <a class="el" href="dbus-server-protected_8h_source.html#l00085">DBusServer::auth_mechanisms</a>, <a class="el" href="dbus-memory_8c_source.html#l00701">dbus_free()</a>, <a class="el" href="dbus-memory_8c_source.html#l00749">dbus_free_string_array()</a>, <a class="el" href="dbus-server_8c_source.html#l00889">dbus_server_set_new_connection_function()</a>, <a class="el" href="dbus-server-protected_8h_source.html#l00087">DBusServer::disconnected</a>, <a class="el" href="dbus-server-protected_8h_source.html#l00064">DBusServer::guid_hex</a>, <a class="el" href="dbus-server-protected_8h_source.html#l00090">DBusServer::have_server_lock</a>, <a class="el" href="dbus-server-protected_8h_source.html#l00060">DBusServer::mutex</a>, <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, <a class="el" href="dbus-server-protected_8h_source.html#l00074">DBusServer::slot_list</a>, <a class="el" href="dbus-server-protected_8h_source.html#l00067">DBusServer::timeouts</a>, and <a class="el" href="dbus-server-protected_8h_source.html#l00066">DBusServer::watches</a>.</p>

<p>Referenced by <a class="el" href="dbus-server-socket_8c_source.html#l00280">_dbus_server_new_for_socket()</a>.</p>

</div>
</div>
<a class="anchor" id="gaacfb3d29553f205b362c850cfda02fd9"></a><!-- doxytag: member="dbus&#45;server.c::_dbus_server_init_base" ref="gaacfb3d29553f205b362c850cfda02fd9" args="(DBusServer *server, const DBusServerVTable *vtable, const DBusString *address)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> <a class="el" href="group__DBusServerInternals.html#gaacfb3d29553f205b362c850cfda02fd9">_dbus_server_init_base</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusServer.html">DBusServer</a> *&#160;</td>
          <td class="paramname"><em>server</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structDBusServerVTable.html">DBusServerVTable</a> *&#160;</td>
          <td class="paramname"><em>vtable</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structDBusString.html">DBusString</a> *&#160;</td>
          <td class="paramname"><em>address</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Initializes the members of the <a class="el" href="structDBusServer.html" title="Internals of DBusServer object.">DBusServer</a> base class. </p>
<p>Chained up to by subclass constructors.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">server</td><td>the server. </td></tr>
    <tr><td class="paramname">vtable</td><td>the vtable for the subclass. </td></tr>
    <tr><td class="paramname">address</td><td>the server's address </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#gaa8cecfc5c5c054d2875c03e77b7be15d" title="Expands to &quot;1&quot;.">TRUE</a> on success. </dd></dl>

<p>Definition at line <a class="el" href="dbus-server_8c_source.html#l00111">111</a> of file <a class="el" href="dbus-server_8c_source.html">dbus-server.c</a>.</p>

<p>References <a class="el" href="dbus-sysdeps-unix_8c_source.html#l02501">_dbus_atomic_inc()</a>, <a class="el" href="dbus-dataslot_8c_source.html#l00197">_dbus_data_slot_list_init()</a>, <a class="el" href="dbus-internals_8c_source.html#l00641">_dbus_generate_uuid()</a>, <a class="el" href="dbus-threads_8c_source.html#l00094">_dbus_rmutex_free_at_location()</a>, <a class="el" href="dbus-threads_8c_source.html#l00053">_dbus_rmutex_new_at_location()</a>, <a class="el" href="dbus-string_8c_source.html#l00242">_dbus_string_free()</a>, <a class="el" href="dbus-string_8c_source.html#l00175">_dbus_string_init()</a>, <a class="el" href="dbus-timeout_8c_source.html#l00211">_dbus_timeout_list_free()</a>, <a class="el" href="dbus-timeout_8c_source.html#l00194">_dbus_timeout_list_new()</a>, <a class="el" href="dbus-internals_8c_source.html#l00663">_dbus_uuid_encode()</a>, <a class="el" href="dbus-watch_8c_source.html#l00249">_dbus_watch_list_free()</a>, <a class="el" href="dbus-watch_8c_source.html#l00232">_dbus_watch_list_new()</a>, <a class="el" href="dbus-server-protected_8h_source.html#l00069">DBusServer::address</a>, <a class="el" href="dbus-memory_8c_source.html#l00701">dbus_free()</a>, <a class="el" href="group__DBusMacros.html#gaa93f0eb578d23995850d61f7d61c55c1">FALSE</a>, <a class="el" href="dbus-server-protected_8h_source.html#l00062">DBusServer::guid</a>, <a class="el" href="dbus-server-protected_8h_source.html#l00064">DBusServer::guid_hex</a>, <a class="el" href="dbus-server-protected_8h_source.html#l00060">DBusServer::mutex</a>, <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, <a class="el" href="dbus-server-protected_8h_source.html#l00070">DBusServer::published_address</a>, <a class="el" href="dbus-server-protected_8h_source.html#l00058">DBusServer::refcount</a>, <a class="el" href="dbus-server-protected_8h_source.html#l00074">DBusServer::slot_list</a>, <a class="el" href="dbus-server-protected_8h_source.html#l00067">DBusServer::timeouts</a>, <a class="el" href="group__DBusMacros.html#gaa8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>, <a class="el" href="dbus-server-protected_8h_source.html#l00059">DBusServer::vtable</a>, and <a class="el" href="dbus-server-protected_8h_source.html#l00066">DBusServer::watches</a>.</p>

<p>Referenced by <a class="el" href="dbus-server-socket_8c_source.html#l00280">_dbus_server_new_for_socket()</a>.</p>

</div>
</div>
<a class="anchor" id="ga987e9bf42ab4e4cededa8e8f65c54e2e"></a><!-- doxytag: member="dbus&#45;server.c::_dbus_server_ref_unlocked" ref="ga987e9bf42ab4e4cededa8e8f65c54e2e" args="(DBusServer *server)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="group__DBusServerInternals.html#ga987e9bf42ab4e4cededa8e8f65c54e2e">_dbus_server_ref_unlocked</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusServer.html">DBusServer</a> *&#160;</td>
          <td class="paramname"><em>server</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Like <a class="el" href="group__DBusServer.html#gabe1c14264ef6bf3e5fe446ab9bf8b913" title="Increments the reference count of a DBusServer.">dbus_server_ref()</a> but does not acquire the lock (must already be held) </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">server</td><td>the server. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dbus-server_8c_source.html#l00448">448</a> of file <a class="el" href="dbus-server_8c_source.html">dbus-server.c</a>.</p>

<p>References <a class="el" href="dbus-sysdeps-unix_8c_source.html#l02501">_dbus_atomic_inc()</a>, <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, and <a class="el" href="dbus-server-protected_8h_source.html#l00058">DBusServer::refcount</a>.</p>

</div>
</div>
<a class="anchor" id="ga69509697f091e354442cedb63886c20e"></a><!-- doxytag: member="dbus&#45;server.c::_dbus_server_remove_timeout" ref="ga69509697f091e354442cedb63886c20e" args="(DBusServer *server, DBusTimeout *timeout)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="group__DBusServerInternals.html#ga69509697f091e354442cedb63886c20e">_dbus_server_remove_timeout</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusServer.html">DBusServer</a> *&#160;</td>
          <td class="paramname"><em>server</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structDBusTimeout.html">DBusTimeout</a> *&#160;</td>
          <td class="paramname"><em>timeout</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Removes a timeout previously added with <a class="el" href="group__DBusServerInternals.html#ga7e10a662386fb7f693e0d168161e395b" title="Adds a timeout for this server, chaining out to application-provided timeout handlers.">_dbus_server_add_timeout()</a>. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">server</td><td>the server. </td></tr>
    <tr><td class="paramname">timeout</td><td>the timeout to remove. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dbus-server_8c_source.html#l00412">412</a> of file <a class="el" href="dbus-server_8c_source.html">dbus-server.c</a>.</p>

<p>References <a class="el" href="dbus-timeout_8c_source.html#l00340">_dbus_timeout_list_remove_timeout()</a>, <a class="el" href="group__DBusMacros.html#gaa93f0eb578d23995850d61f7d61c55c1">FALSE</a>, and <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.</p>

</div>
</div>
<a class="anchor" id="ga61cfdbfcc9316d4bae55f83b069f248c"></a><!-- doxytag: member="dbus&#45;server.c::_dbus_server_remove_watch" ref="ga61cfdbfcc9316d4bae55f83b069f248c" args="(DBusServer *server, DBusWatch *watch)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="group__DBusServerInternals.html#ga61cfdbfcc9316d4bae55f83b069f248c">_dbus_server_remove_watch</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusServer.html">DBusServer</a> *&#160;</td>
          <td class="paramname"><em>server</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structDBusWatch.html">DBusWatch</a> *&#160;</td>
          <td class="paramname"><em>watch</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Removes a watch previously added with <a class="el" href="group__DBusServerInternals.html#ga61cfdbfcc9316d4bae55f83b069f248c" title="Removes a watch previously added with _dbus_server_remove_watch().">_dbus_server_remove_watch()</a>. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">server</td><td>the server. </td></tr>
    <tr><td class="paramname">watch</td><td>the watch to remove. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dbus-server_8c_source.html#l00304">304</a> of file <a class="el" href="dbus-server_8c_source.html">dbus-server.c</a>.</p>

<p>References <a class="el" href="dbus-watch_8c_source.html#l00409">_dbus_watch_list_remove_watch()</a>, <a class="el" href="group__DBusMacros.html#gaa93f0eb578d23995850d61f7d61c55c1">FALSE</a>, and <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.</p>

<p>Referenced by <a class="el" href="dbus-server-socket_8c_source.html#l00280">_dbus_server_new_for_socket()</a>.</p>

</div>
</div>
<a class="anchor" id="gabdc55833c157737f5cb8b3662f8fc0ed"></a><!-- doxytag: member="dbus&#45;server.c::_dbus_server_toggle_all_watches" ref="gabdc55833c157737f5cb8b3662f8fc0ed" args="(DBusServer *server, dbus_bool_t enabled)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="group__DBusServerInternals.html#gabdc55833c157737f5cb8b3662f8fc0ed">_dbus_server_toggle_all_watches</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusServer.html">DBusServer</a> *&#160;</td>
          <td class="paramname"><em>server</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&#160;</td>
          <td class="paramname"><em>enabled</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Toggles all watch and notifies app via server's DBusWatchToggledFunction if available. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">server</td><td>the server. </td></tr>
    <tr><td class="paramname">enabled</td><td>whether to enable or disable </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dbus-server_8c_source.html#l00322">322</a> of file <a class="el" href="dbus-server_8c_source.html">dbus-server.c</a>.</p>

<p>References <a class="el" href="dbus-watch_8c_source.html#l00465">_dbus_watch_list_toggle_all_watches()</a>, and <a class="el" href="dbus-server-protected_8h_source.html#l00066">DBusServer::watches</a>.</p>

</div>
</div>
<a class="anchor" id="ga74d2714ce80a089d2607a6fc5763d819"></a><!-- doxytag: member="dbus&#45;server.c::_dbus_server_toggle_timeout" ref="ga74d2714ce80a089d2607a6fc5763d819" args="(DBusServer *server, DBusTimeout *timeout, dbus_bool_t enabled)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="group__DBusServerInternals.html#ga74d2714ce80a089d2607a6fc5763d819">_dbus_server_toggle_timeout</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusServer.html">DBusServer</a> *&#160;</td>
          <td class="paramname"><em>server</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structDBusTimeout.html">DBusTimeout</a> *&#160;</td>
          <td class="paramname"><em>timeout</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&#160;</td>
          <td class="paramname"><em>enabled</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Toggles a timeout and notifies app via server's DBusTimeoutToggledFunction if available. </p>
<p>It's an error to call this function on a timeout that was not previously added.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">server</td><td>the server. </td></tr>
    <tr><td class="paramname">timeout</td><td>the timeout to toggle. </td></tr>
    <tr><td class="paramname">enabled</td><td>whether to enable or disable </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dbus-server_8c_source.html#l00431">431</a> of file <a class="el" href="dbus-server_8c_source.html">dbus-server.c</a>.</p>

<p>References <a class="el" href="dbus-timeout_8c_source.html#l00362">_dbus_timeout_list_toggle_timeout()</a>, and <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.</p>

</div>
</div>
<a class="anchor" id="ga6e1d0b379c98b0d59ebd19dc9b8a2dbe"></a><!-- doxytag: member="dbus&#45;server.c::_dbus_server_unref_unlocked" ref="ga6e1d0b379c98b0d59ebd19dc9b8a2dbe" args="(DBusServer *server)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="group__DBusServerInternals.html#ga6e1d0b379c98b0d59ebd19dc9b8a2dbe">_dbus_server_unref_unlocked</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusServer.html">DBusServer</a> *&#160;</td>
          <td class="paramname"><em>server</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Like <a class="el" href="group__DBusServer.html#ga95d0b6cb9795b4919aa08f667807c555" title="Decrements the reference count of a DBusServer.">dbus_server_unref()</a> but does not acquire the lock (must already be held) </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">server</td><td>the server. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dbus-server_8c_source.html#l00467">467</a> of file <a class="el" href="dbus-server_8c_source.html">dbus-server.c</a>.</p>

<p>References <a class="el" href="dbus-sysdeps-unix_8c_source.html#l02524">_dbus_atomic_dec()</a>, <a class="el" href="dbus-server-protected_8h_source.html#l00087">DBusServer::disconnected</a>, <a class="el" href="dbus-server-protected_8h_source.html#l00045">DBusServerVTable::finalize</a>, <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, <a class="el" href="dbus-server-protected_8h_source.html#l00058">DBusServer::refcount</a>, and <a class="el" href="dbus-server-protected_8h_source.html#l00059">DBusServer::vtable</a>.</p>

</div>
</div>
</div><!-- contents -->


<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 3 2016 17:50:33 for D-Bus by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>

</body>
</html>