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