CamelIMAPXListResponse

CamelIMAPXListResponse — Stores an IMAP LIST response

Object Hierarchy

    GObject
    ╰── CamelIMAPXListResponse

Includes

#include <camel/camel.h>

Description

CamelIMAPXListResponse encapsulates an IMAP LIST response, which consists of a set of mailbox attributes, a mailbox separator character, and the mailbox name. (Extended information for LIST responses, as described in

RFC 5258, to be

supported at a later date.)

CamelIMAPXListResponse can also convert the mailbox attributes to a CamelStoreInfoFlags / CamelFolderInfoFlags value for use with camel_store_get_folder_info().

Functions

camel_imapx_list_response_new ()

CamelIMAPXListResponse *
camel_imapx_list_response_new (CamelIMAPXInputStream *stream,
                               GCancellable *cancellable,
                               GError **error);

Attempts to parse an IMAP LIST response from stream and, if successful, stores the response data in a new CamelIMAPXListResponse. If an error occurs, the function sets error and returns NULL.

Parameters

stream

a CamelIMAPXInputStream

 

cancellable

a GCancellable

 

error

return location for a GError, or NULL

 

Since: 3.10


camel_imapx_list_response_hash ()

guint
camel_imapx_list_response_hash (CamelIMAPXListResponse *response);

Generates a hash value for response based on the mailbox name. This function is intended for easily hashing a CamelIMAPXListResponse to add to a GHashTable or similar data structure.

Parameters

response

a CamelIMAPXListResponse

 

Returns

a hash value for response

Since: 3.10


camel_imapx_list_response_equal ()

gboolean
camel_imapx_list_response_equal (CamelIMAPXListResponse *response_a,
                                 CamelIMAPXListResponse *response_b);

Checks two CamelIMAPXListResponse instances for equality based on their mailbox names.

Parameters

response_a

the first CamelIMAPXListResponse

 

response_b

the second CamelIMAPXListResponse

 

Returns

TRUE if response_a and response_b are equal

Since: 3.10


camel_imapx_list_response_compare ()

gint
camel_imapx_list_response_compare (CamelIMAPXListResponse *response_a,
                                   CamelIMAPXListResponse *response_b);

Compares two CamelIMAPXListResponse instances by their mailbox names.

Parameters

response_a

the first CamelIMAPXListResponse

 

response_b

the second CamelIMAPXListResponse

 

Returns

a negative value if response_a compares before response_b , zero if they compare equal, or a positive value if response_a compares after response_b

Since: 3.10


camel_imapx_list_response_get_mailbox_name ()

const gchar *
camel_imapx_list_response_get_mailbox_name
                               (CamelIMAPXListResponse *response);

Returns the mailbox name for response .

Parameters

response

a CamelIMAPXListResponse

 

Returns

the mailbox name

Since: 3.10


camel_imapx_list_response_get_separator ()

gchar
camel_imapx_list_response_get_separator
                               (CamelIMAPXListResponse *response);

Returns the mailbox path separator character for response .

Parameters

response

a CamelIMAPXListResponse

 

Returns

the mailbox path separator character

Since: 3.10


camel_imapx_list_response_add_attribute ()

void
camel_imapx_list_response_add_attribute
                               (CamelIMAPXListResponse *response,
                                const gchar *attribute);

Adds a mailbox attribute to response . The attribute should be one of the LIST attribute macros defined above.

Parameters

response

a CamelIMAPXListResponse

 

attribute

a mailbox attribute

 

Since: 3.10


camel_imapx_list_response_has_attribute ()

gboolean
camel_imapx_list_response_has_attribute
                               (CamelIMAPXListResponse *response,
                                const gchar *attribute);

Returns whether response includes the given mailbox attribute. The attribute should be one of the LIST attribute macros defined above.

Parameters

response

a CamelIMAPXListResponse

 

attribute

a mailbox attribute

 

Returns

TRUE if response has attribute , or else FALSE

Since: 3.10


camel_imapx_list_response_dup_attributes ()

GHashTable *
camel_imapx_list_response_dup_attributes
                               (CamelIMAPXListResponse *response);

Returns a GHashTable of mailbox attributes to be used as a set. Use g_hash_table_contains() and g_hash_table_get_keys() to query for and list all mailbox attributes, respectively.

The hash table keys are all internalized strings and must not be freed. Free the returned GHashTable with g_hash_table_destroy() when finished with it.

Parameters

response

a CamelIMAPXListResponse

 

Returns

a newly-created GHashTable

Since: 3.10


camel_imapx_list_response_ref_extended_item ()

GVariant *
camel_imapx_list_response_ref_extended_item
                               (CamelIMAPXListResponse *response,
                                const gchar *extended_item_tag);

