CamelDiscoDiary
3
CAMEL Library

# CamelDiscoDiary

## Synopsis

    struct              CamelDiscoDiary;
    enum                CamelDiscoDiaryAction;
    enum                CamelDiscoDiaryArgType;
    CamelDiscoDiary*    camel_disco_diary_new               (CamelDiscoStore *store,
                                                             const char *filename,
                                                             CamelException *ex);
    gboolean            camel_disco_diary_empty             (CamelDiscoDiary *diary);
    void                camel_disco_diary_log               (CamelDiscoDiary *diary,
                                                             CamelDiscoDiaryAction action,
                                                             ...);
    void                camel_disco_diary_replay            (CamelDiscoDiary *diary,
                                                             CamelException *ex);
    void                camel_disco_diary_uidmap_add        (CamelDiscoDiary *diary,
                                                             const char *old_uid,
                                                             const char *new_uid);
    const char*         camel_disco_diary_uidmap_lookup     (CamelDiscoDiary *diary,
                                                             const char *uid);

## Description

## Details

### struct CamelDiscoDiary

    struct CamelDiscoDiary {
    	CamelObject parent_object;

    	CamelDiscoStore *store;
    	FILE *file;
    	GHashTable *folders, *uidmap;
    };

### enum CamelDiscoDiaryAction

    typedef enum {
    	CAMEL_DISCO_DIARY_END = 0,

    	CAMEL_DISCO_DIARY_FOLDER_EXPUNGE,
    	CAMEL_DISCO_DIARY_FOLDER_APPEND,
    	CAMEL_DISCO_DIARY_FOLDER_TRANSFER,
    } CamelDiscoDiaryAction;

### enum CamelDiscoDiaryArgType

    typedef enum {
    	CAMEL_DISCO_DIARY_ARG_NONE = 0,

    	CAMEL_DISCO_DIARY_ARG_FOLDER,
    	CAMEL_DISCO_DIARY_ARG_UID,
    	CAMEL_DISCO_DIARY_ARG_UID_LIST
    } CamelDiscoDiaryArgType;

### camel_disco_diary_new ()

    CamelDiscoDiary*    camel_disco_diary_new               (CamelDiscoStore *store,
                                                             const char *filename,
                                                             CamelException *ex);

`store` :

`filename` :

`ex` :

Returns :

### camel_disco_diary_empty ()

    gboolean            camel_disco_diary_empty             (CamelDiscoDiary *diary);

`diary` :

Returns :

### camel_disco_diary_log ()

    void                camel_disco_diary_log               (CamelDiscoDiary *diary,
                                                             CamelDiscoDiaryAction action,
                                                             ...);

`diary` :

`action` :

`...` :

### camel_disco_diary_replay ()

    void                camel_disco_diary_replay            (CamelDiscoDiary *diary,
                                                             CamelException *ex);

`diary` :

`ex` :

### camel_disco_diary_uidmap_add ()

    void                camel_disco_diary_uidmap_add        (CamelDiscoDiary *diary,
                                                             const char *old_uid,
                                                             const char *new_uid);

`diary` :

`old_uid` :

`new_uid` :

### camel_disco_diary_uidmap_lookup ()

    const char*         camel_disco_diary_uidmap_lookup     (CamelDiscoDiary *diary,
                                                             const char *uid);

`diary` :

`uid` :

Returns :