OpenSync  0.22
opensync_group.h
1 OSyncGroup *osync_group_new(OSyncEnv *osinfo);
2 void osync_group_free(OSyncGroup *group);
3 
7 typedef enum {
8  OSYNC_LOCK_OK,
9  OSYNC_LOCKED,
10  OSYNC_LOCK_STALE
12 
14 void osync_group_unlock(OSyncGroup *group, osync_bool remove_file);
15 
16 void osync_group_set_name(OSyncGroup *group, const char *name);
17 const char *osync_group_get_name(OSyncGroup *group);
18 osync_bool osync_group_save(OSyncGroup *group, OSyncError **error);
19 OSyncGroup *osync_group_load(OSyncEnv *env, const char *path, OSyncError **error);
20 osync_bool osync_group_delete(OSyncGroup *group, OSyncError **error);
21 void osync_group_reset(OSyncGroup *group);
22 
23 void osync_group_add_member(OSyncGroup *group, OSyncMember *member);
27 
28 const char *osync_group_get_configdir(OSyncGroup *group);
29 void osync_group_set_configdir(OSyncGroup *group, const char *directory);
30 OSyncEnv *osync_group_get_env(OSyncGroup *group);
31 void *osync_group_get_data(OSyncGroup *group);
32 void osync_group_set_data(OSyncGroup *group, void *data);
33 long long int osync_group_create_member_id(OSyncGroup *group);
34 void osync_group_set_slow_sync(OSyncGroup *group, const char *objtype, osync_bool slow_sync);
35 osync_bool osync_group_get_slow_sync(OSyncGroup *group, const char *objtype);
36 void osync_group_reset_slow_sync(OSyncGroup *group, const char *objtypestr);
37 osync_bool osync_group_objtype_enabled(OSyncGroup *group, const char *objtype);
38 void osync_group_set_objtype_enabled(OSyncGroup *group, const char *objtype, osync_bool enabled);
40 
44 
45 osync_bool osync_group_open_changelog(OSyncGroup *group, char ***uids, char ***objtype, long long int **memberids, int **changetypes, OSyncError **error);
46 osync_bool osync_group_save_changelog(OSyncGroup *group, OSyncChange *change, OSyncError **error);
47 osync_bool osync_group_remove_changelog(OSyncGroup *group, OSyncChange *change, OSyncError **error);
48 
49 void osync_group_set_last_synchronization(OSyncGroup *group, time_t last_sync);
OSyncGroup * osync_group_new(OSyncEnv *osinfo)
Creates a new group for the given environment.
OSyncGroup * osync_group_load(OSyncEnv *env, const char *path, OSyncError **error)
Loads a group from a directory.
void osync_group_remove_member(OSyncGroup *group, OSyncMember *member)
Removes a member from the group.
Represent an error.
osync_bool osync_group_open_changelog(OSyncGroup *group, char ***uids, char ***objtype, long long int **memberids, int **changetypes, OSyncError **error)
Can be used to load all items from the changelog. Loaded items will be removed.
void osync_group_set_configdir(OSyncGroup *group, const char *directory)
Sets the configdir of the group.
OSyncFilter * osync_group_nth_filter(OSyncGroup *group, int nth)
Gets the nth filter of a group.
int osync_group_num_members(OSyncGroup *group)
Counts the members of the group.
osync_bool osync_group_save(OSyncGroup *group, OSyncError **error)
Saves the group to disc.
void osync_group_set_data(OSyncGroup *group, void *data)
Sets the custom data of a group.
OSyncEnv * osync_group_get_env(OSyncGroup *group)
Returns the environment in which a group is registered.
int osync_group_num_filters(OSyncGroup *group)
Returns the number of filters registered in a group.
osync_bool osync_group_objtype_enabled(OSyncGroup *group, const char *objtype)
Returns if the object type is enabled for the group.
Represent a group of members that should be synchronized.
void osync_group_set_objtype_enabled(OSyncGroup *group, const char *objtype, osync_bool enabled)
Sets if the object type is accepted for ALL members.
osync_bool osync_group_save_changelog(OSyncGroup *group, OSyncChange *change, OSyncError **error)
Saves a change to the changelog.
void osync_group_reset(OSyncGroup *group)
Resets all databases of a group.
long long int osync_group_create_member_id(OSyncGroup *group)
Creates a new unique member if in this group.
A member of a group which represent a single device.
void osync_group_add_member(OSyncGroup *group, OSyncMember *member)
Appends a member to the group.
void osync_group_unlock(OSyncGroup *group, osync_bool remove_file)
Unlocks a group.
void osync_group_reset_slow_sync(OSyncGroup *group, const char *objtypestr)
Reset slow-sync for this group.
void osync_group_free(OSyncGroup *group)
Frees the given group.
Represents a filter to filter changes.
OSyncLockState
The lock state of a group.
Definition: opensync_group.h:7
time_t osync_group_get_last_synchronization(OSyncGroup *group)
Gets the last synchronization date from this group.
A change object.
const char * osync_group_get_name(OSyncGroup *group)
Returns the name of a group.
osync_bool osync_group_delete(OSyncGroup *group, OSyncError **error)
Deletes a group from disc.
void * osync_group_get_data(OSyncGroup *group)
Gets the custom data of a group.
void osync_group_set_last_synchronization(OSyncGroup *group, time_t last_sync)
Sets the last synchronization date of this group.
osync_bool osync_group_get_slow_sync(OSyncGroup *group, const char *objtype)
Returns if the group will perform a slow-sync for the object type.
osync_bool osync_group_remove_changelog(OSyncGroup *group, OSyncChange *change, OSyncError **error)
Removes a change from the changelog.
OSyncLockState osync_group_lock(OSyncGroup *group)
Locks a group.
void osync_group_flush_filters(OSyncGroup *group)
Flushes the list of filters for a group.
The environment used for conversions.
OSyncMember * osync_group_nth_member(OSyncGroup *group, int nth)
Returns the nth member of the group.
void osync_group_set_name(OSyncGroup *group, const char *name)
Sets the name for the group.
void osync_group_set_slow_sync(OSyncGroup *group, const char *objtype, osync_bool slow_sync)
Sets if the group requires slow-sync for the given object type.
const char * osync_group_get_configdir(OSyncGroup *group)
Returns the configdir for the group.
OSyncFormatEnv * osync_group_get_format_env(OSyncGroup *group)
Returns the format environment of a group.