KGRKJGETMRETU895U-589TY5MIGM5JGB5SDFESFREWTGR54TY
Server : Apache/2.2.17 (Unix) mod_ssl/2.2.17 OpenSSL/0.9.8e-fips-rhel5 DAV/2 PHP/5.2.17
System : Linux localhost 2.6.18-419.el5 #1 SMP Fri Feb 24 22:47:42 UTC 2017 x86_64
User : nobody ( 99)
PHP Version : 5.2.17
Disable Function : NONE
Directory :  /proc/21573/root/usr/share/devhelp/books/dbus/api/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //proc/21573/root/usr/share/devhelp/books/dbus/api/group__DBusPendingCall.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>D-Bus: DBusPendingCall</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
  <ul>
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
    <li><a href="modules.html"><span>Modules</span></a></li>
    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
    <li><a href="files.html"><span>Files</span></a></li>
    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
  </ul></div>
<h1>DBusPendingCall<br>
<small>
[<a class="el" href="group__DBus.html">D-Bus low-level public API</a>]</small>
</h1>Pending reply to a method call message.  
<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gd7fe26d49b2979777dd8d64bf2be0a71"></a><!-- doxytag: member="DBusPendingCall::DBusPendingCall" ref="gd7fe26d49b2979777dd8d64bf2be0a71" args="" -->
typedef <a class="el" href="structDBusPendingCall.html">DBusPendingCall</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusPendingCall.html#gd7fe26d49b2979777dd8d64bf2be0a71">DBusPendingCall</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Opaque type representing a method call that has not yet received a reply. <br></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structDBusPendingCall.html">DBusPendingCall</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusPendingCall.html#g5b10665ce8dfbf23cc2dfb7be1490d4b">dbus_pending_call_ref</a> (<a class="el" href="structDBusPendingCall.html">DBusPendingCall</a> *pending)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Increments the reference count on a pending call.  <a href="#g5b10665ce8dfbf23cc2dfb7be1490d4b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusPendingCall.html#gf4f5bc83de558f8f26687ccb761e6d61">dbus_pending_call_unref</a> (<a class="el" href="structDBusPendingCall.html">DBusPendingCall</a> *pending)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Decrements the reference count on a pending call, freeing it if the count reaches 0.  <a href="#gf4f5bc83de558f8f26687ccb761e6d61"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusPendingCall.html#g7c590eb7b782a4aa38390fb5564e7d1c">dbus_pending_call_set_notify</a> (<a class="el" href="structDBusPendingCall.html">DBusPendingCall</a> *pending, <a class="el" href="group__DBusConnection.html#g7a3483add4000e5498cd46f64d2b7c9a">DBusPendingCallNotifyFunction</a> function, void *user_data, <a class="el" href="group__DBusMemory.html#g8792ec2b2b8626ca28022faf51ec415a">DBusFreeFunction</a> free_user_data)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets a notification function to be called when the reply is received or the pending call times out.  <a href="#g7c590eb7b782a4aa38390fb5564e7d1c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusPendingCall.html#g6c833c33b6b3bafc65dbcddca59fb7f3">dbus_pending_call_cancel</a> (<a class="el" href="structDBusPendingCall.html">DBusPendingCall</a> *pending)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cancels the pending call, such that any reply or error received will just be ignored.  <a href="#g6c833c33b6b3bafc65dbcddca59fb7f3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusPendingCall.html#g13ebf0d5fce7515eba671f14196ea116">dbus_pending_call_get_completed</a> (<a class="el" href="structDBusPendingCall.html">DBusPendingCall</a> *pending)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks whether the pending call has received a reply yet, or not.  <a href="#g13ebf0d5fce7515eba671f14196ea116"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structDBusMessage.html">DBusMessage</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusPendingCall.html#gc34424aae7350bc37ef65402352057ff">dbus_pending_call_steal_reply</a> (<a class="el" href="structDBusPendingCall.html">DBusPendingCall</a> *pending)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the reply, or returns <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a> if none has been received yet.  <a href="#gc34424aae7350bc37ef65402352057ff"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusPendingCall.html#g35cdbc7ac2437cc252a1f32129d2bf6a">dbus_pending_call_block</a> (<a class="el" href="structDBusPendingCall.html">DBusPendingCall</a> *pending)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Block until the pending call is completed.  <a href="#g35cdbc7ac2437cc252a1f32129d2bf6a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusPendingCall.html#g58770c3dacc0a7640bcd56522dc2ebf1">dbus_pending_call_allocate_data_slot</a> (<a class="el" href="group__DBusTypes.html#gb18afa60e9b17b6e322735bda3d863d8">dbus_int32_t</a> *slot_p)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allocates an integer ID to be used for storing application-specific data on any <a class="el" href="structDBusPendingCall.html">DBusPendingCall</a>.  <a href="#g58770c3dacc0a7640bcd56522dc2ebf1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusPendingCall.html#gf980ba98fd3f26c4f72b1a0cbb4e0ad1">dbus_pending_call_free_data_slot</a> (<a class="el" href="group__DBusTypes.html#gb18afa60e9b17b6e322735bda3d863d8">dbus_int32_t</a> *slot_p)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Deallocates a global ID for <a class="el" href="structDBusPendingCall.html">DBusPendingCall</a> data slots.  <a href="#gf980ba98fd3f26c4f72b1a0cbb4e0ad1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusPendingCall.html#ge748ee2995fe6d69161fe677faaefde2">dbus_pending_call_set_data</a> (<a class="el" href="structDBusPendingCall.html">DBusPendingCall</a> *pending, <a class="el" href="group__DBusTypes.html#gb18afa60e9b17b6e322735bda3d863d8">dbus_int32_t</a> slot, void *data, <a class="el" href="group__DBusMemory.html#g8792ec2b2b8626ca28022faf51ec415a">DBusFreeFunction</a> free_data_func)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stores a pointer on a <a class="el" href="structDBusPendingCall.html">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="#ge748ee2995fe6d69161fe677faaefde2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusPendingCall.html#g63388ebeb483a895a99ab4aa73bda65e">dbus_pending_call_get_data</a> (<a class="el" href="structDBusPendingCall.html">DBusPendingCall</a> *pending, <a class="el" href="group__DBusTypes.html#gb18afa60e9b17b6e322735bda3d863d8">dbus_int32_t</a> slot)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves data previously set with <a class="el" href="group__DBusPendingCall.html#ge748ee2995fe6d69161fe677faaefde2">dbus_pending_call_set_data()</a>.  <a href="#g63388ebeb483a895a99ab4aa73bda65e"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Pending reply to a method call message. 
<p>
A <a class="el" href="structDBusPendingCall.html">DBusPendingCall</a> is an object representing an expected reply. A <a class="el" href="structDBusPendingCall.html">DBusPendingCall</a> can be created when you send a message that should have a reply. <hr><h2>Function Documentation</h2>
<a class="anchor" name="g58770c3dacc0a7640bcd56522dc2ebf1"></a><!-- doxytag: member="dbus-pending-call.c::dbus_pending_call_allocate_data_slot" ref="g58770c3dacc0a7640bcd56522dc2ebf1" args="(dbus_int32_t *slot_p)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> dbus_pending_call_allocate_data_slot           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__DBusTypes.html#gb18afa60e9b17b6e322735bda3d863d8">dbus_int32_t</a> *&nbsp;</td>
          <td class="paramname"> <em>slot_p</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Allocates an integer ID to be used for storing application-specific data on any <a class="el" href="structDBusPendingCall.html">DBusPendingCall</a>. 
