47 #define SYNC_CMD_RESTORE 8 |
47 #define SYNC_CMD_RESTORE 8 |
48 |
48 |
49 #define DEFAULT_TAG_XATTR "tags" |
49 #define DEFAULT_TAG_XATTR "tags" |
50 #define MACOS_TAG_XATTR "com.apple.metadata:_kMDItemUserTags" |
50 #define MACOS_TAG_XATTR "com.apple.metadata:_kMDItemUserTags" |
51 |
51 |
52 typedef struct TagConfig TagConfig; |
52 typedef struct TagConfig TagConfig; |
|
53 typedef struct Versioning Versioning; |
53 |
54 |
54 typedef struct SyncDirectory { |
55 typedef struct SyncDirectory { |
55 char *name; |
56 char *name; |
56 char *path; |
57 char *path; |
57 char *trash; |
58 char *trash; |
58 char *collection; |
59 char *collection; |
59 char *repository; |
60 char *repository; |
60 char *database; |
61 char *database; |
61 TagConfig *tagconfig; |
62 TagConfig *tagconfig; |
|
63 Versioning *versioning; |
62 UcxList *include; |
64 UcxList *include; |
63 UcxList *exclude; |
65 UcxList *exclude; |
64 UcxList *tagfilter; |
66 UcxList *tagfilter; |
65 int max_retry; |
67 int max_retry; |
66 int allow_cmd; |
68 int allow_cmd; |
101 char *xattr_name; |
103 char *xattr_name; |
102 TagConflict conflict; |
104 TagConflict conflict; |
103 bool detect_changes; |
105 bool detect_changes; |
104 }; |
106 }; |
105 |
107 |
|
108 enum VersioningType { |
|
109 VERSIONING_SIMPLE = 0, |
|
110 VERSIONING_DELTAV |
|
111 }; |
|
112 typedef enum VersioningType VersioningType; |
|
113 |
|
114 struct Versioning { |
|
115 VersioningType type; |
|
116 char *collection; |
|
117 bool always; |
|
118 }; |
|
119 |
106 int load_sync_config(); |
120 int load_sync_config(); |
107 |
121 |
108 UcxMapIterator scfg_directory_iterator(); |
122 UcxMapIterator scfg_directory_iterator(); |
109 SyncDirectory* scfg_get_dir(char *name); |
123 SyncDirectory* scfg_get_dir(char *name); |
110 |
124 |