CamelImapJournal
3
CAMEL Library

# CamelImapJournal

## Synopsis

    enum                CamelOfflineAction;
                        CamelIMAPJournalEntry;
                        CamelIMAPJournal;
    CamelOfflineJournal * camel_imap_journal_new            (struct _CamelImapFolder *folder,
                                                             const char *filename);
    void                camel_imap_journal_log              (CamelOfflineJournal *journal,
                                                             CamelOfflineAction action,
                                                             ...);
    void                camel_imap_journal_uidmap_add       (CamelIMAPJournal *journal,
                                                             const char *old_uid,
                                                             const char *n_uid);
    const char *        camel_imap_journal_uidmap_lookup    (CamelIMAPJournal *journal,
                                                             const char *uid);
    void                camel_imap_journal_close_folders    (CamelIMAPJournal *journal);

## Description

## Details

### enum CamelOfflineAction

    typedef enum {
    	CAMEL_IMAP_JOURNAL_ENTRY_EXPUNGE,
    	CAMEL_IMAP_JOURNAL_ENTRY_APPEND,
    	CAMEL_IMAP_JOURNAL_ENTRY_TRANSFER
    } CamelOfflineAction;

### CamelIMAPJournalEntry

    typedef struct {
    	CamelDListNode node;

    	CamelOfflineAction type;

    	GPtrArray *uids;

    	char *append_uid;
    	char *dest_folder_name;
    	gboolean move;
    } CamelIMAPJournalEntry;

### CamelIMAPJournal

    typedef struct {
    	CamelOfflineJournal parent_object;

    	GHashTable *folders;
    	GHashTable *uidmap;
    } CamelIMAPJournal;

### camel_imap_journal_new ()

    CamelOfflineJournal * camel_imap_journal_new            (struct _CamelImapFolder *folder,
                                                             const char *filename);

`folder` :

`filename` :

Returns :

### camel_imap_journal_log ()

    void                camel_imap_journal_log              (CamelOfflineJournal *journal,
                                                             CamelOfflineAction action,
                                                             ...);

`journal` :

`action` :

`...` :

### camel_imap_journal_uidmap_add ()

    void                camel_imap_journal_uidmap_add       (CamelIMAPJournal *journal,
                                                             const char *old_uid,
                                                             const char *n_uid);

`journal` :

`old_uid` :

`n_uid` :

### camel_imap_journal_uidmap_lookup ()

    const char *        camel_imap_journal_uidmap_lookup    (CamelIMAPJournal *journal,
                                                             const char *uid);

`journal` :

`uid` :

Returns :

### camel_imap_journal_close_folders ()

    void                camel_imap_journal_close_folders    (CamelIMAPJournal *journal);

`journal` :