<p>
The allocated ID may then be used with <a class="el" href="group__DBusPendingCall.html#ge748ee2995fe6d69161fe677faaefde2">dbus_pending_call_set_data()</a> and <a class="el" href="group__DBusPendingCall.html#g63388ebeb483a895a99ab4aa73bda65e">dbus_pending_call_get_data()</a>. The passed-in slot must be initialized to -1, and is filled in with the slot ID. If the passed-in slot is not -1, it's assumed to be already allocated, and its refcount is incremented.<p>
The allocated slot is global, i.e. all <a class="el" href="structDBusPendingCall.html">DBusPendingCall</a> objects will have a slot with the given integer ID reserved.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>slot_p</em>&nbsp;</td><td>address of a global variable storing the slot </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a> on failure (no memory) </dd></dl>

<p>
Definition at line <a class="el" href="dbus-pending-call_8c-source.html#l00725">725</a> of file <a class="el" href="dbus-pending-call_8c-source.html">dbus-pending-call.c</a>.
<p>
References <a class="el" href="dbus-dataslot_8c-source.html#l00067">_dbus_data_slot_allocator_alloc()</a>, <a class="el" href="dbus-internals_8h-source.html#l00284">_DBUS_LOCK_NAME</a>, <a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a>, and <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.
<p>
Referenced by <a class="el" href="dbus-pending-call_8c-source.html#l00091">_dbus_pending_call_new_unlocked()</a>.
</div>
</div><p>
<a class="anchor" name="g35cdbc7ac2437cc252a1f32129d2bf6a"></a><!-- doxytag: member="dbus-pending-call.c::dbus_pending_call_block" ref="g35cdbc7ac2437cc252a1f32129d2bf6a" args="(DBusPendingCall *pending)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dbus_pending_call_block           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusPendingCall.html">DBusPendingCall</a> *&nbsp;</td>
          <td class="paramname"> <em>pending</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Block until the pending call is completed. 
