## ESourceAutoconfig

ESourceAutoconfig — ESource extension for autoconfig settings

## Functions

const gchar * | e_source_autoconfig_get_revision ()
gchar * | e_source_autoconfig_dup_revision ()
void | e_source_autoconfig_set_revision ()

## Types and Values

#define | E_SOURCE_EXTENSION_AUTOCONFIG
struct | ESourceAutoconfig

## Object Hierarchy

        GObject
        ╰── ESourceExtension
            ╰── ESourceAutoconfig

## Includes

    #include <libedataserver/libedataserver.h>

## Description

The ESourceAutoconfig extension keeps a mapping between user-specific sources and system-wide ones.

Access the extension as follows:

    1
    2
    3
    4
    5

    #include <libedataserver/libedataserver.h>

    ESourceAutoconfig *extension;

    extension = e_source_get_extension (source, E_SOURCE_EXTENSION_AUTOCONFIG);

## Functions

### e_source_autoconfig_get_revision ()

    const gchar *
    e_source_autoconfig_get_revision (ESourceAutoconfig *extension);

Returns the revision of a data source. This maps a particular version of a system-wide source to a user-specific source.

If doesn't match, the system-wide source will be copied to the user-specific evolution config directory, preserving the already present fields that are not defined by the system-wide source.

If it matches, no copying is done.

#### Parameters

extension | an ESourceAutoconfig |

#### Returns

revision of the data source

Since: 3.24

### e_source_autoconfig_dup_revision ()

    gchar *
    e_source_autoconfig_dup_revision (ESourceAutoconfig *extension);

Thread-safe variation of `e_source_autoconfig_get_revision()`. Use this function when accessing `extension` from multiple threads.

The returned string should be freed with `g_free()` when no longer needed.

#### Parameters

extension | an ESourceAutoconfig |

#### Returns

a newly-allocated copy of “revision”.

[transfer full]

Since: 3.24

### e_source_autoconfig_set_revision ()

    void
    e_source_autoconfig_set_revision (ESourceAutoconfig *extension,
                                      const gchar *revision);

Sets the revision used to map a particular version of a system-wide source to a user-specific source.

If doesn't match, the system-wide source will be copied to the user-specific evolution config directory, preserving the already present fields that are not defined by the system-wide source.

If it matches, no copying is done.

The internal copy of `revision` is automatically stripped of leading and trailing whitespace.

#### Parameters

extension | an ESourceAutoconfig |
revision | a revision |

Since: 3.24

## Types and Values

### E_SOURCE_EXTENSION_AUTOCONFIG

    #define E_SOURCE_EXTENSION_AUTOCONFIG "Autoconfig"

Pass this extension name to `e_source_get_extension()` to access ESourceAutoconfig. This is also used as a group name in key files.

Since: 3.24

### struct ESourceAutoconfig

    struct ESourceAutoconfig;

Contains only private data that should be read and manipulated using the functions below.

Since: 3.24