MailFolderCache

MailFolderCache — Stores information about open folders

Properties

Types and Values

Object Hierarchy

    GObject
    ╰── MailFolderCache

Description

Functions

mail_folder_cache_new ()

MailFolderCache *
mail_folder_cache_new (void);

mail_folder_cache_ref_main_context ()

GMainContext *
mail_folder_cache_ref_main_context (MailFolderCache *cache);

Returns the GMainContext on which event sources for cache are to be attached.

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

Returns

a GMainContext


mail_folder_cache_note_store ()

void
mail_folder_cache_note_store (MailFolderCache *cache,
                              CamelStore *store,
                              GCancellable *cancellable,
                              GAsyncReadyCallback callback,
                              gpointer user_data);

Add a store whose folders should appear in the shell The folders are scanned from the store, and/or added at runtime via the folder_created event. The done function returns if we can free folder info.


mail_folder_cache_note_store_finish ()

gboolean
mail_folder_cache_note_store_finish (MailFolderCache *cache,
                                     GAsyncResult *result,
                                     CamelFolderInfo **out_info,
                                     GError **error);

mail_folder_cache_note_folder ()

void
mail_folder_cache_note_folder (MailFolderCache *cache,
                               CamelFolder *folder);

When a folder has been opened, notify it for watching. The folder must have already been created on the store (which has already been noted) before the folder can be opened


mail_folder_cache_has_folder_info ()

gboolean
mail_folder_cache_has_folder_info (MailFolderCache *cache,
                                   CamelStore *store,
                                   const gchar *folder_name);

Returns whether cache has information about the folder described by store and folder_name . This does not necessarily mean it has the CamelFolder instance, but it at least has some meta-data about it.

You can use this function as a folder existence test.

Parameters

cache

a MailFolderCache

 

store

a CamelStore

 

folder_name

a folder name

 

Returns

TRUE if cache has folder info, FALSE otherwise


mail_folder_cache_ref_folder ()

CamelFolder *
mail_folder_cache_ref_folder (MailFolderCache *cache,
                              CamelStore *store,
                              const gchar *folder_name);

Returns the CamelFolder for store and folder_name if available, or else NULL if a CamelFolder instance is not yet cached. This function does not block.

The returned CamelFolder is referenced for thread-safety and must be unreferenced with g_object_unref() when finished with it.

Parameters

cache

a MailFolderCache

 

store

a CamelStore

 

folder_name

a folder name

 

Returns

a CamelFolder, or NULL


mail_folder_cache_get_folder_info_flags ()

gboolean
mail_folder_cache_get_folder_info_flags
                               (MailFolderCache *cache,
                                CamelStore *store,
                                const gchar *folder_name,
                                CamelFolderInfoFlags *flags);

Obtains CamelFolderInfoFlags for store and folder_name if available, and returns TRUE to indicate flags was set. If no folder information is available for store and folder_name , the function returns FALSE.

Parameters

cache

a MailFolderCache

 

store

a CamelStore

 

folder_name

a folder name

 

flags

return location for CamelFolderInfoFlags

 

Returns

whether flags was set


mail_folder_cache_get_local_folder_uris ()

void
mail_folder_cache_get_local_folder_uris
                               (MailFolderCache *cache,
                                GQueue *out_queue);

mail_folder_cache_get_remote_folder_uris ()

void
mail_folder_cache_get_remote_folder_uris
                               (MailFolderCache *cache,
                                GQueue *out_queue);

mail_folder_cache_service_removed ()

void
mail_folder_cache_service_removed (MailFolderCache *cache,
                                   CamelService *service);

mail_folder_cache_service_enabled ()

void
mail_folder_cache_service_enabled (MailFolderCache *cache,
                                   CamelService *service);

mail_folder_cache_service_disabled ()

void
mail_folder_cache_service_disabled (MailFolderCache *cache,
                                    CamelService *service);

Types and Values

struct MailFolderCache

struct MailFolderCache;

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

Property Details

The “main-context” property

  “main-context”             GMainContext *

The main loop context on which to attach event sources.

Flags: Read

Signal Details

The “folder-available” signal

void
user_function (MailFolderCache *store,
               CamelStore      *folder_name,
               gchar           *arg2,
               gpointer         user_data)

Emitted when a folder becomes available

Parameters

store

the CamelStore containing the folder

 

folder_name

the name of the folder

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First


The “folder-changed” signal

void
user_function (MailFolderCache *store,
               CamelStore      *folder_name,
               gchar           *new_messages,
               gint             msg_uid,
               gchar           *msg_sender,
               gchar           *msg_subject,
               gchar           *arg6,
               gpointer         user_data)

Emitted when a folder has changed. If new_messages is not exactly 1, msg_uid , msg_sender , and msg_subject will be NULL.

Parameters

store

the CamelStore containing the folder

 

folder_name

the name of the folder

 

new_messages

the number of new messages for the folder

 

msg_uid

uid of the new message, or NULL

 

msg_sender

sender of the new message, or NULL

 

msg_subject

subject of the new message, or NULL

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First


The “folder-deleted” signal

void
user_function (MailFolderCache *store,
               CamelStore      *folder_name,
               gchar           *arg2,
               gpointer         user_data)

Emitted when a folder is deleted

Parameters

store

the CamelStore containing the folder

 

folder_name

the name of the folder

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First


The “folder-renamed” signal

void
user_function (MailFolderCache *store,
               CamelStore      *old_folder_name,
               gchar           *new_folder_name,
               gchar           *arg3,
               gpointer         user_data)

Emitted when a folder is renamed

Parameters

store

the CamelStore containing the folder

 

old_folder_name

the old name of the folder

 

new_folder_name

the new name of the folder

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First


The “folder-unavailable” signal

void
user_function (MailFolderCache *store,
               CamelStore      *folder_name,
               gchar           *arg2,
               gpointer         user_data)

Emitted when a folder becomes unavailable. This represents a transient condition. See MailFolderCache::folder-deleted to be notified when a folder is permanently removed.

Parameters

store

the CamelStore containing the folder

 

folder_name

the name of the folder

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First


The “folder-unread-updated” signal

void
user_function (MailFolderCache *store,
               CamelStore      *folder_name,
               gchar           *unread,
               gint             arg3,
               gpointer         user_data)

Emitted when a we receive an update to the unread count for a folder

Parameters

store

the CamelStore containing the folder

 

folder_name

the name of the folder

 

unread

the number of unread mails in the folder

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First