<p>
The blocking is as with <a class="el" href="group__DBusConnection.html#g8f6d7fcce1ec614bf5608231da688cb2">dbus_connection_send_with_reply_and_block()</a>; it does not enter the main loop or process other messages, it simply waits for the reply in question.<p>
If the pending call is already completed, this function returns immediately.<p>
<dl compact><dt><b><a class="el" href="todo.html#_todo000044">Todo:</a></b></dt><dd>when you start blocking, the timeout is reset, but it should really only use time remaining since the pending call was created. This requires storing timestamps instead of intervals in the timeout</dd></dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pending</em>&nbsp;</td><td>the pending call </td></tr>
  </table>
</dl>

<p>
Definition at line <a class="el" href="dbus-pending-call_8c-source.html#l00703">703</a> of file <a class="el" href="dbus-pending-call_8c-source.html">dbus-pending-call.c</a>.
<p>
References <a class="el" href="dbus-connection_8c-source.html#l02218">_dbus_connection_block_pending_call()</a>, and <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.
<p>
Referenced by <a class="el" href="dbus-connection_8c-source.html#l03243">dbus_connection_send_with_reply_and_block()</a>.
</div>
</div><p>
<a class="anchor" name="g6c833c33b6b3bafc65dbcddca59fb7f3"></a><!-- doxytag: member="dbus-pending-call.c::dbus_pending_call_cancel" ref="g6c833c33b6b3bafc65dbcddca59fb7f3" args="(DBusPendingCall *pending)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dbus_pending_call_cancel           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusPendingCall.html">DBusPendingCall</a> *&nbsp;</td>
          <td class="paramname"> <em>pending</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Cancels the pending call, such that any reply or error received will just be ignored. 
<p>
Drops the dbus library's internal reference to the <a class="el" href="structDBusPendingCall.html">DBusPendingCall</a> so will free the call if nobody else is holding a reference. However you usually get a reference from <a class="el" href="group__DBusConnection.html#g8ffe6999b791b68ef959d39144632bfb">dbus_connection_send_with_reply()</a> so probably your app owns a ref also.<p>
Note that canceling a pending call will <em>not</em> simulate a timed-out call; if a call times out, then a timeout error reply is received. If you cancel the call, no reply is received unless the the reply was already received before you canceled.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pending</em>&nbsp;</td><td>the pending call </td></tr>
  </table>
</dl>

<p>
Definition at line <a class="el" href="dbus-pending-call_8c-source.html#l00630">630</a> of file <a class="el" href="dbus-pending-call_8c-source.html">dbus-pending-call.c</a>.
<p>
References <a class="el" href="dbus-connection_8c-source.html#l00980">_dbus_connection_remove_pending_call()</a>, <a class="el" href="dbus-pending-call_8c-source.html#l00068">connection</a>, and <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.
</div>
</div><p>
<a class="anchor" name="gf980ba98fd3f26c4f72b1a0cbb4e0ad1"></a><!-- doxytag: member="dbus-pending-call.c::dbus_pending_call_free_data_slot" ref="gf980ba98fd3f26c4f72b1a0cbb4e0ad1" args="(dbus_int32_t *slot_p)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dbus_pending_call_free_data_slot           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__DBusTypes.html#gb18afa60e9b17b6e322735bda3d863d8">dbus_int32_t</a> *&nbsp;</td>
          <td class="paramname"> <em>slot_p</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Deallocates a global ID for <a class="el" href="structDBusPendingCall.html">DBusPendingCall</a> data slots. 
<p>
<a class="el" href="group__DBusPendingCall.html#g63388ebeb483a895a99ab4aa73bda65e">dbus_pending_call_get_data()</a> and <a class="el" href="group__DBusPendingCall.html#ge748ee2995fe6d69161fe677faaefde2">dbus_pending_call_set_data()</a> may no longer be used with this slot. Existing data stored on existing <a class="el" href="structDBusPendingCall.html">DBusPendingCall</a> objects will be freed when the <a class="el" href="structDBusPendingCall.html">DBusPendingCall</a> is finalized, but may not be retrieved (and may only be replaced if someone else reallocates the slot). When the refcount on the passed-in slot reaches 0, it is set to -1.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>slot_p</em>&nbsp;</td><td>address storing the slot to deallocate </td></tr>
  </table>
