Top |
GdaQuarkList * | gda_quark_list_new () |
GdaQuarkList * | gda_quark_list_new_from_string () |
GdaQuarkList * | gda_quark_list_copy () |
void | gda_quark_list_free () |
void | gda_quark_list_clear () |
void | gda_quark_list_add_from_string () |
const gchar * | gda_quark_list_find () |
void | gda_quark_list_protect_values () |
void | gda_quark_list_remove () |
void | gda_quark_list_foreach () |
This object is used to store KEY=VALUE pairs. It is mainly used internally by Libgda to store connection parameters.
Authentification values are kept in a mangled form in memory, and unmangled when
they are requested using gda_quark_list_find()
, and when you don't need them anymore,
call gda_quark_list_protect_values()
to remove the unmangled version.
GdaQuarkList *
gda_quark_list_new (void
);
Creates a new GdaQuarkList, which is a set of key->value pairs, very similar to GLib's GHashTable, but with the only purpose to make easier the parsing and creation of data source connection strings.
GdaQuarkList *
gda_quark_list_new_from_string (const gchar *string
);
Creates a new GdaQuarkList given a string.
string
must be a semi-colon separated list of "<key>=<value>" strings (for example
"DB_NAME=notes;USERNAME=alfred"). Each key and value must respect the RFC 1738 recommendations: the
<>"#%{}|\^~[]'`;/?:@=&
and space characters are replaced by
"%ab
"
where
ab
is the hexadecimal number corresponding to the character (for example the
"DB_NAME=notes;USERNAME=al%20fred
" string will specify a username as "al fred"). If this formalism
is not respected, then some unexpected results may occur.
GdaQuarkList *
gda_quark_list_copy (GdaQuarkList *qlist
);
Creates a new GdaQuarkList from an existing one.
void
gda_quark_list_free (GdaQuarkList *qlist
);
Releases all memory occupied by the given GdaQuarkList.
void
gda_quark_list_clear (GdaQuarkList *qlist
);
Removes all strings in the given GdaQuarkList.
void gda_quark_list_add_from_string (GdaQuarkList *qlist
,const gchar *string
,gboolean cleanup
);
string
must be a semi-colon separated list of "<key>=<value>" strings (for example
"DB_NAME=notes;USERNAME=alfred"). Each key and value must respect the RFC 1738 recommendations: the
<>"#%{}|\^~[]'`;/?:@=&
and space characters are replaced by
"%ab
"
where
ab
is the hexadecimal number corresponding to the character (for example the
"DB_NAME=notes;USERNAME=al%20fred
" string will specify a username as "al fred"). If this formalism
is not respected, then some unexpected results may occur.
Adds new key->value pairs from the given string
. If cleanup
is
set to TRUE
, the previous contents will be discarded before adding
the new pairs.
qlist |
a GdaQuarkList. |
|
string |
a string. |
|
cleanup |
whether to cleanup the previous content or not. |
const gchar * gda_quark_list_find (GdaQuarkList *qlist
,const gchar *name
);
Searches for the value identified by name
in the given GdaQuarkList. For protected values
(authentification data), don't forget to call gda_quark_list_protect_values()
when you
don't need them anymore (when needed again, they will be unmangled again).
void
gda_quark_list_protect_values (GdaQuarkList *qlist
);
Call this function to get rid of the clear version of the value associated to
name
.
Since: 5.2.0
void gda_quark_list_remove (GdaQuarkList *qlist
,const gchar *name
);
Removes an entry from the GdaQuarkList, given its name.
void gda_quark_list_foreach (GdaQuarkList *qlist
,GHFunc func
,gpointer user_data
);
Calls the given function for each of the key/value pairs in qlist
. The function is passed the key and value
of each pair, and the given user_data parameter. qlist
may not be modified while iterating over it.
qlist |
a GdaQuarkList structure. |
|
func |
the function to call for each key/value pair. |
[scope call] |
user_data |
user data to pass to the function. |
[closure] |