Top |
Functions
Properties
gboolean | build-content | Read / Write |
guint | deleted-count | Read |
CamelFolder * | folder | Read / Write / Construct Only |
guint | junk-count | Read |
guint | junk-not-deleted-count | Read |
gboolean | need-preview | Read / Write |
guint | saved-count | Read |
guint | unread-count | Read |
guint | visible-count | Read |
Types and Values
struct | CamelMessageContentInfo |
enum | CamelMessageFlags |
#define | CAMEL_MESSAGE_SYSTEM_MASK |
CamelFlag | |
CamelTag | |
CamelSummaryMessageID | |
CamelSummaryReferences | |
struct | CamelMessageInfoBase |
enum | CamelFolderSummaryFlags |
#define | camel_message_info_ptr |
#define | camel_message_info_uint32 |
#define | camel_message_info_time |
#define | camel_message_info_uid |
#define | camel_message_info_subject |
#define | camel_message_info_preview |
#define | camel_message_info_from |
#define | camel_message_info_to |
#define | camel_message_info_cc |
#define | camel_message_info_mlist |
#define | camel_message_info_flags |
#define | camel_message_info_size |
#define | camel_message_info_date_sent |
#define | camel_message_info_date_received |
#define | camel_message_info_message_id |
#define | camel_message_info_references |
#define | camel_message_info_user_flags |
#define | camel_message_info_user_tags |
#define | camel_message_info_headers |
#define | camel_message_info_content |
#define | camel_message_info_user_flag |
#define | camel_message_info_user_tag |
Object Hierarchy
GBoxed ╰── CamelMessageInfo GObject ╰── CamelFolderSummary ├── CamelIMAPXSummary ├── CamelLocalSummary ├── CamelNNTPSummary ╰── CamelVeeSummary
Functions
camel_folder_summary_new ()
CamelFolderSummary *
camel_folder_summary_new (struct _CamelFolder *folder
);
Create a new CamelFolderSummary object.
camel_folder_summary_get_folder ()
struct _CamelFolder *
camel_folder_summary_get_folder (CamelFolderSummary *summary
);
Since: 3.4
camel_folder_summary_get_saved_count ()
guint32
camel_folder_summary_get_saved_count (CamelFolderSummary *summary
);
Since: 3.4
camel_folder_summary_get_unread_count ()
guint32
camel_folder_summary_get_unread_count (CamelFolderSummary *summary
);
Since: 3.4
camel_folder_summary_get_deleted_count ()
guint32
camel_folder_summary_get_deleted_count
(CamelFolderSummary *summary
);
Since: 3.4
camel_folder_summary_get_junk_count ()
guint32
camel_folder_summary_get_junk_count (CamelFolderSummary *summary
);
Since: 3.4
camel_folder_summary_get_junk_not_deleted_count ()
guint32
camel_folder_summary_get_junk_not_deleted_count
(CamelFolderSummary *summary
);
Since: 3.4
camel_folder_summary_get_visible_count ()
guint32
camel_folder_summary_get_visible_count
(CamelFolderSummary *summary
);
Since: 3.4
camel_folder_summary_set_index ()
void camel_folder_summary_set_index (CamelFolderSummary *summary
,CamelIndex *index
);
Set the index used to index body content. If the index is NULL
, or
not set (the default), no indexing of body content will take place.
Unlike earlier behaviour, build_content need not be set to perform indexing.
camel_folder_summary_get_index ()
CamelIndex *
camel_folder_summary_get_index (CamelFolderSummary *summary
);
Since: 3.4
camel_folder_summary_set_build_content ()
void camel_folder_summary_set_build_content (CamelFolderSummary *summary
,gboolean state
);
Set a flag to tell the summary to build the content info summary (CamelMessageInfo.content). The default is not to build content info summaries.
camel_folder_summary_get_build_content ()
gboolean
camel_folder_summary_get_build_content
(CamelFolderSummary *summary
);
Since: 3.4
camel_folder_summary_set_need_preview ()
void camel_folder_summary_set_need_preview (CamelFolderSummary *summary
,gboolean preview
);
Since: 2.28
camel_folder_summary_get_need_preview ()
gboolean
camel_folder_summary_get_need_preview (CamelFolderSummary *summary
);
Since: 2.28
camel_folder_summary_next_uid ()
guint32
camel_folder_summary_next_uid (CamelFolderSummary *summary
);
Generate a new unique uid value as an integer. This may be used to create a unique sequence of numbers.
camel_folder_summary_set_next_uid ()
void camel_folder_summary_set_next_uid (CamelFolderSummary *summary
,guint32 uid
);
Set the next minimum uid available. This can be used to ensure new uid's do not clash with existing uid's.
Parameters
summary |
a CamelFolderSummary object |
|
uid |
The next minimum uid to assign. To avoid clashing uid's, set this to the uid of a given messages + 1. |
camel_folder_summary_get_next_uid ()
guint32
camel_folder_summary_get_next_uid (CamelFolderSummary *summary
);
Returns
Next uid currently awaiting for assignment. The difference from
camel_folder_summary_next_uid()
is that this function returns actual
value and doesn't increment it before returning.
Since: 3.4
camel_folder_summary_next_uid_string ()
gchar *
camel_folder_summary_next_uid_string (CamelFolderSummary *summary
);
Retrieve the next uid, but as a formatted string.
camel_folder_summary_save_to_db ()
gboolean camel_folder_summary_save_to_db (CamelFolderSummary *summary
,GError **error
);
Since: 2.24
camel_folder_summary_load_from_db ()
gboolean camel_folder_summary_load_from_db (CamelFolderSummary *summary
,GError **error
);
Since: 2.24
camel_folder_summary_header_load_from_db ()
gboolean camel_folder_summary_header_load_from_db (CamelFolderSummary *summary
,struct _CamelStore *store
,const gchar *folder_name
,GError **error
);
Since: 2.24
camel_folder_summary_header_save_to_db ()
gboolean camel_folder_summary_header_save_to_db (CamelFolderSummary *summary
,GError **error
);
Since: 2.24
camel_folder_summary_touch ()
void
camel_folder_summary_touch (CamelFolderSummary *summary
);
Mark the summary as changed, so that a save will force it to be written back to disk.
camel_folder_summary_info_new_from_header ()
CamelMessageInfo * camel_folder_summary_info_new_from_header (CamelFolderSummary *summary
,struct _camel_header_raw *headers
);
Create a new info record from a header.
camel_folder_summary_info_new_from_parser ()
CamelMessageInfo * camel_folder_summary_info_new_from_parser (CamelFolderSummary *summary
,CamelMimeParser *parser
);
Create a new info record from a parser. If the parser cannot determine a uid, then none will be assigned.
If indexing is enabled, and the parser cannot determine a new uid, then one is automatically assigned.
If indexing is enabled, then the content will be indexed based
on this new uid. In this case, the message info MUST be
added using :add()
.
Once complete, the parser will be positioned at the end of the message.
camel_folder_summary_info_new_from_message ()
CamelMessageInfo * camel_folder_summary_info_new_from_message (CamelFolderSummary *summary
,CamelMimeMessage *message
,const gchar *bodystructure
);
Create a summary item from a message.
Parameters
summary |
a CamelFolderSummary object |
|
message |
a CamelMimeMessage object |
|
bodystructure |
a bodystructure or NULL |
camel_folder_summary_content_info_new ()
CamelMessageContentInfo *
camel_folder_summary_content_info_new (CamelFolderSummary *summary
);
Allocate a new CamelMessageContentInfo, suitable for adding to this summary.
camel_folder_summary_content_info_free ()
void camel_folder_summary_content_info_free (CamelFolderSummary *summary
,CamelMessageContentInfo *ci
);
Free the content info ci
, and all associated memory.
camel_folder_summary_add_preview ()
void camel_folder_summary_add_preview (CamelFolderSummary *summary
,CamelMessageInfo *info
);
Since: 2.28
camel_folder_summary_add ()
void camel_folder_summary_add (CamelFolderSummary *summary
,CamelMessageInfo *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_folder_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.
camel_folder_summary_insert ()
void camel_folder_summary_insert (CamelFolderSummary *summary
,CamelMessageInfo *info
,gboolean load
);
Since: 2.24
camel_folder_summary_remove ()
gboolean camel_folder_summary_remove (CamelFolderSummary *summary
,CamelMessageInfo *info
);
Remove a specific info
record from the summary.
camel_folder_summary_remove_uid ()
gboolean camel_folder_summary_remove_uid (CamelFolderSummary *summary
,const gchar *uid
);
Remove a specific info record from the summary, by uid
.
camel_folder_summary_remove_uids ()
gboolean camel_folder_summary_remove_uids (CamelFolderSummary *summary
,GList *uids
);
Remove a specific info record from the summary, by uid
.
Since: 3.6
camel_folder_summary_clear ()
gboolean camel_folder_summary_clear (CamelFolderSummary *summary
,GError **error
);
Empty the summary contents.
camel_folder_summary_count ()
guint
camel_folder_summary_count (CamelFolderSummary *summary
);
Get the number of summary items stored in this summary.
camel_folder_summary_check_uid ()
gboolean camel_folder_summary_check_uid (CamelFolderSummary *summary
,const gchar *uid
);
Check if the uid is valid. This isn't very efficient, so it shouldn't be called iteratively.
Since: 2.24
camel_folder_summary_get ()
CamelMessageInfo * camel_folder_summary_get (CamelFolderSummary *summary
,const gchar *uid
);
Retrieve a summary item by uid.
A referenced to the summary item is returned, which may be ref'd or free'd as appropriate.
Since: 3.4
camel_folder_summary_get_info_flags ()
guint32 camel_folder_summary_get_info_flags (CamelFolderSummary *summary
,const gchar *uid
);
Retrieve CamelMessageInfo::flags for a message info with UID uid
.
This is much quicker than camel_folder_summary_get()
, because it
doesn't require reading the message info from a disk.
Since: 3.12
camel_folder_summary_get_array ()
GPtrArray *
camel_folder_summary_get_array (CamelFolderSummary *summary
);
Obtain a copy of the summary array. This is done atomically, so cannot contain empty entries.
Free with camel_folder_summary_free_array()
Since: 3.4
camel_folder_summary_free_array ()
void
camel_folder_summary_free_array (GPtrArray *array
);
Free's array and its elements returned from camel_folder_summary_get_array()
.
Since: 3.4
camel_folder_summary_get_hash ()
GHashTable *
camel_folder_summary_get_hash (CamelFolderSummary *summary
);
Returns hash of current stored 'uids' in summary, where key is 'uid'
from the string pool, and value is 1. The returned pointer should
be freed with g_hash_table_destroy()
.
Note: When searching for values always use uids from the string pool.
Since: 3.6
camel_folder_summary_replace_flags ()
gboolean camel_folder_summary_replace_flags (CamelFolderSummary *summary
,CamelMessageInfo *info
);
Updates internal counts based on the flags in info
.
Since: 3.6
camel_folder_summary_peek_loaded ()
CamelMessageInfo * camel_folder_summary_peek_loaded (CamelFolderSummary *summary
,const gchar *uid
);
Since: 2.26
camel_folder_summary_get_changed ()
GPtrArray *
camel_folder_summary_get_changed (CamelFolderSummary *summary
);
Since: 2.24
camel_folder_summary_prepare_fetch_all ()
void camel_folder_summary_prepare_fetch_all (CamelFolderSummary *summary
,GError **error
);
Loads all infos into memory, if they are not yet and ensures they will not be freed in next couple minutes. Call this function before any mass operation or when all message infos will be needed, for better performance.
Since: 2.32
camel_folder_summary_lock ()
void
camel_folder_summary_lock (CamelFolderSummary *summary
);
Locks summary
. Unlock it with camel_folder_summary_unlock()
.
Since: 2.32
camel_folder_summary_unlock ()
void
camel_folder_summary_unlock (CamelFolderSummary *summary
);
Unlocks summary
, previously locked with camel_folder_summary_lock()
.
Since: 2.32
camel_flag_get ()
gboolean camel_flag_get (CamelFlag **list
,const gchar *name
);
Find the state of the flag name
in list
.
camel_flag_set ()
gboolean camel_flag_set (CamelFlag **list
,const gchar *name
,gboolean value
);
Set the state of a flag name
in the list list
to value
.
Parameters
list |
the address of a CamelFlag list |
|
name |
name of the flag to set or change |
|
value |
the value to set on the flag |
camel_flag_list_copy ()
gboolean camel_flag_list_copy (CamelFlag **to
,CamelFlag **from
);
Copy a flag list.
camel_flag_list_size ()
gint
camel_flag_list_size (CamelFlag **list
);
Get the length of the flag list.
camel_flag_list_free ()
void
camel_flag_list_free (CamelFlag **list
);
Free the memory associated with the flag list list
.
camel_system_flag_get ()
gboolean camel_system_flag_get (CamelMessageFlags flags
,const gchar *name
);
Find the state of the flag name
in flags
.
camel_tag_get ()
const gchar * camel_tag_get (CamelTag **list
,const gchar *name
);
Find the flag name
in list
and get the value.
camel_tag_set ()
gboolean camel_tag_set (CamelTag **list
,const gchar *name
,const gchar *value
);
Set the tag name
in the tag list list
to value
.
Parameters
list |
the address of a CamelTag list |
|
name |
name of the tag to set |
|
value |
value to set on the tag |
camel_tag_list_copy ()
gboolean camel_tag_list_copy (CamelTag **to
,CamelTag **from
);
Copy a tag list.
camel_tag_list_size ()
gint
camel_tag_list_size (CamelTag **list
);
Get the number of tags present in the tag list list
.
camel_message_info_new ()
gpointer
camel_message_info_new (CamelFolderSummary *summary
);
Create a new CamelMessageInfo.
camel_message_info_new_from_header ()
CamelMessageInfo * camel_message_info_new_from_header (CamelFolderSummary *summary
,struct _camel_header_raw *header
);
Create a new CamelMessageInfo pre-populated with info from
header
.
camel_message_info_unref ()
void
camel_message_info_unref (gpointer info
);
Unref's and potentially frees a CamelMessageInfo and its contents.
camel_message_info_clone ()
gpointer
camel_message_info_clone (gconstpointer info
);
Duplicate a CamelMessageInfo.
camel_message_info_get_ptr ()
gconstpointer camel_message_info_get_ptr (gconstpointer info
,gint id
);
Generic accessor method for getting pointer data.
Since: 3.22
camel_message_info_get_uint32 ()
guint32 camel_message_info_get_uint32 (gconstpointer info
,gint id
);
Generic accessor method for getting 32bit unsigned integer data.
Since: 3.22
camel_message_info_get_time ()
time_t camel_message_info_get_time (gconstpointer info
,gint id
);
Generic accessor method for getting time_t data.
Since: 3.22
camel_message_info_get_uid ()
const gchar *
camel_message_info_get_uid (gconstpointer info
);
Get the uid of the CamelMessageInfo
Since: 3.22
camel_message_info_get_subject ()
const gchar *
camel_message_info_get_subject (gconstpointer info
);
Get the subject of the CamelMessageInfo
Since: 3.22
camel_message_info_get_preview ()
const gchar *
camel_message_info_get_preview (gconstpointer info
);
Get the preview of the CamelMessageInfo
Since: 3.22
camel_message_info_get_from ()
const gchar *
camel_message_info_get_from (gconstpointer info
);
Get the from field of the CamelMessageInfo
Since: 3.22
camel_message_info_get_to ()
const gchar *
camel_message_info_get_to (gconstpointer info
);
Get the to field of the CamelMessageInfo
Since: 3.22
camel_message_info_get_cc ()
const gchar *
camel_message_info_get_cc (gconstpointer info
);
Get the cc field of the CamelMessageInfo
Since: 3.22
camel_message_info_get_mlist ()
const gchar *
camel_message_info_get_mlist (gconstpointer info
);
Get the mlist of the CamelMessageInfo
Since: 3.22
camel_message_info_get_flags ()
guint32
camel_message_info_get_flags (gconstpointer info
);
Get the flags of the CamelMessageInfo
Since: 3.22
camel_message_info_get_size ()
guint32
camel_message_info_get_size (gconstpointer info
);
Get the size of the CamelMessageInfo
Since: 3.22
camel_message_info_get_date_sent ()
time_t
camel_message_info_get_date_sent (gconstpointer info
);
Get the sent date of the CamelMessageInfo
Since: 3.22
camel_message_info_get_date_received ()
time_t
camel_message_info_get_date_received (gconstpointer info
);
Get the received date of the CamelMessageInfo
Since: 3.22
camel_message_info_get_message_id ()
const CamelSummaryMessageID *
camel_message_info_get_message_id (gconstpointer info
);
Get the CamelSummaryMessageID of the CamelMessageInfo
Since: 3.22
camel_message_info_get_references ()
const CamelSummaryReferences *
camel_message_info_get_references (gconstpointer info
);
Get the CamelSummaryReferences of the CamelMessageInfo
Since: 3.22
camel_message_info_get_user_flags ()
const CamelFlag *
camel_message_info_get_user_flags (gconstpointer info
);
Get the CamelFlag of the CamelMessageInfo
Since: 3.22
camel_message_info_get_user_tags ()
const CamelTag *
camel_message_info_get_user_tags (gconstpointer info
);
Get the CamelTag of the CamelMessageInfo
Since: 3.22
camel_message_info_get_headers ()
const CamelHeaderParam *
camel_message_info_get_headers (gconstpointer info
);
Get the CamelHeaderParam of the CamelMessageInfo
Since: 3.22
camel_message_info_get_content ()
const CamelMessageContentInfo *
camel_message_info_get_content (gconstpointer info
);
Get the CamelMessageContentInfo of the CamelMessageInfo
Since: 3.22
camel_message_info_get_user_flag ()
gboolean camel_message_info_get_user_flag (gconstpointer info
,const gchar *id
);
Get the state of a user flag named id
.
Since: 3.22
camel_message_info_get_user_tag ()
const gchar * camel_message_info_get_user_tag (gconstpointer info
,const gchar *id
);
Get the value of a user tag named id
.
Since: 3.22
camel_message_info_set_flags ()
gboolean camel_message_info_set_flags (CamelMessageInfo *info
,CamelMessageFlags flags
,guint32 set
);
Change the state of the system flags on the CamelMessageInfo
camel_message_info_set_user_flag ()
gboolean camel_message_info_set_user_flag (CamelMessageInfo *info
,const gchar *id
,gboolean state
);
Set the state of a user flag on a CamelMessageInfo.
camel_message_info_set_user_tag ()
gboolean camel_message_info_set_user_tag (CamelMessageInfo *info
,const gchar *id
,const gchar *val
);
Set the value of a user tag on a CamelMessageInfo.
Types and Values
struct CamelMessageContentInfo
struct CamelMessageContentInfo { CamelMessageContentInfo *next; CamelMessageContentInfo *childs; CamelMessageContentInfo *parent; CamelContentType *type; gchar *id; gchar *description; gchar *encoding; /* this should be an enum?? */ guint32 size; };
CamelFlag
typedef struct { struct _CamelFlag *next; gchar name[1]; /* name allocated as part of the structure */ } CamelFlag;
CamelTag
typedef struct { struct _CamelTag *next; gchar *value; gchar name[1]; /* name allocated as part of the structure */ } CamelTag;
CamelSummaryMessageID
typedef struct { union { guint64 id; guchar hash[8]; struct { guint32 hi; guint32 lo; } part; } id; } CamelSummaryMessageID;
CamelSummaryReferences
typedef struct { gint size; CamelSummaryMessageID references[1]; } CamelSummaryReferences;
struct CamelMessageInfoBase
struct CamelMessageInfoBase { CamelFolderSummary *summary; volatile gint refcount; const gchar *uid; /*FIXME: Make it work with the CAMEL_MESSADE_DB_DIRTY flag instead of another 4 bytes*/ guint dirty : 1; const gchar *subject; const gchar *from; const gchar *to; const gchar *cc; const gchar *mlist; CamelMessageFlags flags; guint32 size; time_t date_sent; time_t date_received; CamelSummaryMessageID message_id; CamelSummaryReferences *references;/* from parent to root */ struct _CamelFlag *user_flags; struct _CamelTag *user_tags; /* tree of content description - NULL if it is not available */ CamelMessageContentInfo *content; struct _camel_header_param *headers; gchar *preview; gchar *bodystructure; };
camel_message_info_date_received
#define camel_message_info_date_received camel_message_info_get_date_received
camel_message_info_message_id
#define camel_message_info_message_id camel_message_info_get_message_id
camel_message_info_references
#define camel_message_info_references camel_message_info_get_references
camel_message_info_user_flags
#define camel_message_info_user_flags camel_message_info_get_user_flags
Property Details
The “build-content”
property
“build-content” gboolean
Whether to build CamelMessageInfo.content.
Flags: Read / Write
Default value: FALSE
The “deleted-count”
property
“deleted-count” guint
How many deleted infos is saved in a summary.
Flags: Read
Default value: 0
The “folder”
property
“folder” CamelFolder *
The CamelFolder to which the folder summary belongs.
Flags: Read / Write / Construct Only
The “junk-count”
property
“junk-count” guint
How many junk infos is saved in a summary.
Flags: Read
Default value: 0
The “junk-not-deleted-count”
property
“junk-not-deleted-count” guint
How many junk and not deleted infos is saved in a summary.
Flags: Read
Default value: 0
The “saved-count”
property
“saved-count” guint
How many infos is saved in a summary.
Flags: Read
Default value: 0
The “unread-count”
property
“unread-count” guint
How many unread infos is saved in a summary.
Flags: Read
Default value: 0
The “visible-count”
property
“visible-count” guint
How many visible (not deleted and not junk) infos is saved in a summary.
Flags: Read
Default value: 0