Top | ![]() |
![]() |
![]() |
![]() |
void | folder-created | Run First |
void | folder-deleted | Run First |
void | folder-info-stale | Run First |
void | folder-opened | Run First |
void | folder-renamed | Run First |
struct | CamelStore |
#define | CAMEL_STORE_ERROR |
enum | CamelStoreError |
enum | CamelFolderInfoFlags |
CamelFolderInfo | |
enum | CamelStoreFlags |
enum | CamelStorePermissionFlags |
enum | CamelStoreGetFolderFlags |
enum | CamelStoreGetFolderInfoFlags |
GObject ╰── CamelObject ╰── CamelService ╰── CamelStore ├── CamelOfflineStore ├── CamelVeeStore ├── CamelLocalStore ╰── CamelPOP3Store
void camel_store_folder_created (CamelStore *store
,CamelFolderInfo *folder_info
);
Emits the “folder-created” signal from an idle source on the main loop. The idle source's priority is G_PRIORITY_HIGH_IDLE.
This function is only intended for Camel providers.
Since: 2.32
void camel_store_folder_deleted (CamelStore *store
,CamelFolderInfo *folder_info
);
Emits the “folder-deleted” signal from an idle source on the main loop. The idle source's priority is G_PRIORITY_HIGH_IDLE.
This function is only intended for Camel providers.
Since: 2.32
void camel_store_folder_opened (CamelStore *store
,CamelFolder *folder
);
Emits the “folder-opened” signal from an idle source on the main loop. The idle source's priority is G_PRIORITY_HIGH_IDLE.
This function is only intended for Camel providers.
Since: 3.0
void camel_store_folder_renamed (CamelStore *store
,const gchar *old_name
,CamelFolderInfo *folder_info
);
Emits the “folder-renamed” signal from an idle source on the main loop. The idle source's priority is G_PRIORITY_HIGH_IDLE.
This function is only intended for Camel providers.
store |
||
old_name |
the old name of the folder |
|
folder_info |
information about the renamed folder |
Since: 2.32
void
camel_store_folder_info_stale (CamelStore *store
);
Emits the “folder-info-stale” signal from an idle source on the main loop. The idle source's priority is G_PRIORITY_LOW.
See the “folder-info-stale” documentation for details on when to use this signal.
This function is only intended for Camel providers.
Since: 3.10
CamelFolderInfo *
camel_folder_info_new (void
);
Allocates a new CamelFolderInfo instance. Free it with
camel_folder_info_free()
.
Since: 2.22
CamelFolderInfo * camel_folder_info_build (GPtrArray *folders
,const gchar *namespace_
,gchar separator
,gboolean short_names
);
camel_folder_info_build
is deprecated and should not be used in newly-written code.
This takes an array of folders and attaches them together according
to the hierarchy described by their full_names and separator
. If
namespace_
is non-NULL
, then it will be ignored as a full_name
prefix, for purposes of comparison. If necessary,
camel_folder_info_build()
will create additional CamelFolderInfo with
NULL
urls to fill in gaps in the tree. The value of short_names
is used in constructing the names of these intermediate folders.
NOTE: This is deprected, do not use this. FIXME: remove this/move it to imap, which is the only user of it now.
folders |
an array of CamelFolderInfo |
|
namespace_ |
an ignorable prefix on the folder names |
|
separator |
the hieararchy separator character |
|
short_names |
|
CamelFolderInfo *
camel_folder_info_clone (CamelFolderInfo *fi
);
camel_folder_info_clone
is deprecated and should not be used in newly-written code.
Clones fi
recursively.
gboolean camel_store_can_refresh_folder (CamelStore *store
,CamelFolderInfo *info
,GError **error
);
Returns if this folder (param info) should be checked for new mail or not. It should not look into sub infos (info->child) or next infos, it should return value only for the actual folder info. Default behavior is that all Inbox folders are intended to be refreshed.
Since: 2.22
CamelFolder * camel_store_get_folder_sync (CamelStore *store
,const gchar *folder_name
,CamelStoreGetFolderFlags flags
,GCancellable *cancellable
,GError **error
);
Gets a specific folder object from store
by name.
store |
||
folder_name |
name of the folder to get |
|
flags |
folder flags (create, save body index, etc) |
|
cancellable |
optional GCancellable object, or |
|
error |
return location for a GError, or |
Since: 3.0
void camel_store_get_folder (CamelStore *store
,const gchar *folder_name
,CamelStoreGetFolderFlags flags
,gint io_priority
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Asynchronously gets a specific folder object from store
by name.
When the operation is finished, callback
will be called. You can then
call camel_store_get_folder_finish()
to get the result of the operation.
store |
||
folder_name |
name of the folder to get |
|
flags |
folder flags (create, save body index, etc) |
|
io_priority |
the I/O priority of the request |
|
cancellable |
optional GCancellable object, or |
|
callback |
a GAsyncReadyCallback to call when the request is satisfied |
|
user_data |
data to pass to the callback function |
Since: 3.0
CamelFolder * camel_store_get_folder_finish (CamelStore *store
,GAsyncResult *result
,GError **error
);
Finishes the operation started with camel_store_get_folder()
.
Since: 3.0
CamelFolderInfo * camel_store_get_folder_info_sync (CamelStore *store
,const gchar *top
,CamelStoreGetFolderInfoFlags flags
,GCancellable *cancellable
,GError **error
);
This fetches information about the folder structure of store
,
starting with top
, and returns a tree of CamelFolderInfo
structures. If flags
includes CAMEL_STORE_FOLDER_INFO_SUBSCRIBED
,
only subscribed folders will be listed. If the store doesn't support
subscriptions, then it will list all folders. If flags
includes
CAMEL_STORE_FOLDER_INFO_RECURSIVE
, the returned tree will include
all levels of hierarchy below top
. If not, it will only include
the immediate subfolders of top
. If flags
includes
CAMEL_STORE_FOLDER_INFO_FAST
, the unread_message_count fields of
some or all of the structures may be set to -1
, if the store cannot
determine that information quickly. If flags
includes
CAMEL_STORE_FOLDER_INFO_NO_VIRTUAL
, don't include special virtual
folders (such as vTrash or vJunk).
The returned CamelFolderInfo tree should be freed with
camel_folder_info_free()
.
The CAMEL_STORE_FOLDER_INFO_FAST flag should be considered
deprecated; most backends will behave the same whether it is
supplied or not. The only guaranteed way to get updated folder
counts is to both open the folder and invoke refresh_info()
it.
store |
||
top |
the name of the folder to start from |
|
flags |
various CAMEL_STORE_FOLDER_INFO_* flags to control behavior |
|
cancellable |
optional GCancellable object, or |
|
error |
return location for a GError, or |
Since: 3.0
void camel_store_get_folder_info (CamelStore *store
,const gchar *top
,CamelStoreGetFolderInfoFlags flags
,gint io_priority
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Asynchronously fetches information about the folder structure of store
,
starting with top
. For details of the behavior, see
camel_store_get_folder_info_sync()
.
When the operation is finished, callback
will be called. You can
then call camel_store_get_folder_info_finish()
to get the result of
the operation.
store |
||
top |
the name of the folder to start from |
|
flags |
various CAMEL_STORE_FOLDER_INFO_* flags to control behavior |
|
io_priority |
the I/O priority of the request |
|
cancellable |
optional GCancellable object, or |
|
callback |
a GAsyncReadyCallback to call when the request is satisfied |
|
user_data |
data to pass to the callback function |
Since: 3.0
CamelFolderInfo * camel_store_get_folder_info_finish (CamelStore *store
,GAsyncResult *result
,GError **error
);
Finishes the operation started with camel_store_get_folder_info()
.
The returned CamelFolderInfo tree should be freed with
camel_folder_info_free()
.
Since: 3.0
CamelFolder * camel_store_get_inbox_folder_sync (CamelStore *store
,GCancellable *cancellable
,GError **error
);
Gets the folder in store
into which new mail is delivered.
store |
||
cancellable |
optional GCancellable object, or |
|
error |
return location for a GError, or |
Since: 3.0
void camel_store_get_inbox_folder (CamelStore *store
,gint io_priority
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Asynchronously gets the folder in store
into which new mail is delivered.
When the operation is finished, callback
will be called. You can
then call camel_store_get_inbox_folder_finish()
to get the result of
the operation.
store |
||
io_priority |
the I/O priority of the request |
|
cancellable |
optional GCancellable object, or |
|
callback |
a GAsyncReadyCallback to call when the request is satisfied |
|
user_data |
data to pass to the callback function |
Since: 3.0
CamelFolder * camel_store_get_inbox_folder_finish (CamelStore *store
,GAsyncResult *result
,GError **error
);
Finishes the operation started with camel_store_get_inbox_folder()
.
Since: 3.0
CamelFolder * camel_store_get_junk_folder_sync (CamelStore *store
,GCancellable *cancellable
,GError **error
);
Gets the folder in store
into which junk is delivered.
store |
||
cancellable |
optional GCancellable object, or |
|
error |
return location for a GError, or |
Since: 3.0
void camel_store_get_junk_folder (CamelStore *store
,gint io_priority
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Asynchronously gets the folder in store
into which junk is delivered.
When the operation is finished, callback
will be called. You can
then call camel_store_get_junk_folder_finish()
to get the result of
the operation.
store |
||
io_priority |
the I/O priority of the request |
|
cancellable |
optional GCancellable object, or |
|
callback |
a GAsyncReadyCallback to call when the request is satisfied |
|
user_data |
data to pass to the callback function |
Since: 3.0
CamelFolder * camel_store_get_junk_folder_finish (CamelStore *store
,GAsyncResult *result
,GError **error
);
Finishes the operation started with camel_store_get_junk_folder()
.
Since: 3.0
CamelFolder * camel_store_get_trash_folder_sync (CamelStore *store
,GCancellable *cancellable
,GError **error
);
Gets the folder in store
into which trash is delivered.
store |
||
cancellable |
optional GCancellable object, or |
|
error |
return location for a GError, or |
Since: 3.0
void camel_store_get_trash_folder (CamelStore *store
,gint io_priority
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Asynchronously gets the folder in store
into which trash is delivered.
When the operation is finished, callback
will be called. You can
then call camel_store_get_trash_folder_finish()
to get the result of
the operation.
store |
||
io_priority |
the I/O priority of the request |
|
cancellable |
optional GCancellable object, or |
|
callback |
a GAsyncReadyCallback to call when the request is satisfied |
|
user_data |
data to pass to the callback function |
Since: 3.0
CamelFolder * camel_store_get_trash_folder_finish (CamelStore *store
,GAsyncResult *result
,GError **error
);
Finishes the operation started with camel_store_get_trash_folder()
.
Since: 3.0
CamelFolderInfo * camel_store_create_folder_sync (CamelStore *store
,const gchar *parent_name
,const gchar *folder_name
,GCancellable *cancellable
,GError **error
);
Creates a new folder as a child of an existing folder.
parent_name
can be NULL
to create a new top-level folder.
The returned CamelFolderInfo struct should be freed with
camel_folder_info_free()
.
store |
||
parent_name |
name of the new folder's parent, or |
|
folder_name |
name of the folder to create |
|
cancellable |
optional GCancellable object, or |
|
error |
return location for a GError, or |
Since: 3.0
void camel_store_create_folder (CamelStore *store
,const gchar *parent_name
,const gchar *folder_name
,gint io_priority
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Asynchronously creates a new folder as a child of an existing folder.
parent_name
can be NULL
to create a new top-level folder.
When the operation is finished, callback
will be called. You can then
call camel_store_create_folder_finish()
to get the result of the operation.
store |
||
parent_name |
name of the new folder's parent, or |
|
folder_name |
name of the folder to create |
|
io_priority |
the I/O priority of the request |
|
cancellable |
optional GCancellable object, or |
|
callback |
a GAsyncReadyCallback to call when the request is satisfied |
|
user_data |
data to pass to the callback function |
Since: 3.0
CamelFolderInfo * camel_store_create_folder_finish (CamelStore *store
,GAsyncResult *result
,GError **error
);
Finishes the operation started with camel_store_create_folder()
.
The returned CamelFolderInfo struct should be freed with
camel_folder_info_free()
.
Since: 3.0
gboolean camel_store_delete_folder_sync (CamelStore *store
,const gchar *folder_name
,GCancellable *cancellable
,GError **error
);
Deletes the folder described by folder_name
. The folder must be empty.
store |
||
folder_name |
name of the folder to delete |
|
cancellable |
optional GCancellable object, or |
|
error |
return location for a GError, or |
Since: 3.0
void camel_store_delete_folder (CamelStore *store
,const gchar *folder_name
,gint io_priority
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Asynchronously deletes the folder described by folder_name
. The
folder must be empty.
When the operation is finished, callback
will be called. You can then
call camel_store_delete_folder_finish()
to get the result of the operation.
store |
||
folder_name |
name of the folder to delete |
|
io_priority |
the I/O priority of the request |
|
cancellable |
optional GCancellable object, or |
|
callback |
a GAsyncReadyCallback to call when the request is satisfied |
|
user_data |
data to pass to the callback function |
Since: 3.0
gboolean camel_store_delete_folder_finish (CamelStore *store
,GAsyncResult *result
,GError **error
);
Finishes the operation started with camel_store_delete_folder()
.
Since: 3.0
gboolean camel_store_rename_folder_sync (CamelStore *store
,const gchar *old_name
,const gchar *new_name
,GCancellable *cancellable
,GError **error
);
Renames the folder described by old_name
to new_name
.
store |
||
old_name |
the current name of the folder |
|
new_name |
the new name of the folder |
|
cancellable |
optional GCancellable object, or |
|
error |
return location for a GError, or |
Since: 3.0
void camel_store_rename_folder (CamelStore *store
,const gchar *old_name
,const gchar *new_name
,gint io_priority
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Asynchronously renames the folder described by old_name
to new_name
.
When the operation is finished, callback
will be called. You can then
call camel_store_rename_folder_finish()
to get the result of the operation.
store |
||
old_name |
the current name of the folder |
|
new_name |
the new name of the folder |
|
io_priority |
the I/O priority of the request |
|
cancellable |
optional GCancellable object, or |
|
callback |
a GAsyncReadyCallback to call when the request is satisfied |
|
user_data |
data to pass to the callback function |
Since: 3.0
gboolean camel_store_rename_folder_finish (CamelStore *store
,GAsyncResult *result
,GError **error
);
Finishes the operation started with camel_store_rename_folder()
.
Since: 3.0
gboolean camel_store_synchronize_sync (CamelStore *store
,gboolean expunge
,GCancellable *cancellable
,GError **error
);
Synchronizes any changes that have been made to store
and its folders
with the real store.
store |
||
expunge |
whether to expunge after synchronizing |
|
cancellable |
optional GCancellable object, or |
|
error |
return location for a GError, or |
Since: 3.0
void camel_store_synchronize (CamelStore *store
,gboolean expunge
,gint io_priority
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Synchronizes any changes that have been made to store
and its folders
with the real store asynchronously.
When the operation is finished, callback
will be called. You can then
call camel_store_synchronize_finish()
to get the result of the operation.
store |
||
expunge |
whether to expunge after synchronizing |
|
io_priority |
the I/O priority of the request |
|
cancellable |
optional GCancellable object, or |
|
callback |
a GAsyncReadyCallback to call when the request is satisfied |
|
user_data |
data to pass to the callback function |
Since: 3.0
gboolean camel_store_synchronize_finish (CamelStore *store
,GAsyncResult *result
,GError **error
);
Finishes the operation started with camel_store_synchronize()
.
Since: 3.0
gboolean camel_store_maybe_run_db_maintenance (CamelStore *store
,GError **error
);
Checks the state of the current CamelDB used for the store
and eventually
runs maintenance routines on it.
Since: 3.16
These flags are abstractions. It's up to the CamelProvider to give them suitable interpretations. Use CAMEL_FOLDER_TYPE_MASK to isolate the folder's type.
The folder cannot contain messages. |
||
The folder cannot have child folders. |
||
The folder has children (not yet fully implemented). |
||
The folder does not have children (not yet fully implemented). |
||
The folder is subscribed. |
||
The folder is virtual. Messages cannot be copied or moved to virtual folders since they are only queries of other folders. |
||
The folder is a built-in "system" folder. System folders cannot be renamed or deleted. |
||
The folder is a virtual trash folder. It cannot be copied to, and can only be moved to if in an existing folder. |
||
A folder being shared by someone else. |
||
A folder being shared by the user. |
||
The folder is a normal folder. |
||
The folder is an inbox folder. |
||
The folder is an outbox folder. |
||
The folder shows deleted messages. |
||
The folder shows junk messages. |
||
The folder shows sent messages. |
||
The folder contains contacts, instead of mail messages. |
||
The folder contains calendar events, instead of mail messages. |
||
The folder contains memos, instead of mail messages. |
||
The folder contains tasks, instead of mail messages. |
||
typedef struct { struct _CamelFolderInfo *next; struct _CamelFolderInfo *parent; struct _CamelFolderInfo *child; gchar *full_name; gchar *display_name; CamelFolderInfoFlags flags; gint32 unread; gint32 total; } CamelFolderInfo;
“folder-created”
signalvoid user_function (CamelStore *camelstore, gpointer arg1, gpointer user_data)
Flags: Run First
“folder-deleted”
signalvoid user_function (CamelStore *camelstore, gpointer arg1, gpointer user_data)
Flags: Run First
“folder-info-stale”
signalvoid user_function (CamelStore *store, gpointer user_data)
This signal indicates significant changes have occurred to
the folder hierarchy of store
, and that previously fetched
CamelFolderInfo data should be considered stale.
Applications should handle this signal by replacing cached
CamelFolderInfo data for store
with fresh data by way of
camel_store_get_folder_info()
.
More often than not this signal will be emitted as a result of
user preference changes rather than actual server-side changes.
For example, a user may change a preference that reveals a set
of folders previously hidden from view, or that alters whether
to augment the store
with virtual Junk and Trash folders.
store |
the CamelStore that received the signal |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run First
“folder-opened”
signalvoid user_function (CamelStore *camelstore, CamelFolder *arg1, gpointer user_data)
Flags: Run First
“folder-renamed”
signalvoid user_function (CamelStore *camelstore, gchar *arg1, gpointer arg2, gpointer user_data)
Flags: Run First