CamelDiscoStore
3
CAMEL Library

# CamelDiscoStore

## Synopsis

    struct              CamelDiscoStore;
    enum                CamelDiscoStoreStatus;
    CamelDiscoStoreStatus camel_disco_store_status          (CamelDiscoStore *);
    void                camel_disco_store_set_status        (CamelDiscoStore *,
                                                             CamelDiscoStoreStatus ,
                                                             CamelException *);
    gboolean            camel_disco_store_can_work_offline  (CamelDiscoStore *);
    gboolean            camel_disco_store_check_online      (CamelDiscoStore *store,
                                                             CamelException *ex);
    void                camel_disco_store_prepare_for_offline
                                                            (CamelDiscoStore *store,
                                                             CamelException *ex);

## Description

## Details

### struct CamelDiscoStore

    struct CamelDiscoStore {
    	CamelStore parent_object;

    	CamelDiscoStoreStatus status;
    	CamelDiscoDiary *diary;
    };

### enum CamelDiscoStoreStatus

    typedef enum {
    	CAMEL_DISCO_STORE_ONLINE,
    	CAMEL_DISCO_STORE_OFFLINE,
    	CAMEL_DISCO_STORE_RESYNCING
    } CamelDiscoStoreStatus;

### camel_disco_store_status ()

    CamelDiscoStoreStatus camel_disco_store_status          (CamelDiscoStore *);

`Param1` :

Returns :

  the current online/offline status of `store`.

### camel_disco_store_set_status ()

    void                camel_disco_store_set_status        (CamelDiscoStore *,
                                                             CamelDiscoStoreStatus ,
                                                             CamelException *);

Sets `store` to `status`. If an error occurrs and the status cannot be set to `status`, `ex` will be set.

`Param1` :

`Param2` :

`Param3` :

### camel_disco_store_can_work_offline ()

    gboolean            camel_disco_store_can_work_offline  (CamelDiscoStore *);

`Param1` :

Returns :

  whether or not `store` can be used offline. (Will be `FALSE` if the store is not caching data to local disk, for example.)

### camel_disco_store_check_online ()

    gboolean            camel_disco_store_check_online      (CamelDiscoStore *store,
                                                             CamelException *ex);

This checks that `store` is online, and sets `ex` if it is not. This can be used as a simple way to set a generic error message in `ex` for operations that won't work offline.

`store` :

  a disconnectable store

`ex` :

  a CamelException

Returns :

  whether or not `store` is online.

### camel_disco_store_prepare_for_offline ()

    void                camel_disco_store_prepare_for_offline
                                                            (CamelDiscoStore *store,
                                                             CamelException *ex);

`store` :

`ex` :