</dl>

<p>
Definition at line <a class="el" href="dbus-pending-call_8c-source.html#l00746">746</a> of file <a class="el" href="dbus-pending-call_8c-source.html">dbus-pending-call.c</a>.
<p>
References <a class="el" href="dbus-dataslot_8c-source.html#l00163">_dbus_data_slot_allocator_free()</a>, and <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.
<p>
Referenced by <a class="el" href="dbus-pending-call_8c-source.html#l00091">_dbus_pending_call_new_unlocked()</a>.
</div>
</div><p>
<a class="anchor" name="g13ebf0d5fce7515eba671f14196ea116"></a><!-- doxytag: member="dbus-pending-call.c::dbus_pending_call_get_completed" ref="g13ebf0d5fce7515eba671f14196ea116" args="(DBusPendingCall *pending)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> dbus_pending_call_get_completed           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusPendingCall.html">DBusPendingCall</a> *&nbsp;</td>
          <td class="paramname"> <em>pending</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Checks whether the pending call has received a reply yet, or not. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pending</em>&nbsp;</td><td>the pending call </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a> if a reply has been received </dd></dl>

<p>
Definition at line <a class="el" href="dbus-pending-call_8c-source.html#l00646">646</a> of file <a class="el" href="dbus-pending-call_8c-source.html">dbus-pending-call.c</a>.
<p>
References <a class="el" href="dbus-pending-call_8c-source.html#l00076">completed</a>, <a class="el" href="dbus-pending-call_8c-source.html#l00068">connection</a>, <a class="el" href="dbus-pending-call_8c-source.html#l00051">CONNECTION_LOCK</a>, <a class="el" href="dbus-pending-call_8c-source.html#l00055">CONNECTION_UNLOCK</a>, <a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a>, and <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.
<p>
Referenced by <a class="el" href="dbus-connection_8c-source.html#l02218">_dbus_connection_block_pending_call()</a>.
</div>
</div><p>
<a class="anchor" name="g63388ebeb483a895a99ab4aa73bda65e"></a><!-- doxytag: member="dbus-pending-call.c::dbus_pending_call_get_data" ref="g63388ebeb483a895a99ab4aa73bda65e" args="(DBusPendingCall *pending, dbus_int32_t slot)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void * dbus_pending_call_get_data           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusPendingCall.html">DBusPendingCall</a> *&nbsp;</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#gb18afa60e9b17b6e322735bda3d863d8">dbus_int32_t</a>&nbsp;</td>
          <td class="paramname"> <em>slot</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Retrieves data previously set with <a class="el" href="group__DBusPendingCall.html#ge748ee2995fe6d69161fe677faaefde2">dbus_pending_call_set_data()</a>. 
<p>
The slot must still be allocated (must not have been freed).<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pending</em>&nbsp;</td><td>the pending_call </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>slot</em>&nbsp;</td><td>the slot to get data from </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>the data, or <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a> if not found </dd></dl>

<p>
Definition at line <a class="el" href="dbus-pending-call_8c-source.html#l00794">794</a> of file <a class="el" href="dbus-pending-call_8c-source.html">dbus-pending-call.c</a>.
<p>
References <a class="el" href="dbus-dataslot_8c-source.html#l00296">_dbus_data_slot_list_get()</a>, <a class="el" href="dbus-pending-call_8c-source.html#l00068">connection</a>, <a class="el" href="dbus-pending-call_8c-source.html#l00051">CONNECTION_LOCK</a>, <a class="el" href="dbus-pending-call_8c-source.html#l00055">CONNECTION_UNLOCK</a>, <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, and <a class="el" href="dbus-pending-call_8c-source.html#l00064">slot_list</a>.
<p>
Referenced by <a class="el" href="dbus-pending-call_8c-source.html#l00186">_dbus_pending_call_complete()</a>.
</div>
</div><p>
<a class="anchor" name="g5b10665ce8dfbf23cc2dfb7be1490d4b"></a><!-- doxytag: member="dbus-pending-call.c::dbus_pending_call_ref" ref="g5b10665ce8dfbf23cc2dfb7be1490d4b" args="(DBusPendingCall *pending)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structDBusPendingCall.html">DBusPendingCall</a> * dbus_pending_call_ref           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusPendingCall.html">DBusPendingCall</a> *&nbsp;</td>
          <td class="paramname"> <em>pending</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Increments the reference count on a pending call. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pending</em>&nbsp;</td><td>the pending call object </td></tr>
  </table>
