camel-groupwise-utils
3
CAMEL Library

# camel-groupwise-utils

## Synopsis

    #define             X_SEND_OPTIONS
    #define             X_SEND_OPT_PRIORITY
    #define             X_SEND_OPT_SECURITY
    #define             X_REPLY_CONVENIENT
    #define             X_REPLY_WITHIN
    #define             X_EXPIRE_AFTER
    #define             X_DELAY_UNTIL
    #define             X_TRACK_WHEN
    #define             X_AUTODELETE
    #define             X_RETURN_NOTIFY_OPEN
    #define             X_RETURN_NOTIFY_DELETE
    #define             RECEIVED
    #define             SENT
    #define             DRAFT
    #define             PERSONAL
                        flags_diff_t;
    gboolean            (*EPathFindFoldersCallback)         (const char *physical_path,
                                                             const char *path,
                                                             gpointer user_data);
    char*               e_path_to_physical                  (const char *prefix,
                                                             const char *vpath);
    gboolean            e_path_find_folders                 (const char *prefix,
                                                             EPathFindFoldersCallback callback,
                                                             gpointer data);
    int                 e_path_rmdir                        (const char *prefix,
                                                             const char *vpath);
    EGwItem*            camel_groupwise_util_item_from_message
                                                            (EGwConnection *cnc,
                                                             CamelMimeMessage *message,
                                                             CamelAddress *from);
    void                do_flags_diff                       (flags_diff_t *diff,
                                                             guint32 old,
                                                             guint32 _new);
    char*               gw_concat                           (const char *prefix,
                                                             const char *suffix);
    void                strip_lt_gt                         (char **string,
                                                             int s_offset,
                                                             int e_offset);

## Description

## Details

### X_SEND_OPTIONS

    #define X_SEND_OPTIONS        "X-gw-send-options"

### X_SEND_OPT_PRIORITY

    #define X_SEND_OPT_PRIORITY   "X-gw-send-opt-priority"

### X_SEND_OPT_SECURITY

    #define X_SEND_OPT_SECURITY   "X-gw-send-opt-security"

### X_REPLY_CONVENIENT

    #define X_REPLY_CONVENIENT    "X-reply-convenient"

### X_REPLY_WITHIN

    #define X_REPLY_WITHIN        "X-reply-within"

### X_EXPIRE_AFTER

    #define X_EXPIRE_AFTER        "X-expire-after"

### X_DELAY_UNTIL

    #define X_DELAY_UNTIL         "X-delay-until"

### X_TRACK_WHEN

    #define X_TRACK_WHEN            "X-track-when"

### X_AUTODELETE

    #define X_AUTODELETE            "X-auto-delete"

### X_RETURN_NOTIFY_OPEN

    #define X_RETURN_NOTIFY_OPEN    "X-return-notify-open"

### X_RETURN_NOTIFY_DELETE

    #define X_RETURN_NOTIFY_DELETE  "X-return-notify-delete"

### RECEIVED

    #define RECEIVED  "Mailbox"

### SENT

    #define SENT	  "Sent Items"

### DRAFT

    #define DRAFT	  ""

### PERSONAL

    #define PERSONAL  "Cabinet"

### flags_diff_t

    typedef struct {
    	guint32 changed;
    	guint32 bits;
    } flags_diff_t;

### EPathFindFoldersCallback ()

    gboolean            (*EPathFindFoldersCallback)         (const char *physical_path,
                                                             const char *path,
                                                             gpointer user_data);

`physical_path` :

`path` :

`user_data` :

Returns :

### e_path_to_physical ()

    char*               e_path_to_physical                  (const char *prefix,
                                                             const char *vpath);

This converts the "virtual" path `path` into an expanded form that allows a given name to refer to both a file and a directory. The expanded path will have a "subfolders" directory inserted between each path component. If the path ends with "/", the returned physical path will end with "/subfolders"

If `prefix` is non-`NULL`, it will be prepended to the returned path.

`prefix` :

  a prefix to prepend to the path, or `NULL`

`vpath` :

Returns :

  the expanded path

### e_path_find_folders ()

    gboolean            e_path_find_folders                 (const char *prefix,
                                                             EPathFindFoldersCallback callback,
                                                             gpointer data);

Walks the folder tree starting at `prefix` and calls `callback` on each folder.

`prefix` :

  directory to start from

`callback` :

  Callback to invoke on each folder

`data` :

  Data for `callback`

Returns :

  `TRUE` on success, `FALSE` if an error occurs at any point

### e_path_rmdir ()

    int                 e_path_rmdir                        (const char *prefix,
                                                             const char *vpath);

This removes the directory pointed to by `prefix` and `path` and attempts to remove its parent "subfolders" directory too if it's empty.

`prefix` :

  a prefix to prepend to the path, or `NULL`

`vpath` :

Returns :

  -1 (with errno set) if it failed to rmdir the specified directory. 0 otherwise, whether or not it removed the parent directory.

### camel_groupwise_util_item_from_message ()

    EGwItem*            camel_groupwise_util_item_from_message
                                                            (EGwConnection *cnc,
                                                             CamelMimeMessage *message,
                                                             CamelAddress *from);

`cnc` :

`message` :

`from` :

Returns :

### do_flags_diff ()

    void                do_flags_diff                       (flags_diff_t *diff,
                                                             guint32 old,
                                                             guint32 _new);

`diff` :

`old` :

`_new` :

### gw_concat ()

    char*               gw_concat                           (const char *prefix,
                                                             const char *suffix);

`prefix` :

`suffix` :

Returns :

### strip_lt_gt ()

    void                strip_lt_gt                         (char **string,
                                                             int s_offset,
                                                             int e_offset);

`string` :

`s_offset` :

`e_offset` :