<refentry id="libgda-common-gda-config">
<refmeta>
<refentrytitle>gda-config</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>LIBGDA-COMMON Library</refmiscinfo>
</refmeta>

<refnamediv>
<refname>gda-config</refname><refpurpose>Functions to access the underlying configuration database</refpurpose>
</refnamediv>

<refsynopsisdiv><title>Synopsis</title>
<synopsis>



#define     <link linkend="GDA-CONFIG-SECTION-DATASOURCES-CAPS">GDA_CONFIG_SECTION_DATASOURCES</link>
#define     <link linkend="GDA-CONFIG-SECTION-LAST-CONNECTIONS-CAPS">GDA_CONFIG_SECTION_LAST_CONNECTIONS</link>
#define     <link linkend="GDA-CONFIG-SECTION-LOG-CAPS">GDA_CONFIG_SECTION_LOG</link>
#define     <link linkend="GDA-CONFIG-KEY-MAX-LAST-CONNECTIONS-CAPS">GDA_CONFIG_KEY_MAX_LAST_CONNECTIONS</link>
<link linkend="gchar">gchar</link>*      <link linkend="gda-config-get-string">gda_config_get_string</link>           (const <link linkend="gchar">gchar</link> *path);
<link linkend="gint">gint</link>        <link linkend="gda-config-get-int">gda_config_get_int</link>              (const <link linkend="gchar">gchar</link> *path);
<link linkend="gdouble">gdouble</link>     <link linkend="gda-config-get-float">gda_config_get_float</link>            (const <link linkend="gchar">gchar</link> *path);
<link linkend="gboolean">gboolean</link>    <link linkend="gda-config-get-boolean">gda_config_get_boolean</link>          (const <link linkend="gchar">gchar</link> *path);
void        <link linkend="gda-config-set-string">gda_config_set_string</link>           (const <link linkend="gchar">gchar</link> *path,
                                             const <link linkend="gchar">gchar</link> *new_value);
void        <link linkend="gda-config-set-int">gda_config_set_int</link>              (const <link linkend="gchar">gchar</link> *path,
                                             <link linkend="gint">gint</link> new_value);
void        <link linkend="gda-config-set-float">gda_config_set_float</link>            (const <link linkend="gchar">gchar</link> *path,
                                             <link linkend="gdouble">gdouble</link> new_value);
void        <link linkend="gda-config-set-boolean">gda_config_set_boolean</link>          (const <link linkend="gchar">gchar</link> *path,
                                             <link linkend="gboolean">gboolean</link> new_value);
void        <link linkend="gda-config-remove-section">gda_config_remove_section</link>       (const <link linkend="gchar">gchar</link> *path);
void        <link linkend="gda-config-remove-key">gda_config_remove_key</link>           (const <link linkend="gchar">gchar</link> *path);
<link linkend="gboolean">gboolean</link>    <link linkend="gda-config-has-section">gda_config_has_section</link>          (const <link linkend="gchar">gchar</link> *path);
<link linkend="gboolean">gboolean</link>    <link linkend="gda-config-has-key">gda_config_has_key</link>              (const <link linkend="gchar">gchar</link> *path);
void        <link linkend="gda-config-commit">gda_config_commit</link>               (void);
void        <link linkend="gda-config-rollback">gda_config_rollback</link>             (void);
<link linkend="GList">GList</link>*      <link linkend="gda-config-list-sections">gda_config_list_sections</link>        (const <link linkend="gchar">gchar</link> *path);
<link linkend="GList">GList</link>*      <link linkend="gda-config-list-keys">gda_config_list_keys</link>            (const <link linkend="gchar">gchar</link> *path);
void        <link linkend="gda-config-free-list">gda_config_free_list</link>            (<link linkend="GList">GList</link> *list);
#define     <link linkend="GDA-PROVIDER-TYPE-CAPS">GDA_PROVIDER_TYPE</link>               (srv)
#define     <link linkend="GDA-PROVIDER-NAME-CAPS">GDA_PROVIDER_NAME</link>               (srv)
#define     <link linkend="GDA-PROVIDER-COMMENT-CAPS">GDA_PROVIDER_COMMENT</link>            (srv)
#define     <link linkend="GDA-PROVIDER-LOCATION-CAPS">GDA_PROVIDER_LOCATION</link>           (srv)
#define     <link linkend="GDA-PROVIDER-REPO-ID-CAPS">GDA_PROVIDER_REPO_ID</link>            (srv)
#define     <link linkend="GDA-PROVIDER-USERNAME-CAPS">GDA_PROVIDER_USERNAME</link>           (srv)
#define     <link linkend="GDA-PROVIDER-HOSTNAME-CAPS">GDA_PROVIDER_HOSTNAME</link>           (srv)
#define     <link linkend="GDA-PROVIDER-DOMAIN-CAPS">GDA_PROVIDER_DOMAIN</link>             (srv)
#define     <link linkend="GDA-PROVIDER-DSN-PARAMS-CAPS">GDA_PROVIDER_DSN_PARAMS</link>         (srv)
<link linkend="GdaProvider">GdaProvider</link>* <link linkend="gda-provider-new">gda_provider_new</link>               (void);
<link linkend="GdaProvider">GdaProvider</link>* <link linkend="gda-provider-copy">gda_provider_copy</link>              (<link linkend="GdaProvider">GdaProvider</link> *provider);
void        <link linkend="gda-provider-free">gda_provider_free</link>               (<link linkend="GdaProvider">GdaProvider</link> *provider);
<link linkend="GList">GList</link>*      <link linkend="gda-provider-list">gda_provider_list</link>               (void);
void        <link linkend="gda-provider-free-list">gda_provider_free_list</link>          (<link linkend="GList">GList</link> *list);
<link linkend="GdaProvider">GdaProvider</link>* <link linkend="gda-provider-find-by-name">gda_provider_find_by_name</link>      (const <link linkend="gchar">gchar</link> *name);
<link linkend="GList">GList</link>*      <link linkend="gda-list-datasources">gda_list_datasources</link>            (void);
<link linkend="GList">GList</link>*      <link linkend="gda-list-datasources-for-provider">gda_list_datasources_for_provider</link>
                                            (<link linkend="gchar">gchar</link> *name);
