| Current File : //usr/share/doc/dbus/api/group__DBusPendingCallInternals.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: DBusPendingCall 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="#define-members">Defines</a> |
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">DBusPendingCall 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><a class="el" href="structDBusPendingCall.html" title="Implementation details of DBusPendingCall - all fields are private.">DBusPendingCall</a> private implementation details.
<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="structDBusPendingCall.html">DBusPendingCall</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Implementation details of <a class="el" href="structDBusPendingCall.html" title="Implementation details of DBusPendingCall - all fields are private.">DBusPendingCall</a> - all fields are private. <a href="structDBusPendingCall.html#details">More...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="define-members"></a>
Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusPendingCallInternals.html#ga99fcbae5b8f2ed2cc019cab85f63d4e4">CONNECTION_LOCK</a>(connection)   <a class="el" href="group__DBusConnectionInternals.html#ga4fe0c8f7b72dc89b9e1a3110db2f778e">_dbus_connection_lock</a>(connection)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Internals of <a class="el" href="structDBusPendingCall.html" title="Implementation details of DBusPendingCall - all fields are private.">DBusPendingCall</a>. <a href="#ga99fcbae5b8f2ed2cc019cab85f63d4e4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gab21a3014fa3cacf2a580e079321abc33"></a><!-- doxytag: member="DBusPendingCallInternals::CONNECTION_UNLOCK" ref="gab21a3014fa3cacf2a580e079321abc33" args="(connection)" -->
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusPendingCallInternals.html#gab21a3014fa3cacf2a580e079321abc33">CONNECTION_UNLOCK</a>(connection)   <a class="el" href="group__DBusConnectionInternals.html#ga3db10d48ec16e485d5a638aacebd4ad2">_dbus_connection_unlock</a>(connection)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">shorter and more visible way to write <a class="el" href="group__DBusConnectionInternals.html#ga3db10d48ec16e485d5a638aacebd4ad2" title="Releases the connection lock.">_dbus_connection_unlock()</a> <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="structDBusPendingCall.html">DBusPendingCall</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusPendingCallInternals.html#ga3f2300d7a768783bc2fae0991bcc55df">_dbus_pending_call_new_unlocked</a> (<a class="el" href="structDBusConnection.html">DBusConnection</a> *connection, int timeout_milliseconds, <a class="el" href="group__DBusTimeoutInternals.html#ga1533b9aa7bfe55ccb798ab041e4ce242">DBusTimeoutHandler</a> timeout_handler)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Creates a new pending reply object. <a href="#ga3f2300d7a768783bc2fae0991bcc55df"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusPendingCallInternals.html#ga4b8cc560549160aecd924037a872009d">_dbus_pending_call_set_reply_unlocked</a> (<a class="el" href="structDBusPendingCall.html">DBusPendingCall</a> *pending, <a class="el" href="structDBusMessage.html">DBusMessage</a> *message)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the reply of a pending call with the given message, or if the message is <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4" title="A null pointer, defined appropriately for C or C++.">NULL</a>, by timing out the pending call. <a href="#ga4b8cc560549160aecd924037a872009d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusPendingCallInternals.html#ga6b10d157242e540fd18bd3db733dab5c">_dbus_pending_call_complete</a> (<a class="el" href="structDBusPendingCall.html">DBusPendingCall</a> *pending)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Calls notifier function for the pending call and sets the call to completed. <a href="#ga6b10d157242e540fd18bd3db733dab5c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusPendingCallInternals.html#ga1bc4de7652108d0629522a4e3adffcab">_dbus_pending_call_queue_timeout_error_unlocked</a> (<a class="el" href="structDBusPendingCall.html">DBusPendingCall</a> *pending, <a class="el" href="structDBusConnection.html">DBusConnection</a> *connection)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">If the pending call hasn't been timed out, add its timeout error reply to the connection's incoming message queue. <a href="#ga1bc4de7652108d0629522a4e3adffcab"></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__DBusPendingCallInternals.html#gaf1e630b966722af540502329ed028254">_dbus_pending_call_is_timeout_added_unlocked</a> (<a class="el" href="structDBusPendingCall.html">DBusPendingCall</a> *pending)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks to see if a timeout has been added. <a href="#gaf1e630b966722af540502329ed028254"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusPendingCallInternals.html#gafea13f8b9977d341e41201c407adea2a">_dbus_pending_call_set_timeout_added_unlocked</a> (<a class="el" href="structDBusPendingCall.html">DBusPendingCall</a> *pending, <a class="el" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> is_added)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Sets wether the timeout has been added. <a href="#gafea13f8b9977d341e41201c407adea2a"></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__DBusPendingCallInternals.html#gaa9acac047b61c9a0eaff1977151e9e08">_dbus_pending_call_get_timeout_unlocked</a> (<a class="el" href="structDBusPendingCall.html">DBusPendingCall</a> *pending)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Retrives the timeout. <a href="#gaa9acac047b61c9a0eaff1977151e9e08"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__DBusTypes.html#gaf513803b030613a669cc7ef199f90a8b">dbus_uint32_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusPendingCallInternals.html#gaf5f3df36149bfe55d824eb08d00768fc">_dbus_pending_call_get_reply_serial_unlocked</a> (<a class="el" href="structDBusPendingCall.html">DBusPendingCall</a> *pending)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Gets the reply's serial number. <a href="#gaf5f3df36149bfe55d824eb08d00768fc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusPendingCallInternals.html#ga4c0325356df50a5dc103bdab3e7148f3">_dbus_pending_call_set_reply_serial_unlocked</a> (<a class="el" href="structDBusPendingCall.html">DBusPendingCall</a> *pending, <a class="el" href="group__DBusTypes.html#gaf513803b030613a669cc7ef199f90a8b">dbus_uint32_t</a> serial)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the reply's serial number. <a href="#ga4c0325356df50a5dc103bdab3e7148f3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structDBusConnection.html">DBusConnection</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusPendingCallInternals.html#ga68e5ff616e6a6563d83966c3d88b9b32">_dbus_pending_call_get_connection_and_lock</a> (<a class="el" href="structDBusPendingCall.html">DBusPendingCall</a> *pending)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Gets the connection associated with this pending call. <a href="#ga68e5ff616e6a6563d83966c3d88b9b32"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structDBusConnection.html">DBusConnection</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusPendingCallInternals.html#gae725060aa80d9df58dcee4f1fa108784">_dbus_pending_call_get_connection_unlocked</a> (<a class="el" href="structDBusPendingCall.html">DBusPendingCall</a> *pending)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Gets the connection associated with this pending call. <a href="#gae725060aa80d9df58dcee4f1fa108784"></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__DBusPendingCallInternals.html#ga9901fc4c5fd2db9bf1ce2dcc9abf55fc">_dbus_pending_call_set_timeout_error_unlocked</a> (<a class="el" href="structDBusPendingCall.html">DBusPendingCall</a> *pending, <a class="el" href="structDBusMessage.html">DBusMessage</a> *message, <a class="el" href="group__DBusTypes.html#gaf513803b030613a669cc7ef199f90a8b">dbus_uint32_t</a> serial)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the reply message associated with the pending call to a timeout error. <a href="#ga9901fc4c5fd2db9bf1ce2dcc9abf55fc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structDBusPendingCall.html">DBusPendingCall</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusPendingCallInternals.html#ga9d8987da3747604d370ffec2c5e1e10a">_dbus_pending_call_ref_unlocked</a> (<a class="el" href="structDBusPendingCall.html">DBusPendingCall</a> *pending)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Increments the reference count on a pending call, while the lock on its connection is already held. <a href="#ga9d8987da3747604d370ffec2c5e1e10a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusPendingCallInternals.html#ga26f09beed0dd6323cca0452abf344567">_dbus_pending_call_unref_and_unlock</a> (<a class="el" href="structDBusPendingCall.html">DBusPendingCall</a> *pending)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Decrements the reference count on a pending call, freeing it if the count reaches 0. <a href="#ga26f09beed0dd6323cca0452abf344567"></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__DBusPendingCallInternals.html#ga37bef4359b3c29629a57f5fe480690a1">_dbus_pending_call_get_completed_unlocked</a> (<a class="el" href="structDBusPendingCall.html">DBusPendingCall</a> *pending)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks whether the pending call has received a reply yet, or not. <a href="#ga37bef4359b3c29629a57f5fe480690a1"></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__DBusPendingCallInternals.html#ga7d4196ca35b8df842c05a02dbb71c269">_dbus_pending_call_set_data_unlocked</a> (<a class="el" href="structDBusPendingCall.html">DBusPendingCall</a> *pending, <a class="el" href="group__DBusTypes.html#gab18afa60e9b17b6e322735bda3d863d8">dbus_int32_t</a> slot, void *data, <a class="el" href="group__DBusMemory.html#ga061bcded226d76c7d7de35beaa165cb5">DBusFreeFunction</a> free_data_func)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Stores a pointer on a <a class="el" href="structDBusPendingCall.html" title="Implementation details of DBusPendingCall - all fields are private.">DBusPendingCall</a>, along with an optional function to be used for freeing the data when the data is set again, or when the pending call is finalized. <a href="#ga7d4196ca35b8df842c05a02dbb71c269"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<p><a class="el" href="structDBusPendingCall.html" title="Implementation details of DBusPendingCall - all fields are private.">DBusPendingCall</a> private implementation details. </p>
<p>The guts of <a class="el" href="structDBusPendingCall.html" title="Implementation details of DBusPendingCall - all fields are private.">DBusPendingCall</a> and its methods. </p>
<hr/><h2>Define Documentation</h2>
<a class="anchor" id="ga99fcbae5b8f2ed2cc019cab85f63d4e4"></a><!-- doxytag: member="dbus-pending-call.c::CONNECTION_LOCK" ref="ga99fcbae5b8f2ed2cc019cab85f63d4e4" args="(connection)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define <a class="el" href="group__DBusPendingCallInternals.html#ga99fcbae5b8f2ed2cc019cab85f63d4e4">CONNECTION_LOCK</a></td>
<td>(</td>
<td class="paramtype"> </td>
<td class="paramname">connection</td><td>)</td>
<td>   <a class="el" href="group__DBusConnectionInternals.html#ga4fe0c8f7b72dc89b9e1a3110db2f778e">_dbus_connection_lock</a>(connection)</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Internals of <a class="el" href="structDBusPendingCall.html" title="Implementation details of DBusPendingCall - all fields are private.">DBusPendingCall</a>. </p>
<p>Opaque object representing a reply message that we're waiting for. shorter and more visible way to write <a class="el" href="group__DBusConnectionInternals.html#ga4fe0c8f7b72dc89b9e1a3110db2f778e" title="Acquires the connection lock.">_dbus_connection_lock()</a> </p>
<p>Definition at line <a class="el" href="dbus-pending-call_8c_source.html#l00053">53</a> of file <a class="el" href="dbus-pending-call_8c_source.html">dbus-pending-call.c</a>.</p>
<p>Referenced by <a class="el" href="dbus-connection_8c_source.html#l02379">_dbus_connection_block_pending_call()</a>, <a class="el" href="dbus-connection_8c_source.html#l02146">_dbus_connection_close_if_only_one_ref()</a>, <a class="el" href="dbus-connection_8c_source.html#l01948">_dbus_connection_close_possibly_shared()</a>, <a class="el" href="dbus-connection_8c_source.html#l01486">_dbus_connection_handle_watch()</a>, <a class="el" href="dbus-connection_8c_source.html#l00388">_dbus_connection_lock()</a>, <a class="el" href="dbus-connection_8c_source.html#l01249">_dbus_connection_new_for_transport()</a>, <a class="el" href="dbus-connection_8c_source.html#l01044">_dbus_connection_remove_pending_call()</a>, <a class="el" href="dbus-pending-call_8c_source.html#l00323">_dbus_pending_call_get_connection_and_lock()</a>, <a class="el" href="dbus-pending-call_8c_source.html#l00502">_dbus_pending_call_set_data_unlocked()</a>, <a class="el" href="dbus-connection_8c_source.html#l05511">dbus_connection_add_filter()</a>, <a class="el" href="dbus-connection_8c_source.html#l03850">dbus_connection_borrow_message()</a>, <a class="el" href="dbus-connection_8c_source.html#l03105">dbus_connection_can_send_type()</a>, <a class="el" href="dbus-connection_8c_source.html#l02932">dbus_connection_close()</a>, <a class="el" href="dbus-connection_8c_source.html#l04549">dbus_connection_dispatch()</a>, <a class="el" href="dbus-connection_8c_source.html#l03641">dbus_connection_flush()</a>, <a class="el" href="dbus-connection_8c_source.html#l05259">dbus_connection_get_adt_audit_session_data()</a>, <a class="el" href="dbus-connection_8c_source.html#l04378">dbus_connection_get_dispatch_status()</a>, <a class="el" href="dbus-connection_8c_source.html#l03029">dbus_connection_get_is_anonymous()</a>, <a class="el" href="dbus-connection_8c_source.html#l02995">dbus_connection_get_is_authenticated()</a>, <a class="el" href="dbus-connection_8c_source.html#l02973">dbus_connection_get_is_connected()</a>, <a class="el" href="dbus-connection_8c_source.html#l06075">dbus_connection_get_max_message_size()</a>, <a class="el" href="dbus-connection_8c_source.html#l06114">dbus_connection_get_max_message_unix_fds()</a>, <a class="el" href="dbus-connection_8c_source.html#l06170">dbus_connection_get_max_received_size()</a>, <a class="el" href="dbus-connection_8c_source.html#l06212">dbus_connection_get_max_received_unix_fds()</a>, <a class="el" href="dbus-connection_8c_source.html#l05841">dbus_connection_get_object_path_data()</a>, <a class="el" href="dbus-connection_8c_source.html#l06235">dbus_connection_get_outgoing_size()</a>, <a class="el" href="dbus-connection_8c_source.html#l06296">dbus_connection_get_outgoing_unix_fds()</a>, <a class="el" href="dbus-connection_8c_source.html#l03074">dbus_connection_get_server_id()</a>, <a class="el" href="dbus-connection_8c_source.html#l05148">dbus_connection_get_socket()</a>, <a class="el" href="dbus-connection_8c_source.html#l05226">dbus_connection_get_unix_process_id()</a>, <a class="el" href="dbus-connection_8c_source.html#l05190">dbus_connection_get_unix_user()</a>, <a class="el" href="dbus-connection_8c_source.html#l05357">dbus_connection_get_windows_user()</a>, <a class="el" href="dbus-connection_8c_source.html#l00588">dbus_connection_has_messages_to_send()</a>, <a class="el" href="dbus-connection_8c_source.html#l05878">dbus_connection_list_registered()</a>, <a class="el" href="dbus-connection_8c_source.html#l04091">dbus_connection_pop_message()</a>, <a class="el" href="dbus-connection_8c_source.html#l03165">dbus_connection_preallocate_send()</a>, <a class="el" href="dbus-connection_8c_source.html#l05563">dbus_connection_remove_filter()</a>, <a class="el" href="dbus-connection_8c_source.html#l03901">dbus_connection_return_message()</a>, <a class="el" href="dbus-connection_8c_source.html#l03302">dbus_connection_send()</a>, <a class="el" href="dbus-connection_8c_source.html#l03217">dbus_connection_send_preallocated()</a>, <a class="el" href="dbus-connection_8c_source.html#l03399">dbus_connection_send_with_reply()</a>, <a class="el" href="dbus-connection_8c_source.html#l03535">dbus_connection_send_with_reply_and_block()</a>, <a class="el" href="dbus-connection_8c_source.html#l05451">dbus_connection_set_allow_anonymous()</a>, <a class="el" href="dbus-connection_8c_source.html#l05073">dbus_connection_set_dispatch_status_function()</a>, <a class="el" href="dbus-connection_8c_source.html#l03145">dbus_connection_set_exit_on_disconnect()</a>, <a class="el" href="dbus-connection_8c_source.html#l06057">dbus_connection_set_max_message_size()</a>, <a class="el" href="dbus-connection_8c_source.html#l06096">dbus_connection_set_max_message_unix_fds()</a>, <a class="el" href="dbus-connection_8c_source.html#l06152">dbus_connection_set_max_received_size()</a>, <a class="el" href="dbus-connection_8c_source.html#l06194">dbus_connection_set_max_received_unix_fds()</a>, <a class="el" href="dbus-connection_8c_source.html#l05479">dbus_connection_set_route_peer_messages()</a>, <a class="el" href="dbus-connection_8c_source.html#l04989">dbus_connection_set_timeout_functions()</a>, <a class="el" href="dbus-connection_8c_source.html#l05305">dbus_connection_set_unix_user_function()</a>, <a class="el" href="dbus-connection_8c_source.html#l05027">dbus_connection_set_wakeup_main_function()</a>, <a class="el" href="dbus-connection_8c_source.html#l04926">dbus_connection_set_watch_functions()</a>, <a class="el" href="dbus-connection_8c_source.html#l05404">dbus_connection_set_windows_user_function()</a>, <a class="el" href="dbus-connection_8c_source.html#l03935">dbus_connection_steal_borrowed_message()</a>, <a class="el" href="dbus-connection_8c_source.html#l05809">dbus_connection_unregister_object_path()</a>, <a class="el" href="dbus-pending-call_8c_source.html#l00679">dbus_pending_call_get_completed()</a>, <a class="el" href="dbus-pending-call_8c_source.html#l00827">dbus_pending_call_get_data()</a>, <a class="el" href="dbus-pending-call_8c_source.html#l00801">dbus_pending_call_set_data()</a>, <a class="el" href="dbus-pending-call_8c_source.html#l00622">dbus_pending_call_set_notify()</a>, and <a class="el" href="dbus-pending-call_8c_source.html#l00702">dbus_pending_call_steal_reply()</a>.</p>
</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="ga6b10d157242e540fd18bd3db733dab5c"></a><!-- doxytag: member="dbus-pending-call.c::_dbus_pending_call_complete" ref="ga6b10d157242e540fd18bd3db733dab5c" args="(DBusPendingCall *pending)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="group__DBusPendingCallInternals.html#ga6b10d157242e540fd18bd3db733dab5c">_dbus_pending_call_complete</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusPendingCall.html">DBusPendingCall</a> * </td>
<td class="paramname"><em>pending</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Calls notifier function for the pending call and sets the call to completed. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">pending</td><td>the pending call </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="dbus-pending-call_8c_source.html#l00204">204</a> of file <a class="el" href="dbus-pending-call_8c_source.html">dbus-pending-call.c</a>.</p>
<p>References <a class="el" href="dbus-pending-call_8c_source.html#l00078">DBusPendingCall::completed</a>, <a class="el" href="dbus-pending-call_8c_source.html#l00827">dbus_pending_call_get_data()</a>, <a class="el" href="dbus-pending-call_8c_source.html#l00068">DBusPendingCall::function</a>, and <a class="el" href="group__DBusMacros.html#gaa8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>.</p>
</div>
</div>
<a class="anchor" id="ga37bef4359b3c29629a57f5fe480690a1"></a><!-- doxytag: member="dbus-pending-call.c::_dbus_pending_call_get_completed_unlocked" ref="ga37bef4359b3c29629a57f5fe480690a1" args="(DBusPendingCall *pending)" -->
<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__DBusPendingCallInternals.html#ga37bef4359b3c29629a57f5fe480690a1">_dbus_pending_call_get_completed_unlocked</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusPendingCall.html">DBusPendingCall</a> * </td>
<td class="paramname"><em>pending</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Checks whether the pending call has received a reply yet, or not. </p>
<p>Assumes connection lock is held.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">pending</td><td>the pending call </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> if a reply has been received </dd></dl>
<p>Definition at line <a class="el" href="dbus-pending-call_8c_source.html#l00480">480</a> of file <a class="el" href="dbus-pending-call_8c_source.html">dbus-pending-call.c</a>.</p>
<p>References <a class="el" href="dbus-pending-call_8c_source.html#l00078">DBusPendingCall::completed</a>.</p>
<p>Referenced by <a class="el" href="dbus-connection_8c_source.html#l02379">_dbus_connection_block_pending_call()</a>, and <a class="el" href="dbus-connection_8c_source.html#l01198">_dbus_connection_do_iteration_unlocked()</a>.</p>
</div>
</div>
<a class="anchor" id="ga68e5ff616e6a6563d83966c3d88b9b32"></a><!-- doxytag: member="dbus-pending-call.c::_dbus_pending_call_get_connection_and_lock" ref="ga68e5ff616e6a6563d83966c3d88b9b32" args="(DBusPendingCall *pending)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structDBusConnection.html">DBusConnection</a>* <a class="el" href="group__DBusPendingCallInternals.html#ga68e5ff616e6a6563d83966c3d88b9b32">_dbus_pending_call_get_connection_and_lock</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusPendingCall.html">DBusPendingCall</a> * </td>
<td class="paramname"><em>pending</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Gets the connection associated with this pending call. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">pending</td><td>the pending_call </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the connection associated with the pending call </dd></dl>
<p>Definition at line <a class="el" href="dbus-pending-call_8c_source.html#l00323">323</a> of file <a class="el" href="dbus-pending-call_8c_source.html">dbus-pending-call.c</a>.</p>
<p>References <a class="el" href="dbus-pending-call_8c_source.html#l00070">DBusPendingCall::connection</a>, <a class="el" href="dbus-pending-call_8c_source.html#l00053">CONNECTION_LOCK</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#l02379">_dbus_connection_block_pending_call()</a>.</p>
</div>
</div>
<a class="anchor" id="gae725060aa80d9df58dcee4f1fa108784"></a><!-- doxytag: member="dbus-pending-call.c::_dbus_pending_call_get_connection_unlocked" ref="gae725060aa80d9df58dcee4f1fa108784" args="(DBusPendingCall *pending)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structDBusConnection.html">DBusConnection</a>* <a class="el" href="group__DBusPendingCallInternals.html#gae725060aa80d9df58dcee4f1fa108784">_dbus_pending_call_get_connection_unlocked</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusPendingCall.html">DBusPendingCall</a> * </td>
<td class="paramname"><em>pending</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Gets the connection associated with this pending call. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">pending</td><td>the pending_call </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the connection associated with the pending call </dd></dl>
<p>Definition at line <a class="el" href="dbus-pending-call_8c_source.html#l00338">338</a> of file <a class="el" href="dbus-pending-call_8c_source.html">dbus-pending-call.c</a>.</p>
<p>References <a class="el" href="dbus-pending-call_8c_source.html#l00070">DBusPendingCall::connection</a>, and <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.</p>
</div>
</div>
<a class="anchor" id="gaf5f3df36149bfe55d824eb08d00768fc"></a><!-- doxytag: member="dbus-pending-call.c::_dbus_pending_call_get_reply_serial_unlocked" ref="gaf5f3df36149bfe55d824eb08d00768fc" args="(DBusPendingCall *pending)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__DBusTypes.html#gaf513803b030613a669cc7ef199f90a8b">dbus_uint32_t</a> <a class="el" href="group__DBusPendingCallInternals.html#gaf5f3df36149bfe55d824eb08d00768fc">_dbus_pending_call_get_reply_serial_unlocked</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusPendingCall.html">DBusPendingCall</a> * </td>
<td class="paramname"><em>pending</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Gets the reply's serial number. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">pending</td><td>the pending_call </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a serial number for the reply or 0 </dd></dl>
<p>Definition at line <a class="el" href="dbus-pending-call_8c_source.html#l00293">293</a> of file <a class="el" href="dbus-pending-call_8c_source.html">dbus-pending-call.c</a>.</p>
<p>References <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, and <a class="el" href="dbus-pending-call_8c_source.html#l00076">DBusPendingCall::reply_serial</a>.</p>
<p>Referenced by <a class="el" href="dbus-connection_8c_source.html#l02379">_dbus_connection_block_pending_call()</a>, and <a class="el" href="dbus-connection_8c_source.html#l01198">_dbus_connection_do_iteration_unlocked()</a>.</p>
</div>
</div>
<a class="anchor" id="gaa9acac047b61c9a0eaff1977151e9e08"></a><!-- doxytag: member="dbus-pending-call.c::_dbus_pending_call_get_timeout_unlocked" ref="gaa9acac047b61c9a0eaff1977151e9e08" args="(DBusPendingCall *pending)" -->
<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__DBusPendingCallInternals.html#gaa9acac047b61c9a0eaff1977151e9e08">_dbus_pending_call_get_timeout_unlocked</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusPendingCall.html">DBusPendingCall</a> * </td>
<td class="paramname"><em>pending</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Retrives the timeout. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">pending</td><td>the pending_call </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a timeout object or NULL if call has no timeout </dd></dl>
<p>Definition at line <a class="el" href="dbus-pending-call_8c_source.html#l00279">279</a> of file <a class="el" href="dbus-pending-call_8c_source.html">dbus-pending-call.c</a>.</p>
<p>References <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, and <a class="el" href="dbus-pending-call_8c_source.html#l00072">DBusPendingCall::timeout</a>.</p>
<p>Referenced by <a class="el" href="dbus-connection_8c_source.html#l02379">_dbus_connection_block_pending_call()</a>, and <a class="el" href="dbus-connection_8c_source.html#l00480">_dbus_connection_queue_received_message_link()</a>.</p>
</div>
</div>
<a class="anchor" id="gaf1e630b966722af540502329ed028254"></a><!-- doxytag: member="dbus-pending-call.c::_dbus_pending_call_is_timeout_added_unlocked" ref="gaf1e630b966722af540502329ed028254" args="(DBusPendingCall *pending)" -->
<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__DBusPendingCallInternals.html#gaf1e630b966722af540502329ed028254">_dbus_pending_call_is_timeout_added_unlocked</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusPendingCall.html">DBusPendingCall</a> * </td>
<td class="paramname"><em>pending</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Checks to see if a timeout has been added. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">pending</td><td>the pending_call </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> if there is a timeout or <a class="el" href="group__DBusMacros.html#gaa93f0eb578d23995850d61f7d61c55c1" title="Expands to "0".">FALSE</a> if not </dd></dl>
<p>Definition at line <a class="el" href="dbus-pending-call_8c_source.html#l00248">248</a> of file <a class="el" href="dbus-pending-call_8c_source.html">dbus-pending-call.c</a>.</p>
<p>References <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, and <a class="el" href="dbus-pending-call_8c_source.html#l00079">DBusPendingCall::timeout_added</a>.</p>
<p>Referenced by <a class="el" href="dbus-connection_8c_source.html#l00480">_dbus_connection_queue_received_message_link()</a>.</p>
</div>
</div>
<a class="anchor" id="ga3f2300d7a768783bc2fae0991bcc55df"></a><!-- doxytag: member="dbus-pending-call.c::_dbus_pending_call_new_unlocked" ref="ga3f2300d7a768783bc2fae0991bcc55df" args="(DBusConnection *connection, int timeout_milliseconds, DBusTimeoutHandler timeout_handler)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structDBusPendingCall.html">DBusPendingCall</a>* <a class="el" href="group__DBusPendingCallInternals.html#ga3f2300d7a768783bc2fae0991bcc55df">_dbus_pending_call_new_unlocked</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusConnection.html">DBusConnection</a> * </td>
<td class="paramname"><em>connection</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"><em>timeout_milliseconds</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>timeout_handler</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Creates a new pending reply object. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">connection</td><td>connection where reply will arrive </td></tr>
<tr><td class="paramname">timeout_milliseconds</td><td>length of timeout, -1 (or <a class="el" href="group__DBusPendingCall.html#gabdc138a303699e88756d6c5988a16b05" title="An integer constant representing a request to use the default timeout.">DBUS_TIMEOUT_USE_DEFAULT</a>) for default, <a class="el" href="group__DBusPendingCall.html#ga21384c9c5b0da54f7d0a92012522f213" title="An integer constant representing an infinite timeout.">DBUS_TIMEOUT_INFINITE</a> for no timeout </td></tr>
<tr><td class="paramname">timeout_handler</td><td>timeout handler, takes pending call as data </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a new <a class="el" href="structDBusPendingCall.html" title="Implementation details of DBusPendingCall - all fields are private.">DBusPendingCall</a> or <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4" title="A null pointer, defined appropriately for C or C++.">NULL</a> if no memory. </dd></dl>
<p>Definition at line <a class="el" href="dbus-pending-call_8c_source.html#l00109">109</a> of file <a class="el" href="dbus-pending-call_8c_source.html">dbus-pending-call.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-connection_8c_source.html#l01419">_dbus_connection_ref_unlocked()</a>, <a class="el" href="dbus-dataslot_8c_source.html#l00197">_dbus_data_slot_list_init()</a>, <a class="el" href="dbus-timeout_8c_source.html#l00063">_dbus_timeout_new()</a>, <a class="el" href="dbus-pending-call_8c_source.html#l00070">DBusPendingCall::connection</a>, <a class="el" href="dbus-memory_8c_source.html#l00701">dbus_free()</a>, <a class="el" href="dbus-memory_8h_source.html#l00059">dbus_new0</a>, <a class="el" href="dbus-pending-call_8c_source.html#l00759">dbus_pending_call_allocate_data_slot()</a>, <a class="el" href="dbus-pending-call_8c_source.html#l00779">dbus_pending_call_free_data_slot()</a>, <a class="el" href="dbus-pending-call_8h_source.html#l00041">DBUS_TIMEOUT_INFINITE</a>, <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, <a class="el" href="dbus-pending-call_8c_source.html#l00064">DBusPendingCall::refcount</a>, <a class="el" href="dbus-pending-call_8c_source.html#l00066">DBusPendingCall::slot_list</a>, and <a class="el" href="dbus-pending-call_8c_source.html#l00072">DBusPendingCall::timeout</a>.</p>
<p>Referenced by <a class="el" href="dbus-connection_8c_source.html#l03399">dbus_connection_send_with_reply()</a>.</p>
</div>
</div>
<a class="anchor" id="ga1bc4de7652108d0629522a4e3adffcab"></a><!-- doxytag: member="dbus-pending-call.c::_dbus_pending_call_queue_timeout_error_unlocked" ref="ga1bc4de7652108d0629522a4e3adffcab" args="(DBusPendingCall *pending, DBusConnection *connection)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="group__DBusPendingCallInternals.html#ga1bc4de7652108d0629522a4e3adffcab">_dbus_pending_call_queue_timeout_error_unlocked</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusPendingCall.html">DBusPendingCall</a> * </td>
<td class="paramname"><em>pending</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structDBusConnection.html">DBusConnection</a> * </td>
<td class="paramname"><em>connection</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>If the pending call hasn't been timed out, add its timeout error reply to the connection's incoming message queue. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">pending</td><td>the pending call </td></tr>
<tr><td class="paramname">connection</td><td>the connection the call was sent to </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="dbus-pending-call_8c_source.html#l00228">228</a> of file <a class="el" href="dbus-pending-call_8c_source.html">dbus-pending-call.c</a>.</p>
<p>References <a class="el" href="dbus-connection_8c_source.html#l00545">_dbus_connection_queue_synthesized_message_link()</a>, <a class="el" href="dbus-pending-call_8c_source.html#l00070">DBusPendingCall::connection</a>, <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, and <a class="el" href="dbus-pending-call_8c_source.html#l00074">DBusPendingCall::timeout_link</a>.</p>
</div>
</div>
<a class="anchor" id="ga9d8987da3747604d370ffec2c5e1e10a"></a><!-- doxytag: member="dbus-pending-call.c::_dbus_pending_call_ref_unlocked" ref="ga9d8987da3747604d370ffec2c5e1e10a" args="(DBusPendingCall *pending)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structDBusPendingCall.html">DBusPendingCall</a>* <a class="el" href="group__DBusPendingCallInternals.html#ga9d8987da3747604d370ffec2c5e1e10a">_dbus_pending_call_ref_unlocked</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusPendingCall.html">DBusPendingCall</a> * </td>
<td class="paramname"><em>pending</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Increments the reference count on a pending call, while the lock on its connection is already held. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">pending</td><td>the pending call object </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the pending call object </dd></dl>
<p>Definition at line <a class="el" href="dbus-pending-call_8c_source.html#l00394">394</a> of file <a class="el" href="dbus-pending-call_8c_source.html">dbus-pending-call.c</a>.</p>
<p>References <a class="el" href="dbus-sysdeps-unix_8c_source.html#l02501">_dbus_atomic_inc()</a>, and <a class="el" href="dbus-pending-call_8c_source.html#l00064">DBusPendingCall::refcount</a>.</p>
</div>
</div>
<a class="anchor" id="ga7d4196ca35b8df842c05a02dbb71c269"></a><!-- doxytag: member="dbus-pending-call.c::_dbus_pending_call_set_data_unlocked" ref="ga7d4196ca35b8df842c05a02dbb71c269" args="(DBusPendingCall *pending, dbus_int32_t slot, void *data, DBusFreeFunction free_data_func)" -->
<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__DBusPendingCallInternals.html#ga7d4196ca35b8df842c05a02dbb71c269">_dbus_pending_call_set_data_unlocked</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusPendingCall.html">DBusPendingCall</a> * </td>
<td class="paramname"><em>pending</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__DBusTypes.html#gab18afa60e9b17b6e322735bda3d863d8">dbus_int32_t</a> </td>
<td class="paramname"><em>slot</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_func</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Stores a pointer on a <a class="el" href="structDBusPendingCall.html" title="Implementation details of DBusPendingCall - all fields are private.">DBusPendingCall</a>, along with an optional function to be used for freeing the data when the data is set again, or when the pending call is finalized. </p>
<p>The slot number must have been allocated with <a class="el" href="group__DBusPendingCall.html#ga95614dad0ada70e3a20d9878339e3109" title="Allocates an integer ID to be used for storing application-specific data on any DBusPendingCall.">dbus_pending_call_allocate_data_slot()</a>.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">pending</td><td>the pending_call </td></tr>
<tr><td class="paramname">slot</td><td>the slot number </td></tr>
<tr><td class="paramname">data</td><td>the data to store </td></tr>
<tr><td class="paramname">free_data_func</td><td>finalizer function for the data </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> if there was enough memory to store the data </dd></dl>
<p>Definition at line <a class="el" href="dbus-pending-call_8c_source.html#l00502">502</a> of file <a class="el" href="dbus-pending-call_8c_source.html">dbus-pending-call.c</a>.</p>
<p>References <a class="el" href="dbus-dataslot_8c_source.html#l00221">_dbus_data_slot_list_set()</a>, <a class="el" href="dbus-pending-call_8c_source.html#l00070">DBusPendingCall::connection</a>, <a class="el" href="dbus-pending-call_8c_source.html#l00053">CONNECTION_LOCK</a>, <a class="el" href="dbus-pending-call_8c_source.html#l00057">CONNECTION_UNLOCK</a>, and <a class="el" href="dbus-pending-call_8c_source.html#l00066">DBusPendingCall::slot_list</a>.</p>
<p>Referenced by <a class="el" href="dbus-pending-call_8c_source.html#l00801">dbus_pending_call_set_data()</a>, and <a class="el" href="dbus-pending-call_8c_source.html#l00622">dbus_pending_call_set_notify()</a>.</p>
</div>
</div>
<a class="anchor" id="ga4c0325356df50a5dc103bdab3e7148f3"></a><!-- doxytag: member="dbus-pending-call.c::_dbus_pending_call_set_reply_serial_unlocked" ref="ga4c0325356df50a5dc103bdab3e7148f3" args="(DBusPendingCall *pending, dbus_uint32_t serial)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="group__DBusPendingCallInternals.html#ga4c0325356df50a5dc103bdab3e7148f3">_dbus_pending_call_set_reply_serial_unlocked</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusPendingCall.html">DBusPendingCall</a> * </td>
<td class="paramname"><em>pending</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__DBusTypes.html#gaf513803b030613a669cc7ef199f90a8b">dbus_uint32_t</a> </td>
<td class="paramname"><em>serial</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Sets the reply's serial number. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">pending</td><td>the pending_call </td></tr>
<tr><td class="paramname">serial</td><td>the serial number </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="dbus-pending-call_8c_source.html#l00307">307</a> of file <a class="el" href="dbus-pending-call_8c_source.html">dbus-pending-call.c</a>.</p>
<p>References <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, and <a class="el" href="dbus-pending-call_8c_source.html#l00076">DBusPendingCall::reply_serial</a>.</p>
<p>Referenced by <a class="el" href="dbus-pending-call_8c_source.html#l00354">_dbus_pending_call_set_timeout_error_unlocked()</a>.</p>
</div>
</div>
<a class="anchor" id="ga4b8cc560549160aecd924037a872009d"></a><!-- doxytag: member="dbus-pending-call.c::_dbus_pending_call_set_reply_unlocked" ref="ga4b8cc560549160aecd924037a872009d" args="(DBusPendingCall *pending, DBusMessage *message)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="group__DBusPendingCallInternals.html#ga4b8cc560549160aecd924037a872009d">_dbus_pending_call_set_reply_unlocked</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusPendingCall.html">DBusPendingCall</a> * </td>
<td class="paramname"><em>pending</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structDBusMessage.html">DBusMessage</a> * </td>
<td class="paramname"><em>message</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Sets the reply of a pending call with the given message, or if the message is <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4" title="A null pointer, defined appropriately for C or C++.">NULL</a>, by timing out the pending call. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">pending</td><td>the pending call </td></tr>
<tr><td class="paramname">message</td><td>the message to complete the call with, or <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4" title="A null pointer, defined appropriately for C or C++.">NULL</a> to time out the call </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="dbus-pending-call_8c_source.html#l00172">172</a> of file <a class="el" href="dbus-pending-call_8c_source.html">dbus-pending-call.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_8h_source.html#l00038">DBusList::data</a>, <a class="el" href="dbus-message_8c_source.html#l01163">dbus_message_get_reply_serial()</a>, <a class="el" href="dbus-message_8c_source.html#l01722">dbus_message_get_type()</a>, <a class="el" href="dbus-message_8c_source.html#l01667">dbus_message_ref()</a>, <a class="el" href="dbus-protocol_8h_source.html#l00238">DBUS_MESSAGE_TYPE_ERROR</a>, <a class="el" href="dbus-protocol_8h_source.html#l00236">DBUS_MESSAGE_TYPE_METHOD_RETURN</a>, <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, <a class="el" href="dbus-pending-call_8c_source.html#l00071">DBusPendingCall::reply</a>, <a class="el" href="dbus-pending-call_8c_source.html#l00076">DBusPendingCall::reply_serial</a>, and <a class="el" href="dbus-pending-call_8c_source.html#l00074">DBusPendingCall::timeout_link</a>.</p>
</div>
</div>
<a class="anchor" id="gafea13f8b9977d341e41201c407adea2a"></a><!-- doxytag: member="dbus-pending-call.c::_dbus_pending_call_set_timeout_added_unlocked" ref="gafea13f8b9977d341e41201c407adea2a" args="(DBusPendingCall *pending, dbus_bool_t is_added)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="group__DBusPendingCallInternals.html#gafea13f8b9977d341e41201c407adea2a">_dbus_pending_call_set_timeout_added_unlocked</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusPendingCall.html">DBusPendingCall</a> * </td>
<td class="paramname"><em>pending</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>is_added</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Sets wether the timeout has been added. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">pending</td><td>the pending_call </td></tr>
<tr><td class="paramname">is_added</td><td>whether or not a timeout is added </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="dbus-pending-call_8c_source.html#l00263">263</a> of file <a class="el" href="dbus-pending-call_8c_source.html">dbus-pending-call.c</a>.</p>
<p>References <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, and <a class="el" href="dbus-pending-call_8c_source.html#l00079">DBusPendingCall::timeout_added</a>.</p>
<p>Referenced by <a class="el" href="dbus-connection_8c_source.html#l00480">_dbus_connection_queue_received_message_link()</a>.</p>
</div>
</div>
<a class="anchor" id="ga9901fc4c5fd2db9bf1ce2dcc9abf55fc"></a><!-- doxytag: member="dbus-pending-call.c::_dbus_pending_call_set_timeout_error_unlocked" ref="ga9901fc4c5fd2db9bf1ce2dcc9abf55fc" args="(DBusPendingCall *pending, DBusMessage *message, dbus_uint32_t serial)" -->
<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__DBusPendingCallInternals.html#ga9901fc4c5fd2db9bf1ce2dcc9abf55fc">_dbus_pending_call_set_timeout_error_unlocked</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusPendingCall.html">DBusPendingCall</a> * </td>
<td class="paramname"><em>pending</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structDBusMessage.html">DBusMessage</a> * </td>
<td class="paramname"><em>message</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__DBusTypes.html#gaf513803b030613a669cc7ef199f90a8b">dbus_uint32_t</a> </td>
<td class="paramname"><em>serial</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Sets the reply message associated with the pending call to a timeout error. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">pending</td><td>the pending_call </td></tr>
<tr><td class="paramname">message</td><td>the message we are sending the error reply to </td></tr>
<tr><td class="paramname">serial</td><td>serial number for the reply </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> on OOM </dd></dl>
<p>Definition at line <a class="el" href="dbus-pending-call_8c_source.html#l00354">354</a> of file <a class="el" href="dbus-pending-call_8c_source.html">dbus-pending-call.c</a>.</p>
<p>References <a class="el" href="dbus-list_8c_source.html#l00242">_dbus_list_alloc_link()</a>, <a class="el" href="dbus-pending-call_8c_source.html#l00307">_dbus_pending_call_set_reply_serial_unlocked()</a>, <a class="el" href="dbus-protocol_8h_source.html#l00358">DBUS_ERROR_NO_REPLY</a>, <a class="el" href="dbus-message_8c_source.html#l01470">dbus_message_new_error()</a>, <a class="el" href="dbus-message_8c_source.html#l01690">dbus_message_unref()</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-pending-call_8c_source.html#l00074">DBusPendingCall::timeout_link</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#l03399">dbus_connection_send_with_reply()</a>.</p>
</div>
</div>
<a class="anchor" id="ga26f09beed0dd6323cca0452abf344567"></a><!-- doxytag: member="dbus-pending-call.c::_dbus_pending_call_unref_and_unlock" ref="ga26f09beed0dd6323cca0452abf344567" args="(DBusPendingCall *pending)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="group__DBusPendingCallInternals.html#ga26f09beed0dd6323cca0452abf344567">_dbus_pending_call_unref_and_unlock</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusPendingCall.html">DBusPendingCall</a> * </td>
<td class="paramname"><em>pending</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Decrements the reference count on a pending call, freeing it if the count reaches 0. </p>
<p>Assumes connection lock is already held.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">pending</td><td>the pending call object </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="dbus-pending-call_8c_source.html#l00457">457</a> of file <a class="el" href="dbus-pending-call_8c_source.html">dbus-pending-call.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-pending-call_8c_source.html#l00070">DBusPendingCall::connection</a>, <a class="el" href="dbus-pending-call_8c_source.html#l00057">CONNECTION_UNLOCK</a>, and <a class="el" href="dbus-pending-call_8c_source.html#l00064">DBusPendingCall::refcount</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  <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>