Sophie

Sophie

distrib > Mandriva > 2007.0 > x86_64 > media > main-release > by-pkgid > 926d2d1e3111287cee1b0a4fad4fb4f6 > files > 169

lib64dbus-1_3-devel-0.92-6mdv2007.0.x86_64.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Data slots</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.2.15 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="modules.html">Modules</a> &nbsp; <a class="qindex" href="annotated.html">Data Structures</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Data Fields</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
<hr><h1>Data slots<br>
<small>
[<a class="el" href="group__DBusInternals.html">D-BUS internal implementation details</a>]</small>
</h1>Storing data by ID. 
<a href="#_details">More...</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td colspan=2><br><h2>Functions</h2></td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="group__DBusTypes.html#a2">dbus_bool_t</a>&nbsp;</td><td valign=bottom><a class="el" href="group__DBusDataSlot.html#a0">_dbus_data_slot_allocator_init</a> (<a class="el" href="structDBusDataSlotAllocator.html">DBusDataSlotAllocator</a> *allocator)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Initializes a data slot allocator object, used to assign integer IDs for data slots.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="group__DBusTypes.html#a2">dbus_bool_t</a>&nbsp;</td><td valign=bottom><a class="el" href="group__DBusDataSlot.html#a1">_dbus_data_slot_allocator_alloc</a> (<a class="el" href="structDBusDataSlotAllocator.html">DBusDataSlotAllocator</a> *allocator, DBusMutex *mutex, <a class="el" href="group__DBusTypes.html#a4">dbus_int32_t</a> *slot_id_p)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Allocates an integer ID to be used for storing data in a DBusDataSlotList.</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="group__DBusDataSlot.html#a2">_dbus_data_slot_allocator_free</a> (<a class="el" href="structDBusDataSlotAllocator.html">DBusDataSlotAllocator</a> *allocator, <a class="el" href="group__DBusTypes.html#a4">dbus_int32_t</a> *slot_id_p)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Deallocates an ID previously allocated with <a class="el" href="group__DBusDataSlot.html#a1">_dbus_data_slot_allocator_alloc</a>().</em> <a href="#a2">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="group__DBusDataSlot.html#a3">_dbus_data_slot_list_init</a> (<a class="el" href="structDBusDataSlotList.html">DBusDataSlotList</a> *list)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Initializes a slot list.</em> <a href="#a3">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="group__DBusTypes.html#a2">dbus_bool_t</a>&nbsp;</td><td valign=bottom><a class="el" href="group__DBusDataSlot.html#a4">_dbus_data_slot_list_set</a> (<a class="el" href="structDBusDataSlotAllocator.html">DBusDataSlotAllocator</a> *allocator, <a class="el" href="structDBusDataSlotList.html">DBusDataSlotList</a> *list, int slot, void *<a class="el" href="structDBusDataSlot.html#m0">data</a>, <a class="el" href="group__DBusMemory.html#a8">DBusFreeFunction</a> <a class="el" href="structDBusDataSlot.html#m1">free_data_func</a>, <a class="el" href="group__DBusMemory.html#a8">DBusFreeFunction</a> *old_free_func, void **old_data)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Stores a pointer in the data slot list, along with an optional function to be used for freeing the data when the data is set again, or when the slot list is finalized.</em> <a href="#a4">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>void *&nbsp;</td><td valign=bottom><a class="el" href="group__DBusDataSlot.html#a5">_dbus_data_slot_list_get</a> (<a class="el" href="structDBusDataSlotAllocator.html">DBusDataSlotAllocator</a> *allocator, <a class="el" href="structDBusDataSlotList.html">DBusDataSlotList</a> *list, int slot)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Retrieves data previously set with _dbus_data_slot_list_set_data().</em> <a href="#a5">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="group__DBusDataSlot.html#a6">_dbus_data_slot_list_free</a> (<a class="el" href="structDBusDataSlotList.html">DBusDataSlotList</a> *list)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Frees the data slot list and all data slots contained in it, calling application-provided free functions if they exist.</em> <a href="#a6">More...</a><em></em></font><br><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Storing data by ID.
<p>

