## ESourceOffline

ESourceOffline — ESource extension for offline settings

## Synopsis

    #include <libedataserver/libedataserver.h>

    #define             E_SOURCE_EXTENSION_OFFLINE
    struct              ESourceOffline;
    struct              ESourceOfflineClass;
    gboolean            e_source_offline_get_stay_synchronized
                                                            (ESourceOffline *extension);
    void                e_source_offline_set_stay_synchronized
                                                            (ESourceOffline *extension,
                                                             gboolean stay_synchronized);

## Description

The ESourceOffline extension tracks whether data from a remote server should be cached locally for viewing while offline.

Access the extension as follows:

    1
    2
    3
    4
    5

    #include <libedataserver/libedataserver.h>

    ESourceOffline *extension;

    extension = e_source_get_extension (source, E_SOURCE_EXTENSION_OFFLINE);

## Details

### E_SOURCE_EXTENSION_OFFLINE

    #define E_SOURCE_EXTENSION_OFFLINE "Offline"

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

Since 3.6

### struct ESourceOffline

    struct ESourceOffline {
    	ESourceExtension parent;
    	ESourceOfflinePrivate *priv;
    };

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

Since 3.6

### struct ESourceOfflineClass

    struct ESourceOfflineClass {
    	ESourceExtensionClass parent_class;
    };

### e_source_offline_get_stay_synchronized ()

    gboolean            e_source_offline_get_stay_synchronized
                                                            (ESourceOffline *extension);

Returns whether data from a remote server should be cached locally for viewing while offline. Backends are responsible for implementing such caching.

`extension` : | an ESourceOffline
Returns : | whether data should be cached for offline

Since 3.6

### e_source_offline_set_stay_synchronized ()

    void                e_source_offline_set_stay_synchronized
                                                            (ESourceOffline *extension,
                                                             gboolean stay_synchronized);

Sets whether data from a remote server should be cached locally for viewing while offline. Backends are responsible for implementing such caching.

`extension` : | an ESourceOffline
`stay_synchronized` : | whether data should be cached for offline

Since 3.6