OpenSync 0.22
|
00001 #include <sqlite3.h> 00002 00003 #ifndef DOXYGEN_SHOULD_SKIP_THIS 00004 struct OSyncDB { 00005 sqlite3 *db; 00006 }; 00007 #endif 00008 00009 OSyncDB *osync_db_open(char *filename, OSyncError **error); 00010 void osync_db_close(OSyncDB *db); 00011 int osync_db_count(OSyncDB *db, char *table); 00012 00013 osync_bool osync_db_open_changes(OSyncGroup *group, OSyncChange ***changes, OSyncError **error); 00014 osync_bool osync_db_save_change(OSyncChange *change, osync_bool save_format, OSyncError **error); 00015 osync_bool osync_db_delete_change(OSyncChange *change, OSyncError **error); 00016 osync_bool osync_db_reset_changes(OSyncGroup *group, const char *objtype, OSyncError **error); 00017 void osync_db_close_changes(OSyncGroup *group); 00018 00019 OSyncDB *osync_db_open_anchor(OSyncMember *member, OSyncError **error); 00020 void osync_db_close_anchor(OSyncDB *db); 00021 void osync_db_get_anchor(OSyncDB *sdb, const char *objtype, char **retanchor); 00022 void osync_db_put_anchor(OSyncDB *sdb, const char *objtype, const char *anchor); 00023 00024 osync_bool osync_db_open_hashtable(OSyncHashTable *table, OSyncMember *member, OSyncError **error); 00025 void osync_db_close_hashtable(OSyncHashTable *table); 00026 void osync_db_save_hash(OSyncHashTable *table, const char *uid, const char *hash, const char *objtype); 00027 void osync_db_delete_hash(OSyncHashTable *table, const char *uid); 00028 void osync_db_get_hash(OSyncHashTable *table, const char *uid, const char *objtype, char **rethash); 00029 char *osync_db_sql_escape(const char *s); 00030 void osync_db_reset_hash(OSyncHashTable *table, const char *objtype); 00031 char **osync_db_get_deleted_hash(OSyncHashTable *table, const char *objtype); 00032 00033 osync_bool osync_db_reset_member(OSyncMember *member, OSyncError **error); 00034 osync_bool osync_db_reset_group(OSyncGroup *group, OSyncError **error); 00035 00036 osync_bool osync_db_open_changelog(OSyncGroup *group, char ***uids, char ***objtype, long long int **memberids, int **changetypes, OSyncError **error); 00037 osync_bool osync_db_save_changelog(OSyncGroup *group, OSyncChange *change, OSyncError **error); 00038 osync_bool osync_db_remove_changelog(OSyncGroup *group, OSyncChange *change, OSyncError **error);