summaryrefslogtreecommitdiffstats
path: root/sync/src/sync_group.h
diff options
context:
space:
mode:
Diffstat (limited to 'sync/src/sync_group.h')
-rw-r--r--sync/src/sync_group.h85
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