| Current File : //usr/share/doc/dbus/api/group__DBusTimeoutInternals.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: DBusTimeout 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
 <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 Page</span></a></li>
<li><a href="pages.html"><span>Related Pages</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>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Data Structures</a> |
<a href="#typedef-members">Typedefs</a> |
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">DBusTimeout 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 for <a class="el" href="structDBusTimeout.html" title="Internals of DBusTimeout.">DBusTimeout</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  </td><td class="memItemRight" valign="bottom"><a class="el" href="structDBusTimeout.html">DBusTimeout</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Internals of <a class="el" href="structDBusTimeout.html" title="Internals of DBusTimeout.">DBusTimeout</a>. <a href="structDBusTimeout.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structDBusTimeoutList.html">DBusTimeoutList</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="structDBusTimeoutList.html" title="DBusTimeoutList implementation details.">DBusTimeoutList</a> implementation details. <a href="structDBusTimeoutList.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">typedef struct <a class="el" href="structDBusTimeoutList.html">DBusTimeoutList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusTimeoutInternals.html#gabc3cb66aa2ec450d298fe7ec3b480fa1">DBusTimeoutList</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Opaque data type representing a list of timeouts and a set of DBusAddTimeoutFunction/DBusRemoveTimeoutFunction. <a href="#gabc3cb66aa2ec450d298fe7ec3b480fa1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga1533b9aa7bfe55ccb798ab041e4ce242"></a><!-- doxytag: member="DBusTimeoutInternals::DBusTimeoutHandler" ref="ga1533b9aa7bfe55ccb798ab041e4ce242" args=")(void *data)" -->
typedef <a class="el" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusTimeoutInternals.html#ga1533b9aa7bfe55ccb798ab041e4ce242">DBusTimeoutHandler</a> )(void *data)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">function to run when the timeout is handled <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="el" href="structDBusTimeout.html">DBusTimeout</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusTimeoutInternals.html#ga3f63abde6bb7ebecf6fa8774ba501a26">_dbus_timeout_new</a> (int interval, <a class="el" href="group__DBusTimeoutInternals.html#ga1533b9aa7bfe55ccb798ab041e4ce242">DBusTimeoutHandler</a> handler, void *data, <a class="el" href="group__DBusMemory.html#ga061bcded226d76c7d7de35beaa165cb5">DBusFreeFunction</a> free_data_function)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Creates a new <a class="el" href="structDBusTimeout.html" title="Internals of DBusTimeout.">DBusTimeout</a>, enabled by default. <a href="#ga3f63abde6bb7ebecf6fa8774ba501a26"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structDBusTimeout.html">DBusTimeout</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusTimeoutInternals.html#gadf014caa89efb09ae72c300ae5c4fda5">_dbus_timeout_ref</a> (<a class="el" href="structDBusTimeout.html">DBusTimeout</a> *timeout)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Increments the reference count of a <a class="el" href="structDBusTimeout.html" title="Internals of DBusTimeout.">DBusTimeout</a> object. <a href="#gadf014caa89efb09ae72c300ae5c4fda5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusTimeoutInternals.html#gaea6359793576a2eec42e27267bae7bbd">_dbus_timeout_unref</a> (<a class="el" href="structDBusTimeout.html">DBusTimeout</a> *timeout)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Decrements the reference count of a <a class="el" href="structDBusTimeout.html" title="Internals of DBusTimeout.">DBusTimeout</a> object and finalizes the object if the count reaches zero. <a href="#gaea6359793576a2eec42e27267bae7bbd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusTimeoutInternals.html#gadbd32136416a555ad737b533c8e713ef">_dbus_timeout_set_interval</a> (<a class="el" href="structDBusTimeout.html">DBusTimeout</a> *timeout, int interval)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Changes the timeout interval. <a href="#gadbd32136416a555ad737b533c8e713ef"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusTimeoutInternals.html#ga1b85d28ab11e4e2f8916b786e13dbcc4">_dbus_timeout_set_enabled</a> (<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"> </td><td class="mdescRight">Changes the timeout's enabled-ness. <a href="#ga1b85d28ab11e4e2f8916b786e13dbcc4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structDBusTimeoutList.html">DBusTimeoutList</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusTimeoutInternals.html#ga5b122b35cdb3926b7dc2d084ddff9d62">_dbus_timeout_list_new</a> (void)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Creates a new timeout list. <a href="#ga5b122b35cdb3926b7dc2d084ddff9d62"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusTimeoutInternals.html#ga1b399ef2d7f128e59bb32dbb5b590e1b">_dbus_timeout_list_free</a> (<a class="el" href="structDBusTimeoutList.html">DBusTimeoutList</a> *timeout_list)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Frees a <a class="el" href="structDBusTimeoutList.html" title="DBusTimeoutList implementation details.">DBusTimeoutList</a>. <a href="#ga1b399ef2d7f128e59bb32dbb5b590e1b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusTimeoutInternals.html#ga6760d1963b870b45f855501e38b49fd9">_dbus_timeout_list_set_functions</a> (<a class="el" href="structDBusTimeoutList.html">DBusTimeoutList</a> *timeout_list, <a class="el" href="group__DBusConnection.html#ga01a45587090d82ee97b5042b49037a08">DBusAddTimeoutFunction</a> add_function, <a class="el" href="group__DBusConnection.html#ga13aae9d5981de45abca0db1717dc7daf">DBusRemoveTimeoutFunction</a> remove_function, <a class="el" href="group__DBusConnection.html#ga62eea9a2032ae15b6738534b93d18e86">DBusTimeoutToggledFunction</a> toggled_function, void *data, <a class="el" href="group__DBusMemory.html#ga061bcded226d76c7d7de35beaa165cb5">DBusFreeFunction</a> free_data_function)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the timeout functions. <a href="#ga6760d1963b870b45f855501e38b49fd9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusTimeoutInternals.html#ga14955f061551ece122808b9e6ddc0757">_dbus_timeout_list_add_timeout</a> (<a class="el" href="structDBusTimeoutList.html">DBusTimeoutList</a> *timeout_list, <a class="el" href="structDBusTimeout.html">DBusTimeout</a> *timeout)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Adds a new timeout to the timeout list, invoking the application DBusAddTimeoutFunction if appropriate. <a href="#ga14955f061551ece122808b9e6ddc0757"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusTimeoutInternals.html#gaec0ffafdcac87f23878a2ddded044822">_dbus_timeout_list_remove_timeout</a> (<a class="el" href="structDBusTimeoutList.html">DBusTimeoutList</a> *timeout_list, <a class="el" href="structDBusTimeout.html">DBusTimeout</a> *timeout)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Removes a timeout from the timeout list, invoking the application's DBusRemoveTimeoutFunction if appropriate. <a href="#gaec0ffafdcac87f23878a2ddded044822"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusTimeoutInternals.html#ga3d1ee0968a47651c5428ebf48711b217">_dbus_timeout_list_toggle_timeout</a> (<a class="el" href="structDBusTimeoutList.html">DBusTimeoutList</a> *timeout_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"> </td><td class="mdescRight">Sets a timeout to the given enabled state, invoking the application's DBusTimeoutToggledFunction if appropriate. <a href="#ga3d1ee0968a47651c5428ebf48711b217"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<p>implementation details for <a class="el" href="structDBusTimeout.html" title="Internals of DBusTimeout.">DBusTimeout</a> </p>
<hr/><h2>Typedef Documentation</h2>
<a class="anchor" id="gabc3cb66aa2ec450d298fe7ec3b480fa1"></a><!-- doxytag: member="dbus-timeout.h::DBusTimeoutList" ref="gabc3cb66aa2ec450d298fe7ec3b480fa1" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structDBusTimeoutList.html">DBusTimeoutList</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Opaque data type representing a list of timeouts and a set of DBusAddTimeoutFunction/DBusRemoveTimeoutFunction. </p>
<p>Automatically handles removing/re-adding timeouts when the DBusAddTimeoutFunction is updated or changed. Holds a reference count to each timeout. </p>
<p>Definition at line <a class="el" href="dbus-timeout_8h_source.html#l00038">38</a> of file <a class="el" href="dbus-timeout_8h_source.html">dbus-timeout.h</a>.</p>
</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="ga14955f061551ece122808b9e6ddc0757"></a><!-- doxytag: member="dbus-timeout.c::_dbus_timeout_list_add_timeout" ref="ga14955f061551ece122808b9e6ddc0757" args="(DBusTimeoutList *timeout_list, 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__DBusTimeoutInternals.html#ga14955f061551ece122808b9e6ddc0757">_dbus_timeout_list_add_timeout</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusTimeoutList.html">DBusTimeoutList</a> * </td>
<td class="paramname"><em>timeout_list</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></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Adds a new timeout to the timeout list, invoking the application DBusAddTimeoutFunction if appropriate. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">timeout_list</td><td>the timeout list. </td></tr>
<tr><td class="paramname">timeout</td><td>the timeout to add. </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 "1".">TRUE</a> on success, <a class="el" href="group__DBusMacros.html#gaa93f0eb578d23995850d61f7d61c55c1" title="Expands to "0".">FALSE</a> If no memory. </dd></dl>
<p>Definition at line <a class="el" href="dbus-timeout_8c_source.html#l00310">310</a> of file <a class="el" href="dbus-timeout_8c_source.html">dbus-timeout.c</a>.</p>
<p>References <a class="el" href="dbus-list_8c_source.html#l00270">_dbus_list_append()</a>, <a class="el" href="dbus-list_8c_source.html#l00446">_dbus_list_remove_last()</a>, <a class="el" href="dbus-timeout_8c_source.html#l00093">_dbus_timeout_ref()</a>, <a class="el" href="dbus-timeout_8c_source.html#l00107">_dbus_timeout_unref()</a>, <a class="el" href="dbus-timeout_8c_source.html#l00180">DBusTimeoutList::add_timeout_function</a>, <a class="el" href="group__DBusMacros.html#gaa93f0eb578d23995850d61f7d61c55c1">FALSE</a>, <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, <a class="el" href="dbus-timeout_8c_source.html#l00183">DBusTimeoutList::timeout_data</a>, <a class="el" href="dbus-timeout_8c_source.html#l00178">DBusTimeoutList::timeouts</a>, and <a class="el" href="group__DBusMacros.html#gaa8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>.</p>
<p>Referenced by <a class="el" href="dbus-connection_8c_source.html#l00867">_dbus_connection_add_timeout_unlocked()</a>, and <a class="el" href="dbus-server_8c_source.html#l00397">_dbus_server_add_timeout()</a>.</p>
</div>
</div>
<a class="anchor" id="ga1b399ef2d7f128e59bb32dbb5b590e1b"></a><!-- doxytag: member="dbus-timeout.c::_dbus_timeout_list_free" ref="ga1b399ef2d7f128e59bb32dbb5b590e1b" args="(DBusTimeoutList *timeout_list)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="group__DBusTimeoutInternals.html#ga1b399ef2d7f128e59bb32dbb5b590e1b">_dbus_timeout_list_free</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusTimeoutList.html">DBusTimeoutList</a> * </td>
<td class="paramname"><em>timeout_list</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Frees a <a class="el" href="structDBusTimeoutList.html" title="DBusTimeoutList implementation details.">DBusTimeoutList</a>. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">timeout_list</td><td>the timeout list. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="dbus-timeout_8c_source.html#l00211">211</a> of file <a class="el" href="dbus-timeout_8c_source.html">dbus-timeout.c</a>.</p>
<p>References <a class="el" href="dbus-list_8c_source.html#l00542">_dbus_list_clear()</a>, <a class="el" href="dbus-list_8c_source.html#l00759">_dbus_list_foreach()</a>, <a class="el" href="dbus-timeout_8c_source.html#l00239">_dbus_timeout_list_set_functions()</a>, <a class="el" href="dbus-timeout_8c_source.html#l00107">_dbus_timeout_unref()</a>, <a class="el" href="dbus-memory_8c_source.html#l00701">dbus_free()</a>, <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, and <a class="el" href="dbus-timeout_8c_source.html#l00178">DBusTimeoutList::timeouts</a>.</p>
<p>Referenced by <a class="el" href="dbus-connection_8c_source.html#l01249">_dbus_connection_new_for_transport()</a>, <a class="el" href="dbus-server_8c_source.html#l00193">_dbus_server_finalize_base()</a>, and <a class="el" href="dbus-server_8c_source.html#l00111">_dbus_server_init_base()</a>.</p>
</div>
</div>
<a class="anchor" id="ga5b122b35cdb3926b7dc2d084ddff9d62"></a><!-- doxytag: member="dbus-timeout.c::_dbus_timeout_list_new" ref="ga5b122b35cdb3926b7dc2d084ddff9d62" args="(void)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structDBusTimeoutList.html">DBusTimeoutList</a> * <a class="el" href="group__DBusTimeoutInternals.html#ga5b122b35cdb3926b7dc2d084ddff9d62">_dbus_timeout_list_new</a> </td>
<td>(</td>
<td class="paramtype">void </td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Creates a new timeout list. </p>
<p>Returns <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4" title="A null pointer, defined appropriately for C or C++.">NULL</a> if insufficient memory exists.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>the new timeout list, or <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4" title="A null pointer, defined appropriately for C or C++.">NULL</a> on failure. </dd></dl>
<p>Definition at line <a class="el" href="dbus-timeout_8c_source.html#l00194">194</a> of file <a class="el" href="dbus-timeout_8c_source.html">dbus-timeout.c</a>.</p>
<p>References <a class="el" href="dbus-memory_8h_source.html#l00059">dbus_new0</a>, and <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.</p>
<p>Referenced by <a class="el" href="dbus-connection_8c_source.html#l01249">_dbus_connection_new_for_transport()</a>, and <a class="el" href="dbus-server_8c_source.html#l00111">_dbus_server_init_base()</a>.</p>
</div>
</div>
<a class="anchor" id="gaec0ffafdcac87f23878a2ddded044822"></a><!-- doxytag: member="dbus-timeout.c::_dbus_timeout_list_remove_timeout" ref="gaec0ffafdcac87f23878a2ddded044822" args="(DBusTimeoutList *timeout_list, DBusTimeout *timeout)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="group__DBusTimeoutInternals.html#gaec0ffafdcac87f23878a2ddded044822">_dbus_timeout_list_remove_timeout</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusTimeoutList.html">DBusTimeoutList</a> * </td>
<td class="paramname"><em>timeout_list</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></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Removes a timeout from the timeout list, invoking the application's DBusRemoveTimeoutFunction if appropriate. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">timeout_list</td><td>the timeout list. </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-timeout_8c_source.html#l00340">340</a> of file <a class="el" href="dbus-timeout_8c_source.html">dbus-timeout.c</a>.</p>
<p>References <a class="el" href="dbus-list_8c_source.html#l00415">_dbus_list_remove()</a>, <a class="el" href="dbus-timeout_8c_source.html#l00107">_dbus_timeout_unref()</a>, <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, <a class="el" href="dbus-timeout_8c_source.html#l00181">DBusTimeoutList::remove_timeout_function</a>, <a class="el" href="dbus-timeout_8c_source.html#l00183">DBusTimeoutList::timeout_data</a>, and <a class="el" href="dbus-timeout_8c_source.html#l00178">DBusTimeoutList::timeouts</a>.</p>
<p>Referenced by <a class="el" href="dbus-connection_8c_source.html#l00885">_dbus_connection_remove_timeout_unlocked()</a>, and <a class="el" href="dbus-server_8c_source.html#l00412">_dbus_server_remove_timeout()</a>.</p>
</div>
</div>
<a class="anchor" id="ga6760d1963b870b45f855501e38b49fd9"></a><!-- doxytag: member="dbus-timeout.c::_dbus_timeout_list_set_functions" ref="ga6760d1963b870b45f855501e38b49fd9" args="(DBusTimeoutList *timeout_list, DBusAddTimeoutFunction add_function, DBusRemoveTimeoutFunction remove_function, DBusTimeoutToggledFunction toggled_function, void *data, DBusFreeFunction free_data_function)" -->
<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__DBusTimeoutInternals.html#ga6760d1963b870b45f855501e38b49fd9">_dbus_timeout_list_set_functions</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusTimeoutList.html">DBusTimeoutList</a> * </td>
<td class="paramname"><em>timeout_list</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__DBusConnection.html#ga01a45587090d82ee97b5042b49037a08">DBusAddTimeoutFunction</a> </td>
<td class="paramname"><em>add_function</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__DBusConnection.html#ga13aae9d5981de45abca0db1717dc7daf">DBusRemoveTimeoutFunction</a> </td>
<td class="paramname"><em>remove_function</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__DBusConnection.html#ga62eea9a2032ae15b6738534b93d18e86">DBusTimeoutToggledFunction</a> </td>
<td class="paramname"><em>toggled_function</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void * </td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__DBusMemory.html#ga061bcded226d76c7d7de35beaa165cb5">DBusFreeFunction</a> </td>
<td class="paramname"><em>free_data_function</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Sets the timeout functions. </p>
<p>This function is the "backend" for <a class="el" href="group__DBusConnection.html#gab3cbc68eec427e9ce1783b25d44fe93c" title="Sets the timeout functions for the connection.">dbus_connection_set_timeout_functions()</a>.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">timeout_list</td><td>the timeout list </td></tr>
<tr><td class="paramname">add_function</td><td>the add timeout function. </td></tr>
<tr><td class="paramname">remove_function</td><td>the remove timeout function. </td></tr>
<tr><td class="paramname">toggled_function</td><td>toggle notify function, or <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4" title="A null pointer, defined appropriately for C or C++.">NULL</a> </td></tr>
<tr><td class="paramname">data</td><td>the data for those functions. </td></tr>
<tr><td class="paramname">free_data_function</td><td>the function to free the data. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#gaa93f0eb578d23995850d61f7d61c55c1" title="Expands to "0".">FALSE</a> if no memory </dd></dl>
<p>Definition at line <a class="el" href="dbus-timeout_8c_source.html#l00239">239</a> of file <a class="el" href="dbus-timeout_8c_source.html">dbus-timeout.c</a>.</p>
<p>References <a class="el" href="dbus-list_8c_source.html#l00759">_dbus_list_foreach()</a>, <a class="el" href="dbus-list_8c_source.html#l00567">_dbus_list_get_first_link()</a>, <a class="el" href="dbus-list_8h_source.html#l00090">_dbus_list_get_next_link</a>, <a class="el" href="dbus-timeout_8c_source.html#l00180">DBusTimeoutList::add_timeout_function</a>, <a class="el" href="dbus-list_8h_source.html#l00038">DBusList::data</a>, <a class="el" href="group__DBusMacros.html#gaa93f0eb578d23995850d61f7d61c55c1">FALSE</a>, <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, <a class="el" href="dbus-timeout_8c_source.html#l00181">DBusTimeoutList::remove_timeout_function</a>, <a class="el" href="dbus-timeout_8c_source.html#l00183">DBusTimeoutList::timeout_data</a>, <a class="el" href="dbus-timeout_8c_source.html#l00184">DBusTimeoutList::timeout_free_data_function</a>, <a class="el" href="dbus-timeout_8c_source.html#l00182">DBusTimeoutList::timeout_toggled_function</a>, <a class="el" href="dbus-timeout_8c_source.html#l00178">DBusTimeoutList::timeouts</a>, and <a class="el" href="group__DBusMacros.html#gaa8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>.</p>
<p>Referenced by <a class="el" href="dbus-timeout_8c_source.html#l00211">_dbus_timeout_list_free()</a>, <a class="el" href="dbus-connection_8c_source.html#l04989">dbus_connection_set_timeout_functions()</a>, and <a class="el" href="dbus-server_8c_source.html#l00982">dbus_server_set_timeout_functions()</a>.</p>
</div>
</div>
<a class="anchor" id="ga3d1ee0968a47651c5428ebf48711b217"></a><!-- doxytag: member="dbus-timeout.c::_dbus_timeout_list_toggle_timeout" ref="ga3d1ee0968a47651c5428ebf48711b217" args="(DBusTimeoutList *timeout_list, 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__DBusTimeoutInternals.html#ga3d1ee0968a47651c5428ebf48711b217">_dbus_timeout_list_toggle_timeout</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusTimeoutList.html">DBusTimeoutList</a> * </td>
<td class="paramname"><em>timeout_list</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#ga39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> </td>
<td class="paramname"><em>enabled</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Sets a timeout to the given enabled state, invoking the application's DBusTimeoutToggledFunction if appropriate. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">timeout_list</td><td>the timeout list. </td></tr>
<tr><td class="paramname">timeout</td><td>the timeout to toggle. </td></tr>
<tr><td class="paramname">enabled</td><td><a class="el" href="group__DBusMacros.html#gaa8cecfc5c5c054d2875c03e77b7be15d" title="Expands to "1".">TRUE</a> to enable </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="dbus-timeout_8c_source.html#l00362">362</a> of file <a class="el" href="dbus-timeout_8c_source.html">dbus-timeout.c</a>.</p>
<p>References <a class="el" href="dbus-timeout_8c_source.html#l00051">DBusTimeout::enabled</a>, <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, <a class="el" href="dbus-timeout_8c_source.html#l00183">DBusTimeoutList::timeout_data</a>, and <a class="el" href="dbus-timeout_8c_source.html#l00182">DBusTimeoutList::timeout_toggled_function</a>.</p>
<p>Referenced by <a class="el" href="dbus-connection_8c_source.html#l00905">_dbus_connection_toggle_timeout_unlocked()</a>, and <a class="el" href="dbus-server_8c_source.html#l00431">_dbus_server_toggle_timeout()</a>.</p>
</div>
</div>
<a class="anchor" id="ga3f63abde6bb7ebecf6fa8774ba501a26"></a><!-- doxytag: member="dbus-timeout.c::_dbus_timeout_new" ref="ga3f63abde6bb7ebecf6fa8774ba501a26" args="(int interval, DBusTimeoutHandler handler, void *data, DBusFreeFunction free_data_function)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structDBusTimeout.html">DBusTimeout</a> * <a class="el" href="group__DBusTimeoutInternals.html#ga3f63abde6bb7ebecf6fa8774ba501a26">_dbus_timeout_new</a> </td>
<td>(</td>
<td class="paramtype">int </td>
<td class="paramname"><em>interval</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__DBusTimeoutInternals.html#ga1533b9aa7bfe55ccb798ab041e4ce242">DBusTimeoutHandler</a> </td>
<td class="paramname"><em>handler</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void * </td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__DBusMemory.html#ga061bcded226d76c7d7de35beaa165cb5">DBusFreeFunction</a> </td>
<td class="paramname"><em>free_data_function</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Creates a new <a class="el" href="structDBusTimeout.html" title="Internals of DBusTimeout.">DBusTimeout</a>, enabled by default. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">interval</td><td>the timeout interval in milliseconds. </td></tr>
<tr><td class="paramname">handler</td><td>function to call when the timeout occurs. </td></tr>
<tr><td class="paramname">data</td><td>data to pass to the handler </td></tr>
<tr><td class="paramname">free_data_function</td><td>function to be called to free the data. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the new <a class="el" href="structDBusTimeout.html" title="Internals of DBusTimeout.">DBusTimeout</a> object, </dd></dl>
<p>Definition at line <a class="el" href="dbus-timeout_8c_source.html#l00063">63</a> of file <a class="el" href="dbus-timeout_8c_source.html">dbus-timeout.c</a>.</p>
<p>References <a class="el" href="dbus-memory_8h_source.html#l00059">dbus_new0</a>, <a class="el" href="dbus-timeout_8c_source.html#l00051">DBusTimeout::enabled</a>, <a class="el" href="dbus-timeout_8c_source.html#l00047">DBusTimeout::free_handler_data_function</a>, <a class="el" href="dbus-timeout_8c_source.html#l00045">DBusTimeout::handler</a>, <a class="el" href="dbus-timeout_8c_source.html#l00046">DBusTimeout::handler_data</a>, <a class="el" href="dbus-timeout_8c_source.html#l00043">DBusTimeout::interval</a>, <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, <a class="el" href="dbus-timeout_8c_source.html#l00042">DBusTimeout::refcount</a>, and <a class="el" href="group__DBusMacros.html#gaa8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>.</p>
<p>Referenced by <a class="el" href="dbus-pending-call_8c_source.html#l00109">_dbus_pending_call_new_unlocked()</a>.</p>
</div>
</div>
<a class="anchor" id="gadf014caa89efb09ae72c300ae5c4fda5"></a><!-- doxytag: member="dbus-timeout.c::_dbus_timeout_ref" ref="gadf014caa89efb09ae72c300ae5c4fda5" args="(DBusTimeout *timeout)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structDBusTimeout.html">DBusTimeout</a> * <a class="el" href="group__DBusTimeoutInternals.html#gadf014caa89efb09ae72c300ae5c4fda5">_dbus_timeout_ref</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusTimeout.html">DBusTimeout</a> * </td>
<td class="paramname"><em>timeout</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Increments the reference count of a <a class="el" href="structDBusTimeout.html" title="Internals of DBusTimeout.">DBusTimeout</a> object. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">timeout</td><td>the timeout object. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the timeout object. </dd></dl>
<p>Definition at line <a class="el" href="dbus-timeout_8c_source.html#l00093">93</a> of file <a class="el" href="dbus-timeout_8c_source.html">dbus-timeout.c</a>.</p>
<p>References <a class="el" href="dbus-timeout_8c_source.html#l00042">DBusTimeout::refcount</a>.</p>
<p>Referenced by <a class="el" href="dbus-timeout_8c_source.html#l00310">_dbus_timeout_list_add_timeout()</a>.</p>
</div>
</div>
<a class="anchor" id="ga1b85d28ab11e4e2f8916b786e13dbcc4"></a><!-- doxytag: member="dbus-timeout.c::_dbus_timeout_set_enabled" ref="ga1b85d28ab11e4e2f8916b786e13dbcc4" args="(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__DBusTimeoutInternals.html#ga1b85d28ab11e4e2f8916b786e13dbcc4">_dbus_timeout_set_enabled</a> </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#ga39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> </td>
<td class="paramname"><em>enabled</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Changes the timeout's enabled-ness. </p>
<p>Note that you should use <a class="el" href="group__DBusConnectionInternals.html#ga165dcfd8b995ff0edd19aebcf3e1a61a" title="Toggles a timeout and notifies app via connection's DBusTimeoutToggledFunction if available...">_dbus_connection_toggle_timeout_unlocked()</a> etc. instead, if the timeout is passed out to an application main loop. i.e. you can't use this function in the D-Bus library, it's only used in the message bus daemon implementation.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">timeout</td><td>the timeout </td></tr>
<tr><td class="paramname">enabled</td><td><a class="el" href="group__DBusMacros.html#gaa8cecfc5c5c054d2875c03e77b7be15d" title="Expands to "1".">TRUE</a> if timeout should be enabled. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="dbus-timeout_8c_source.html#l00153">153</a> of file <a class="el" href="dbus-timeout_8c_source.html">dbus-timeout.c</a>.</p>
<p>References <a class="el" href="dbus-timeout_8c_source.html#l00051">DBusTimeout::enabled</a>, and <a class="el" href="group__DBusMacros.html#gaa93f0eb578d23995850d61f7d61c55c1">FALSE</a>.</p>
</div>
</div>
<a class="anchor" id="gadbd32136416a555ad737b533c8e713ef"></a><!-- doxytag: member="dbus-timeout.c::_dbus_timeout_set_interval" ref="gadbd32136416a555ad737b533c8e713ef" args="(DBusTimeout *timeout, int interval)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="group__DBusTimeoutInternals.html#gadbd32136416a555ad737b533c8e713ef">_dbus_timeout_set_interval</a> </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">int </td>
<td class="paramname"><em>interval</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Changes the timeout interval. </p>
<p>Note that you have to disable and re-enable the timeout using the timeout toggle function (<a class="el" href="group__DBusConnectionInternals.html#ga165dcfd8b995ff0edd19aebcf3e1a61a" title="Toggles a timeout and notifies app via connection's DBusTimeoutToggledFunction if available...">_dbus_connection_toggle_timeout_unlocked()</a> etc.) to notify the application of this change.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">timeout</td><td>the timeout </td></tr>
<tr><td class="paramname">interval</td><td>the new interval </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="dbus-timeout_8c_source.html#l00134">134</a> of file <a class="el" href="dbus-timeout_8c_source.html">dbus-timeout.c</a>.</p>
<p>References <a class="el" href="dbus-timeout_8c_source.html#l00043">DBusTimeout::interval</a>.</p>
</div>
</div>
<a class="anchor" id="gaea6359793576a2eec42e27267bae7bbd"></a><!-- doxytag: member="dbus-timeout.c::_dbus_timeout_unref" ref="gaea6359793576a2eec42e27267bae7bbd" args="(DBusTimeout *timeout)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="group__DBusTimeoutInternals.html#gaea6359793576a2eec42e27267bae7bbd">_dbus_timeout_unref</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusTimeout.html">DBusTimeout</a> * </td>
<td class="paramname"><em>timeout</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Decrements the reference count of a <a class="el" href="structDBusTimeout.html" title="Internals of DBusTimeout.">DBusTimeout</a> object and finalizes the object if the count reaches zero. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">timeout</td><td>the timeout object. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="dbus-timeout_8c_source.html#l00107">107</a> of file <a class="el" href="dbus-timeout_8c_source.html">dbus-timeout.c</a>.</p>
<p>References <a class="el" href="dbus-memory_8c_source.html#l00701">dbus_free()</a>, <a class="el" href="dbus-timeout_8c_source.html#l00446">dbus_timeout_set_data()</a>, <a class="el" href="dbus-timeout_8c_source.html#l00047">DBusTimeout::free_handler_data_function</a>, <a class="el" href="dbus-timeout_8c_source.html#l00046">DBusTimeout::handler_data</a>, <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, and <a class="el" href="dbus-timeout_8c_source.html#l00042">DBusTimeout::refcount</a>.</p>
<p>Referenced by <a class="el" href="dbus-timeout_8c_source.html#l00310">_dbus_timeout_list_add_timeout()</a>, <a class="el" href="dbus-timeout_8c_source.html#l00211">_dbus_timeout_list_free()</a>, and <a class="el" href="dbus-timeout_8c_source.html#l00340">_dbus_timeout_list_remove_timeout()</a>.</p>
</div>
</div>
</div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 3 2016 17:50:34 for D-Bus by  <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>