#define     <link linkend="GDA-DSN-GDA-NAME-CAPS">GDA_DSN_GDA_NAME</link>                (dsn)
#define     <link linkend="GDA-DSN-PROVIDER-CAPS">GDA_DSN_PROVIDER</link>                (dsn)
#define     <link linkend="GDA-DSN-DSN-CAPS">GDA_DSN_DSN</link>                     (dsn)
#define     <link linkend="GDA-DSN-DESCRIPTION-CAPS">GDA_DSN_DESCRIPTION</link>             (dsn)
#define     <link linkend="GDA-DSN-USERNAME-CAPS">GDA_DSN_USERNAME</link>                (dsn)
#define     <link linkend="GDA-DSN-CONFIG-CAPS">GDA_DSN_CONFIG</link>                  (dsn)
#define     <link linkend="gda-dsn-new">gda_dsn_new</link>                     ()
void        <link linkend="gda-dsn-free">gda_dsn_free</link>                    (<link linkend="GdaDsn">GdaDsn</link> *dsn);
<link linkend="GdaDsn">GdaDsn</link>*     <link linkend="gda-dsn-copy">gda_dsn_copy</link>                    (<link linkend="GdaDsn">GdaDsn</link> *dsn);
<link linkend="GdaDsn">GdaDsn</link>*     <link linkend="gda-dsn-find-by-name">gda_dsn_find_by_name</link>            (const <link linkend="gchar">gchar</link> *dsn_name);
void        <link linkend="gda-dsn-set-name">gda_dsn_set_name</link>                (<link linkend="GdaDsn">GdaDsn</link> *dsn,
                                             const <link linkend="gchar">gchar</link> *name);
void        <link linkend="gda-dsn-set-provider">gda_dsn_set_provider</link>            (<link linkend="GdaDsn">GdaDsn</link> *dsn,
                                             const <link linkend="gchar">gchar</link> *provider);
void        <link linkend="gda-dsn-set-dsn">gda_dsn_set_dsn</link>                 (<link linkend="GdaDsn">GdaDsn</link> *dsn,
                                             const <link linkend="gchar">gchar</link> *dsn_str);
void        <link linkend="gda-dsn-set-description">gda_dsn_set_description</link>         (<link linkend="GdaDsn">GdaDsn</link> *dsn,
                                             const <link linkend="gchar">gchar</link> *description);
void        <link linkend="gda-dsn-set-username">gda_dsn_set_username</link>            (<link linkend="GdaDsn">GdaDsn</link> *dsn,
                                             const <link linkend="gchar">gchar</link> *username);