<p>
 Types and functions related to storing data by an allocated ID. This is used for <a class="el" href="group__DBusConnection.html#a50">dbus_connection_set_data</a>(), <a class="el" href="group__DBusServer.html#a13">dbus_server_set_data</a>(), etc. <hr><h2>Function Documentation</h2>
<a name="a1" doxytag="dbus-dataslot.c::_dbus_data_slot_allocator_alloc"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="group__DBusTypes.html#a2">dbus_bool_t</a> _dbus_data_slot_allocator_alloc </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="structDBusDataSlotAllocator.html">DBusDataSlotAllocator</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>allocator</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>DBusMutex *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>mutex</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="group__DBusTypes.html#a4">dbus_int32_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>slot_id_p</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Allocates an integer ID to be used for storing data in a DBusDataSlotList.
<p>
If the value at *slot_id_p is not -1, this function just increments the refcount for the existing slot ID. If the value is -1, a new slot ID is allocated and stored at *slot_id_p.<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>allocator</em>&nbsp;</td><td>
the allocator </td></tr>
<tr><td valign=top><em>mutex</em>&nbsp;</td><td>
the lock for this allocator </td></tr>
<tr><td valign=top><em>slot_id_p</em>&nbsp;</td><td>
address to fill with the slot ID </td></tr>
</table>
</dl><dl compact><dt><b>
Returns: </b><dd>
<a class="el" href="group__DBusMacros.html#a2">TRUE</a> on success </dl>
<p>
Definition at line <a class="el" href="dbus-dataslot_8c-source.html#l00067">67</a> of file <a class="el" href="dbus-dataslot_8c-source.html">dbus-dataslot.c</a>.
<p>
References <a class="el" href="dbus-dataslot_8h-source.html#l00057">DBusDataSlotAllocator::allocated_slots</a>, <a class="el" href="dbus-dataslot_8h-source.html#l00060">DBusDataSlotAllocator::lock</a>, <a class="el" href="dbus-dataslot_8h-source.html#l00058">DBusDataSlotAllocator::n_allocated_slots</a>, <a class="el" href="dbus-dataslot_8h-source.html#l00059">DBusDataSlotAllocator::n_used_slots</a>, <a class="el" href="dbus-dataslot_8h-source.html#l00049">DBusAllocatedSlot::refcount</a>, and <a class="el" href="dbus-dataslot_8h-source.html#l00048">DBusAllocatedSlot::slot_id</a>.    </td>
  </tr>
</table>
<a name="a2" doxytag="dbus-dataslot.c::_dbus_data_slot_allocator_free"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void _dbus_data_slot_allocator_free </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="structDBusDataSlotAllocator.html">DBusDataSlotAllocator</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>allocator</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="group__DBusTypes.html#a4">dbus_int32_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>slot_id_p</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Deallocates an ID previously allocated with <a class="el" href="group__DBusDataSlot.html#a1">_dbus_data_slot_allocator_alloc</a>().
<p>
Existing data stored on existing DBusDataList objects with this ID will be freed when the data list is finalized, but may not be retrieved (and may only be replaced if someone else reallocates the slot). The slot value is reset to -1 if this is the last unref.<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>allocator</em>&nbsp;</td><td>
the allocator </td></tr>
<tr><td valign=top><em>slot_id_p</em>&nbsp;</td><td>
address where we store the slot </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="dbus-dataslot_8c-source.html#l00161">161</a> of file <a class="el" href="dbus-dataslot_8c-source.html">dbus-dataslot.c</a>.
<p>
References <a class="el" href="dbus-dataslot_8h-source.html#l00057">DBusDataSlotAllocator::allocated_slots</a>, <a class="el" href="dbus-dataslot_8h-source.html#l00060">DBusDataSlotAllocator::lock</a>, <a class="el" href="dbus-dataslot_8h-source.html#l00058">DBusDataSlotAllocator::n_allocated_slots</a>, <a class="el" href="dbus-dataslot_8h-source.html#l00059">DBusDataSlotAllocator::n_used_slots</a>, <a class="el" href="dbus-dataslot_8h-source.html#l00049">DBusAllocatedSlot::refcount</a>, and <a class="el" href="dbus-dataslot_8h-source.html#l00048">DBusAllocatedSlot::slot_id</a>.    </td>
  </tr>
