Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > c7b0264b57d337345c3d603e6bc38801 > files > 37

libmcs-devel-0.7.2-3.fc14.i686.rpm

<!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"/>
<title>libmcs: mcs_backend_t Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.1 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-attribs">Public Attributes</a>  </div>
  <div class="headertitle">
<h1>mcs_backend_t Struct Reference</h1>  </div>
</div>
<div class="contents">
<!-- doxytag: class="mcs_backend_t" -->
<p>Contains the vtable and some references for an mcs storage backend.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="mcs_8h_source.html">mcs.h</a>&gt;</code></p>

<p><a href="structmcs__backend__t-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmcs__backend__t.html#a7778f8e9bb1688e9c3cb24bf9a8d6e6d">handle</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmcs__backend__t.html#a23cd2d6475a383697db9103e3bf222fc">name</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The unique name identifying the backend.  <a href="#a23cd2d6475a383697db9103e3bf222fc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmcs__handle__.html">mcs_handle_t</a> *(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmcs__backend__t.html#ae7deb4047755231ce1e213d65b408b6d">mcs_new</a> )(char *domain)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new mcs.handle object.  <a href="#ae7deb4047755231ce1e213d65b408b6d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmcs__backend__t.html#a1db5359870ea07f8f8486df8494fc522">mcs_destroy</a> )(<a class="el" href="structmcs__handle__.html">mcs_handle_t</a> *<a class="el" href="structmcs__backend__t.html#a7778f8e9bb1688e9c3cb24bf9a8d6e6d">handle</a>)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Implementation-specific destructor function.  <a href="#a1db5359870ea07f8f8486df8494fc522"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="mcs_8h.html#a034dea971ea62f02037190549e0fb3a6">mcs_response_t</a>(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmcs__backend__t.html#ad7335bdd2c669a182a7a021f4109f0e5">mcs_get_string</a> )(<a class="el" href="structmcs__handle__.html">mcs_handle_t</a> *<a class="el" href="structmcs__backend__t.html#a7778f8e9bb1688e9c3cb24bf9a8d6e6d">handle</a>, const char *section, const char *key, char **value)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves a string from the configuration backend.  <a href="#ad7335bdd2c669a182a7a021f4109f0e5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="mcs_8h.html#a034dea971ea62f02037190549e0fb3a6">mcs_response_t</a>(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmcs__backend__t.html#a9711a53364254a79684a70e9f7139a7b">mcs_get_int</a> )(<a class="el" href="structmcs__handle__.html">mcs_handle_t</a> *<a class="el" href="structmcs__backend__t.html#a7778f8e9bb1688e9c3cb24bf9a8d6e6d">handle</a>, const char *section, const char *key, int *value)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves an integer from the configuration backend.  <a href="#a9711a53364254a79684a70e9f7139a7b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="mcs_8h.html#a034dea971ea62f02037190549e0fb3a6">mcs_response_t</a>(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmcs__backend__t.html#a6e2de65f59cc94d2802655be10652198">mcs_get_bool</a> )(<a class="el" href="structmcs__handle__.html">mcs_handle_t</a> *<a class="el" href="structmcs__backend__t.html#a7778f8e9bb1688e9c3cb24bf9a8d6e6d">handle</a>, const char *section, const char *key, int *value)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves a boolean value from the configuration backend.  <a href="#a6e2de65f59cc94d2802655be10652198"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="mcs_8h.html#a034dea971ea62f02037190549e0fb3a6">mcs_response_t</a>(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmcs__backend__t.html#acd909cb863df8d8fbbb6b5edcef79a62">mcs_get_float</a> )(<a class="el" href="structmcs__handle__.html">mcs_handle_t</a> *<a class="el" href="structmcs__backend__t.html#a7778f8e9bb1688e9c3cb24bf9a8d6e6d">handle</a>, const char *section, const char *key, float *value)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves a float value from the configuration backend.  <a href="#acd909cb863df8d8fbbb6b5edcef79a62"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="mcs_8h.html#a034dea971ea62f02037190549e0fb3a6">mcs_response_t</a>(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmcs__backend__t.html#a98df3d3601d2f1ff16948ad98934113c">mcs_get_double</a> )(<a class="el" href="structmcs__handle__.html">mcs_handle_t</a> *<a class="el" href="structmcs__backend__t.html#a7778f8e9bb1688e9c3cb24bf9a8d6e6d">handle</a>, const char *section, const char *key, double *value)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves a double-precision float value from the configuration backend.  <a href="#a98df3d3601d2f1ff16948ad98934113c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="mcs_8h.html#a034dea971ea62f02037190549e0fb3a6">mcs_response_t</a>(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmcs__backend__t.html#ac3fcd82ad8ccd66d0cb1021db59dc32f">mcs_set_string</a> )(<a class="el" href="structmcs__handle__.html">mcs_handle_t</a> *<a class="el" href="structmcs__backend__t.html#a7778f8e9bb1688e9c3cb24bf9a8d6e6d">handle</a>, const char *section, const char *key, const char *value)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets a string value in the configuration backend.  <a href="#ac3fcd82ad8ccd66d0cb1021db59dc32f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="mcs_8h.html#a034dea971ea62f02037190549e0fb3a6">mcs_response_t</a>(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmcs__backend__t.html#a18814e94a9b97b2ee53526f8bb1f7079">mcs_set_int</a> )(<a class="el" href="structmcs__handle__.html">mcs_handle_t</a> *<a class="el" href="structmcs__backend__t.html#a7778f8e9bb1688e9c3cb24bf9a8d6e6d">handle</a>, const char *section, const char *key, int value)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets an integer value in the configuration backend.  <a href="#a18814e94a9b97b2ee53526f8bb1f7079"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="mcs_8h.html#a034dea971ea62f02037190549e0fb3a6">mcs_response_t</a>(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmcs__backend__t.html#a35191a9e82dc4ed8df72b02c1b57f5ad">mcs_set_bool</a> )(<a class="el" href="structmcs__handle__.html">mcs_handle_t</a> *<a class="el" href="structmcs__backend__t.html#a7778f8e9bb1688e9c3cb24bf9a8d6e6d">handle</a>, const char *section, const char *key, int value)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets a boolean value in the configuration backend.  <a href="#a35191a9e82dc4ed8df72b02c1b57f5ad"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="mcs_8h.html#a034dea971ea62f02037190549e0fb3a6">mcs_response_t</a>(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmcs__backend__t.html#ade1a492dccc015b20a752f4f4f898a47">mcs_set_float</a> )(<a class="el" href="structmcs__handle__.html">mcs_handle_t</a> *<a class="el" href="structmcs__backend__t.html#a7778f8e9bb1688e9c3cb24bf9a8d6e6d">handle</a>, const char *section, const char *key, float value)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets a floating point value in the configuration backend.  <a href="#ade1a492dccc015b20a752f4f4f898a47"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="mcs_8h.html#a034dea971ea62f02037190549e0fb3a6">mcs_response_t</a>(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmcs__backend__t.html#a2cd512e5c2826c7fd68bd66f11b95e60">mcs_set_double</a> )(<a class="el" href="structmcs__handle__.html">mcs_handle_t</a> *<a class="el" href="structmcs__backend__t.html#a7778f8e9bb1688e9c3cb24bf9a8d6e6d">handle</a>, const char *section, const char *key, double value)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets a double-precision floating point value in the configuration backend.  <a href="#a2cd512e5c2826c7fd68bd66f11b95e60"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="mcs_8h.html#a034dea971ea62f02037190549e0fb3a6">mcs_response_t</a>(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmcs__backend__t.html#aa4fe47114a4e144a9a6c94af57cb5790">mcs_unset_key</a> )(<a class="el" href="structmcs__handle__.html">mcs_handle_t</a> *<a class="el" href="structmcs__backend__t.html#a7778f8e9bb1688e9c3cb24bf9a8d6e6d">handle</a>, const char *section, const char *key)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes a value from the configuration backend.  <a href="#aa4fe47114a4e144a9a6c94af57cb5790"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">mowgli_queue_t *(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmcs__backend__t.html#ac31ebca54d93365385e7ea0493f77e31">mcs_get_keys</a> )(<a class="el" href="structmcs__handle__.html">mcs_handle_t</a> *<a class="el" href="structmcs__backend__t.html#a7778f8e9bb1688e9c3cb24bf9a8d6e6d">handle</a>, const char *section)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a deque of keys associated with a section.  <a href="#ac31ebca54d93365385e7ea0493f77e31"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">mowgli_queue_t *(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmcs__backend__t.html#a81fd21b0c9cad549cb8db775ab1b35ce">mcs_get_sections</a> )(<a class="el" href="structmcs__handle__.html">mcs_handle_t</a> *<a class="el" href="structmcs__backend__t.html#a7778f8e9bb1688e9c3cb24bf9a8d6e6d">handle</a>)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a deque of sections associated with the config backend.  <a href="#a81fd21b0c9cad549cb8db775ab1b35ce"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Contains the vtable and some references for an mcs storage backend. </p>
<p>Storage backends are provided by modules which are loaded during <a class="el" href="mcs_8h.html#aae470a39aad35aed9bedf87c1304eebe" title="Initialises the mcs library classes and loads the backend plugins.">mcs_init()</a>.</p>
<p>Your typical storage backend will include at least these functions, although the backend interface may and likely will change in mcs2. That is being considered for later, though, so you should write backends compliant to this API for now.</p>
<p>For some example backends, look in the MCS source. </p>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="a7778f8e9bb1688e9c3cb24bf9a8d6e6d"></a><!-- doxytag: member="mcs_backend_t::handle" ref="a7778f8e9bb1688e9c3cb24bf9a8d6e6d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* <a class="el" href="structmcs__backend__t.html#a7778f8e9bb1688e9c3cb24bf9a8d6e6d">mcs_backend_t::handle</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>dlopen(3) handle, filled in by mcs. </p>

