## CamelIMAPXNamespace CamelIMAPXNamespace — Stores an IMAP namespace |

## Synopsis

    #include <camel/camel.h>

    struct              CamelIMAPXNamespace;
    enum                CamelIMAPXNamespaceCategory;
    CamelIMAPXNamespace * camel_imapx_namespace_new         (CamelIMAPXNamespaceCategory category,
                                                             const gchar *prefix,
                                                             gchar separator);
    gboolean            camel_imapx_namespace_equal         (CamelIMAPXNamespace *namespace_a,
                                                             CamelIMAPXNamespace *namespace_b);
    CamelIMAPXNamespaceCategory camel_imapx_namespace_get_category
                                                            (CamelIMAPXNamespace *namespace_);
    const gchar *       camel_imapx_namespace_get_prefix    (CamelIMAPXNamespace *namespace_);
    gchar               camel_imapx_namespace_get_separator (CamelIMAPXNamespace *namespace_);

## Object Hierarchy

      GObject
       +----CamelIMAPXNamespace

## Description

CamelIMAPXNamespace encapsulates an IMAP namespace, which consists of a namespace category (personal/other users/shared), a mailbox prefix string, and a mailbox separator character.

## Details

### struct CamelIMAPXNamespace

    struct CamelIMAPXNamespace;

Contains only private data that should be read and manipulated using the functions below.

Since 3.12

### enum CamelIMAPXNamespaceCategory

    typedef enum {
    	CAMEL_IMAPX_NAMESPACE_PERSONAL,
    	CAMEL_IMAPX_NAMESPACE_OTHER_USERS,
    	CAMEL_IMAPX_NAMESPACE_SHARED
    } CamelIMAPXNamespaceCategory;

Refer to RFC 2342 for more detailed namespace class descriptions.

`CAMEL_IMAPX_NAMESPACE_PERSONAL` | Mailboxes belonging to the authenticated user.
`CAMEL_IMAPX_NAMESPACE_OTHER_USERS` | Personal mailboxes belonging to other users.
`CAMEL_IMAPX_NAMESPACE_SHARED` | Mailboxes intended to be shared amongst users.

### camel_imapx_namespace_new ()

    CamelIMAPXNamespace * camel_imapx_namespace_new         (CamelIMAPXNamespaceCategory category,
                                                             const gchar *prefix,
                                                             gchar separator);

Creates a new CamelIMAPXNamespace from `category`, `prefix` and `separator`.

`category` : | a CamelIMAPXNamespaceCategory
`prefix` : | a mailbox prefix string
`separator` : | a mailbox path separator character
Returns : | a new CamelIMAPXNamespace

Since 3.12

### camel_imapx_namespace_equal ()

    gboolean            camel_imapx_namespace_equal         (CamelIMAPXNamespace *namespace_a,
                                                             CamelIMAPXNamespace *namespace_b);

Returns whether `namespace_a` and `namespace_b` are equivalent, meaning they share the same category, prefix string, and path separator character.

`namespace_a` : | a CamelIMAPXNamespace
`namespace_b` : | another CamelIMAPXNamespace
Returns : | `TRUE` if `namespace_a` and `namespace_b` are equal

Since 3.12

### camel_imapx_namespace_get_category ()

    CamelIMAPXNamespaceCategory camel_imapx_namespace_get_category
                                                            (CamelIMAPXNamespace *namespace_);

Returns the CamelIMAPXNamespaceCategory for `namespace`.

`namespace_` : | a CamelIMAPXNamespace
Returns : | a CamelIMAPXNamespaceCategory

Since 3.12

### camel_imapx_namespace_get_prefix ()

    const gchar *       camel_imapx_namespace_get_prefix    (CamelIMAPXNamespace *namespace_);

Returns the mailbox prefix string for `namespace`.

`namespace_` : | a CamelIMAPXNamespace
Returns : | a mailbox prefix string

Since 3.12

### camel_imapx_namespace_get_separator ()

    gchar               camel_imapx_namespace_get_separator (CamelIMAPXNamespace *namespace_);

Returns the mailbox path separator charactor for `namespace`.

`namespace_` : | a CamelIMAPXNamespace
Returns : | the mailbox path separator character

Since 3.12