![]() |
![]() |
![]() |
Camel Reference Manual | ![]() |
---|---|---|---|---|
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 char *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); char* camel_folder_summary_next_uid_string (CamelFolderSummary *summary); void camel_folder_summary_set_uid (CamelFolderSummary *summary, guint32 uid); int camel_folder_summary_load (CamelFolderSummary *summary); int camel_folder_summary_save (CamelFolderSummary *summary); int camel_folder_summary_header_load (CamelFolderSummary *summary); void camel_folder_summary_touch (CamelFolderSummary *summary); void camel_folder_summary_add (CamelFolderSummary *summary, CamelMessageInfo *info); 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); 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 char *uid); void camel_folder_summary_remove_index (CamelFolderSummary *summary, int index); void camel_folder_summary_remove_range (CamelFolderSummary *summary, int start, int end); void camel_folder_summary_clear (CamelFolderSummary *summary); int camel_folder_summary_count (CamelFolderSummary *summary); CamelMessageInfo* camel_folder_summary_index (CamelFolderSummary *summary, int index); CamelMessageInfo* camel_folder_summary_uid (CamelFolderSummary *summary, const char *uid); GPtrArray* camel_folder_summary_array (CamelFolderSummary *summary); void camel_folder_summary_array_free (CamelFolderSummary *summary, GPtrArray *array); int camel_folder_summary_encode_token (FILE *out, const char *str); int camel_folder_summary_decode_token (FILE *in, char **str); gboolean camel_flag_get (CamelFlag **list, const char *name); gboolean camel_flag_set (CamelFlag **list, const char *name, gboolean state); gboolean camel_flag_list_copy (CamelFlag **to, CamelFlag **from); int camel_flag_list_size (CamelFlag **list); void camel_flag_list_free (CamelFlag **list); guint32 camel_system_flag (const char *name); gboolean camel_system_flag_get (guint32 flags, const char *name); const char* camel_tag_get (CamelTag **list, const char *name); gboolean camel_tag_set (CamelTag **list, const char *name, const char *value); gboolean camel_tag_list_copy (CamelTag **to, CamelTag **from); int camel_tag_list_size (CamelTag **list); void camel_tag_list_free (CamelTag **list); void* camel_message_info_new (CamelFolderSummary *summary); void camel_message_info_ref (void *info); CamelMessageInfo* camel_message_info_new_from_header (CamelFolderSummary *summary, struct _camel_header_raw *header); void camel_message_info_free (void *info); void* camel_message_info_clone (const void *info); const void* camel_message_info_ptr (const CamelMessageInfo *mi, int id); guint32 camel_message_info_uint32 (const CamelMessageInfo *mi, int id); time_t camel_message_info_time (const CamelMessageInfo *mi, int id); #define camel_message_info_uid (mi) #define camel_message_info_subject (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) gboolean camel_message_info_user_flag (const CamelMessageInfo *mi, const char *id); const char* camel_message_info_user_tag (const CamelMessageInfo *mi, const char *id); gboolean camel_message_info_set_flags (CamelMessageInfo *mi, guint32 mask, guint32 set); gboolean camel_message_info_set_user_flag (CamelMessageInfo *mi, const char *id, gboolean state); gboolean camel_message_info_set_user_tag (CamelMessageInfo *mi, const char *id, const char *val); void camel_content_info_dump (CamelMessageContentInfo *ci, int depth); void camel_message_info_dump (CamelMessageInfo *mi);
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; /* 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; char *summary_path; gboolean build_content; /* do we try and parse/index the content, or not? */ GPtrArray *messages; /* CamelMessageInfo's */ GHashTable *messages_uid; /* CamelMessageInfo's by uid */ struct _CamelFolder *folder; /* parent folder, for events */ struct _CamelFolderMetaSummary *meta_summary; /* Meta summary */ };
typedef struct { CamelFolderSummary *summary; guint32 refcount; /* ??? */ char *uid; } CamelMessageInfo;
typedef struct { CamelFolderSummary *summary; guint32 refcount; /* ??? */ char *uid; const char *subject; const char *from; const char *to; const char *cc; const char *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; } 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 */ char *path; /* Path to meta-summary-file */ } CamelFolderMetaSummary;
struct CamelMessageContentInfo { struct _CamelMessageContentInfo *next; struct _CamelMessageContentInfo *childs; struct _CamelMessageContentInfo *parent; CamelContentType *type; char *id; char *description; char *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, /* 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; char name[1]; /* name allocated as part of the structure */ } CamelFlag;
typedef struct { struct _CamelTag *next; char *value; char name[1]; /* name allocated as part of the structure */ } CamelTag;
typedef struct { union { guint64 id; unsigned char hash[8]; struct { guint32 hi; guint32 lo; } part; } id; } CamelSummaryMessageID;
typedef struct { int size; CamelSummaryMessageID references[1]; } CamelSummaryReferences;
typedef enum _CamelFolderSummaryFlags { CAMEL_SUMMARY_DIRTY = 1<<0 } CamelFolderSummaryFlags;
CamelFolderSummary* camel_folder_summary_new (struct _CamelFolder *folder);
|
|
Returns : |
void camel_folder_summary_set_filename (CamelFolderSummary *summary, const char *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);
|
|
Returns : |
char* camel_folder_summary_next_uid_string (CamelFolderSummary *summary);
|
|
Returns : |
void camel_folder_summary_set_uid (CamelFolderSummary *summary, guint32 uid);
|
|
|
int camel_folder_summary_load (CamelFolderSummary *summary);
|
|
Returns : |
int camel_folder_summary_save (CamelFolderSummary *summary);
|
|
Returns : |
int camel_folder_summary_header_load (CamelFolderSummary *summary);
|
|
Returns : |
void camel_folder_summary_touch (CamelFolderSummary *summary);
|
void camel_folder_summary_add (CamelFolderSummary *summary, CamelMessageInfo *info);
|
|
|
CamelMessageInfo* camel_folder_summary_add_from_header (CamelFolderSummary *summary, struct _camel_header_raw *headers);
|
|
|
|
Returns : |
CamelMessageInfo* camel_folder_summary_add_from_parser (CamelFolderSummary *summary, CamelMimeParser *parser);
|
|
|
|
Returns : |
CamelMessageInfo* camel_folder_summary_add_from_message (CamelFolderSummary *summary, CamelMimeMessage *message);
|
|
|
|
Returns : |
CamelMessageInfo* camel_folder_summary_info_new_from_header (CamelFolderSummary *summary, struct _camel_header_raw *headers);
|
|
|
|
Returns : |
CamelMessageInfo* camel_folder_summary_info_new_from_parser (CamelFolderSummary *summary, CamelMimeParser *parser);
|
|
|
|
Returns : |
CamelMessageInfo* camel_folder_summary_info_new_from_message (CamelFolderSummary *summary, CamelMimeMessage *message);
|
|
|
|
Returns : |
CamelMessageContentInfo* camel_folder_summary_content_info_new (CamelFolderSummary *summary);
|
|
Returns : |
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 char *uid);
|
|
|
void camel_folder_summary_remove_index (CamelFolderSummary *summary, int index);
|
|
|
void camel_folder_summary_remove_range (CamelFolderSummary *summary, int start, int end);
|
|
|
|
|
void camel_folder_summary_clear (CamelFolderSummary *summary);
|
int camel_folder_summary_count (CamelFolderSummary *summary);
|
|
Returns : |
CamelMessageInfo* camel_folder_summary_index (CamelFolderSummary *summary, int index);
|
|
|
|
Returns : |
CamelMessageInfo* camel_folder_summary_uid (CamelFolderSummary *summary, const char *uid);
|
|
|
|
Returns : |
GPtrArray* camel_folder_summary_array (CamelFolderSummary *summary);
|
|
Returns : |
void camel_folder_summary_array_free (CamelFolderSummary *summary, GPtrArray *array);
|
|
|
int camel_folder_summary_encode_token (FILE *out, const char *str);
|
|
|
|
Returns : |
int camel_folder_summary_decode_token (FILE *in, char **str);
|
|
|
|
Returns : |
gboolean camel_flag_get (CamelFlag **list, const char *name);
|
|
|
|
Returns : |
gboolean camel_flag_set (CamelFlag **list, const char *name, gboolean state);
|
|
|
|
|
|
Returns : |
gboolean camel_flag_list_copy (CamelFlag **to, CamelFlag **from);
|
|
|
|
Returns : |
gboolean camel_system_flag_get (guint32 flags, const char *name);
|
|
|
|
Returns : |
const char* camel_tag_get (CamelTag **list, const char *name);
|
|
|
|
Returns : |
gboolean camel_tag_set (CamelTag **list, const char *name, const char *value);
|
|
|
|
|
|
Returns : |
gboolean camel_tag_list_copy (CamelTag **to, CamelTag **from);
|
|
|
|
Returns : |
void* camel_message_info_new (CamelFolderSummary *summary);
|
|
Returns : |
CamelMessageInfo* camel_message_info_new_from_header (CamelFolderSummary *summary, struct _camel_header_raw *header);
|
|
|
|
Returns : |
const void* camel_message_info_ptr (const CamelMessageInfo *mi, int id);
|
|
|
|
Returns : |
guint32 camel_message_info_uint32 (const CamelMessageInfo *mi, int id);
|
|
|
|
Returns : |
time_t camel_message_info_time (const CamelMessageInfo *mi, int id);
|
|
|
|
Returns : |
#define camel_message_info_uid(mi) ((const char *)((const CamelMessageInfo *)mi)->uid)
|
#define camel_message_info_subject(mi) ((const char *)camel_message_info_ptr((const CamelMessageInfo *)mi, CAMEL_MESSAGE_INFO_SUBJECT))
|
#define camel_message_info_from(mi) ((const char *)camel_message_info_ptr((const CamelMessageInfo *)mi, CAMEL_MESSAGE_INFO_FROM))
|
#define camel_message_info_to(mi) ((const char *)camel_message_info_ptr((const CamelMessageInfo *)mi, CAMEL_MESSAGE_INFO_TO))
|
#define camel_message_info_cc(mi) ((const char *)camel_message_info_ptr((const CamelMessageInfo *)mi, CAMEL_MESSAGE_INFO_CC))
|
#define camel_message_info_mlist(mi) ((const char *)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))
|
gboolean camel_message_info_user_flag (const CamelMessageInfo *mi, const char *id);
|
|
|
|
Returns : |
const char* camel_message_info_user_tag (const CamelMessageInfo *mi, const char *id);
|
|
|
|
Returns : |
gboolean camel_message_info_set_flags (CamelMessageInfo *mi, guint32 mask, guint32 set);
|
|
|
|
|
|
Returns : |
gboolean camel_message_info_set_user_flag (CamelMessageInfo *mi, const char *id, gboolean state);
|
|
|
|
|
|
Returns : |
gboolean camel_message_info_set_user_tag (CamelMessageInfo *mi, const char *id, const char *val);
|
|
|
|
|
|
Returns : |
void camel_content_info_dump (CamelMessageContentInfo *ci, int depth);
|
|
|