<p>Referenced by <a class="el" href="mcs__loader_8c.html#a223664cda3164f0bf412626bc810dddc">mcs_load_plugins()</a>, and <a class="el" href="mcs__loader_8c.html#a0724e2e153bff870a386b3bd215d1831">mcs_unload_plugins()</a>.</p>

</div>
</div>
<a class="anchor" id="a1db5359870ea07f8f8486df8494fc522"></a><!-- doxytag: member="mcs_backend_t::mcs_destroy" ref="a1db5359870ea07f8f8486df8494fc522" args=")(mcs_handle_t *handle)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* <a class="el" href="structmcs__backend__t.html#a1db5359870ea07f8f8486df8494fc522">mcs_backend_t::mcs_destroy</a>)(<a class="el" href="structmcs__handle__.html">mcs_handle_t</a> *<a class="el" href="structmcs__backend__t.html#a7778f8e9bb1688e9c3cb24bf9a8d6e6d">handle</a>)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Implementation-specific destructor function. </p>
<p>This is the destructor for your mcs.handle sub-class. Base mowgli.object work has already been done by the time this is called, therefore mowgli.object work should be avoided here.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>handle</em>&nbsp;</td><td>A mcs.handle object to deinitialise. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a6e2de65f59cc94d2802655be10652198"></a><!-- doxytag: member="mcs_backend_t::mcs_get_bool" ref="a6e2de65f59cc94d2802655be10652198" args=")(mcs_handle_t *handle, const char *section, const char *key, int *value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="mcs_8h.html#a034dea971ea62f02037190549e0fb3a6">mcs_response_t</a>(* <a class="el" href="structmcs__backend__t.html#a6e2de65f59cc94d2802655be10652198">mcs_backend_t::mcs_get_bool</a>)(<a class="el" href="structmcs__handle__.html">mcs_handle_t</a> *<a class="el" href="structmcs__backend__t.html#a7778f8e9bb1688e9c3cb24bf9a8d6e6d">handle</a>, const char *section, const char *key, int *value)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Retrieves a boolean value from the configuration backend. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>handle</em>&nbsp;</td><td>A mcs.handle object to search for the key in. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>section</em>&nbsp;</td><td>A section name to look for the key in. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The name of the key to look up. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>A pointer to the memory location to put the value in. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a98df3d3601d2f1ff16948ad98934113c"></a><!-- doxytag: member="mcs_backend_t::mcs_get_double" ref="a98df3d3601d2f1ff16948ad98934113c" args=")(mcs_handle_t *handle, const char *section, const char *key, double *value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="mcs_8h.html#a034dea971ea62f02037190549e0fb3a6">mcs_response_t</a>(* <a class="el" href="structmcs__backend__t.html#a98df3d3601d2f1ff16948ad98934113c">mcs_backend_t::mcs_get_double</a>)(<a class="el" href="structmcs__handle__.html">mcs_handle_t</a> *<a class="el" href="structmcs__backend__t.html#a7778f8e9bb1688e9c3cb24bf9a8d6e6d">handle</a>, const char *section, const char *key, double *value)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Retrieves a double-precision float value from the configuration backend. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>handle</em>&nbsp;</td><td>A mcs.handle object to search for the key in. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>section</em>&nbsp;</td><td>A section name to look for the key in. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The name of the key to look up. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>A pointer to the memory location to put the value in. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="acd909cb863df8d8fbbb6b5edcef79a62"></a><!-- doxytag: member="mcs_backend_t::mcs_get_float" ref="acd909cb863df8d8fbbb6b5edcef79a62" args=")(mcs_handle_t *handle, const char *section, const char *key, float *value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="mcs_8h.html#a034dea971ea62f02037190549e0fb3a6">mcs_response_t</a>(* <a class="el" href="structmcs__backend__t.html#acd909cb863df8d8fbbb6b5edcef79a62">mcs_backend_t::mcs_get_float</a>)(<a class="el" href="structmcs__handle__.html">mcs_handle_t</a> *<a class="el" href="structmcs__backend__t.html#a7778f8e9bb1688e9c3cb24bf9a8d6e6d">handle</a>, const char *section, const char *key, float *value)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Retrieves a float value from the configuration backend. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>handle</em>&nbsp;</td><td>A mcs.handle object to search for the key in. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>section</em>&nbsp;</td><td>A section name to look for the key in. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The name of the key to look up. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>A pointer to the memory location to put the value in. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a9711a53364254a79684a70e9f7139a7b"></a><!-- doxytag: member="mcs_backend_t::mcs_get_int" ref="a9711a53364254a79684a70e9f7139a7b" args=")(mcs_handle_t *handle, const char *section, const char *key, int *value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="mcs_8h.html#a034dea971ea62f02037190549e0fb3a6">mcs_response_t</a>(* <a class="el" href="structmcs__backend__t.html#a9711a53364254a79684a70e9f7139a7b">mcs_backend_t::mcs_get_int</a>)(<a class="el" href="structmcs__handle__.html">mcs_handle_t</a> *<a class="el" href="structmcs__backend__t.html#a7778f8e9bb1688e9c3cb24bf9a8d6e6d">handle</a>, const char *section, const char *key, int *value)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Retrieves an integer from the configuration backend. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>handle</em>&nbsp;</td><td>A mcs.handle object to search for the key in. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>section</em>&nbsp;</td><td>A section name to look for the key in. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The name of the key to look up. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>A pointer to the memory location to put the value in. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ac31ebca54d93365385e7ea0493f77e31"></a><!-- doxytag: member="mcs_backend_t::mcs_get_keys" ref="ac31ebca54d93365385e7ea0493f77e31" args=")(mcs_handle_t *handle, const char *section)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">mowgli_queue_t*(* <a class="el" href="structmcs__backend__t.html#ac31ebca54d93365385e7ea0493f77e31">mcs_backend_t::mcs_get_keys</a>)(<a class="el" href="structmcs__handle__.html">mcs_handle_t</a> *<a class="el" href="structmcs__backend__t.html#a7778f8e9bb1688e9c3cb24bf9a8d6e6d">handle</a>, const char *section)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns a deque of keys associated with a section. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>handle</em>&nbsp;</td><td>A mcs.handle object to get the keys from. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>section</em>&nbsp;</td><td>A section name to get the keys from. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a81fd21b0c9cad549cb8db775ab1b35ce"></a><!-- doxytag: member="mcs_backend_t::mcs_get_sections" ref="a81fd21b0c9cad549cb8db775ab1b35ce" args=")(mcs_handle_t *handle)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">mowgli_queue_t*(* <a class="el" href="structmcs__backend__t.html#a81fd21b0c9cad549cb8db775ab1b35ce">mcs_backend_t::mcs_get_sections</a>)(<a class="el" href="structmcs__handle__.html">mcs_handle_t</a> *<a class="el" href="structmcs__backend__t.html#a7778f8e9bb1688e9c3cb24bf9a8d6e6d">handle</a>)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns a deque of sections associated with the config backend. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>handle</em>&nbsp;</td><td>A mcs.handle object to get the sections from. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ad7335bdd2c669a182a7a021f4109f0e5"></a><!-- doxytag: member="mcs_backend_t::mcs_get_string" ref="ad7335bdd2c669a182a7a021f4109f0e5" args=")(mcs_handle_t *handle, const char *section, const char *key, char **value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="mcs_8h.html#a034dea971ea62f02037190549e0fb3a6">mcs_response_t</a>(* <a class="el" href="structmcs__backend__t.html#ad7335bdd2c669a182a7a021f4109f0e5">mcs_backend_t::mcs_get_string</a>)(<a class="el" href="structmcs__handle__.html">mcs_handle_t</a> *<a class="el" href="structmcs__backend__t.html#a7778f8e9bb1688e9c3cb24bf9a8d6e6d">handle</a>, const char *section, const char *key, char **value)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Retrieves a string from the configuration backend. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>handle</em>&nbsp;</td><td>A mcs.handle object to search for the key in. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>section</em>&nbsp;</td><td>A section name to look for the key in. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The name of the key to look up. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>A pointer to the memory location to put the value in. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ae7deb4047755231ce1e213d65b408b6d"></a><!-- doxytag: member="mcs_backend_t::mcs_new" ref="ae7deb4047755231ce1e213d65b408b6d" args=")(char *domain)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmcs__handle__.html">mcs_handle_t</a>*(* <a class="el" href="structmcs__backend__t.html#ae7deb4047755231ce1e213d65b408b6d">mcs_backend_t::mcs_new</a>)(char *domain)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a new mcs.handle object. </p>
<p>The mcs.handle object returned by this function is not fully initialized in this function, base mowgli.object work is done in the primary constructor. This just creates the derived class which is presented to the user as mcs.handle.</p>
<p>As such, you should avoid mowgli.object functions in both the constructor and destructor vtable functions.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>domain</em>&nbsp;</td><td>A string representing the domain to associate with. </td></tr>
  </table>
  </dd>
</dl>

<p>Referenced by <a class="el" href="mcs__handle__factory_8c.html#a1043a17a4efaca44fd636f71a6b150b5">mcs_new()</a>.</p>

</div>
</div>
<a class="anchor" id="a35191a9e82dc4ed8df72b02c1b57f5ad"></a><!-- doxytag: member="mcs_backend_t::mcs_set_bool" ref="a35191a9e82dc4ed8df72b02c1b57f5ad" args=")(mcs_handle_t *handle, const char *section, const char *key, int value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="mcs_8h.html#a034dea971ea62f02037190549e0fb3a6">mcs_response_t</a>(* <a class="el" href="structmcs__backend__t.html#a35191a9e82dc4ed8df72b02c1b57f5ad">mcs_backend_t::mcs_set_bool</a>)(<a class="el" href="structmcs__handle__.html">mcs_handle_t</a> *<a class="el" href="structmcs__backend__t.html#a7778f8e9bb1688e9c3cb24bf9a8d6e6d">handle</a>, const char *section, const char *key, int value)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets a boolean value in the configuration backend. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>handle</em>&nbsp;</td><td>A mcs.handle object to add the key to. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>section</em>&nbsp;</td><td>A section name to add the key to. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The name of the key to add. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>The value the key should have. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a2cd512e5c2826c7fd68bd66f11b95e60"></a><!-- doxytag: member="mcs_backend_t::mcs_set_double" ref="a2cd512e5c2826c7fd68bd66f11b95e60" args=")(mcs_handle_t *handle, const char *section, const char *key, double value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="mcs_8h.html#a034dea971ea62f02037190549e0fb3a6">mcs_response_t</a>(* <a class="el" href="structmcs__backend__t.html#a2cd512e5c2826c7fd68bd66f11b95e60">mcs_backend_t::mcs_set_double</a>)(<a class="el" href="structmcs__handle__.html">mcs_handle_t</a> *<a class="el" href="structmcs__backend__t.html#a7778f8e9bb1688e9c3cb24bf9a8d6e6d">handle</a>, const char *section, const char *key, double value)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets a double-precision floating point value in the configuration backend. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>handle</em>&nbsp;</td><td>A mcs.handle object to add the key to. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>section</em>&nbsp;</td><td>A section name to add the key to. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The name of the key to add. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>The value the key should have. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ade1a492dccc015b20a752f4f4f898a47"></a><!-- doxytag: member="mcs_backend_t::mcs_set_float" ref="ade1a492dccc015b20a752f4f4f898a47" args=")(mcs_handle_t *handle, const char *section, const char *key, float value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="mcs_8h.html#a034dea971ea62f02037190549e0fb3a6">mcs_response_t</a>(* <a class="el" href="structmcs__backend__t.html#ade1a492dccc015b20a752f4f4f898a47">mcs_backend_t::mcs_set_float</a>)(<a class="el" href="structmcs__handle__.html">mcs_handle_t</a> *<a class="el" href="structmcs__backend__t.html#a7778f8e9bb1688e9c3cb24bf9a8d6e6d">handle</a>, const char *section, const char *key, float value)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets a floating point value in the configuration backend. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>handle</em>&nbsp;</td><td>A mcs.handle object to add the key to. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>section</em>&nbsp;</td><td>A section name to add the key to. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The name of the key to add. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>The value the key should have. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a18814e94a9b97b2ee53526f8bb1f7079"></a><!-- doxytag: member="mcs_backend_t::mcs_set_int" ref="a18814e94a9b97b2ee53526f8bb1f7079" args=")(mcs_handle_t *handle, const char *section, const char *key, int value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="mcs_8h.html#a034dea971ea62f02037190549e0fb3a6">mcs_response_t</a>(* <a class="el" href="structmcs__backend__t.html#a18814e94a9b97b2ee53526f8bb1f7079">mcs_backend_t::mcs_set_int</a>)(<a class="el" href="structmcs__handle__.html">mcs_handle_t</a> *<a class="el" href="structmcs__backend__t.html#a7778f8e9bb1688e9c3cb24bf9a8d6e6d">handle</a>, const char *section, const char *key, int value)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets an integer value in the configuration backend. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>handle</em>&nbsp;</td><td>A mcs.handle object to add the key to. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>section</em>&nbsp;</td><td>A section name to add the key to. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The name of the key to add. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>The value the key should have. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ac3fcd82ad8ccd66d0cb1021db59dc32f"></a><!-- doxytag: member="mcs_backend_t::mcs_set_string" ref="ac3fcd82ad8ccd66d0cb1021db59dc32f" args=")(mcs_handle_t *handle, const char *section, const char *key, const char *value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="mcs_8h.html#a034dea971ea62f02037190549e0fb3a6">mcs_response_t</a>(* <a class="el" href="structmcs__backend__t.html#ac3fcd82ad8ccd66d0cb1021db59dc32f">mcs_backend_t::mcs_set_string</a>)(<a class="el" href="structmcs__handle__.html">mcs_handle_t</a> *<a class="el" href="structmcs__backend__t.html#a7778f8e9bb1688e9c3cb24bf9a8d6e6d">handle</a>, const char *section, const char *key, const char *value)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets a string value in the configuration backend. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>handle</em>&nbsp;</td><td>A mcs.handle object to add the key to. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>section</em>&nbsp;</td><td>A section name to add the key to. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The name of the key to add. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>The value the key should have. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aa4fe47114a4e144a9a6c94af57cb5790"></a><!-- doxytag: member="mcs_backend_t::mcs_unset_key" ref="aa4fe47114a4e144a9a6c94af57cb5790" args=")(mcs_handle_t *handle, const char *section, const char *key)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="mcs_8h.html#a034dea971ea62f02037190549e0fb3a6">mcs_response_t</a>(* <a class="el" href="structmcs__backend__t.html#aa4fe47114a4e144a9a6c94af57cb5790">mcs_backend_t::mcs_unset_key</a>)(<a class="el" href="structmcs__handle__.html">mcs_handle_t</a> *<a class="el" href="structmcs__backend__t.html#a7778f8e9bb1688e9c3cb24bf9a8d6e6d">handle</a>, const char *section, const char *key)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Removes a value from the configuration backend. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>handle</em>&nbsp;</td><td>A mcs.handle object to remove the key from. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>section</em>&nbsp;</td><td>A section name to remove the key from. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The name of the key to remove. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a23cd2d6475a383697db9103e3bf222fc"></a><!-- doxytag: member="mcs_backend_t::name" ref="a23cd2d6475a383697db9103e3bf222fc" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* <a class="el" href="structmcs__backend__t.html#a23cd2d6475a383697db9103e3bf222fc">mcs_backend_t::name</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The unique name identifying the backend. </p>
<p>This is the name of the backend, e.g. KDE's KConfig storage system would be called "kconfig". It is used to uniquely identify the storage backend so that it can be selected in via policies and programatically.</p>
<p>Custom backends should use an application-specific name unless they have global scope. In any case, the name should be unique. </p>

<p>Referenced by <a class="el" href="mcs__backends_8c.html#aabfd1f438aae74cde5b49d2ba4235ad0">mcs_backend_select()</a>, and <a class="el" href="mcs__handle__factory_8c.html#a1043a17a4efaca44fd636f71a6b150b5">mcs_new()</a>.</p>

</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li>src/libmcs/<a class="el" href="mcs_8h_source.html">mcs.h</a></li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Thu Jan 20 2011 for libmcs by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
</body>
</html>