void        <link linkend="gda-dsn-set-config">gda_dsn_set_config</link>              (<link linkend="GdaDsn">GdaDsn</link> *dsn,
                                             const <link linkend="gchar">gchar</link> *config);
void        <link linkend="gda-dsn-set-global">gda_dsn_set_global</link>              (<link linkend="GdaDsn">GdaDsn</link> *dsn,
                                             <link linkend="gboolean">gboolean</link> is_global);
<link linkend="gboolean">gboolean</link>    <link linkend="gda-dsn-save">gda_dsn_save</link>                    (<link linkend="GdaDsn">GdaDsn</link> *dsn);
<link linkend="gboolean">gboolean</link>    <link linkend="gda-dsn-remove">gda_dsn_remove</link>                  (<link linkend="GdaDsn">GdaDsn</link> *dsn);
<link linkend="GList">GList</link>*      <link linkend="gda-dsn-list">gda_dsn_list</link>                    (void);
void        <link linkend="gda-dsn-free-list">gda_dsn_free_list</link>               (<link linkend="GList">GList</link> *list);
void        <link linkend="gda-config-save-last-connection">gda_config_save_last_connection</link> (const <link linkend="gchar">gchar</link> *gda_name,
                                             const <link linkend="gchar">gchar</link> *username);

</synopsis>
</refsynopsisdiv>





<refsect1>
<title>Description</title>
<para>
This module provides an abstraction of all the access to the underlying
configuration database. Currently, this means gda-config is just a
wrapper around the GConf API, but we want to keep this design just in
case we want later to change this (thus only having to change this
module), as well as to allow other people to write their libgda
implementations for other operating systems/environments.
</para>
</refsect1>

<refsect1>
<title>Details</title>
<refsect2>
<title><anchor id="GDA-CONFIG-SECTION-DATASOURCES-CAPS">GDA_CONFIG_SECTION_DATASOURCES</title>
<programlisting>#define GDA_CONFIG_SECTION_DATASOURCES       "/apps/gda/Datasources"
</programlisting>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="GDA-CONFIG-SECTION-LAST-CONNECTIONS-CAPS">GDA_CONFIG_SECTION_LAST_CONNECTIONS</title>
<programlisting>#define GDA_CONFIG_SECTION_LAST_CONNECTIONS  "/apps/gda/LastConnections"
</programlisting>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="GDA-CONFIG-SECTION-LOG-CAPS">GDA_CONFIG_SECTION_LOG</title>
<programlisting>#define GDA_CONFIG_SECTION_LOG               "/apps/gda/Log"
</programlisting>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="GDA-CONFIG-KEY-MAX-LAST-CONNECTIONS-CAPS">GDA_CONFIG_KEY_MAX_LAST_CONNECTIONS</title>
<programlisting>#define GDA_CONFIG_KEY_MAX_LAST_CONNECTIONS  "/apps/gda/MaxLastConnections"
</programlisting>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="gda-config-get-string">gda_config_get_string ()</title>
<programlisting><link linkend="gchar">gchar</link>*      gda_config_get_string           (const <link linkend="gchar">gchar</link> *path);</programlisting>
<para>
Gets the value of the specified configuration entry as a string. You
are then responsible to free the returned string</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>path</parameter>&nbsp;:</entry>
<entry> path to the configuration entry
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> the value stored at the given entry
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gda-config-get-int">gda_config_get_int ()</title>
<programlisting><link linkend="gint">gint</link>        gda_config_get_int              (const <link linkend="gchar">gchar</link> *path);</programlisting>
<para>
Gets the value of the specified configuration entry as an integer</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>path</parameter>&nbsp;:</entry>
<entry> path to the configuration entry
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> the value stored at the given entry
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gda-config-get-float">gda_config_get_float ()</title>
<programlisting><link linkend="gdouble">gdouble</link>     gda_config_get_float            (const <link linkend="gchar">gchar</link> *path);</programlisting>
<para>
Gets the value of the specified configuration entry as a float</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>path</parameter>&nbsp;:</entry>
<entry> path to the configuration entry
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> the value stored at the given entry
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gda-config-get-boolean">gda_config_get_boolean ()</title>
<programlisting><link linkend="gboolean">gboolean</link>    gda_config_get_boolean          (const <link linkend="gchar">gchar</link> *path);</programlisting>
<para>
Gets the value of the specified configuration entry as a boolean</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>path</parameter>&nbsp;:</entry>
<entry> path to the configuration entry
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> the value stored at the given entry
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gda-config-set-string">gda_config_set_string ()</title>
<programlisting>void        gda_config_set_string           (const <link linkend="gchar">gchar</link> *path,
                                             const <link linkend="gchar">gchar</link> *new_value);</programlisting>
