40 |
40 |
41 #define SYNC_CMD_PULL 1 |
41 #define SYNC_CMD_PULL 1 |
42 #define SYNC_CMD_PUSH 2 |
42 #define SYNC_CMD_PUSH 2 |
43 #define SYNC_CMD_ARCHIVE 4 |
43 #define SYNC_CMD_ARCHIVE 4 |
44 |
44 |
|
45 #define DEFAULT_TAG_XATTR "tags" |
|
46 #define MACOS_TAG_XATTR "com.apple.metadata:_kMDItemUserTags" |
|
47 |
45 typedef struct TagConfig TagConfig; |
48 typedef struct TagConfig TagConfig; |
46 |
49 |
47 typedef struct SyncDirectory { |
50 typedef struct SyncDirectory { |
48 char *name; |
51 char *name; |
49 char *path; |
52 char *path; |
76 TAG_STORE_XATTR = 0, |
79 TAG_STORE_XATTR = 0, |
77 TAG_STORE_UNKNOWN |
80 TAG_STORE_UNKNOWN |
78 }; |
81 }; |
79 typedef enum TagStore TagStore; |
82 typedef enum TagStore TagStore; |
80 |
83 |
|
84 enum TagConflict { |
|
85 TAG_NO_CONFLICT = 0, |
|
86 TAG_KEEP_LOCAL, |
|
87 TAG_KEEP_REMOTE, |
|
88 TAG_MERGE |
|
89 }; |
|
90 typedef enum TagConflict TagConflict; |
|
91 |
81 struct TagConfig { |
92 struct TagConfig { |
82 TagStore store; |
93 TagStore store; |
83 TagFormat local_format; |
94 TagFormat local_format; |
84 TagFormat server_format; |
95 TagFormat server_format; |
85 bool scan; |
96 char *xattr_name; |
|
97 TagConflict conflict; |
|
98 bool detect_changes; |
86 }; |
99 }; |
87 |
100 |
88 int load_sync_config(); |
101 int load_sync_config(); |
89 |
102 |
90 UcxMapIterator scfg_directory_iterator(); |
103 UcxMapIterator scfg_directory_iterator(); |