CamelStoreSummary

CamelStoreSummary

Types and Values

Object Hierarchy

    GObject
    ╰── CamelStoreSummary
        ├── CamelIMAPXStoreSummary
        ╰── CamelNNTPStoreSummary

Description

Functions

camel_store_summary_new ()

CamelStoreSummary *
camel_store_summary_new (void);

Create a new CamelStoreSummary object.

Returns

a new CamelStoreSummary object


camel_store_summary_set_filename ()

void
camel_store_summary_set_filename (CamelStoreSummary *summary,
                                  const gchar *filename);

Set the filename where the summary will be loaded to/saved from.

Parameters

summary

a CamelStoreSummary

 

filename

a filename

 

camel_store_summary_load ()

gint
camel_store_summary_load (CamelStoreSummary *summary);

Load the summary off disk.

Parameters

summary

a CamelStoreSummary object

 

Returns

0 on success or -1 on fail


camel_store_summary_save ()

gint
camel_store_summary_save (CamelStoreSummary *summary);

Writes the summary to disk. The summary is only written if changes have occurred.

Parameters

summary

a CamelStoreSummary object

 

Returns

0 on succes or -1 on fail


camel_store_summary_touch ()

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.

Parameters

summary

a CamelStoreSummary object

 

camel_store_summary_add ()

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.

Parameters

summary

a CamelStoreSummary object

 

info

a CamelStoreInfo

 

camel_store_summary_add_from_path ()

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.

Parameters

summary

a CamelStoreSummary object

 

path

item path

 

Returns

the newly added record


camel_store_summary_info_new ()

CamelStoreInfo *
camel_store_summary_info_new (CamelStoreSummary *summary);

Allocate a new CamelStoreInfo, suitable for adding to this summary.

Parameters

summary

a CamelStoreSummary object

 

Returns

the newly allocated CamelStoreInfo


camel_store_summary_info_ref ()

CamelStoreInfo *
camel_store_summary_info_ref (CamelStoreSummary *summary,
                              CamelStoreInfo *info);

Add an extra reference to info .

Parameters

summary

a CamelStoreSummary object

 

info

a CamelStoreInfo

 

Returns

the info argument


camel_store_summary_info_unref ()

void
camel_store_summary_info_unref (CamelStoreSummary *summary,
                                CamelStoreInfo *info);

Unref and potentially free info , and all associated memory.

Parameters

summary

a CamelStoreSummary object

 

info

a CamelStoreInfo

 

camel_store_summary_remove ()

void
camel_store_summary_remove (CamelStoreSummary *summary,
                            CamelStoreInfo *info);

Remove a specific info record from the summary.

Parameters

summary

a CamelStoreSummary object

 

info

a CamelStoreInfo

 

camel_store_summary_remove_path ()

void
camel_store_summary_remove_path (CamelStoreSummary *summary,
                                 const gchar *path);

Remove a specific info record from the summary, by path .

Parameters

summary

a CamelStoreSummary object

 

path

item path

 

camel_store_summary_count ()

gint
camel_store_summary_count (CamelStoreSummary *summary);

Get the number of summary items stored in this summary.

Parameters

summary

a CamelStoreSummary object

 

Returns

the number of items gint he summary.


camel_store_summary_path ()

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.

Parameters

summary

a CamelStoreSummary object

 

path

path to the item

 

Returns

the summary item, or NULL if the path name is not available


camel_store_summary_array ()

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().

Parameters

summary

a CamelStoreSummary object

 

Returns

the summary array.

[element-type CamelStoreInfo][transfer full]


camel_store_summary_array_free ()

void
camel_store_summary_array_free (CamelStoreSummary *summary,
                                GPtrArray *array);

Free the folder summary array.

Parameters

summary

a CamelStoreSummary object

 

array

the summary array as gotten from camel_store_summary_array().

[element-type CamelStoreInfo]

camel_store_info_set_string ()

void
camel_store_info_set_string (CamelStoreSummary *summary,
                             CamelStoreInfo *info,
                             gint type,
                             const gchar *value);

Set a specific string on the info .

Parameters

summary

a CamelStoreSummary object

 

info

a CamelStoreInfo

 

type

specific string being set

 

value

string value to set

 

camel_store_info_path ()

const gchar *
camel_store_info_path (CamelStoreSummary *summary,
                       CamelStoreInfo *info);

Returns the path string from info .

Parameters

summary

a CamelStoreSummary

 

info

a CamelStoreInfo

 

Returns

the path string from info


camel_store_info_name ()

const gchar *
camel_store_info_name (CamelStoreSummary *summary,
                       CamelStoreInfo *info);

Returns the last segment of the path string from info .

Parameters

summary

a CamelStoreSummary

 

info

a CamelStoreInfo

 

Returns

the last segment of the path string from info


camel_store_summary_connect_folder_summary ()

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.

Parameters

summary

a CamelStoreSummary object

 

path

used path for folder_summary

 

folder_summary

a CamelFolderSummary object

 

Returns

Whether successfully connect callbacks for count change notifications.

Since: 3.4


camel_store_summary_disconnect_folder_summary ()

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().

Parameters

summary

a CamelStoreSummary object

 

folder_summary

a CamelFolderSummary object

 

Returns

Whether such connection existed and whether was successfully removed.

Since: 3.4

Types and Values

CAMEL_STORE_INFO_FOLDER_UNKNOWN

#define CAMEL_STORE_INFO_FOLDER_UNKNOWN (~0)

struct CamelStoreInfo

struct CamelStoreInfo {
	volatile gint refcount;
	gchar *path;
	guint32 flags;
	guint32 unread;
	guint32 total;
};