<para>
Sets the given configuration entry to contain a string</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>path</parameter>&nbsp;:</entry>
<entry> path to the configuration entry
</entry></row>
<row><entry align="right"><parameter>new_value</parameter>&nbsp;:</entry>
<entry> new value
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gda-config-set-int">gda_config_set_int ()</title>
<programlisting>void        gda_config_set_int              (const <link linkend="gchar">gchar</link> *path,
                                             <link linkend="gint">gint</link> new_value);</programlisting>
<para>
Sets the given configuration entry to contain an integer</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>path</parameter>&nbsp;:</entry>
<entry> path to the configuration entry
</entry></row>
<row><entry align="right"><parameter>new_value</parameter>&nbsp;:</entry>
<entry> new value
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gda-config-set-float">gda_config_set_float ()</title>
<programlisting>void        gda_config_set_float            (const <link linkend="gchar">gchar</link> *path,
                                             <link linkend="gdouble">gdouble</link> new_value);</programlisting>
<para>
Sets the given configuration entry to contain a float</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>path</parameter>&nbsp;:</entry>
<entry> path to the configuration entry
</entry></row>
<row><entry align="right"><parameter>new_value</parameter>&nbsp;:</entry>
<entry> new value
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gda-config-set-boolean">gda_config_set_boolean ()</title>
<programlisting>void        gda_config_set_boolean          (const <link linkend="gchar">gchar</link> *path,
                                             <link linkend="gboolean">gboolean</link> new_value);</programlisting>
<para>
Sets the given configuration entry to contain a boolean</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>path</parameter>&nbsp;:</entry>
<entry> path to the configuration entry
</entry></row>
<row><entry align="right"><parameter>new_value</parameter>&nbsp;:</entry>
<entry> new value
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gda-config-remove-section">gda_config_remove_section ()</title>
<programlisting>void        gda_config_remove_section       (const <link linkend="gchar">gchar</link> *path);</programlisting>
<para>
Remove the given section from the configuration database</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>path</parameter>&nbsp;:</entry>
<entry> path to the configuration section
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gda-config-remove-key">gda_config_remove_key ()</title>
<programlisting>void        gda_config_remove_key           (const <link linkend="gchar">gchar</link> *path);</programlisting>
<para>
Remove the given entry from the configuration database</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>path</parameter>&nbsp;:</entry>
<entry> path to the configuration entry
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gda-config-has-section">gda_config_has_section ()</title>
<programlisting><link linkend="gboolean">gboolean</link>    gda_config_has_section          (const <link linkend="gchar">gchar</link> *path);</programlisting>
<para>
Checks whether the given section exists in the configuration
system</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>path</parameter>&nbsp;:</entry>
<entry> path to the configuration section
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> TRUE if the section exists, FALSE otherwise
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gda-config-has-key">gda_config_has_key ()</title>
<programlisting><link linkend="gboolean">gboolean</link>    gda_config_has_key              (const <link linkend="gchar">gchar</link> *path);</programlisting>
<para>
Check whether the given key exists in the configuration system</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>path</parameter>&nbsp;:</entry>
<entry> path to the configuration key
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> TRUE if the entry exists, FALSE otherwise
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gda-config-commit">gda_config_commit ()</title>
<programlisting>void        gda_config_commit               (void);</programlisting>
<para>
Commits all changes made to the configuration system. This means that
all buffered data (that is, modified data not yet written to the
configuration database), if any, is actually written to disk</para>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="gda-config-rollback">gda_config_rollback ()</title>
<programlisting>void        gda_config_rollback             (void);</programlisting>
<para>
Discards all changes made to the configuration system.</para>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="gda-config-list-sections">gda_config_list_sections ()</title>
<programlisting><link linkend="GList">GList</link>*      gda_config_list_sections        (const <link linkend="gchar">gchar</link> *path);</programlisting>
<para>
Return a GList containing the names of all the sections available
under the given root directory.
</para>
<para>
To free the returned value, you can use <link linkend="gda-config-free-list">gda_config_free_list</link></para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>path</parameter>&nbsp;:</entry>
<entry> path for root dir
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> a list containing all the section names
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gda-config-list-keys">gda_config_list_keys ()</title>
<programlisting><link linkend="GList">GList</link>*      gda_config_list_keys            (const <link linkend="gchar">gchar</link> *path);</programlisting>
<para>
Returns a list of all keys that exist under the given path.
</para>
<para>
To free the returned value, you can use <link linkend="gda-config-free-list">gda_config_free_list</link></para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>path</parameter>&nbsp;:</entry>
<entry> path for root dir
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> a list containing all the key names
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gda-config-free-list">gda_config_free_list ()</title>
<programlisting>void        gda_config_free_list            (<link linkend="GList">GList</link> *list);</programlisting>
<para>
Free all memory used by the given GList, which must be the return value
from either <link linkend="gda-config-list-sections">gda_config_list_sections</link> and <link linkend="gda-config-list-keys">gda_config_list_keys</link></para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>list</parameter>&nbsp;:</entry>
<entry> list to be freed
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="GDA-PROVIDER-TYPE-CAPS">GDA_PROVIDER_TYPE()</title>
<programlisting>#define GDA_PROVIDER_TYPE(srv)       ((srv) ? (srv)-&gt;type : NULL)
</programlisting>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>srv</parameter>&nbsp;:</entry>
<entry>


