| Top |
| struct | CamelStoreInfo |
| enum | CamelStoreInfoFlags |
| struct | CamelStoreSummary |
| enum | CamelStoreSummaryFlags |
| enum | CamelStoreSummaryLock |
CamelStoreSummary *
camel_store_summary_new (void);
Create a new CamelStoreSummary object.
void camel_store_summary_set_filename (CamelStoreSummary *summary,const gchar *filename);
Set the filename where the summary will be loaded to/saved from.
gint
camel_store_summary_load (CamelStoreSummary *summary);
Load the summary off disk.
gint
camel_store_summary_save (CamelStoreSummary *summary);
Writes the summary to disk. The summary is only written if changes have occured.
gint
camel_store_summary_header_load (CamelStoreSummary *summary);
Only load the header information from the summary, keep the rest on disk. This should only be done on a fresh summary object.
void
camel_store_summary_touch (CamelStoreSummary *summary);
Mark the summary as changed, so that a save will force it to be written back to disk.
void camel_store_summary_add (CamelStoreSummary *summary,CamelStoreInfo *info);
Adds a new info
record to the summary. If info->uid
is NULL,
then a new uid is automatically re-assigned by calling
camel_store_summary_next_uid_string().
The info
record should have been generated by calling one of the
info_new_*() functions, as it will be free'd based on the summary
class. And MUST NOT be allocated directly using malloc.
CamelStoreInfo * camel_store_summary_add_from_path (CamelStoreSummary *summary,const gchar *path);
Build a new info record based on the name, and add it to the summary.
CamelStoreInfo *
camel_store_summary_info_new (CamelStoreSummary *summary);
Allocate a new CamelStoreInfo, suitable for adding to this summary.
CamelStoreInfo * camel_store_summary_info_new_from_path (CamelStoreSummary *summary,const gchar *path);
Create a new info record from a name.
This info record MUST be freed using
camel_store_summary_info_free(), camel_store_info_free() will not
work.
void camel_store_summary_info_ref (CamelStoreSummary *summary,CamelStoreInfo *info);
Add an extra reference to info
.
void camel_store_summary_info_free (CamelStoreSummary *summary,CamelStoreInfo *info);
Unref and potentially free info
, and all associated memory.
void camel_store_summary_remove (CamelStoreSummary *summary,CamelStoreInfo *info);
Remove a specific info
record from the summary.
void camel_store_summary_remove_path (CamelStoreSummary *summary,const gchar *path);
Remove a specific info record from the summary, by path
.
void camel_store_summary_remove_index (CamelStoreSummary *summary,gint index);
Remove a specific info record from the summary, by index.
void
camel_store_summary_clear (CamelStoreSummary *summary);
Empty the summary contents.
gint
camel_store_summary_count (CamelStoreSummary *summary);
Get the number of summary items stored in this summary.
CamelStoreInfo * camel_store_summary_index (CamelStoreSummary *summary,gint index);
Retrieve a summary item by index number.
A referenced to the summary item is returned, which may be ref'd or free'd as appropriate.
It must be freed using camel_store_summary_info_free().
CamelStoreInfo * camel_store_summary_path (CamelStoreSummary *summary,const gchar *path);
Retrieve a summary item by path name.
A referenced to the summary item is returned, which may be ref'd or free'd as appropriate.
It must be freed using camel_store_summary_info_free().
GPtrArray *
camel_store_summary_array (CamelStoreSummary *summary);
Obtain a copy of the summary array. This is done atomically, so cannot contain empty entries.
It must be freed using camel_store_summary_array_free().
void camel_store_summary_array_free (CamelStoreSummary *summary,GPtrArray *array);
Free the folder summary array.
summary |
a CamelStoreSummary object |
|
array |
the summary array as gotten from |
const gchar * camel_store_info_string (CamelStoreSummary *summary,const CamelStoreInfo *info,gint type);
Get a specific string from the info
.
void camel_store_info_set_string (CamelStoreSummary *summary,CamelStoreInfo *info,gint type,const gchar *value);
Set a specific string on the info
.
summary |
a CamelStoreSummary object |
|
info |
||
type |
specific string being set |
|
value |
string value to set |
#define camel_store_info_path(s, i) (camel_store_info_string((CamelStoreSummary *)s, (const CamelStoreInfo *)i, CAMEL_STORE_INFO_PATH))
#define camel_store_info_name(s, i) (camel_store_info_string((CamelStoreSummary *)s, (const CamelStoreInfo *)i, CAMEL_STORE_INFO_NAME))
void camel_store_summary_lock (CamelStoreSummary *summary,CamelStoreSummaryLock lock);
Locks summary
's lock
. Unlock it with camel_store_summary_unlock().
Since 2.32
void camel_store_summary_unlock (CamelStoreSummary *summary,CamelStoreSummaryLock lock);
Unlocks summary
's lock
, previously locked with camel_store_summary_lock().
Since 2.32
gboolean camel_store_summary_connect_folder_summary (CamelStoreSummary *summary,const gchar *path,struct _CamelFolderSummary *folder_summary);
Connects listeners for count changes on folder_summary
to keep
CamelStoreInfo.total and CamelStoreInfo.unread in sync transparently.
The folder_summary
is stored in summary
as path
. Use
camel_store_summary_disconnect_folder_summary() to disconnect from
listening.
summary |
a CamelStoreSummary object |
|
path |
used path for |
|
folder_summary |
a CamelFolderSummary object |
Since 3.4
gboolean camel_store_summary_disconnect_folder_summary (CamelStoreSummary *summary,struct _CamelFolderSummary *folder_summary);
Diconnects count change listeners previously connected
by camel_store_summary_connect_folder_summary().
Since 3.4