1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
#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, const gchar *error);
} 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);
gboolean sync_group_autostart (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
|