</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="GDA-PROVIDER-NAME-CAPS">GDA_PROVIDER_NAME()</title>
<programlisting>#define GDA_PROVIDER_NAME(srv)       ((srv) ? (srv)-&gt;name : NULL)
</programlisting>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>srv</parameter>&nbsp;:</entry>
<entry>


</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="GDA-PROVIDER-COMMENT-CAPS">GDA_PROVIDER_COMMENT()</title>
<programlisting>#define GDA_PROVIDER_COMMENT(srv)    ((srv) ? (srv)-&gt;comment : NULL)
</programlisting>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>srv</parameter>&nbsp;:</entry>
<entry>


</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="GDA-PROVIDER-LOCATION-CAPS">GDA_PROVIDER_LOCATION()</title>
<programlisting>#define GDA_PROVIDER_LOCATION(srv)   ((srv) ? (srv)-&gt;location : NULL)
</programlisting>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>srv</parameter>&nbsp;:</entry>
<entry>


</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="GDA-PROVIDER-REPO-ID-CAPS">GDA_PROVIDER_REPO_ID()</title>
<programlisting>#define GDA_PROVIDER_REPO_ID(srv)    ((srv) ? (srv)-&gt;repo_id : NULL)
</programlisting>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>srv</parameter>&nbsp;:</entry>
<entry>


</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="GDA-PROVIDER-USERNAME-CAPS">GDA_PROVIDER_USERNAME()</title>
<programlisting>#define GDA_PROVIDER_USERNAME(srv)   ((srv) ? (srv)-&gt;username : NULL)
</programlisting>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>srv</parameter>&nbsp;:</entry>
<entry>


</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="GDA-PROVIDER-HOSTNAME-CAPS">GDA_PROVIDER_HOSTNAME()</title>
<programlisting>#define GDA_PROVIDER_HOSTNAME(srv)   ((srv) ? (srv)-&gt;hostname : NULL)
</programlisting>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>srv</parameter>&nbsp;:</entry>
<entry>


</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="GDA-PROVIDER-DOMAIN-CAPS">GDA_PROVIDER_DOMAIN()</title>
<programlisting>#define GDA_PROVIDER_DOMAIN(srv)     ((srv) ? (srv)-&gt;domain : NULL)
</programlisting>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>srv</parameter>&nbsp;:</entry>
<entry>


</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="GDA-PROVIDER-DSN-PARAMS-CAPS">GDA_PROVIDER_DSN_PARAMS()</title>
<programlisting>#define GDA_PROVIDER_DSN_PARAMS(srv) ((srv) ? (srv)-&gt;dsn_params : NULL)
</programlisting>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>srv</parameter>&nbsp;:</entry>
<entry>