</table>
<a name="a0" doxytag="dbus-dataslot.c::_dbus_data_slot_allocator_init"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="group__DBusTypes.html#a2">dbus_bool_t</a> _dbus_data_slot_allocator_init </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="structDBusDataSlotAllocator.html">DBusDataSlotAllocator</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>allocator</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Initializes a data slot allocator object, used to assign integer IDs for data slots.
<p>
<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>allocator</em>&nbsp;</td><td>
the allocator to initialize </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="dbus-dataslot_8c-source.html#l00044">44</a> of file <a class="el" href="dbus-dataslot_8c-source.html">dbus-dataslot.c</a>.
<p>
References <a class="el" href="dbus-dataslot_8h-source.html#l00057">DBusDataSlotAllocator::allocated_slots</a>, <a class="el" href="dbus-dataslot_8h-source.html#l00060">DBusDataSlotAllocator::lock</a>, <a class="el" href="dbus-dataslot_8h-source.html#l00058">DBusDataSlotAllocator::n_allocated_slots</a>, and <a class="el" href="dbus-dataslot_8h-source.html#l00059">DBusDataSlotAllocator::n_used_slots</a>.    </td>
  </tr>
</table>
<a name="a6" doxytag="dbus-dataslot.c::_dbus_data_slot_list_free"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void _dbus_data_slot_list_free </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="structDBusDataSlotList.html">DBusDataSlotList</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>list</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Frees the data slot list and all data slots contained in it, calling application-provided free functions if they exist.
<p>
<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>list</em>&nbsp;</td><td>
the list to free </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="dbus-dataslot_8c-source.html#l00326">326</a> of file <a class="el" href="dbus-dataslot_8c-source.html">dbus-dataslot.c</a>.
<p>
References <a class="el" href="dbus-dataslot_8h-source.html#l00038">data</a>, <a class="el" href="dbus-dataslot_8h-source.html#l00039">free_data_func</a>, <a class="el" href="dbus-dataslot_8h-source.html#l00070">DBusDataSlotList::n_slots</a>, and <a class="el" href="dbus-dataslot_8h-source.html#l00069">DBusDataSlotList::slots</a>.    </td>
  </tr>
</table>
<a name="a5" doxytag="dbus-dataslot.c::_dbus_data_slot_list_get"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void* _dbus_data_slot_list_get </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="structDBusDataSlotAllocator.html">DBusDataSlotAllocator</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>allocator</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="structDBusDataSlotList.html">DBusDataSlotList</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>list</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>int&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>slot</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Retrieves data previously set with _dbus_data_slot_list_set_data().
<p>
The slot must still be allocated (must not have been freed).<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>allocator</em>&nbsp;</td><td>
the allocator slot was allocated from </td></tr>
<tr><td valign=top><em>list</em>&nbsp;</td><td>
the data slot list </td></tr>
<tr><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><dd>
the data, or <a class="el" href="group__DBusMacros.html#a4">NULL</a> if not found </dl>
<p>
Definition at line <a class="el" href="dbus-dataslot_8c-source.html#l00295">295</a> of file <a class="el" href="dbus-dataslot_8c-source.html">dbus-dataslot.c</a>.
<p>
References <a class="el" href="dbus-dataslot_8h-source.html#l00057">DBusDataSlotAllocator::allocated_slots</a>, <a class="el" href="dbus-dataslot_8h-source.html#l00038">data</a>, <a class="el" href="dbus-dataslot_8h-source.html#l00060">DBusDataSlotAllocator::lock</a>, <a class="el" href="dbus-dataslot_8h-source.html#l00070">DBusDataSlotList::n_slots</a>, <a class="el" href="dbus-dataslot_8h-source.html#l00048">DBusAllocatedSlot::slot_id</a>, and <a class="el" href="dbus-dataslot_8h-source.html#l00069">DBusDataSlotList::slots</a>.    </td>
  </tr>