</dl>
<dl compact><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#l00532">532</a> of file <a class="el" href="dbus-pending-call_8c-source.html">dbus-pending-call.c</a>.
<p>
References <a class="el" href="dbus-internals_8h-source.html#l00109">_dbus_assert</a>, <a class="el" href="dbus-sysdeps-unix_8c-source.html#l01769">_dbus_atomic_inc()</a>, <a class="el" href="dbus-pending-call_8c-source.html#l00068">connection</a>, <a class="el" href="dbus-pending-call_8c-source.html#l00051">CONNECTION_LOCK</a>, <a class="el" href="dbus-pending-call_8c-source.html#l00055">CONNECTION_UNLOCK</a>, <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, <a class="el" href="dbus-pending-call_8c-source.html#l00062">refcount</a>, and <a class="el" href="dbus-sysdeps_8h-source.html#l00198">DBusAtomic::value</a>.
<p>
Referenced by <a class="el" href="dbus-connection_8c-source.html#l02218">_dbus_connection_block_pending_call()</a>.
</div>
</div><p>
<a class="anchor" name="ge748ee2995fe6d69161fe677faaefde2"></a><!-- doxytag: member="dbus-pending-call.c::dbus_pending_call_set_data" ref="ge748ee2995fe6d69161fe677faaefde2" 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#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> dbus_pending_call_set_data           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusPendingCall.html">DBusPendingCall</a> *&nbsp;</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#gb18afa60e9b17b6e322735bda3d863d8">dbus_int32_t</a>&nbsp;</td>
          <td class="paramname"> <em>slot</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</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#g8792ec2b2b8626ca28022faf51ec415a">DBusFreeFunction</a>&nbsp;</td>
          <td class="paramname"> <em>free_data_func</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Stores a pointer on a <a class="el" href="structDBusPendingCall.html">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>
The slot number must have been allocated with <a class="el" href="group__DBusPendingCall.html#g58770c3dacc0a7640bcd56522dc2ebf1">dbus_pending_call_allocate_data_slot()</a>.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pending</em>&nbsp;</td><td>the pending_call </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>slot</em>&nbsp;</td><td>the slot number </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>the data to store </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>free_data_func</em>&nbsp;</td><td>finalizer function for the data </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">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#l00768">768</a> of file <a class="el" href="dbus-pending-call_8c-source.html">dbus-pending-call.c</a>.
<p>
References <a class="el" href="dbus-pending-call_8c-source.html#l00477">_dbus_pending_call_set_data_unlocked()</a>, <a class="el" href="dbus-pending-call_8c-source.html#l00068">connection</a>, <a class="el" href="dbus-pending-call_8c-source.html#l00051">CONNECTION_LOCK</a>, <a class="el" href="dbus-pending-call_8c-source.html#l00055">CONNECTION_UNLOCK</a>, <a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a>, and <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.
</div>
</div><p>
<a class="anchor" name="g7c590eb7b782a4aa38390fb5564e7d1c"></a><!-- doxytag: member="dbus-pending-call.c::dbus_pending_call_set_notify" ref="g7c590eb7b782a4aa38390fb5564e7d1c" args="(DBusPendingCall *pending, DBusPendingCallNotifyFunction function, void *user_data, DBusFreeFunction free_user_data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> dbus_pending_call_set_notify           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusPendingCall.html">DBusPendingCall</a> *&nbsp;</td>
          <td class="paramname"> <em>pending</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__DBusConnection.html#g7a3483add4000e5498cd46f64d2b7c9a">DBusPendingCallNotifyFunction</a>&nbsp;</td>
          <td class="paramname"> <em>function</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>user_data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__DBusMemory.html#g8792ec2b2b8626ca28022faf51ec415a">DBusFreeFunction</a>&nbsp;</td>
          <td class="paramname"> <em>free_user_data</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Sets a notification function to be called when the reply is received or the pending call times out. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pending</em>&nbsp;</td><td>the pending call </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>function</em>&nbsp;</td><td>notifier function </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>user_data</em>&nbsp;</td><td>data to pass to notifier function </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>free_user_data</em>&nbsp;</td><td>function to free the user data </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a> if not enough memory </dd></dl>