Returns the extended item value for extended_item_tag as a GVariant. The type of the GVariant depends on the extended item. If no value for extended_item_tag exists, the function returns NULL.

The returned GVariant is referenced for thread-safety and should be unreferenced with g_variant_unref() when finished with it.

Parameters

response

a CamelIMAPXListResponse

 

extended_item_tag

an extended item tag

 

Returns

a GVariant, or NULL

Since: 3.10


camel_imapx_list_response_get_oldname ()

const gchar *
camel_imapx_list_response_get_oldname (CamelIMAPXListResponse *response);

Convenience function returns the value of the "OLDNAME" extended data item, or NULL if no such extended data item is present.

The presence of this extended data item indicates the mailbox has been renamed. See RFC 5465 Section 5.4 for further details.

Parameters

response

a CamelIMAPXListResponse

 

Returns

the old mailbox name, or NULL

Since: 3.12

Types and Values

CAMEL_IMAPX_LIST_ATTR_MARKED

#define CAMEL_IMAPX_LIST_ATTR_MARKED		"\\Marked"

Refer to RFC 3501 section 7.2.2.

Since: 3.10


CAMEL_IMAPX_LIST_ATTR_NOINFERIORS

#define CAMEL_IMAPX_LIST_ATTR_NOINFERIORS "\\NoInferiors"

Refer to RFC 3501 section 7.2.2.

Since: 3.10


CAMEL_IMAPX_LIST_ATTR_NOSELECT

#define CAMEL_IMAPX_LIST_ATTR_NOSELECT		"\\NoSelect"

Refer to RFC 3501 section 7.2.2.

Since: 3.10


CAMEL_IMAPX_LIST_ATTR_UNMARKED

#define CAMEL_IMAPX_LIST_ATTR_UNMARKED		"\\Unmarked"

Refer to RFC 3501 section 7.2.2.

Since: 3.10


CAMEL_IMAPX_LIST_ATTR_HASCHILDREN

#define CAMEL_IMAPX_LIST_ATTR_HASCHILDREN "\\HasChildren"

Refer to RFC 5258 section 4.

Since: 3.10


CAMEL_IMAPX_LIST_ATTR_HASNOCHILDREN

#define CAMEL_IMAPX_LIST_ATTR_HASNOCHILDREN "\\HasNoChildren"

Refer to RFC 5258 section 4.

Since: 3.10


CAMEL_IMAPX_LIST_ATTR_NONEXISTENT

#define CAMEL_IMAPX_LIST_ATTR_NONEXISTENT "\\NonExistent"

Refer to RFC 5258 section 3.

Since: 3.10


CAMEL_IMAPX_LIST_ATTR_REMOTE

#define CAMEL_IMAPX_LIST_ATTR_REMOTE		"\\Remote"

Refer to RFC 5258 section 3.1.

Since: 3.10


CAMEL_IMAPX_LIST_ATTR_SUBSCRIBED

#define CAMEL_IMAPX_LIST_ATTR_SUBSCRIBED "\\Subscribed"

Refer to RFC 5258 section 3.1.

Since: 3.10


CAMEL_IMAPX_LIST_ATTR_ALL

#define CAMEL_IMAPX_LIST_ATTR_ALL		"\\All"

Refer to RFC 6154 section 2.

Since: 3.12


CAMEL_IMAPX_LIST_ATTR_ARCHIVE

#define CAMEL_IMAPX_LIST_ATTR_ARCHIVE		"\\Archive"

Refer to RFC 6154 section 2.

Since: 3.12


CAMEL_IMAPX_LIST_ATTR_DRAFTS

#define CAMEL_IMAPX_LIST_ATTR_DRAFTS		"\\Drafts"

Refer to RFC 6154 section 2.

Since: 3.12


CAMEL_IMAPX_LIST_ATTR_FLAGGED

#define CAMEL_IMAPX_LIST_ATTR_FLAGGED		"\\Flagged"

Refer to RFC 6154 section 2.

Since: 3.12


CAMEL_IMAPX_LIST_ATTR_JUNK

#define CAMEL_IMAPX_LIST_ATTR_JUNK		"\\Junk"

Refer to RFC 6154 section 2.

Since: 3.12


CAMEL_IMAPX_LIST_ATTR_SENT

#define CAMEL_IMAPX_LIST_ATTR_SENT		"\\Sent"

Refer to RFC 6154 section 2.

Since: 3.12


CAMEL_IMAPX_LIST_ATTR_TRASH

#define CAMEL_IMAPX_LIST_ATTR_TRASH		"\\Trash"

Refer to RFC 6154 section 2.

Since: 3.12


struct CamelIMAPXListResponse

struct CamelIMAPXListResponse;

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

Since: 3.10