</table>
<a name="a3" doxytag="dbus-dataslot.c::_dbus_data_slot_list_init"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void _dbus_data_slot_list_init </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="structDBusDataSlotList.html">DBusDataSlotList</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>list</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Initializes a slot list.
<p>
<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>list</em>&nbsp;</td><td>
the list to initialize. </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="dbus-dataslot_8c-source.html#l00209">209</a> of file <a class="el" href="dbus-dataslot_8c-source.html">dbus-dataslot.c</a>.
<p>
References <a class="el" href="dbus-dataslot_8h-source.html#l00070">DBusDataSlotList::n_slots</a>, and <a class="el" href="dbus-dataslot_8h-source.html#l00069">DBusDataSlotList::slots</a>.    </td>
  </tr>
</table>
<a name="a4" doxytag="dbus-dataslot.c::_dbus_data_slot_list_set"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="group__DBusTypes.html#a2">dbus_bool_t</a> _dbus_data_slot_list_set </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="structDBusDataSlotAllocator.html">DBusDataSlotAllocator</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>allocator</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="structDBusDataSlotList.html">DBusDataSlotList</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>list</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>int&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>slot</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>void *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>data</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="group__DBusMemory.html#a8">DBusFreeFunction</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>free_data_func</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="group__DBusMemory.html#a8">DBusFreeFunction</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>old_free_func</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>void **&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>old_data</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Stores a pointer in the data slot list, along with an optional function to be used for freeing the data when the data is set again, or when the slot list is finalized.
<p>
The slot number must have been allocated with <a class="el" href="group__DBusDataSlot.html#a1">_dbus_data_slot_allocator_alloc</a>() for the same allocator passed in here. The same allocator has to be used with the slot list every time.<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>allocator</em>&nbsp;</td><td>
the allocator to use </td></tr>
<tr><td valign=top><em>list</em>&nbsp;</td><td>
the data slot list </td></tr>
<tr><td valign=top><em>slot</em>&nbsp;</td><td>
the slot number </td></tr>
<tr><td valign=top><em>data</em>&nbsp;</td><td>
the data to store </td></tr>
<tr><td valign=top><em>free_data_func</em>&nbsp;</td><td>
finalizer function for the data </td></tr>
<tr><td valign=top><em>old_free_func</em>&nbsp;</td><td>
free function for any previously-existing data </td></tr>
<tr><td valign=top><em>old_data</em>&nbsp;</td><td>
previously-existing data, should be freed with old_free_func </td></tr>
</table>
</dl><dl compact><dt><b>
Returns: </b><dd>
<a class="el" href="group__DBusMacros.html#a2">TRUE</a> if there was enough memory to store the data </dl>
<p>
Definition at line <a class="el" href="dbus-dataslot_8c-source.html#l00233">233</a> of file <a class="el" href="dbus-dataslot_8c-source.html">dbus-dataslot.c</a>.
<p>
References <a class="el" href="dbus-dataslot_8h-source.html#l00057">DBusDataSlotAllocator::allocated_slots</a>, <a class="el" href="dbus-dataslot_8h-source.html#l00038">data</a>, <a class="el" href="dbus-dataslot_8h-source.html#l00039">free_data_func</a>, <a class="el" href="dbus-dataslot_8h-source.html#l00060">DBusDataSlotAllocator::lock</a>, <a class="el" href="dbus-dataslot_8h-source.html#l00070">DBusDataSlotList::n_slots</a>, <a class="el" href="dbus-dataslot_8h-source.html#l00048">DBusAllocatedSlot::slot_id</a>, and <a class="el" href="dbus-dataslot_8h-source.html#l00069">DBusDataSlotList::slots</a>.    </td>
  </tr>
</table>
<hr><address align="right"><small>Generated on Wed Jun 9 05:01:27 2004 for D-BUS by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 
width=110 height=53></a>1.2.15 </small></address>
</body>
</html>