<p>
Definition at line <a class="el" href="dbus-pending-call_8c-source.html#l00593">593</a> of file <a class="el" href="dbus-pending-call_8c-source.html">dbus-pending-call.c</a>.
<p>
References <a class="el" href="dbus-pending-call_8c-source.html#l00477">_dbus_pending_call_set_data_unlocked()</a>, <a class="el" href="dbus-pending-call_8c-source.html#l00068">connection</a>, <a class="el" href="dbus-pending-call_8c-source.html#l00051">CONNECTION_LOCK</a>, <a class="el" href="dbus-pending-call_8c-source.html#l00055">CONNECTION_UNLOCK</a>, <a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a>, <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, and <a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>.
</div>
</div><p>
<a class="anchor" name="gc34424aae7350bc37ef65402352057ff"></a><!-- doxytag: member="dbus-pending-call.c::dbus_pending_call_steal_reply" ref="gc34424aae7350bc37ef65402352057ff" args="(DBusPendingCall *pending)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structDBusMessage.html">DBusMessage</a> * dbus_pending_call_steal_reply           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusPendingCall.html">DBusPendingCall</a> *&nbsp;</td>
          <td class="paramname"> <em>pending</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Gets the reply, or returns <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a> if none has been received yet. 
<p>
Ownership of the reply message passes to the caller. This function can only be called once per pending call, since the reply message is tranferred to the caller.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pending</em>&nbsp;</td><td>the pending call </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>the reply message or <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>. </dd></dl>

<p>
Definition at line <a class="el" href="dbus-pending-call_8c-source.html#l00669">669</a> of file <a class="el" href="dbus-pending-call_8c-source.html">dbus-pending-call.c</a>.
<p>
References <a class="el" href="dbus-pending-call_8c-source.html#l00076">completed</a>, <a class="el" href="dbus-pending-call_8c-source.html#l00068">connection</a>, <a class="el" href="dbus-pending-call_8c-source.html#l00051">CONNECTION_LOCK</a>, <a class="el" href="dbus-pending-call_8c-source.html#l00055">CONNECTION_UNLOCK</a>, <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, and <a class="el" href="dbus-pending-call_8c-source.html#l00069">reply</a>.
<p>
Referenced by <a class="el" href="dbus-connection_8c-source.html#l03243">dbus_connection_send_with_reply_and_block()</a>.
</div>
</div><p>
<a class="anchor" name="gf4f5bc83de558f8f26687ccb761e6d61"></a><!-- doxytag: member="dbus-pending-call.c::dbus_pending_call_unref" ref="gf4f5bc83de558f8f26687ccb761e6d61" args="(DBusPendingCall *pending)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dbus_pending_call_unref           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusPendingCall.html">DBusPendingCall</a> *&nbsp;</td>
          <td class="paramname"> <em>pending</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Decrements the reference count on a pending call, freeing it if the count reaches 0. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pending</em>&nbsp;</td><td>the pending call object </td></tr>
  </table>
</dl>

<p>
Definition at line <a class="el" href="dbus-pending-call_8c-source.html#l00559">559</a> of file <a class="el" href="dbus-pending-call_8c-source.html">dbus-pending-call.c</a>.
<p>
References <a class="el" href="dbus-internals_8h-source.html#l00109">_dbus_assert</a>, <a class="el" href="dbus-sysdeps-unix_8c-source.html#l01792">_dbus_atomic_dec()</a>, <a class="el" href="dbus-pending-call_8c-source.html#l00068">connection</a>, <a class="el" href="dbus-pending-call_8c-source.html#l00051">CONNECTION_LOCK</a>, <a class="el" href="dbus-pending-call_8c-source.html#l00055">CONNECTION_UNLOCK</a>, <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, <a class="el" href="dbus-pending-call_8c-source.html#l00062">refcount</a>, and <a class="el" href="dbus-sysdeps_8h-source.html#l00198">DBusAtomic::value</a>.
<p>
Referenced by <a class="el" href="dbus-connection_8c-source.html#l02218">_dbus_connection_block_pending_call()</a>, <a class="el" href="dbus-connection_8c-source.html#l04220">dbus_connection_dispatch()</a>, <a class="el" href="dbus-connection_8c-source.html#l03122">dbus_connection_send_with_reply()</a>, and <a class="el" href="dbus-connection_8c-source.html#l03243">dbus_connection_send_with_reply_and_block()</a>.
</div>
</div><p>
<hr size="1"><address style="align: right;"><small>Generated on Mon Dec 14 22:26:14 2009 for D-Bus by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
</body>
</html>

Anon7 - 2021