Top | ![]() |
![]() |
![]() |
![]() |
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 occurred.
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_ref (CamelStoreSummary *summary
,CamelStoreInfo *info
);
Add an extra reference to info
.
void camel_store_summary_info_unref (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
.
gint
camel_store_summary_count (CamelStoreSummary *summary
);
Get the number of summary items stored in this summary.
CamelStoreInfo * camel_store_summary_path (CamelStoreSummary *summary
,const gchar *path
);
Retrieve a summary item by path name.
The returned CamelStoreInfo is referenced for thread-safety and should be
unreferenced with camel_store_summary_info_unref()
when finished with it.
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 |
[element-type CamelStoreInfo] |
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 |
const gchar * camel_store_info_path (CamelStoreSummary *summary
,CamelStoreInfo *info
);
Returns the path string from info
.
const gchar * camel_store_info_name (CamelStoreSummary *summary
,CamelStoreInfo *info
);
Returns the last segment of the path string from info
.
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