</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gda-provider-new">gda_provider_new ()</title>
<programlisting><link linkend="GdaProvider">GdaProvider</link>* gda_provider_new               (void);</programlisting>
<para>
Allocates memory for a new <link linkend="GdaProvider">GdaProvider</link> object and initializes struct 
members.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> a pointer to a new <link linkend="GdaProvider">GdaProvider</link> object.
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gda-provider-copy">gda_provider_copy ()</title>
<programlisting><link linkend="GdaProvider">GdaProvider</link>* gda_provider_copy              (<link linkend="GdaProvider">GdaProvider</link> *provider);</programlisting>
<para>
Make a deep copy of all the data needed to describe a GDA provider.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>provider</parameter>&nbsp;:</entry>
<entry> the provider to be copied.
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> a pointer to the newly allocated provider object
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gda-provider-free">gda_provider_free ()</title>
<programlisting>void        gda_provider_free               (<link linkend="GdaProvider">GdaProvider</link> *provider);</programlisting>
<para>
Frees the memory allocated with <link linkend="gda-provider-new">gda_provider_new</link> and the memory
allocated to struct members.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>provider</parameter>&nbsp;:</entry>
<entry> the provider to de-allocate.
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gda-provider-list">gda_provider_list ()</title>
<programlisting><link linkend="GList">GList</link>*      gda_provider_list               (void);</programlisting>
<para>
Searches the CORBA database for GDA providers and returns a Glist of 
<link linkend="GdaProvider">GdaProvider</link> structs.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> a GList of GDA providers structs
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gda-provider-free-list">gda_provider_free_list ()</title>
<programlisting>void        gda_provider_free_list          (<link linkend="GList">GList</link> *list);</programlisting>
<para>
Frees a list of <link linkend="GdaProvider">GdaProvider</link> structures previously returned by
a call to <link linkend="gda-provider-list">gda_provider_list</link></para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>list</parameter>&nbsp;:</entry>
<entry> list of <link linkend="GdaProvider">GdaProvider</link> structures
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gda-provider-find-by-name">gda_provider_find_by_name ()</title>
<programlisting><link linkend="GdaProvider">GdaProvider</link>* gda_provider_find_by_name      (const <link linkend="gchar">gchar</link> *name);</programlisting>
<para>
Returns a <link linkend="GdaProvider">GdaProvider</link> structure describing the given provider. This function
searches all the providers present on your system
and tries to find the specified provider.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>name</parameter>&nbsp;:</entry>
<entry> provider name
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> a pointer to the provider structure, or NULL if not found
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gda-list-datasources">gda_list_datasources ()</title>
<programlisting><link linkend="GList">GList</link>*      gda_list_datasources            (void);</programlisting>
<para>
Lists all datasources configured on the system. You can then call
<link linkend="gda-config-free-list">gda_config_free_list</link> to free the returned list</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> a GList with the names of all data sources configured.
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gda-list-datasources-for-provider">gda_list_datasources_for_provider ()</title>
<programlisting><link linkend="GList">GList</link>*      gda_list_datasources_for_provider
                                            (<link linkend="gchar">gchar</link> *name);</programlisting>
<para>
Returns a list of the names of all data sources set up for the
given provider.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>name</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> a GList of all datasources available to a specific <parameter>provider</parameter>.
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="GDA-DSN-GDA-NAME-CAPS">GDA_DSN_GDA_NAME()</title>
<programlisting>#define GDA_DSN_GDA_NAME(dsn)    ((dsn) ? (dsn)-&gt;gda_name : 0)
</programlisting>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>dsn</parameter>&nbsp;:</entry>
<entry>


</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="GDA-DSN-PROVIDER-CAPS">GDA_DSN_PROVIDER()</title>
<programlisting>#define GDA_DSN_PROVIDER(dsn)    ((dsn) ? (dsn)-&gt;provider : 0)
</programlisting>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>dsn</parameter>&nbsp;:</entry>
<entry>


</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="GDA-DSN-DSN-CAPS">GDA_DSN_DSN()</title>
<programlisting>#define GDA_DSN_DSN(dsn)         ((dsn) ? (dsn)-&gt;dsn_str : 0)
</programlisting>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>dsn</parameter>&nbsp;:</entry>
<entry>


</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="GDA-DSN-DESCRIPTION-CAPS">GDA_DSN_DESCRIPTION()</title>
<programlisting>#define GDA_DSN_DESCRIPTION(dsn) ((dsn) ? (dsn)-&gt;description : 0)
</programlisting>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>dsn</parameter>&nbsp;:</entry>
<entry>


</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="GDA-DSN-USERNAME-CAPS">GDA_DSN_USERNAME()</title>
<programlisting>#define GDA_DSN_USERNAME(dsn)    ((dsn) ? (dsn)-&gt;username : 0)
</programlisting>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>dsn</parameter>&nbsp;:</entry>
<entry>


</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="GDA-DSN-CONFIG-CAPS">GDA_DSN_CONFIG()</title>
<programlisting>#define GDA_DSN_CONFIG(dsn)      ((dsn) ? (dsn)-&gt;config : 0)
</programlisting>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>dsn</parameter>&nbsp;:</entry>
<entry>


