Top | ![]() |
![]() |
![]() |
![]() |
struct | CamelIMAPXListResponse |
#define | CAMEL_IMAPX_LIST_ATTR_NOINFERIORS |
#define | CAMEL_IMAPX_LIST_ATTR_NOSELECT |
#define | CAMEL_IMAPX_LIST_ATTR_MARKED |
#define | CAMEL_IMAPX_LIST_ATTR_UNMARKED |
#define | CAMEL_IMAPX_LIST_ATTR_NONEXISTENT |
#define | CAMEL_IMAPX_LIST_ATTR_SUBSCRIBED |
#define | CAMEL_IMAPX_LIST_ATTR_REMOTE |
#define | CAMEL_IMAPX_LIST_ATTR_HASCHILDREN |
#define | CAMEL_IMAPX_LIST_ATTR_HASNOCHILDREN |
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 besupported at a later date.)
CamelIMAPXListResponse can also convert the mailbox attributes to
a CamelStoreInfoFlags / CamelFolderInfoFlags value for use with
camel_store_get_folder_info()
.
CamelIMAPXListResponse * camel_imapx_list_response_new (CamelIMAPXStream *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
.
Since 3.10
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.
Since 3.10
gboolean camel_imapx_list_response_equal (CamelIMAPXListResponse *response_a
,CamelIMAPXListResponse *response_b
);
Checks two CamelIMAPXListResponse instances for equality based on their mailbox names.
Since 3.10
gint camel_imapx_list_response_compare (CamelIMAPXListResponse *response_a
,CamelIMAPXListResponse *response_b
);
Compares two CamelIMAPXListResponse instances by their mailbox names.
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
const gchar *
camel_imapx_list_response_get_mailbox_name
(CamelIMAPXListResponse *response
);
Returns the mailbox name for response
.
Since 3.10
gchar
camel_imapx_list_response_get_separator
(CamelIMAPXListResponse *response
);
Returns the mailbox path separator character for response
.
Since 3.10
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.
Since 3.10
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.
Since 3.10
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.
Since 3.10
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.
Since 3.10
CamelStoreInfoFlags
camel_imapx_list_response_get_summary_flags
(CamelIMAPXListResponse *response
);
Converts the relevant mailbox attribute flags in response
to a
CamelStoreInfoFlags value.
Since 3.10
struct CamelIMAPXListResponse;
Contains only private data that should be read and manipulated using the functions below.
Since 3.10
#define CAMEL_IMAPX_LIST_ATTR_NOINFERIORS "\\NoInferiors"
Refer to RFC 3501 section 7.2.2.
Since 3.10
#define CAMEL_IMAPX_LIST_ATTR_NOSELECT "\\NoSelect"
Refer to RFC 3501 section 7.2.2.
Since 3.10
#define CAMEL_IMAPX_LIST_ATTR_MARKED "\\Marked"
Refer to RFC 3501 section 7.2.2.
Since 3.10
#define CAMEL_IMAPX_LIST_ATTR_UNMARKED "\\Unmarked"
Refer to RFC 3501 section 7.2.2.
Since 3.10
#define CAMEL_IMAPX_LIST_ATTR_NONEXISTENT "\\NonExistent"
Refer to RFC 5258 section 3.
Since 3.10
#define CAMEL_IMAPX_LIST_ATTR_SUBSCRIBED "\\Subscribed"
Refer to RFC 5258 section 3.1.
Since 3.10
#define CAMEL_IMAPX_LIST_ATTR_REMOTE "\\Remote"
Refer to RFC 5258 section 3.1.
Since 3.10
#define CAMEL_IMAPX_LIST_ATTR_HASCHILDREN "\\HasChildren"
Refer to RFC 5258 section 4.
Since 3.10
#define CAMEL_IMAPX_LIST_ATTR_HASNOCHILDREN "\\HasNoChildren"
Refer to RFC 5258 section 4.
Since 3.10