Description
gnome-config routines provide a simple way of retrieving and
storing configuration values (the routines provide handling of default
values to simplify the code).
config path: a string that
specifies which item to retrieve from the configuration
database. The config path is composed of three elements: the
first one is the filename where the information is stored, the
second component is the section and the third one is the key
inside the section
For example, a config path of "/myapp/toolbox/showit"
could be used to retrieve the setting for whether 'myapp'
should display its toolbox or not. In this example "myapp" is
the file name (which is stored in
~/.gnome directory), "toolbox" is the
section and "showit" is the key.
If you want to access an absolute file instead of a
~/.gnome-relative file, then you need to
surround the filename with equal signs, for example, to access
the key "mykey" from the section "mysection" in a
configuration file located in
/gnome/var/myconfig you need to use this
path: "=/gnome/var/myconfig=/mysection/mykey".
default: when retrieving a
config item, specifies the value to be used if the item is not
found.
private configuration data
- Normally, config item data is located in files under the
~user/.gnome directory in a .ini-like format. These files are
world-readable. Items that have security or privacy
implications are stored and retrieved using the "private"
versions of the gnome-config routines, and the data for these
items is stored in files under the ~user/.gnome_private
directory, which is not accessable by anyone except that user
and the system administrator.
"translated" strings - GNOME's multilingual
support means that multiple languages must be supported for
configuration items. The
gnome_config_*get_translated_string() and
gnome_config_*set_translated_string() routines allow you to
specify which language a string item should be accessed for.
"section" - a group of config items and other
config sections
GNOME has a versatile method of storing config items. When a
config item is written by a program, it is written to a file under
the ~/.gnome hierarchy. However, when config
items are read, the process is a little more complicated. There
are a number of places that are searched. If the config item is
not found in one, then the next place is checked, finally falling
back to the default value provided by the application. The
locations are as follows:
$(sysconfdir)/gnome/config-override
- a system administrator would put config items in this directory
that they don't want to be configurable.
~/.gnome - this is where the
user's config items are written to and is the next place that is
searched
$(sysconfdir)/gnome/config
- this directory would hold system wide default configuration values.
Possible uses for this are setting system wide defaults such as
proxy servers for the system (either using
config-override to enforce such a policy or
the config directory to suggest such a
default). It is also possible to configure the application
through its graphical interface, and then copy the configuration
file accross to the appropriate system-wide directory.
The config-override directory should be used
sparingly, as it could annoy or confuse some users. Note also
that some applications will not read the config items every time
they are needed, so putting defaults into the
config-override directory will not always
completely enforce a setting.
There are two types of routines
FIXME: Finish this. Explain the different types of routines,
explain the _private versions, explain the vector use, etc
Details
gnome_config_get_string_with_default()
#define gnome_config_get_string_with_default(path,def) |
Retrieves & returns the value of a configuration item as a string.
The returned value should be g_free()'d when no longer needed.
gnome_config_get_translated_string_with_default()
#define gnome_config_get_translated_string_with_default(path,def) |
Retrieves & returns the value of a configuration item as a string appropriate for the current language. The returned value should be
g_free()'d when no longer needed.
gnome_config_get_int_with_default()
#define gnome_config_get_int_with_default(path,def) |
Retrieves & returns the value of a configuration item as an integer.
gnome_config_get_float_with_default()
#define gnome_config_get_float_with_default(path,def) |
Retrieves & returns the value of a configuration item as a floating-point number.
gnome_config_get_bool_with_default()
#define gnome_config_get_bool_with_default(path,def) |
Retrieves & returns the value of a configuration item as a boolean.
gnome_config_get_vector_with_default()
#define gnome_config_get_vector_with_default(path, argcp, argvp, def) |
Retrieves & returns the value of a configuration item as a string array.
The returned value should be g_free()'d when no longer needed.
gnome_config_private_get_string_with_default()
#define gnome_config_private_get_string_with_default(path,def) |
Retrieves & returns the value of a configuration item as a string.
The returned value should be g_free()'d when no longer needed. The
item is retrieved from the user's private configuration storage
area.
gnome_config_private_get_translated_string_with_default()
#define gnome_config_private_get_translated_string_with_default(path,def) |
Retrieves & returns the value of a configuration item as a string appropriate for the current language. The returned value should be
g_free()'d when no longer needed.
The item is retrieved from the user's private configuration storage area.
gnome_config_private_get_int_with_default()
#define gnome_config_private_get_int_with_default(path,def) |
Retrieves & returns the value of a configuration item as an integer.
The item is retrieved from the user's private configuration storage area.
gnome_config_private_get_float_with_default()
#define gnome_config_private_get_float_with_default(path,def) |
Retrieves & returns the value of a configuration item as a floating-point number.
The item is retrieved from the user's private configuration storage area.
gnome_config_private_get_bool_with_default()
#define gnome_config_private_get_bool_with_default(path,def) |
Retrieves & returns the value of a configuration item as a boolean.
The item is retrieved from the user's private configuration storage area.
gnome_config_private_get_vector_with_default()
#define gnome_config_private_get_vector_with_default(path, argcp, argvp, def) |
Retrieves & returns the value of a configuration item as a string array.
The returned value should be g_free()'d when no longer needed. The
item is retrieved from the user's private configuration storage
area.
gnome_config_get_string()
#define gnome_config_get_string(path) |
Retrieves & returns the value of a configuration item as a string.
The returned value should be
g_free()'d when no longer needed.
gnome_config_get_translated_string()
#define gnome_config_get_translated_string(path) |
Retrieves & returns the value of a configuration item as a string
appropriate for the current language. The returned value should be
g_free()'d when no longer needed.
gnome_config_get_int()
#define gnome_config_get_int(path) |
Retrieves & returns the value of a configuration item as an integer.
gnome_config_get_float()
#define gnome_config_get_float(path) |
Retrieves & returns the value of a configuration item as a floating-point
number.
gnome_config_get_bool()
#define gnome_config_get_bool(path) |
Retrieves & returns the value of a configuration item as a boolean.
gnome_config_get_vector()
#define gnome_config_get_vector(path, argcp, argvp) |
Retrieves & returns the value of a configuration item as a string array.
The returned value should be
g_free()'d when no longer needed.
gnome_config_private_get_string()
#define gnome_config_private_get_string(path) |
Retrieves & returns the value of a configuration item as a
string. The returned value should be g_free()'d when no longer
needed. The item is retrieved from the user's private
configuration storage area.
gnome_config_private_get_translated_string()
#define gnome_config_private_get_translated_string(path) |
Retrieves & returns the value of a configuration item as a string appropriate for the current language. The returned value should be
g_free()'d when no longer needed.
The item is retrieved from the user's private configuration storage area.
gnome_config_private_get_int()
#define gnome_config_private_get_int(path) |
Retrieves & returns the value of a configuration item as an integer.
The item is retrieved from the user's private configuration storage area.
gnome_config_private_get_float()
#define gnome_config_private_get_float(path) |
Retrieves & returns the value of a configuration item as a floating-point number.
The item is retrieved from the user's private configuration storage area.
gnome_config_private_get_bool()
#define gnome_config_private_get_bool(path) |
Retrieves & returns the value of a configuration item as a boolean.
The item is retrieved from the user's private configuration storage area.
gnome_config_private_get_vector()
#define gnome_config_private_get_vector(path, argcp, argvp) |
Retrieves & returns the value of a configuration item as a
string. The returned value should be g_free()'d when no longer
needed. The item is retrieved from the user's private
configuration storage area.
gnome_config_set_string()
#define gnome_config_set_string(path,new_value) |
Stores the string value new_value in the file/section/key
defined by the path
gnome_config_set_translated_string()
#define gnome_config_set_translated_string(path,value) |
Stores the string value new_value in the file/section/key defined
by the path on the proper section for the current language set by
by the user.
gnome_config_set_int()
#define gnome_config_set_int(path,new_value) |
Stores the integer value new_value in the file/section/key
defined by the path
gnome_config_set_float()
#define gnome_config_set_float(path,new_value) |
Stores the double value new_value in the file/section/key
defined by the path
gnome_config_set_bool()
#define gnome_config_set_bool(path,new_value) |
Stores boolean value new_value in the file/section/key defined by
path.
gnome_config_set_vector()
#define gnome_config_set_vector(path,argc,argv) |
Stores vector argv in the file/section/key defined by
path.
gnome_config_private_set_string()
#define gnome_config_private_set_string(path,new_value) |
gnome_config_private_set_translated_string()
#define gnome_config_private_set_translated_string(path,new_value) |
gnome_config_private_set_int()
#define gnome_config_private_set_int(path,new_value) |
gnome_config_private_set_float()
#define gnome_config_private_set_float(path,new_value) |
gnome_config_private_set_bool()
#define gnome_config_private_set_bool(path,new_value) |
gnome_config_private_set_vector()
#define gnome_config_private_set_vector(path,argc,argv) |
gnome_config_has_section()
#define gnome_config_has_section(path) |
Queries the gnome configuration file for the presence
of the section specified in path.
gnome_config_private_has_section()
#define gnome_config_private_has_section(path) |
Queries the private gnome configuration file for the presence
of the section specified in path.
gnome_config_init_iterator()
#define gnome_config_init_iterator(path) |
Creates an iterator handle that can be used to
iterate over the keys in a section in a gnome configuration
file. path must refer to a section. The returned value
can be used as an iterator for #gnome_config_iterator_next().
gnome_config_private_init_iterator()
#define gnome_config_private_init_iterator(path) |
Creates an iterator handle that can be used to
iterate over the keys in a section in a private gnome configuration
file. path must refer to a section. The returned value
can be used as an iterator for #gnome_config_iterator_next().
gnome_config_init_iterator_sections()
#define gnome_config_init_iterator_sections(path) |
Creates an iterator handle that can be used to iterate over the
sections in a gnome configuration file. path must refer to a
gnome configuration file. The returned value can be used as an
iterator for #gnome_config_iterator_next().
gnome_config_private_init_iterator_sections()
#define gnome_config_private_init_iterator_sections(path) |
Creates an iterator handle that can be used to iterate over the
sections in a private gnome configuration file. path must refer to a
gnome configuration file. The returned value can be used as an
iterator for #gnome_config_iterator_next().
gnome_config_iterator_next ()
void* gnome_config_iterator_next (void *iterator_handle,
char **key,
char **value); |
gnome_config_drop_all ()
void gnome_config_drop_all (void); |
Drops any information cached in memory that was fetched with
gnome config. Any pending information that has not been
written to disk is discarded.
gnome_config_sync ()
void gnome_config_sync (void); |
Writes all of the information modified by gnome-config to the
disk.
Note: the gnome_config code does not write anything to the
configuration files until this routine is actually invoked.
gnome_config_sync_file()
#define gnome_config_sync_file(path) |
Writes all of the information modified by gnome-config to the
disk for the given file.
Note: the gnome_config code does not write anything to the
configuration files until this routine or gnome_config_sync
is actually invoked.
gnome_config_private_sync_file()
#define gnome_config_private_sync_file(path) |
Writes all of the information modified by gnome-config to the
disk for the given private file.
Note: the gnome_config code does not write anything to the
configuration files until this routine or gnome_config_sync
is actually invoked.
gnome_config_drop_file()
#define gnome_config_drop_file(path) |
Releases any memory resources that were allocated from accessing
the configuration file in path. Changes will take place after
gnome_config_sync has been invoked
gnome_config_private_drop_file()
#define gnome_config_private_drop_file(path) |
Releases any memory resources that were allocated from accessing the
private configuration file in path.
gnome_config_clean_file()
#define gnome_config_clean_file(path) |
Cleans up the configuration file specified by path from any
configuration information.
Changes will take place after gnome_config_sync has been invoked.
gnome_config_private_clean_file()
#define gnome_config_private_clean_file(path) |
Cleans up the private configuration file specified by path from
any configuration information.
Changes will take place after gnome_config_sync has been invoked.
gnome_config_clean_section()
#define gnome_config_clean_section(path) |
Cleans up the section specified by path from any
configuration information. Changes will only take place
after gnome_config_sync has been invoked.
gnome_config_private_clean_section()
#define gnome_config_private_clean_section(path) |
Cleans up the section specified by path in a private file from any
configuration information. Changes will only take place after
gnome_config_sync has been invoked.
gnome_config_clean_key()
#define gnome_config_clean_key(path) |
Removes the definition for the key on a gnome configuration file.
Changes will take place after gnome_config_sync has been invoked.
gnome_config_private_clean_key()
#define gnome_config_private_clean_key(path) |
Removes the definition for the key on a private gnome configuration
file.
Changes will take place after gnome_config_sync has been invoked.
gnome_config_get_real_path()
#define gnome_config_get_real_path(path) |
gnome_config_private_get_real_path()
#define gnome_config_private_get_real_path(path) |
gnome_config_push_prefix ()
void gnome_config_push_prefix (const char *path); |
path is a prefix that will be prepended automatically to any
non-absolute configuration path in gnome config.
This is used to simplify application loading code.
Library code will usually have to set the prefix before doing
any gnome-configuration access, since the application might
be using their own prefix.
gnome_config_pop_prefix ()
void gnome_config_pop_prefix (void); |
Call this routine to remove the current configuration prefix from the stack.
gnome_config_make_vector ()
void gnome_config_make_vector (const char *string,
int *argcp,
char ***argvp); |
Creates a new vector from a string as it stored in the config file,
breaks the string on spaces except if the space is escaped with a
backslash.
gnome_config_assemble_vector ()
char* gnome_config_assemble_vector (int argc,
const char *const argv[]); |
This routine returns the the strings in the array contactenated by
spaces.
gnome_config_set_set_handler ()
void gnome_config_set_set_handler (void (*func) (void *),
void *data); |
Internal Obsolete.
gnome_config_set_sync_handler ()
void gnome_config_set_sync_handler (void (*func) (void *),
void *data); |
Internal routine