OpenSync 0.22
opensync/opensync_db_internals.h
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);