![]() |
![]() |
![]() |
Camel Reference Manual | ![]() |
---|---|---|---|---|
Top | Description |
struct CamelFolderSummary; CamelMessageInfo; CamelMessageInfoBase; CamelFolderMetaSummary; struct CamelMessageContentInfo; enum CamelMessageFlags; #define CAMEL_MESSAGE_SYSTEM_MASK CamelFlag; CamelTag; CamelSummaryMessageID; CamelSummaryReferences; enum CamelFolderSummaryFlags; CamelFolderSummary * camel_folder_summary_new (struct _CamelFolder *folder
); void camel_folder_summary_set_filename (CamelFolderSummary *summary
,const gchar *filename
); void camel_folder_summary_set_index (CamelFolderSummary *summary
,CamelIndex *index
); void camel_folder_summary_set_build_content (CamelFolderSummary *summary
,gboolean state
); guint32 camel_folder_summary_next_uid (CamelFolderSummary *summary
); gchar * camel_folder_summary_next_uid_string (CamelFolderSummary *summary
); void camel_folder_summary_set_uid (CamelFolderSummary *summary
,guint32 uid
); gint camel_folder_summary_load (CamelFolderSummary *summary
); gint camel_folder_summary_save (CamelFolderSummary *summary
); gint camel_folder_summary_save_to_db (CamelFolderSummary *s
,CamelException *ex
); gint camel_folder_summary_load_from_db (CamelFolderSummary *s
,CamelException *ex
); gint camel_folder_summary_header_load (CamelFolderSummary *summary
); gint camel_folder_summary_header_load_from_db (CamelFolderSummary *s
,CamelStore *store
,const gchar *folder_name
,CamelException *ex
); gint camel_folder_summary_header_save_to_db (CamelFolderSummary *s
,CamelException *ex
); void camel_folder_summary_touch (CamelFolderSummary *summary
); void camel_folder_summary_add (CamelFolderSummary *summary
,CamelMessageInfo *info
); CamelMessageInfo * camel_folder_summary_peek_info (CamelFolderSummary *s
,const gchar *uid
); GPtrArray * camel_folder_summary_get_changed (CamelFolderSummary *s
); gint camel_folder_summary_cache_size (CamelFolderSummary *s
); gint camel_folder_summary_reload_from_db (CamelFolderSummary *s
,CamelException *ex
); void camel_folder_summary_ensure_infos_loaded (CamelFolderSummary *s
,gint at_least
,CamelException *ex
); void camel_folder_summary_insert (CamelFolderSummary *s
,CamelMessageInfo *info
,gboolean load
); void camel_folder_summary_remove_index_fast (CamelFolderSummary *s
,gint index
); void camel_folder_summary_remove_uid_fast (CamelFolderSummary *s
,const gchar *uid
); CamelMessageInfo * camel_folder_summary_add_from_header (CamelFolderSummary *summary
,struct _camel_header_raw *headers
); CamelMessageInfo * camel_folder_summary_add_from_parser (CamelFolderSummary *summary
,CamelMimeParser *parser
); CamelMessageInfo * camel_folder_summary_add_from_message (CamelFolderSummary *summary
,CamelMimeMessage *message
); CamelMessageInfo * camel_folder_summary_info_new_from_header (CamelFolderSummary *summary
,struct _camel_header_raw *headers
); CamelMessageInfo * camel_folder_summary_info_new_from_parser (CamelFolderSummary *summary
,CamelMimeParser *parser
); CamelMessageInfo * camel_folder_summary_info_new_from_message (CamelFolderSummary *summary
,CamelMimeMessage *message
,const gchar *bodystructure
); CamelMessageContentInfo * camel_folder_summary_content_info_new (CamelFolderSummary *summary
); void camel_folder_summary_content_info_free (CamelFolderSummary *summary
,CamelMessageContentInfo *ci
); void camel_folder_summary_remove (CamelFolderSummary *summary
,CamelMessageInfo *info
); void camel_folder_summary_remove_uid (CamelFolderSummary *summary
,const gchar *uid
); void camel_folder_summary_remove_index (CamelFolderSummary *summary
,gint index
); void camel_folder_summary_remove_range (CamelFolderSummary *summary
,gint start
,gint end
); void camel_folder_summary_clear (CamelFolderSummary *summary
); void camel_folder_summary_clear_db (CamelFolderSummary *s
); guint camel_folder_summary_count (CamelFolderSummary *summary
); CamelMessageInfo * camel_folder_summary_index (CamelFolderSummary *summary
,gint index
); CamelMessageInfo * camel_folder_summary_uid (CamelFolderSummary *summary
,const gchar *uid
); gchar * camel_folder_summary_uid_from_index (CamelFolderSummary *s
,gint i
); gboolean camel_folder_summary_check_uid (CamelFolderSummary *s
,const gchar *uid
); GPtrArray * camel_folder_summary_array (CamelFolderSummary *summary
); GHashTable * camel_folder_summary_get_hashtable (CamelFolderSummary *s
); void camel_folder_summary_free_hashtable (GHashTable *ht
); GHashTable * camel_folder_summary_get_flag_cache (CamelFolderSummary *summary
); void camel_folder_summary_update_flag_cache (CamelFolderSummary *s
,const gchar *uid
,guint32 flag
); gint camel_folder_summary_encode_token (FILE *out
,const gchar *str
); gint camel_folder_summary_decode_token (FILE *in
,gchar **str
); gboolean camel_flag_get (CamelFlag **list
,const gchar *name
); gboolean camel_flag_set (CamelFlag **list
,const gchar *name
,gboolean value
); gboolean camel_flag_list_copy (CamelFlag **to
,CamelFlag **from
); gint camel_flag_list_size (CamelFlag **list
); void camel_flag_list_free (CamelFlag **list
); guint32 camel_system_flag (const gchar *name
); gboolean camel_system_flag_get (guint32 flags
,const gchar *name
); const gchar * camel_tag_get (CamelTag **list
,const gchar *name
); gboolean camel_tag_set (CamelTag **list
,const gchar *name
,const gchar *value
); gboolean camel_tag_list_copy (CamelTag **to
,CamelTag **from
); gint camel_tag_list_size (CamelTag **list
); void camel_tag_list_free (CamelTag **list
); gpointer camel_message_info_new (CamelFolderSummary *summary
); void camel_message_info_ref (gpointer info
); CamelMessageInfo * camel_message_info_new_from_header (CamelFolderSummary *summary
,struct _camel_header_raw *header
); void camel_message_info_free (gpointer info
); gpointer camel_message_info_clone (gconstpointer info
); gconstpointer camel_message_info_ptr (const CamelMessageInfo *mi
,gint id
); guint32 camel_message_info_uint32 (const CamelMessageInfo *mi
,gint id
); time_t camel_message_info_time (const CamelMessageInfo *mi
,gint id
); #define camel_message_info_uid (mi) #define camel_message_info_subject (mi) #define camel_message_info_preview (mi) #define camel_message_info_from (mi) #define camel_message_info_to (mi) #define camel_message_info_cc (mi) #define camel_message_info_mlist (mi) #define camel_message_info_flags (mi) #define camel_message_info_size (mi) #define camel_message_info_date_sent (mi) #define camel_message_info_date_received (mi) #define camel_message_info_message_id (mi) #define camel_message_info_references (mi) #define camel_message_info_user_flags (mi) #define camel_message_info_user_tags (mi) #define camel_message_info_headers (mi) #define camel_message_info_content (mi) gboolean camel_message_info_user_flag (const CamelMessageInfo *mi
,const gchar *id
); const gchar * camel_message_info_user_tag (const CamelMessageInfo *mi
,const gchar *id
); gboolean camel_message_info_set_flags (CamelMessageInfo *mi
,guint32 flags
,guint32 set
); gboolean camel_message_info_set_user_flag (CamelMessageInfo *mi
,const gchar *id
,gboolean state
); gboolean camel_message_info_set_user_tag (CamelMessageInfo *mi
,const gchar *id
,const gchar *val
); void camel_folder_summary_set_need_preview (CamelFolderSummary *summary
,gboolean preview
); void camel_folder_summary_add_preview (CamelFolderSummary *s
,CamelMessageInfo *info
); gboolean camel_folder_summary_get_need_preview (CamelFolderSummary *summary
); const CamelMessageContentInfo * camel_folder_summary_guess_content_info (CamelMessageInfo *mi
,CamelContentType *ctype
); void camel_content_info_dump (CamelMessageContentInfo *ci
,gint depth
); void camel_message_info_dump (CamelMessageInfo *mi
); gint camel_folder_summary_migrate_infos (CamelFolderSummary *s
); void camel_folder_summary_lock_summary (CamelFolderSummary *summary
); void camel_folder_summary_unlock_summary (CamelFolderSummary *summary
);
struct CamelFolderSummary { CamelObject parent; struct _CamelFolderSummaryPrivate *priv; /* header info */ guint32 version; /* version of file loaded/loading */ guint32 flags; /* flags */ guint32 nextuid; /* next uid? */ time_t time; /* timestamp for this summary (for implementors to use) */ guint32 saved_count; /* how many were saved/loaded */ guint32 unread_count; /* handy totals */ guint32 deleted_count; guint32 junk_count; guint32 junk_not_deleted_count; guint32 visible_count; /* sizes of memory objects */ guint32 message_info_size; guint32 content_info_size; /* memory allocators (setup automatically) */ struct _EMemChunk *message_info_chunks; struct _EMemChunk *content_info_chunks; gchar *summary_path; gboolean build_content; /* do we try and parse/index the content, or not? */ #if 0 /* Deprecated */ GPtrArray *messages; /* CamelMessageInfo's */ GHashTable *messages_uid; /* CamelMessageInfo's by uid */ #endif /* New members to replace the above depreacted members */ GPtrArray *uids; GHashTable *loaded_infos; struct _CamelFolder *folder; /* parent folder, for events */ struct _CamelFolderMetaSummary *meta_summary; /* Meta summary */ time_t cache_load_time; guint timeout_handle; const gchar *collate; const gchar *sort_by; /* Future ABI expansion */ gpointer later[4]; };
typedef struct { CamelFolderSummary *summary; guint32 refcount; /* ??? */ const gchar *uid; /*FIXME: Make it work with the CAMEL_MESSADE_DB_DIRTY flag instead of another 4 bytes*/ guint dirty:1; } CamelMessageInfo;
typedef struct { CamelFolderSummary *summary; guint32 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; guint32 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; } CamelMessageInfoBase;
typedef struct { guint32 major; /* Major version of meta-summary */ guint32 minor; /* Minor version of meta-summary */ guint32 uid_len; /* Length of UID (for implementors to use) */ gboolean msg_expunged; /* Whether any message is expunged or not */ gchar *path; /* Path to meta-summary-file */ } CamelFolderMetaSummary;
struct CamelMessageContentInfo { struct _CamelMessageContentInfo *next; struct _CamelMessageContentInfo *childs; struct _CamelMessageContentInfo *parent; CamelContentType *type; gchar *id; gchar *description; gchar *encoding; /* this should be an enum?? */ guint32 size; };
typedef enum _CamelMessageFlags { CAMEL_MESSAGE_ANSWERED = 1<<0, CAMEL_MESSAGE_DELETED = 1<<1, CAMEL_MESSAGE_DRAFT = 1<<2, CAMEL_MESSAGE_FLAGGED = 1<<3, CAMEL_MESSAGE_SEEN = 1<<4, /* these aren't really system flag bits, but are convenience flags */ CAMEL_MESSAGE_ATTACHMENTS = 1<<5, CAMEL_MESSAGE_ANSWERED_ALL = 1<<6, CAMEL_MESSAGE_JUNK = 1<<7, CAMEL_MESSAGE_SECURE = 1<<8, CAMEL_MESSAGE_USER_NOT_DELETABLE = 1<<9, CAMEL_MESSAGE_HIDDEN = 1<<10, CAMEL_MESSAGE_NOTJUNK = 1<<11, CAMEL_MESSAGE_FORWARDED = 1<<12, /* following flags are for the folder, and are not really permanent flags */ CAMEL_MESSAGE_FOLDER_FLAGGED = 1<<16, /* for use by the folder implementation */ /* flags after 1<<16 are used by camel providers, if adding non permanent flags, add them to the end */ CAMEL_MESSAGE_JUNK_LEARN = 1<<30, /* used when setting CAMEL_MESSAGE_JUNK flag to say that we request junk plugin to learn that message as junk/non junk */ CAMEL_MESSAGE_USER = 1<<31 /* supports user flags */ } CamelMessageFlags;
typedef struct { struct _CamelFlag *next; gchar name[1]; /* name allocated as part of the structure */ } CamelFlag;
typedef struct { struct _CamelTag *next; gchar *value; gchar name[1]; /* name allocated as part of the structure */ } CamelTag;
typedef struct { union { guint64 id; guchar hash[8]; struct { guint32 hi; guint32 lo; } part; } id; } CamelSummaryMessageID;
typedef struct { gint size; CamelSummaryMessageID references[1]; } CamelSummaryReferences;
typedef enum _CamelFolderSummaryFlags { CAMEL_SUMMARY_DIRTY = 1<<0 } CamelFolderSummaryFlags;
CamelFolderSummary * camel_folder_summary_new (struct _CamelFolder *folder
);
Create a new CamelFolderSummary object.
|
parent CamelFolder object |
Returns : |
a new CamelFolderSummary object |
void camel_folder_summary_set_filename (CamelFolderSummary *summary
,const gchar *filename
);
Set the filename where the summary will be loaded to/saved from.
|
a CamelFolderSummary object |
|
a filename |
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.
|
a CamelFolderSummary object |
|
a CamelIndex |
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.
|
a CamelFolderSummary object |
|
to build or not to build the content |
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.
|
a CamelFolderSummary object |
Returns : |
the next unique uid value |
gchar * camel_folder_summary_next_uid_string
(CamelFolderSummary *summary
);
Retrieve the next uid, but as a formatted string.
|
a CamelFolderSummary object |
Returns : |
the next uid as an unsigned integer string. This string must be freed by the caller. |
void camel_folder_summary_set_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.
|
a CamelFolderSummary object |
|
The next minimum uid to assign. To avoid clashing uid's, set this to the uid of a given messages + 1. |
gint camel_folder_summary_load (CamelFolderSummary *summary
);
Load the summary from disk.
|
a CamelFolderSummary object |
Returns : |
0 on success or -1 on fail
|
gint camel_folder_summary_save (CamelFolderSummary *summary
);
Writes the summary to disk. The summary is only written if changes have occured.
|
a CamelFolderSummary object |
Returns : |
0 on success or -1 on fail
|
gint camel_folder_summary_save_to_db (CamelFolderSummary *s
,CamelException *ex
);
|
|
|
|
Returns : |
Since 2.24
gint camel_folder_summary_load_from_db (CamelFolderSummary *s
,CamelException *ex
);
|
|
|
|
Returns : |
Since 2.24
gint camel_folder_summary_header_load (CamelFolderSummary *summary
);
Only load the header information from the summary, keep the rest on disk. This should only be done on a fresh summary object.
|
a CamelFolderSummary object |
Returns : |
0 on success or -1 on fail
|
gint camel_folder_summary_header_load_from_db (CamelFolderSummary *s
,CamelStore *store
,const gchar *folder_name
,CamelException *ex
);
|
|
|
|
|
|
|
|
Returns : |
Since 2.24
gint camel_folder_summary_header_save_to_db (CamelFolderSummary *s
,CamelException *ex
);
|
|
|
|
Returns : |
Since 2.24
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.
|
a CamelFolderSummary object |
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.
|
a CamelFolderSummary object |
|
a CamelMessageInfo |
CamelMessageInfo * camel_folder_summary_peek_info (CamelFolderSummary *s
,const gchar *uid
);
|
|
|
|
Returns : |
Since 2.26
GPtrArray * camel_folder_summary_get_changed (CamelFolderSummary *s
);
|
|
Returns : |
Since 2.24
gint camel_folder_summary_cache_size (CamelFolderSummary *s
);
|
|
Returns : |
Since 2.24
gint camel_folder_summary_reload_from_db (CamelFolderSummary *s
,CamelException *ex
);
|
|
|
|
Returns : |
Since 2.24
void camel_folder_summary_ensure_infos_loaded (CamelFolderSummary *s
,gint at_least
,CamelException *ex
);
Loads all infos into memory, if they are not yet.
|
CamelFolderSummary object |
|
How many infos already loaded are considered fine to not reload all of them. Use -1 to force reload of all of them if not in memory yet. |
|
CamelException object. |
Since 2.28
void camel_folder_summary_insert (CamelFolderSummary *s
,CamelMessageInfo *info
,gboolean load
);
|
|
|
|
|
Since 2.24
void camel_folder_summary_remove_index_fast (CamelFolderSummary *s
,gint index
);
|
|
|
Since 2.24
void camel_folder_summary_remove_uid_fast (CamelFolderSummary *s
,const gchar *uid
);
|
|
|
Since 2.24
CamelMessageInfo * camel_folder_summary_add_from_header (CamelFolderSummary *summary
,struct _camel_header_raw *headers
);
Build a new info record based on a set of headers, and add it to the summary.
Note that this function should not be used if build_content_info has been specified for this summary.
|
a CamelFolderSummary object |
|
rfc822 headers |
Returns : |
the newly added record |
CamelMessageInfo * camel_folder_summary_add_from_parser (CamelFolderSummary *summary
,CamelMimeParser *parser
);
Build a new info record based on the current position of a CamelMimeParser.
The parser should be positioned before the start of the message to summarise. This function may be used if build_contnet_info or an index has been specified for the summary.
|
a CamelFolderSummary object |
|
a CamelMimeParser object |
Returns : |
the newly added record |
CamelMessageInfo * camel_folder_summary_add_from_message (CamelFolderSummary *summary
,CamelMimeMessage *message
);
Add a summary item from an existing message.
|
a CamelFolderSummary object |
|
a CamelMimeMessage object |
Returns : |
the newly added record |
CamelMessageInfo * camel_folder_summary_info_new_from_header (CamelFolderSummary *summary
,struct _camel_header_raw *headers
);
Create a new info record from a header.
|
a CamelFolderSummary object |
|
rfc822 headers |
Returns : |
the newly allocated record which must be freed with camel_message_info_free |
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.
|
a CamelFolderSummary object |
|
a CamelMimeParser object |
Returns : |
the newly allocated record which must be freed with camel_message_info_free |
CamelMessageInfo * camel_folder_summary_info_new_from_message (CamelFolderSummary *summary
,CamelMimeMessage *message
,const gchar *bodystructure
);
Create a summary item from a message.
|
a CamelFodlerSummary object |
|
a CamelMimeMessage object |
|
|
Returns : |
the newly allocated record which must be freed using camel_message_info_free |
CamelMessageContentInfo * camel_folder_summary_content_info_new
(CamelFolderSummary *summary
);
Allocate a new CamelMessageContentInfo, suitable for adding to this summary.
|
a CamelFolderSummary object |
Returns : |
a newly allocated CamelMessageContentInfo |
void camel_folder_summary_content_info_free (CamelFolderSummary *summary
,CamelMessageContentInfo *ci
);
Free the content info ci
, and all associated memory.
|
a CamelFolderSummary object |
|
a CamelMessageContentInfo |
void camel_folder_summary_remove (CamelFolderSummary *summary
,CamelMessageInfo *info
);
Remove a specific info
record from the summary.
|
a CamelFolderSummary object |
|
a CamelMessageInfo |
void camel_folder_summary_remove_uid (CamelFolderSummary *summary
,const gchar *uid
);
Remove a specific info record from the summary, by uid
.
|
a CamelFolderSummary object |
|
a uid |
void camel_folder_summary_remove_index (CamelFolderSummary *summary
,gint index
);
Remove a specific info record from the summary, by index.
|
a CamelFolderSummary object |
|
record index |
void camel_folder_summary_remove_range (CamelFolderSummary *summary
,gint start
,gint end
);
Removes an indexed range of info records.
|
a CamelFolderSummary object |
|
initial index |
|
last index to remove |
void camel_folder_summary_clear (CamelFolderSummary *summary
);
Empty the summary contents.
|
a CamelFolderSummary object |
void camel_folder_summary_clear_db (CamelFolderSummary *s
);
|
Since 2.24
guint camel_folder_summary_count (CamelFolderSummary *summary
);
Get the number of summary items stored in this summary.
|
a CamelFolderSummary object |
Returns : |
the number of items in the summary |
CamelMessageInfo * camel_folder_summary_index (CamelFolderSummary *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.
|
a CamelFolderSummary object |
|
item index |
Returns : |
the summary item, or NULL if index is out of range
|
CamelMessageInfo * camel_folder_summary_uid (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.
|
a CamelFolderSummary object |
|
a uid |
Returns : |
the summary item, or NULL if the uid uid is not available
|
gchar * camel_folder_summary_uid_from_index (CamelFolderSummary *s
,gint i
);
Retrieve a summary item's uid by index number.
A newly allocated uid is returned, which must be free'd as appropriate.
|
a CamelFolderSummary object |
|
item index |
Returns : |
the summary item's uid , or NULL if index is out of range
|
Since 2.24
gboolean camel_folder_summary_check_uid (CamelFolderSummary *s
,const gchar *uid
);
Check if the uid is valid. This isn't very efficient, so it shouldn't be called iteratively.
|
a CamelFolderSummary object |
|
a uid |
Returns : |
if the uid is present in the summary or not (TRUE or FALSE )
|
Since 2.24
GPtrArray * camel_folder_summary_array (CamelFolderSummary *summary
);
Obtain a copy of the summary array. This is done atomically, so cannot contain empty entries.
It must be freed using g_ptr_array_free
|
a CamelFolderSummary object |
Returns : |
a GPtrArray of uids |
GHashTable * camel_folder_summary_get_hashtable (CamelFolderSummary *s
);
Obtain a copy of the summary array in the hashtable. This is done atomically, so cannot contain empty entries.
It must be freed using camel_folder_summary_free_hashtable
|
|
Returns : |
a GHashTable of uids |
Since 2.26
void camel_folder_summary_free_hashtable (GHashTable *ht
);
|
Since 2.26
GHashTable * camel_folder_summary_get_flag_cache (CamelFolderSummary *summary
);
|
|
Returns : |
Since 2.26
void camel_folder_summary_update_flag_cache (CamelFolderSummary *s
,const gchar *uid
,guint32 flag
);
|
|
|
|
|
Since 2.26
gint camel_folder_summary_encode_token (FILE *out
,const gchar *str
);
Encode a string value, but use tokenisation and compression to reduce the size taken for common mailer words. This can still be used to encode normal strings as well.
|
output FILE pointer |
|
string token to encode |
Returns : |
0 on success or -1 on fail
|
gint camel_folder_summary_decode_token (FILE *in
,gchar **str
);
Decode a token value.
|
input FILE pointer |
|
string pointer to hold the decoded result |
Returns : |
0 on success or -1 on fail
|
gboolean camel_flag_get (CamelFlag **list
,const gchar *name
);
Find the state of the flag name
in list
.
|
the address of a CamelFlag list |
|
name of the flag to get |
Returns : |
the state of the flag (TRUE or FALSE )
|
gboolean camel_flag_set (CamelFlag **list
,const gchar *name
,gboolean value
);
Set the state of a flag name
in the list list
to value
.
|
the address of a CamelFlag list |
|
name of the flag to set or change |
|
the value to set on the flag |
Returns : |
TRUE if the value of the flag has been changed or FALSE
otherwise
|
gboolean camel_flag_list_copy (CamelFlag **to
,CamelFlag **from
);
Copy a flag list.
gint camel_flag_list_size (CamelFlag **list
);
Get the length of the flag list.
|
the address of a CamelFlag list |
Returns : |
the number of flags in the list |
void camel_flag_list_free (CamelFlag **list
);
Free the memory associated with the flag list list
.
|
the address of a CamelFlag list |
guint32 camel_system_flag (const gchar *name
);
|
name of a system flag |
Returns : |
the integer value of the system flag string |
gboolean camel_system_flag_get (guint32 flags
,const gchar *name
);
Find the state of the flag name
in flags
.
|
bitwise system flags |
|
name of the flag to check for |
Returns : |
TRUE if the named flag is set or FALSE otherwise
|
const gchar * camel_tag_get (CamelTag **list
,const gchar *name
);
Find the flag name
in list
and get the value.
|
the address of a CamelTag list |
|
name of the tag to get |
Returns : |
the value of the flag or NULL if unset
|
gboolean camel_tag_set (CamelTag **list
,const gchar *name
,const gchar *value
);
Set the tag name
in the tag list list
to value
.
|
the address of a CamelTag list |
|
name of the tag to set |
|
value to set on the tag |
Returns : |
TRUE if the value on the tag changed or FALSE otherwise
|
gboolean camel_tag_list_copy (CamelTag **to
,CamelTag **from
);
Copy a tag list.
gint camel_tag_list_size (CamelTag **list
);
Get the number of tags present in the tag list list
.
|
the address of a CamelTag list |
Returns : |
the number of tags |
void camel_tag_list_free (CamelTag **list
);
Free the tag list list
.
|
the address of a CamelTag list |
gpointer camel_message_info_new (CamelFolderSummary *summary
);
Create a new CamelMessageInfo.
|
a CamelFolderSummary object or NULL
|
Returns : |
a new CamelMessageInfo |
void camel_message_info_ref (gpointer info
);
Reference an info.
|
a CamelMessageInfo |
CamelMessageInfo * camel_message_info_new_from_header (CamelFolderSummary *summary
,struct _camel_header_raw *header
);
Create a new CamelMessageInfo pre-populated with info from
header
.
|
a CamelFolderSummary object or NULL
|
|
raw header |
Returns : |
a new CamelMessageInfo |
void camel_message_info_free (gpointer info
);
Unref's and potentially frees a CamelMessageInfo and its contents.
|
a CamelMessageInfo |
gpointer camel_message_info_clone (gconstpointer info
);
Duplicate a CamelMessageInfo.
|
a CamelMessageInfo |
Returns : |
the duplicated CamelMessageInfo |
gconstpointer camel_message_info_ptr (const CamelMessageInfo *mi
,gint id
);
Generic accessor method for getting pointer data.
|
a CamelMessageInfo |
|
info to get |
Returns : |
the pointer data |
guint32 camel_message_info_uint32 (const CamelMessageInfo *mi
,gint id
);
Generic accessor method for getting 32bit gint data.
|
a CamelMessageInfo |
|
info to get |
Returns : |
the gint data |
time_t camel_message_info_time (const CamelMessageInfo *mi
,gint id
);
Generic accessor method for getting time_t data.
|
a CamelMessageInfo |
|
info to get |
Returns : |
the time_t data |
#define camel_message_info_uid(mi) ((const gchar *)((const CamelMessageInfo *)mi)->uid)
|
#define camel_message_info_subject(mi) ((const gchar *)camel_message_info_ptr((const CamelMessageInfo *)mi, CAMEL_MESSAGE_INFO_SUBJECT))
|
#define camel_message_info_preview(mi) ((const gchar *)camel_message_info_ptr((const CamelMessageInfo *)mi, CAMEL_MESSAGE_INFO_PREVIEW))
FIXME Document me!
|
a CamelMessageInfo |
Since 2.28
#define camel_message_info_from(mi) ((const gchar *)camel_message_info_ptr((const CamelMessageInfo *)mi, CAMEL_MESSAGE_INFO_FROM))
|
#define camel_message_info_to(mi) ((const gchar *)camel_message_info_ptr((const CamelMessageInfo *)mi, CAMEL_MESSAGE_INFO_TO))
|
#define camel_message_info_cc(mi) ((const gchar *)camel_message_info_ptr((const CamelMessageInfo *)mi, CAMEL_MESSAGE_INFO_CC))
|
#define camel_message_info_mlist(mi) ((const gchar *)camel_message_info_ptr((const CamelMessageInfo *)mi, CAMEL_MESSAGE_INFO_MLIST))
|
#define camel_message_info_flags(mi) camel_message_info_uint32((const CamelMessageInfo *)mi, CAMEL_MESSAGE_INFO_FLAGS)
|
#define camel_message_info_size(mi) camel_message_info_uint32((const CamelMessageInfo *)mi, CAMEL_MESSAGE_INFO_SIZE)
|
#define camel_message_info_date_sent(mi) camel_message_info_time((const CamelMessageInfo *)mi, CAMEL_MESSAGE_INFO_DATE_SENT)
|
#define camel_message_info_date_received(mi) camel_message_info_time((const CamelMessageInfo *)mi, CAMEL_MESSAGE_INFO_DATE_RECEIVED)
|
#define camel_message_info_message_id(mi) ((const CamelSummaryMessageID *)camel_message_info_ptr((const CamelMessageInfo *)mi, CAMEL_MESSAGE_INFO_MESSAGE_ID))
|
#define camel_message_info_references(mi) ((const CamelSummaryReferences *)camel_message_info_ptr((const CamelMessageInfo *)mi, CAMEL_MESSAGE_INFO_REFERENCES))
|
#define camel_message_info_user_flags(mi) ((const CamelFlag *)camel_message_info_ptr((const CamelMessageInfo *)mi, CAMEL_MESSAGE_INFO_USER_FLAGS))
|
#define camel_message_info_user_tags(mi) ((const CamelTag *)camel_message_info_ptr((const CamelMessageInfo *)mi, CAMEL_MESSAGE_INFO_USER_TAGS))
|
#define camel_message_info_headers(mi) ((const struct _camel_header_param *)camel_message_info_ptr((const CamelMessageInfo *)mi, CAMEL_MESSAGE_INFO_HEADERS))
FIXME Document me!
|
a CamelMessageInfo |
Since 2.24
#define camel_message_info_content(mi) ((const CamelMessageContentInfo *)camel_message_info_ptr((const CamelMessageInfo *)mi, CAMEL_MESSAGE_INFO_CONTENT))
FIXME Document me!
|
a CamelMessageInfo |
Since 2.30
gboolean camel_message_info_user_flag (const CamelMessageInfo *mi
,const gchar *id
);
Get the state of a user flag named id
.
|
a CamelMessageInfo |
|
user flag to get |
Returns : |
the state of the user flag |
const gchar * camel_message_info_user_tag (const CamelMessageInfo *mi
,const gchar *id
);
Get the value of a user tag named id
.
|
a CamelMessageInfo |
|
user tag to get |
Returns : |
the value of the user tag |
gboolean camel_message_info_set_flags (CamelMessageInfo *mi
,guint32 flags
,guint32 set
);
Change the state of the system flags on the CamelMessageInfo
|
a CamelMessageInfo |
|
mask of flags to change |
|
state the flags should be changed to |
Returns : |
TRUE if any of the flags changed or FALSE otherwise
|
gboolean camel_message_info_set_user_flag (CamelMessageInfo *mi
,const gchar *id
,gboolean state
);
Set the state of a user flag on a CamelMessageInfo.
|
a CamelMessageInfo |
|
name of the user flag to set |
|
state to set the flag to |
Returns : |
TRUE if the state changed or FALSE otherwise
|
gboolean camel_message_info_set_user_tag (CamelMessageInfo *mi
,const gchar *id
,const gchar *val
);
Set the value of a user tag on a CamelMessageInfo.
|
a CamelMessageInfo |
|
name of the user tag to set |
|
value to set |
Returns : |
TRUE if the value changed or FALSE otherwise
|
void camel_folder_summary_set_need_preview (CamelFolderSummary *summary
,gboolean preview
);
|
|
|
Since 2.28
void camel_folder_summary_add_preview (CamelFolderSummary *s
,CamelMessageInfo *info
);
|
|
|
Since 2.28
gboolean camel_folder_summary_get_need_preview
(CamelFolderSummary *summary
);
|
|
Returns : |
Since 2.28
const CamelMessageContentInfo * camel_folder_summary_guess_content_info (CamelMessageInfo *mi
,CamelContentType *ctype
);
FIXME Document me!
|
a CamelMessageInfo |
|
a CamelContentType |
Returns : |
Since 2.30
void camel_content_info_dump (CamelMessageContentInfo *ci
,gint depth
);
|
|
|
gint camel_folder_summary_migrate_infos (CamelFolderSummary *s
);
|
|
Returns : |
Since 2.24
void camel_folder_summary_lock_summary (CamelFolderSummary *summary
);
|
void camel_folder_summary_unlock_summary (CamelFolderSummary *summary
);
|