diff options
Diffstat (limited to 'sync/src/sync_group.h')
-rw-r--r-- | sync/src/sync_group.h | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/sync/src/sync_group.h b/sync/src/sync_group.h new file mode 100644 index 0000000..a9e5869 --- /dev/null +++ b/sync/src/sync_group.h @@ -0,0 +1,85 @@ + +#ifndef SYNC_GROUP_H +#define SYNC_GROUP_H + +#include <opensync/opensync.h> + +#include <glib-object.h> + +G_BEGIN_DECLS + +#define SYNC_TYPE_GROUP sync_group_get_type() + +#define SYNC_GROUP(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST ((obj), \ + SYNC_TYPE_GROUP, SyncGroup)) + +#define SYNC_GROUP_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST ((klass), \ + SYNC_TYPE_GROUP, SyncGroupClass)) + +#define SYNC_IS_GROUP(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \ + SYNC_TYPE_GROUP)) + +#define SYNC_IS_GROUP_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_TYPE ((klass), \ + SYNC_TYPE_GROUP)) + +#define SYNC_GROUP_GET_CLASS(obj) \ + (G_TYPE_INSTANCE_GET_CLASS ((obj), \ + SYNC_TYPE_GROUP, SyncGroupClass)) + +typedef struct { + GObject parent; +} SyncGroup; + +typedef struct { + GObjectClass parent_class; + + void (* started) (SyncGroup *group); + void (* progress) (SyncGroup *group, gdouble progress); + void (* conflict) (SyncGroup *group); + void (* finished) (SyncGroup *group); + void (* failed) (SyncGroup *group); +} SyncGroupClass; + +GType sync_group_get_type (void); + +typedef enum { + USE_ITEM1, + USE_ITEM2, + ABORT, + IGNORE, +} SyncGroupConflictRes; + +#include "sync_item.h" + +SyncGroup * sync_group_new (void); +SyncGroup * sync_group_new_with_items (SyncItem *item1, + SyncItem *item2); + +void sync_group_set_item1 (SyncGroup *group, + SyncItem *item1); +void sync_group_set_item2 (SyncGroup *group, + SyncItem *item2); +void sync_group_set_namespace (SyncGroup *group, + const gchar *namespace); +SyncItem * sync_group_get_item1 (SyncGroup *group); +SyncItem * sync_group_get_item2 (SyncGroup *group); +OSyncGroup * sync_group_get_osync_group (SyncGroup *group); +const gchar * sync_group_get_namespace (SyncGroup *group); +gchar * sync_group_get_name (SyncGroup *group); + +gboolean sync_group_start (SyncGroup *group); +void sync_group_resolve_conflict (SyncGroup *group, + SyncGroupConflictRes res); +void sync_group_abort (SyncGroup *group); +void sync_group_remove_item (SyncGroup *group, + SyncItem *item); +gboolean sync_group_delete (SyncGroup *group); +gboolean sync_group_save (SyncGroup *group); + +G_END_DECLS + +#endif |