## CamelOfflineJournal CamelOfflineJournal |

## Synopsis

    struct              CamelOfflineJournal;
                        CamelOfflineJournalEntry;
    void                camel_offline_journal_construct     (CamelOfflineJournal *journal,
                                                             CamelFolder *folder,
                                                             const gchar *filename);
    void                camel_offline_journal_set_filename  (CamelOfflineJournal *journal,
                                                             const gchar *filename);
    gint                camel_offline_journal_write         (CamelOfflineJournal *journal,
                                                             GError **error);
    gint                camel_offline_journal_replay        (CamelOfflineJournal *journal,
                                                             GCancellable *cancellable,
                                                             GError **error);

## Object Hierarchy

      GObject
       +----CamelObject
             +----CamelOfflineJournal

## Description

## Details

### struct CamelOfflineJournal

    struct CamelOfflineJournal;

### CamelOfflineJournalEntry

    typedef struct _CamelOfflineJournalEntry CamelOfflineJournalEntry;

### camel_offline_journal_construct ()

    void                camel_offline_journal_construct     (CamelOfflineJournal *journal,
                                                             CamelFolder *folder,
                                                             const gchar *filename);

Constructs a journal object.

`journal` : | a CamelOfflineJournal object
`folder` : | a CamelFolder object
`filename` : | a filename to save/load the journal

### camel_offline_journal_set_filename ()

    void                camel_offline_journal_set_filename  (CamelOfflineJournal *journal,
                                                             const gchar *filename);

Set the filename where the journal should load/save from.

`journal` : | a CamelOfflineJournal object
`filename` : | a filename to load/save the journal to

### camel_offline_journal_write ()

    gint                camel_offline_journal_write         (CamelOfflineJournal *journal,
                                                             GError **error);

Save the journal to disk.

`journal` : | a CamelOfflineJournal object
`error` : | return location for a GError, or `NULL`
Returns : | `0` on success or `-1` on fail

### camel_offline_journal_replay ()

    gint                camel_offline_journal_replay        (CamelOfflineJournal *journal,
                                                             GCancellable *cancellable,
                                                             GError **error);

Replay all entries in the journal.

`journal` : | a CamelOfflineJournal object
`cancellable` : | optional GCancellable object, or `NULL`
`error` : | return location for a GError, or `NULL`
Returns : | `0` on success (no entry failed to replay) or `-1` on fail