</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gda-dsn-new">gda_dsn_new()</title>
<programlisting>#define  gda_dsn_new() g_new0(GdaDsn, 1)
</programlisting>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="gda-dsn-free">gda_dsn_free ()</title>
<programlisting>void        gda_dsn_free                    (<link linkend="GdaDsn">GdaDsn</link> *dsn);</programlisting>
<para>
Release all memory occupied by the given <link linkend="GdaDsn">GdaDsn</link> structure</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>dsn</parameter>&nbsp;:</entry>
<entry> data source
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gda-dsn-copy">gda_dsn_copy ()</title>
<programlisting><link linkend="GdaDsn">GdaDsn</link>*     gda_dsn_copy                    (<link linkend="GdaDsn">GdaDsn</link> *dsn);</programlisting>
<para>
Make an exact copy of the given <link linkend="GdaDsn">GdaDsn</link> structure.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>dsn</parameter>&nbsp;:</entry>
<entry> <link linkend="GdaDsn">GdaDsn</link> to copy from
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> the newly created <link linkend="GdaDsn">GdaDsn</link> structure
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gda-dsn-find-by-name">gda_dsn_find_by_name ()</title>
<programlisting><link linkend="GdaDsn">GdaDsn</link>*     gda_dsn_find_by_name            (const <link linkend="gchar">gchar</link> *dsn_name);</programlisting>
<para>
Search in the database for the given data source, and return detailed
information about it</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>dsn_name</parameter>&nbsp;:</entry>
<entry> data source name
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> a <link linkend="GdaDsn">GdaDsn</link> structure containing all information about the found
data source
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gda-dsn-set-name">gda_dsn_set_name ()</title>
<programlisting>void        gda_dsn_set_name                (<link linkend="GdaDsn">GdaDsn</link> *dsn,
                                             const <link linkend="gchar">gchar</link> *name);</programlisting>
<para>
Set the name for the given <link linkend="GdaDsn">GdaDsn</link> structure</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>dsn</parameter>&nbsp;:</entry>
<entry> data source
</entry></row>
<row><entry align="right"><parameter>name</parameter>&nbsp;:</entry>
<entry> new data source name
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gda-dsn-set-provider">gda_dsn_set_provider ()</title>
<programlisting>void        gda_dsn_set_provider            (<link linkend="GdaDsn">GdaDsn</link> *dsn,
                                             const <link linkend="gchar">gchar</link> *provider);</programlisting>
<para>
Set the provider for the given <link linkend="GdaDsn">GdaDsn</link> structure</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>dsn</parameter>&nbsp;:</entry>
<entry> data source
</entry></row>
<row><entry align="right"><parameter>provider</parameter>&nbsp;:</entry>
<entry> provider name
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gda-dsn-set-dsn">gda_dsn_set_dsn ()</title>
<programlisting>void        gda_dsn_set_dsn                 (<link linkend="GdaDsn">GdaDsn</link> *dsn,
                                             const <link linkend="gchar">gchar</link> *dsn_str);</programlisting>
<para>
Set the connection string for the given <link linkend="GdaDsn">GdaDsn</link> structure. This string
is DBMS-independent, so you must take care when filling it in. The best
way to guess about the allowed parameters in this string for each
provider is to obtain the <link linkend="GdaProvider">GdaProvider</link> structure for the provider
you want to use, and query the list of available parameters by calling
the <link linkend="GDA-PROVIDER-DSN-PARAMS-CAPS">GDA_PROVIDER_DSN_PARAMS</link> macro, which returns a GList on which
each node is a string containing the name of one parameter.
</para>
<para>
For example, a connection string to connect to a PostgreSQL database
might look like this:
</para>
<para>
"DATABASE=my_database;HOST=localhost
</para>
<para>
to connect to the database "my_database" at the local machine. On the
other hand, a string for connecting a gda-default's database, might
look like:
</para>
<para>
"DIRECTORY=/home/me/database"</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>dsn</parameter>&nbsp;:</entry>
<entry> data source
</entry></row>
<row><entry align="right"><parameter>dsn_str</parameter>&nbsp;:</entry>
<entry> DSN connection string
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gda-dsn-set-description">gda_dsn_set_description ()</title>
<programlisting>void        gda_dsn_set_description         (<link linkend="GdaDsn">GdaDsn</link> *dsn,
                                             const <link linkend="gchar">gchar</link> *description);</programlisting>
