Top |
Functions
Types and Values
#define | CAMEL_DB_FILE |
#define | CAMEL_DB_IN_MEMORY_TABLE |
#define | CAMEL_DB_IN_MEMORY_DB |
#define | CAMEL_DB_IN_MEMORY_TABLE_LIMIT |
CamelDB | |
#define | CAMEL_DB_FREE_CACHE_SIZE |
#define | CAMEL_DB_SLEEP_INTERVAL |
#define | CAMEL_DB_RELEASE_SQLITE_MEMORY |
#define | CAMEL_DB_USE_SHARED_CACHE |
CamelMIRecord | |
CamelFIRecord | |
enum | CamelDBKnownColumnNames |
CamelDBPrivate |
Functions
CamelDBCollate ()
gint (*CamelDBCollate) (gpointer enc
,gint length1
,gconstpointer data1
,gint length2
,gconstpointer data2
);
Since: 2.24
camel_db_get_column_ident ()
CamelDBKnownColumnNames camel_db_get_column_ident (GHashTable **hash
,gint index
,gint ncols
,gchar **col_names
);
Traverses column name from index index
into an enum
CamelDBKnownColumnNames value. The col_names
contains ncols
columns.
First time this is called is created the hash
from col_names indexes into
the enum, and this is reused for every other call. The function expects
that column names are returned always in the same order. When all rows
are read the hash
table can be freed with g_hash_table_destroy()
.
Since: 3.4
CamelDBSelectCB ()
gint (*CamelDBSelectCB) (gpointer data
,gint ncol
,gchar **colvalues
,gchar **colnames
);
Since: 2.24
camel_db_command ()
gint camel_db_command (CamelDB *cdb
,const gchar *stmt
,GError **error
);
Since: 2.24
camel_db_transaction_command ()
gint camel_db_transaction_command (CamelDB *cdb
,GList *qry_list
,GError **error
);
Since: 2.24
camel_db_begin_transaction ()
gint camel_db_begin_transaction (CamelDB *cdb
,GError **error
);
Since: 2.24
camel_db_add_to_transaction ()
gint camel_db_add_to_transaction (CamelDB *cdb
,const gchar *query
,GError **error
);
Since: 2.24
camel_db_end_transaction ()
gint camel_db_end_transaction (CamelDB *cdb
,GError **error
);
Since: 2.24
camel_db_abort_transaction ()
gint camel_db_abort_transaction (CamelDB *cdb
,GError **error
);
Since: 2.24
camel_db_clear_folder_summary ()
gint camel_db_clear_folder_summary (CamelDB *cdb
,const gchar *folder
,GError **error
);
Since: 2.24
camel_db_rename_folder ()
gint camel_db_rename_folder (CamelDB *cdb
,const gchar *old_folder
,const gchar *new_folder
,GError **error
);
Since: 2.24
camel_db_delete_folder ()
gint camel_db_delete_folder (CamelDB *cdb
,const gchar *folder
,GError **error
);
Since: 2.24
camel_db_delete_uid ()
gint camel_db_delete_uid (CamelDB *cdb
,const gchar *folder
,const gchar *uid
,GError **error
);
Since: 2.24
camel_db_delete_uids ()
gint camel_db_delete_uids (CamelDB *cdb
,const gchar *folder_name
,GList *uids
,GError **error
);
Since: 2.24
camel_db_create_folders_table ()
gint camel_db_create_folders_table (CamelDB *cdb
,GError **error
);
Since: 2.24
camel_db_select ()
gint camel_db_select (CamelDB *cdb
,const gchar *stmt
,CamelDBSelectCB callback
,gpointer user_data
,GError **error
);
Since: 2.24
camel_db_write_folder_info_record ()
gint camel_db_write_folder_info_record (CamelDB *cdb
,CamelFIRecord *record
,GError **error
);
Since: 2.24
camel_db_read_folder_info_record ()
gint camel_db_read_folder_info_record (CamelDB *cdb
,const gchar *folder_name
,CamelFIRecord *record
,GError **error
);
Since: 2.24
camel_db_prepare_message_info_table ()
gint camel_db_prepare_message_info_table (CamelDB *cdb
,const gchar *folder_name
,GError **error
);
Since: 2.24
camel_db_write_message_info_record ()
gint camel_db_write_message_info_record (CamelDB *cdb
,const gchar *folder_name
,CamelMIRecord *record
,GError **error
);
Since: 2.24
camel_db_write_fresh_message_info_record ()
gint camel_db_write_fresh_message_info_record (CamelDB *cdb
,const gchar *folder_name
,CamelMIRecord *record
,GError **error
);
Since: 2.26
camel_db_read_message_info_records ()
gint camel_db_read_message_info_records (CamelDB *cdb
,const gchar *folder_name
,gpointer user_data
,CamelDBSelectCB read_mir_callback
,GError **error
);
Since: 2.24
camel_db_read_message_info_record_with_uid ()
gint camel_db_read_message_info_record_with_uid (CamelDB *cdb
,const gchar *folder_name
,const gchar *uid
,gpointer user_data
,CamelDBSelectCB read_mir_callback
,GError **error
);
Since: 2.24
camel_db_count_junk_message_info ()
gint camel_db_count_junk_message_info (CamelDB *cdb
,const gchar *table_name
,guint32 *count
,GError **error
);
Since: 2.24
camel_db_count_unread_message_info ()
gint camel_db_count_unread_message_info (CamelDB *cdb
,const gchar *table_name
,guint32 *count
,GError **error
);
Since: 2.24
camel_db_count_deleted_message_info ()
gint camel_db_count_deleted_message_info (CamelDB *cdb
,const gchar *table_name
,guint32 *count
,GError **error
);
Since: 2.24
camel_db_count_total_message_info ()
gint camel_db_count_total_message_info (CamelDB *cdb
,const gchar *table_name
,guint32 *count
,GError **error
);
Since: 2.24
camel_db_count_visible_message_info ()
gint camel_db_count_visible_message_info (CamelDB *cdb
,const gchar *table_name
,guint32 *count
,GError **error
);
Since: 2.24
camel_db_count_visible_unread_message_info ()
gint camel_db_count_visible_unread_message_info (CamelDB *cdb
,const gchar *table_name
,guint32 *count
,GError **error
);
Since: 2.24
camel_db_count_junk_not_deleted_message_info ()
gint camel_db_count_junk_not_deleted_message_info (CamelDB *cdb
,const gchar *table_name
,guint32 *count
,GError **error
);
camel_db_count_message_info ()
gint camel_db_count_message_info (CamelDB *cdb
,const gchar *query
,guint32 *count
,GError **error
);
Since: 2.26
camel_db_get_folder_uids ()
gint camel_db_get_folder_uids (CamelDB *db
,const gchar *folder_name
,const gchar *sort_by
,const gchar *collate
,GHashTable *hash
,GError **error
);
Fills hash with uid->GUINT_TO_POINTER (flag)
Since: 2.24
camel_db_get_folder_junk_uids ()
GPtrArray * camel_db_get_folder_junk_uids (CamelDB *db
,gchar *folder_name
,GError **error
);
Since: 2.24
camel_db_get_folder_deleted_uids ()
GPtrArray * camel_db_get_folder_deleted_uids (CamelDB *db
,const gchar *folder_name
,GError **error
);
Since: 2.24
camel_db_set_collate ()
gint camel_db_set_collate (CamelDB *cdb
,const gchar *col
,const gchar *collate
,CamelDBCollate func
);
Since: 2.24
camel_db_start_in_memory_transactions ()
gint camel_db_start_in_memory_transactions (CamelDB *cdb
,GError **error
);
Since: 2.26
camel_db_flush_in_memory_transactions ()
gint camel_db_flush_in_memory_transactions (CamelDB *cdb
,const gchar *folder_name
,GError **error
);
Since: 2.26
camel_db_get_folder_preview ()
GHashTable * camel_db_get_folder_preview (CamelDB *db
,const gchar *folder_name
,GError **error
);
Since: 2.28
camel_db_write_preview_record ()
gint camel_db_write_preview_record (CamelDB *db
,const gchar *folder_name
,const gchar *uid
,const gchar *msg
,GError **error
);
Since: 2.28
camel_db_reset_folder_version ()
gint camel_db_reset_folder_version (CamelDB *cdb
,const gchar *folder_name
,gint reset_version
,GError **error
);
Since: 2.28
Types and Values
CamelDB
typedef struct { sqlite3 *db; /* this lock has been replaced with a rw lock which sits inside priv. * This is currently unused. Keeping it, not to break the ABI */ GMutex *lock; CamelDBPrivate *priv; } CamelDB;
Since: 2.24
CAMEL_DB_RELEASE_SQLITE_MEMORY
#define CAMEL_DB_RELEASE_SQLITE_MEMORY if(!g_getenv("CAMEL_SQLITE_FREE_CACHE")) sqlite3_release_memory(CAMEL_DB_FREE_CACHE_SIZE);
Since: 2.24
CAMEL_DB_USE_SHARED_CACHE
#define CAMEL_DB_USE_SHARED_CACHE if(g_getenv("CAMEL_SQLITE_SHARED_CACHE")) sqlite3_enable_shared_cache(TRUE);
Since: 2.24
CamelMIRecord
typedef struct { gchar *uid; guint32 flags; guint32 msg_type; guint32 dirty; gboolean read; gboolean deleted; gboolean replied; gboolean important; gboolean junk; gboolean attachment; guint32 size; time_t dsent; time_t dreceived; gchar *subject; gchar *from; gchar *to; gchar *cc; gchar *mlist; gchar *followup_flag; gchar *followup_completed_on; gchar *followup_due_by; gchar *part; gchar *labels; gchar *usertags; gchar *cinfo; gchar *bdata; gchar *bodystructure; } CamelMIRecord;
The extensive DB format, supporting basic searching and sorting.
Members
gchar * |
Message UID |
|
guint32 |
Camel Message info flags |
|
guint32 |
||
guint32 |
||
gboolean |
boolean read status |
|
gboolean |
boolean deleted status |
|
gboolean |
boolean replied status |
|
gboolean |
boolean important status |
|
gboolean |
boolean junk status |
|
gboolean |
boolean attachment status |
|
guint32 |
size of the mail |
|
date sent |
||
date received |
||
gchar * |
subject of the mail |
|
gchar * |
sender |
|
gchar * |
recipient |
|
gchar * |
CC members |
|
gchar * |
message list headers |
|
gchar * |
followup flag / also can be queried to see for followup or not |
|
gchar * |
completed date, can be used to see if completed |
|
gchar * |
to see the due by date |
|
gchar * |
part / references / thread id |
|
gchar * |
labels of mails also called as userflags |
|
gchar * |
composite string of user tags |
|
gchar * |
content info string - composite string |
|
gchar * |
provider specific data |
|
gchar * |
Since: 2.24
CamelFIRecord
typedef struct { gchar *folder_name; guint32 version; guint32 flags; guint32 nextuid; time_t time; guint32 saved_count; guint32 unread_count; guint32 deleted_count; guint32 junk_count; guint32 visible_count; guint32 jnd_count; /* Junked not deleted */ gchar *bdata; } CamelFIRecord;
Since: 2.24