|
Server : Apache/2.2.17 (Unix) mod_ssl/2.2.17 OpenSSL/0.9.8e-fips-rhel5 DAV/2 PHP/5.2.17 System : Linux localhost 2.6.18-419.el5 #1 SMP Fri Feb 24 22:47:42 UTC 2017 x86_64 User : nobody ( 99) PHP Version : 5.2.17 Disable Function : NONE Directory : /usr/share/devhelp/books/dbus/api/ |
Upload File : |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>D-Bus: DBusServer implementation details</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Data Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li><a href="pages.html"><span>Related Pages</span></a></li>
</ul></div>
<h1>DBusServer implementation details<br>
<small>
[<a class="el" href="group__DBusInternals.html">D-Bus secret internal implementation details</a>]</small>
</h1>Implementation details of <a class="el" href="structDBusServer.html">DBusServer</a>.
<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gc0512dbb099a3cb80f503a647328c369"></a><!-- doxytag: member="DBusServerInternals::DBusWatchAddFunction" ref="gc0512dbb099a3cb80f503a647328c369" args="(DBusWatchList *list, DBusWatch *watch)" -->
typedef <a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>(*) </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusServerInternals.html#gc0512dbb099a3cb80f503a647328c369">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"> </td><td class="mdescRight">Function to be called in protected_change_watch() with refcount held. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g219d92aa1ad72a99b4b6f610fb9a0cc6"></a><!-- doxytag: member="DBusServerInternals::DBusWatchRemoveFunction" ref="g219d92aa1ad72a99b4b6f610fb9a0cc6" args="(DBusWatchList *list, DBusWatch *watch)" -->
typedef void(*) </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusServerInternals.html#g219d92aa1ad72a99b4b6f610fb9a0cc6">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"> </td><td class="mdescRight">Function to be called in protected_change_watch() with refcount held. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga7518254a3f5a36ee6dc00e4c21e7bff"></a><!-- doxytag: member="DBusServerInternals::DBusWatchToggleFunction" ref="ga7518254a3f5a36ee6dc00e4c21e7bff" args="(DBusWatchList *list, DBusWatch *watch, dbus_bool_t enabled)" -->
typedef void(*) </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusServerInternals.html#ga7518254a3f5a36ee6dc00e4c21e7bff">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#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> enabled)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Function to be called in protected_change_watch() with refcount held. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gdfaf37b40bf7fb9025bcf99400306062"></a><!-- doxytag: member="DBusServerInternals::DBusTimeoutAddFunction" ref="gdfaf37b40bf7fb9025bcf99400306062" args="(DBusTimeoutList *list, DBusTimeout *timeout)" -->
typedef <a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>(*) </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusServerInternals.html#gdfaf37b40bf7fb9025bcf99400306062">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"> </td><td class="mdescRight">Function to be called in protected_change_timeout() with refcount held. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gd5321323beee432e7d742a13f511eb9f"></a><!-- doxytag: member="DBusServerInternals::DBusTimeoutRemoveFunction" ref="gd5321323beee432e7d742a13f511eb9f" args="(DBusTimeoutList *list, DBusTimeout *timeout)" -->
typedef void(*) </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusServerInternals.html#gd5321323beee432e7d742a13f511eb9f">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"> </td><td class="mdescRight">Function to be called in protected_change_timeout() with refcount held. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g110617d1769f3ca556737cbeae2f0427"></a><!-- doxytag: member="DBusServerInternals::DBusTimeoutToggleFunction" ref="g110617d1769f3ca556737cbeae2f0427" args="(DBusTimeoutList *list, DBusTimeout *timeout, dbus_bool_t enabled)" -->
typedef void(*) </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusServerInternals.html#g110617d1769f3ca556737cbeae2f0427">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#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> enabled)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Function to be called in protected_change_timeout() with refcount held. <br></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusServerInternals.html#gacfb3d29553f205b362c850cfda02fd9">_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"> </td><td class="mdescRight">Initializes the members of the <a class="el" href="structDBusServer.html">DBusServer</a> base class. <a href="#gacfb3d29553f205b362c850cfda02fd9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusServerInternals.html#g93b5bca90e69122d5acbbeef2b4ca03e">_dbus_server_finalize_base</a> (<a class="el" href="structDBusServer.html">DBusServer</a> *server)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Finalizes the members of the <a class="el" href="structDBusServer.html">DBusServer</a> base class. <a href="#g93b5bca90e69122d5acbbeef2b4ca03e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusServerInternals.html#g0866e5b205b8a570c77c8ad787b665fd">_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"> </td><td class="mdescRight">Adds a watch for this server, chaining out to application-provided watch handlers. <a href="#g0866e5b205b8a570c77c8ad787b665fd"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusServerInternals.html#g61cfdbfcc9316d4bae55f83b069f248c">_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"> </td><td class="mdescRight">Removes a watch previously added with <a class="el" href="group__DBusServerInternals.html#g61cfdbfcc9316d4bae55f83b069f248c">_dbus_server_remove_watch()</a>. <a href="#g61cfdbfcc9316d4bae55f83b069f248c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusServerInternals.html#g7bef63b643f53ec984f5da35653689e7">_dbus_server_toggle_watch</a> (<a class="el" href="structDBusServer.html">DBusServer</a> *server, <a class="el" href="structDBusWatch.html">DBusWatch</a> *watch, <a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> enabled)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Toggles a watch and notifies app via server's DBusWatchToggledFunction if available. <a href="#g7bef63b643f53ec984f5da35653689e7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusServerInternals.html#g7e10a662386fb7f693e0d168161e395b">_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"> </td><td class="mdescRight">Adds a timeout for this server, chaining out to application-provided timeout handlers. <a href="#g7e10a662386fb7f693e0d168161e395b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusServerInternals.html#g69509697f091e354442cedb63886c20e">_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"> </td><td class="mdescRight">Removes a timeout previously added with <a class="el" href="group__DBusServerInternals.html#g7e10a662386fb7f693e0d168161e395b">_dbus_server_add_timeout()</a>. <a href="#g69509697f091e354442cedb63886c20e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusServerInternals.html#g74d2714ce80a089d2607a6fc5763d819">_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#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> enabled)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Toggles a timeout and notifies app via server's DBusTimeoutToggledFunction if available. <a href="#g74d2714ce80a089d2607a6fc5763d819"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusServerInternals.html#g987e9bf42ab4e4cededa8e8f65c54e2e">_dbus_server_ref_unlocked</a> (<a class="el" href="structDBusServer.html">DBusServer</a> *server)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Like <a class="el" href="group__DBusServer.html#g5c4406913d2a92093ce50e0521b37b5b">dbus_server_ref()</a> but does not acquire the lock (must already be held). <a href="#g987e9bf42ab4e4cededa8e8f65c54e2e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusServerInternals.html#g6e1d0b379c98b0d59ebd19dc9b8a2dbe">_dbus_server_unref_unlocked</a> (<a class="el" href="structDBusServer.html">DBusServer</a> *server)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Like <a class="el" href="group__DBusServer.html#g8cd88699638aafda3512802b551fe87b">dbus_server_unref()</a> but does not acquire the lock (must already be held). <a href="#g6e1d0b379c98b0d59ebd19dc9b8a2dbe"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Implementation details of <a class="el" href="structDBusServer.html">DBusServer</a>.
<p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="g7e10a662386fb7f693e0d168161e395b"></a><!-- doxytag: member="dbus-server.c::_dbus_server_add_timeout" ref="g7e10a662386fb7f693e0d168161e395b" 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#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> _dbus_server_add_timeout </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusServer.html">DBusServer</a> * </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> * </td>
<td class="paramname"> <em>timeout</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Adds a timeout for this server, chaining out to application-provided timeout handlers.
<p>
The timeout should be repeatedly handled with <a class="el" href="group__DBusTimeout.html#g038b67c8d3db2624a1e4a8bc45f25d12">dbus_timeout_handle()</a> at its given interval until it is removed.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>server</em> </td><td>the server. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>timeout</em> </td><td>the timeout to add. </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="dbus-server_8c-source.html#l00381">381</a> of file <a class="el" href="dbus-server_8c-source.html">dbus-server.c</a>.
<p>
References <a class="el" href="dbus-timeout_8c-source.html#l00309">_dbus_timeout_list_add_timeout()</a>, <a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a>, and <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.
</div>
</div><p>
<a class="anchor" name="g0866e5b205b8a570c77c8ad787b665fd"></a><!-- doxytag: member="dbus-server.c::_dbus_server_add_watch" ref="g0866e5b205b8a570c77c8ad787b665fd" 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#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> _dbus_server_add_watch </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusServer.html">DBusServer</a> * </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> * </td>
<td class="paramname"> <em>watch</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Adds a watch for this server, chaining out to application-provided watch handlers.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>server</em> </td><td>the server. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>watch</em> </td><td>the watch to add. </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="dbus-server_8c-source.html#l00263">263</a> of file <a class="el" href="dbus-server_8c-source.html">dbus-server.c</a>.
<p>
References <a class="el" href="dbus-watch_8c-source.html#l00351">_dbus_watch_list_add_watch()</a>, <a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a>, and <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.
<p>
Referenced by <a class="el" href="dbus-server-socket_8c-source.html#l00266">_dbus_server_new_for_socket()</a>.
</div>
</div><p>
<a class="anchor" name="g93b5bca90e69122d5acbbeef2b4ca03e"></a><!-- doxytag: member="dbus-server.c::_dbus_server_finalize_base" ref="g93b5bca90e69122d5acbbeef2b4ca03e" args="(DBusServer *server)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void _dbus_server_finalize_base </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusServer.html">DBusServer</a> * </td>
<td class="paramname"> <em>server</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Finalizes the members of the <a class="el" href="structDBusServer.html">DBusServer</a> base class.
<p>
Chained up to by subclass finalizers.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>server</em> </td><td>the server. </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="dbus-server_8c-source.html#l00168">168</a> of file <a class="el" href="dbus-server_8c-source.html">dbus-server.c</a>.
<p>
References <a class="el" href="dbus-internals_8h-source.html#l00109">_dbus_assert</a>, <a class="el" href="dbus-dataslot_8c-source.html#l00348">_dbus_data_slot_list_free()</a>, <a class="el" href="dbus-threads_8c-source.html#l00126">_dbus_mutex_free_at_location()</a>, <a class="el" href="dbus-string_8c-source.html#l00262">_dbus_string_free()</a>, <a class="el" href="dbus-timeout_8c-source.html#l00210">_dbus_timeout_list_free()</a>, <a class="el" href="dbus-watch_8c-source.html#l00225">_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#l00084">DBusServer::auth_mechanisms</a>, <a class="el" href="dbus-memory_8c-source.html#l00617">dbus_free()</a>, <a class="el" href="dbus-memory_8c-source.html#l00655">dbus_free_string_array()</a>, <a class="el" href="dbus-server_8c-source.html#l00859">dbus_server_set_new_connection_function()</a>, <a class="el" href="dbus-server-protected_8h-source.html#l00086">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#l00089">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#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, <a class="el" href="dbus-server-protected_8h-source.html#l00073">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>
Referenced by <a class="el" href="dbus-server-socket_8c-source.html#l00266">_dbus_server_new_for_socket()</a>.
</div>
</div><p>
<a class="anchor" name="gacfb3d29553f205b362c850cfda02fd9"></a><!-- doxytag: member="dbus-server.c::_dbus_server_init_base" ref="gacfb3d29553f205b362c850cfda02fd9" 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#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> _dbus_server_init_base </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusServer.html">DBusServer</a> * </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> * </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> * </td>
<td class="paramname"> <em>address</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Initializes the members of the <a class="el" href="structDBusServer.html">DBusServer</a> base class.
<p>
Chained up to by subclass constructors.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>server</em> </td><td>the server. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>vtable</em> </td><td>the vtable for the subclass. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>address</em> </td><td>the server's address </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a> on success. </dd></dl>
<p>
Definition at line <a class="el" href="dbus-server_8c-source.html#l00096">96</a> of file <a class="el" href="dbus-server_8c-source.html">dbus-server.c</a>.
<p>
References <a class="el" href="dbus-dataslot_8c-source.html#l00211">_dbus_data_slot_list_init()</a>, <a class="el" href="dbus-internals_8c-source.html#l00510">_dbus_generate_uuid()</a>, <a class="el" href="dbus-threads_8c-source.html#l00126">_dbus_mutex_free_at_location()</a>, <a class="el" href="dbus-threads_8c-source.html#l00088">_dbus_mutex_new_at_location()</a>, <a class="el" href="dbus-string_8c-source.html#l00262">_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#l00210">_dbus_timeout_list_free()</a>, <a class="el" href="dbus-timeout_8c-source.html#l00193">_dbus_timeout_list_new()</a>, <a class="el" href="dbus-internals_8c-source.html#l00529">_dbus_uuid_encode()</a>, <a class="el" href="dbus-watch_8c-source.html#l00225">_dbus_watch_list_free()</a>, <a class="el" href="dbus-watch_8c-source.html#l00208">_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#l00617">dbus_free()</a>, <a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">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#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</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#l00073">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#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>, <a class="el" href="dbus-sysdeps_8h-source.html#l00198">DBusAtomic::value</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>
Referenced by <a class="el" href="dbus-server-socket_8c-source.html#l00266">_dbus_server_new_for_socket()</a>.
</div>
</div><p>
<a class="anchor" name="g987e9bf42ab4e4cededa8e8f65c54e2e"></a><!-- doxytag: member="dbus-server.c::_dbus_server_ref_unlocked" ref="g987e9bf42ab4e4cededa8e8f65c54e2e" args="(DBusServer *server)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void _dbus_server_ref_unlocked </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusServer.html">DBusServer</a> * </td>
<td class="paramname"> <em>server</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Like <a class="el" href="group__DBusServer.html#g5c4406913d2a92093ce50e0521b37b5b">dbus_server_ref()</a> but does not acquire the lock (must already be held).
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>server</em> </td><td>the server. </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="dbus-server_8c-source.html#l00432">432</a> of file <a class="el" href="dbus-server_8c-source.html">dbus-server.c</a>.
<p>
References <a class="el" href="dbus-internals_8h-source.html#l00109">_dbus_assert</a>, <a class="el" href="dbus-sysdeps-unix_8c-source.html#l01769">_dbus_atomic_inc()</a>, <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, <a class="el" href="dbus-server-protected_8h-source.html#l00058">DBusServer::refcount</a>, and <a class="el" href="dbus-sysdeps_8h-source.html#l00198">DBusAtomic::value</a>.
<p>
Referenced by <a class="el" href="dbus-server_8c-source.html#l00739">dbus_server_disconnect()</a>.
</div>
</div><p>
<a class="anchor" name="g69509697f091e354442cedb63886c20e"></a><!-- doxytag: member="dbus-server.c::_dbus_server_remove_timeout" ref="g69509697f091e354442cedb63886c20e" args="(DBusServer *server, DBusTimeout *timeout)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void _dbus_server_remove_timeout </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusServer.html">DBusServer</a> * </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> * </td>
<td class="paramname"> <em>timeout</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Removes a timeout previously added with <a class="el" href="group__DBusServerInternals.html#g7e10a662386fb7f693e0d168161e395b">_dbus_server_add_timeout()</a>.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>server</em> </td><td>the server. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>timeout</em> </td><td>the timeout to remove. </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="dbus-server_8c-source.html#l00396">396</a> of file <a class="el" href="dbus-server_8c-source.html">dbus-server.c</a>.
<p>
References <a class="el" href="dbus-timeout_8c-source.html#l00339">_dbus_timeout_list_remove_timeout()</a>, <a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a>, and <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.
</div>
</div><p>
<a class="anchor" name="g61cfdbfcc9316d4bae55f83b069f248c"></a><!-- doxytag: member="dbus-server.c::_dbus_server_remove_watch" ref="g61cfdbfcc9316d4bae55f83b069f248c" args="(DBusServer *server, DBusWatch *watch)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void _dbus_server_remove_watch </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusServer.html">DBusServer</a> * </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> * </td>
<td class="paramname"> <em>watch</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Removes a watch previously added with <a class="el" href="group__DBusServerInternals.html#g61cfdbfcc9316d4bae55f83b069f248c">_dbus_server_remove_watch()</a>.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>server</em> </td><td>the server. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>watch</em> </td><td>the watch to remove. </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="dbus-server_8c-source.html#l00279">279</a> of file <a class="el" href="dbus-server_8c-source.html">dbus-server.c</a>.
<p>
References <a class="el" href="dbus-watch_8c-source.html#l00384">_dbus_watch_list_remove_watch()</a>, <a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a>, and <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.
<p>
Referenced by <a class="el" href="dbus-server-socket_8c-source.html#l00266">_dbus_server_new_for_socket()</a>.
</div>
</div><p>
<a class="anchor" name="g74d2714ce80a089d2607a6fc5763d819"></a><!-- doxytag: member="dbus-server.c::_dbus_server_toggle_timeout" ref="g74d2714ce80a089d2607a6fc5763d819" args="(DBusServer *server, DBusTimeout *timeout, dbus_bool_t enabled)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void _dbus_server_toggle_timeout </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusServer.html">DBusServer</a> * </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> * </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#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> </td>
<td class="paramname"> <em>enabled</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Toggles a timeout and notifies app via server's DBusTimeoutToggledFunction if available.
<p>
It's an error to call this function on a timeout that was not previously added.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>server</em> </td><td>the server. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>timeout</em> </td><td>the timeout to toggle. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>enabled</em> </td><td>whether to enable or disable </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="dbus-server_8c-source.html#l00415">415</a> of file <a class="el" href="dbus-server_8c-source.html">dbus-server.c</a>.
<p>
References <a class="el" href="dbus-timeout_8c-source.html#l00361">_dbus_timeout_list_toggle_timeout()</a>, and <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.
</div>
</div><p>
<a class="anchor" name="g7bef63b643f53ec984f5da35653689e7"></a><!-- doxytag: member="dbus-server.c::_dbus_server_toggle_watch" ref="g7bef63b643f53ec984f5da35653689e7" args="(DBusServer *server, DBusWatch *watch, dbus_bool_t enabled)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void _dbus_server_toggle_watch </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusServer.html">DBusServer</a> * </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> * </td>
<td class="paramname"> <em>watch</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> </td>
<td class="paramname"> <em>enabled</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Toggles a watch and notifies app via server's DBusWatchToggledFunction if available.
<p>
It's an error to call this function on a watch that was not previously added.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>server</em> </td><td>the server. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>watch</em> </td><td>the watch to toggle. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>enabled</em> </td><td>whether to enable or disable </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="dbus-server_8c-source.html#l00299">299</a> of file <a class="el" href="dbus-server_8c-source.html">dbus-server.c</a>.
<p>
References <a class="el" href="dbus-internals_8h-source.html#l00109">_dbus_assert</a>, <a class="el" href="dbus-watch_8c-source.html#l00411">_dbus_watch_list_toggle_watch()</a>, and <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.
</div>
</div><p>
<a class="anchor" name="g6e1d0b379c98b0d59ebd19dc9b8a2dbe"></a><!-- doxytag: member="dbus-server.c::_dbus_server_unref_unlocked" ref="g6e1d0b379c98b0d59ebd19dc9b8a2dbe" args="(DBusServer *server)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void _dbus_server_unref_unlocked </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusServer.html">DBusServer</a> * </td>
<td class="paramname"> <em>server</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Like <a class="el" href="group__DBusServer.html#g8cd88699638aafda3512802b551fe87b">dbus_server_unref()</a> but does not acquire the lock (must already be held).
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>server</em> </td><td>the server. </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="dbus-server_8c-source.html#l00454">454</a> of file <a class="el" href="dbus-server_8c-source.html">dbus-server.c</a>.
<p>
References <a class="el" href="dbus-internals_8h-source.html#l00109">_dbus_assert</a>, <a class="el" href="dbus-sysdeps-unix_8c-source.html#l01792">_dbus_atomic_dec()</a>, <a class="el" href="dbus-server-protected_8h-source.html#l00086">DBusServer::disconnected</a>, <a class="el" href="structDBusServerVTable.html#cd97315e812352da38449f910775b08d">DBusServerVTable::finalize</a>, <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, <a class="el" href="dbus-server-protected_8h-source.html#l00058">DBusServer::refcount</a>, <a class="el" href="dbus-sysdeps_8h-source.html#l00198">DBusAtomic::value</a>, and <a class="el" href="dbus-server-protected_8h-source.html#l00059">DBusServer::vtable</a>.
</div>
</div><p>
<hr size="1"><address style="align: right;"><small>Generated on Mon Dec 14 22:26:14 2009 for D-Bus by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
</body>
</html>