00001 OSyncGroup *osync_group_new(OSyncEnv *osinfo); 00002 void osync_group_free(OSyncGroup *group); 00003 00007 typedef enum { 00008 OSYNC_LOCK_OK, 00009 OSYNC_LOCKED, 00010 OSYNC_LOCK_STALE 00011 } OSyncLockState; 00012 00013 OSyncLockState osync_group_lock(OSyncGroup *group); 00014 void osync_group_unlock(OSyncGroup *group, osync_bool remove_file); 00015 00016 void osync_group_set_name(OSyncGroup *group, const char *name); 00017 const char *osync_group_get_name(OSyncGroup *group); 00018 osync_bool osync_group_save(OSyncGroup *group, OSyncError **error); 00019 OSyncGroup *osync_group_load(OSyncEnv *env, const char *path, OSyncError **error); 00020 osync_bool osync_group_delete(OSyncGroup *group, OSyncError **error); 00021 void osync_group_reset(OSyncGroup *group); 00022 00023 void osync_group_add_member(OSyncGroup *group, OSyncMember *member); 00024 void osync_group_remove_member(OSyncGroup *group, OSyncMember *member); 00025 OSyncMember *osync_group_nth_member(OSyncGroup *group, int nth); 00026 int osync_group_num_members(OSyncGroup *group); 00027 00028 const char *osync_group_get_configdir(OSyncGroup *group); 00029 void osync_group_set_configdir(OSyncGroup *group, const char *directory); 00030 OSyncEnv *osync_group_get_env(OSyncGroup *group); 00031 void *osync_group_get_data(OSyncGroup *group); 00032 void osync_group_set_data(OSyncGroup *group, void *data); 00033 long long int osync_group_create_member_id(OSyncGroup *group); 00034 void osync_group_set_slow_sync(OSyncGroup *group, const char *objtype, osync_bool slow_sync); 00035 osync_bool osync_group_get_slow_sync(OSyncGroup *group, const char *objtype); 00036 void osync_group_reset_slow_sync(OSyncGroup *group, const char *objtypestr); 00037 osync_bool osync_group_objtype_enabled(OSyncGroup *group, const char *objtype); 00038 void osync_group_set_objtype_enabled(OSyncGroup *group, const char *objtype, osync_bool enabled); 00039 OSyncFormatEnv *osync_group_get_format_env(OSyncGroup *group); 00040 00041 int osync_group_num_filters(OSyncGroup *group); 00042 OSyncFilter *osync_group_nth_filter(OSyncGroup *group, int nth); 00043 void osync_group_flush_filters(OSyncGroup *group); 00044 00045 osync_bool osync_group_open_changelog(OSyncGroup *group, char ***uids, char ***objtype, long long int **memberids, int **changetypes, OSyncError **error); 00046 osync_bool osync_group_save_changelog(OSyncGroup *group, OSyncChange *change, OSyncError **error); 00047 osync_bool osync_group_remove_changelog(OSyncGroup *group, OSyncChange *change, OSyncError **error); 00048 00049 void osync_group_set_last_synchronization(OSyncGroup *group, time_t last_sync); 00050 time_t osync_group_get_last_synchronization(OSyncGroup *group);