<para>
Set the description string for the given <link linkend="GdaDsn">GdaDsn</link> structure.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>dsn</parameter>&nbsp;:</entry>
<entry> data source
</entry></row>
<row><entry align="right"><parameter>description</parameter>&nbsp;:</entry>
<entry> DSN description for the given <link linkend="GdaDsn">GdaDsn</link> structure
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gda-dsn-set-username">gda_dsn_set_username ()</title>
<programlisting>void        gda_dsn_set_username            (<link linkend="GdaDsn">GdaDsn</link> *dsn,
                                             const <link linkend="gchar">gchar</link> *username);</programlisting>
<para>
Set the username for the given <link linkend="GdaDsn">GdaDsn</link> structure. When using this, the gda-client
library would use this user name when you try to connect to this data source
without specifying a user name in the call to <link linkend="gda-connection-open">gda_connection_open</link></para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>dsn</parameter>&nbsp;:</entry>
<entry> data source
</entry></row>
<row><entry align="right"><parameter>username</parameter>&nbsp;:</entry>
<entry> user name
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gda-dsn-set-config">gda_dsn_set_config ()</title>
<programlisting>void        gda_dsn_set_config              (<link linkend="GdaDsn">GdaDsn</link> *dsn,
                                             const <link linkend="gchar">gchar</link> *config);</programlisting>
<para>
</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>dsn</parameter>&nbsp;:</entry>
<entry> data source
</entry></row>
<row><entry align="right"><parameter>config</parameter>&nbsp;:</entry>
<entry> configurator
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gda-dsn-set-global">gda_dsn_set_global ()</title>
<programlisting>void        gda_dsn_set_global              (<link linkend="GdaDsn">GdaDsn</link> *dsn,
                                             <link linkend="gboolean">gboolean</link> is_global);</programlisting>
<para>
</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>dsn</parameter>&nbsp;:</entry>
<entry> data source
</entry></row>
<row><entry align="right"><parameter>is_global</parameter>&nbsp;:</entry>
<entry> global flag
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gda-dsn-save">gda_dsn_save ()</title>
<programlisting><link linkend="gboolean">gboolean</link>    gda_dsn_save                    (<link linkend="GdaDsn">GdaDsn</link> *dsn);</programlisting>
<para>
Saves the given data source into the GDA configuration</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>dsn</parameter>&nbsp;:</entry>
<entry> data source
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> TRUE if it was successful, FALSE if there was an error
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gda-dsn-remove">gda_dsn_remove ()</title>
<programlisting><link linkend="gboolean">gboolean</link>    gda_dsn_remove                  (<link linkend="GdaDsn">GdaDsn</link> *dsn);</programlisting>
<para>
Remove the given data source (that is, the one described in the given
<link linkend="GdaDsn">GdaDsn</link> structure) from the configuration database</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>dsn</parameter>&nbsp;:</entry>
<entry> data source
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> TRUE if it was successful, FALSE if there was an error
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gda-dsn-list">gda_dsn_list ()</title>
<programlisting><link linkend="GList">GList</link>*      gda_dsn_list                    (void);</programlisting>
<para>
Returns a list of all available data sources. The returned value is
a GList of <link linkend="GdaDsn">GdaDsn</link> structures</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> a list of <link linkend="GdaDsn">GdaDsn</link> structures
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gda-dsn-free-list">gda_dsn_free_list ()</title>
<programlisting>void        gda_dsn_free_list               (<link linkend="GList">GList</link> *list);</programlisting>
<para>
Free the given list, which should be a list of <link linkend="GdaDsn">GdaDsn</link> structures,
as returned by <link linkend="gda-dsn-list">gda_dsn_list</link></para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>list</parameter>&nbsp;:</entry>
<entry> the list to be freed
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gda-config-save-last-connection">gda_config_save_last_connection ()</title>
<programlisting>void        gda_config_save_last_connection (const <link linkend="gchar">gchar</link> *gda_name,
                                             const <link linkend="gchar">gchar</link> *username);</programlisting>
<para>
Adds an entry to the 'Last Connections' configuration section. This section
is read by top level clients, such as the GnomeDbLogin widget in
GNOME-DB to show the user a list of the last successful connections.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>gda_name</parameter>&nbsp;:</entry>
<entry> GDA connection name
</entry></row>
<row><entry align="right"><parameter>username</parameter>&nbsp;:</entry>
<entry> user name used for the connection
</entry></row>
</tbody></tgroup></informaltable></refsect2>

</refsect1>




</refentry>
