<!-- ##### SECTION Title ##### -->
MateConfEngine

<!-- ##### SECTION Short_Description ##### -->

a MateConf "database"

<!-- ##### SECTION Long_Description ##### -->
<para>
A #MateConfEngine represents a connection to the MateConf database. The
default #MateConfEngine, returned from mateconf_engine_get_default(), represents the
user's normal configuration source search path. Configuration-related
utilities, such as a configuration editor tool, might wish to access a
particular configuration source directly; they can obtain a
non-default #MateConfEngine with mateconf_engine_get_for_address().
</para>

<para>
Once you have a #MateConfEngine, you can query and manipulate
configuration values.
</para>

<!-- ##### SECTION See_Also ##### -->
<para>

</para>

<!-- ##### SECTION Stability_Level ##### -->


<!-- ##### SECTION Image ##### -->


<!-- ##### STRUCT MateConfEngine ##### -->
<para>

</para>


<!-- ##### FUNCTION mateconf_engine_get_default ##### -->
<para>

</para>

@void: 
@Returns: 


<!-- ##### FUNCTION mateconf_engine_get_for_address ##### -->
<para>
Obtains a special #MateConfEngine; mostly useful for specialized
MateConf-related tools. Normal clients shouldn't need to use it.
As with mateconf_engine_get_default(), the returned #MateConfEngine should be
unreferenced by the caller of this function.
</para>

@address: a configuration source address.
@err: the return location for an allocated #GError, or <symbol>NULL</symbol> to ignore errors.
@Returns: a #MateConfEngine.


<!-- ##### FUNCTION mateconf_engine_get_for_addresses ##### -->
<para>
Similar to mateconf_engine_get_for_address() , but takes a list of addresses 
instead of a single address.
</para>

@addresses: a list of configuration addresses.
@err: the return location for an allocated #GError, or <symbol>NULL</symbol> to ignore errors.
@Returns: a #MateConfEngine.
@Since: 2.4


<!-- ##### FUNCTION mateconf_engine_unref ##### -->
<para>
Decreases the reference count of a #MateConfEngine by one; if the
reference count reaches 0, destroys the #MateConfEngine.
</para>

@conf: a #MateConfEngine.


<!-- ##### FUNCTION mateconf_engine_ref ##### -->
<para>
Increases the reference count of a #MateConfEngine by one.
</para>

@conf: a #MateConfEngine.


<!-- ##### FUNCTION mateconf_engine_get_local ##### -->
<para>
Obtain a local (non-process-transparent) #MateConfEngine. Local engines
do not support notification, and can only access config databases
directly (they do not use the multiple sources in a path system
supported by nonlocal engines).
</para>

@address: address of local database.
@err: return location of an allocated #GError.
@Returns: a #MateConfEngine.


<!-- ##### FUNCTION mateconf_engine_get_local_for_addresses ##### -->
<para>
Obtains a local #MateConfEngine similar to mateconf_engine_get_local ().
Instead of taking the address of the local database, this function takes
the addresses of the sources and gets the #MateConfSources using mateconf_sources_new_from_addresses ().
</para>

@addresses: a list of addresses of #MateConfSources.
@err: the return location for an allocated #GError, or <symbol>NULL</symbol> to ignore errors.
@Returns: a #MateConfEngine.
@Since: 2.8


<!-- ##### FUNCTION mateconf_engine_set_user_data ##### -->
<para>
Sets the user_data and the destroy notification function fields of a #MateConfEngine.
</para>

@engine: a #MateConfEngine.
@data: a #gpointer.
@dnotify: a pointer to the function to be called during destroy.


<!-- ##### FUNCTION mateconf_engine_get_user_data ##### -->
<para>
Returns the user_data field of a #MateConfEngine.
</para>

@engine: a #MateConfEngine.
@Returns: a pointer to the user_data.


