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 typedef struct TagConfig TagConfig; |
|
46 |
45 typedef struct SyncDirectory { |
47 typedef struct SyncDirectory { |
46 char *name; |
48 char *name; |
47 char *path; |
49 char *path; |
48 char *trash; |
50 char *trash; |
49 char *collection; |
51 char *collection; |
50 char *repository; |
52 char *repository; |
51 char *database; |
53 char *database; |
|
54 TagConfig *tagconfig; |
52 UcxList *include; |
55 UcxList *include; |
53 UcxList *exclude; |
56 UcxList *exclude; |
54 int max_retry; |
57 int max_retry; |
55 int allow_cmd; |
58 int allow_cmd; |
56 time_t lock_timeout; |
59 time_t lock_timeout; |
57 bool backuppull; |
60 bool backuppull; |
58 bool lockpull; |
61 bool lockpull; |
59 bool lockpush; |
62 bool lockpush; |
60 } SyncDirectory; |
63 } SyncDirectory; |
|
64 |
|
65 |
|
66 enum TagFormat { |
|
67 TAG_FORMAT_TEXT = 0, |
|
68 TAG_FORMAT_CSV, |
|
69 TAG_FORMAT_XML, |
|
70 TAG_FORMAT_UNKNOWN |
|
71 }; |
|
72 typedef enum TagFormat TagFormat; |
|
73 |
|
74 enum TagStore { |
|
75 TAG_STORE_XATTR = 0, |
|
76 TAG_STORE_UNKNOWN |
|
77 }; |
|
78 typedef enum TagStore TagStore; |
|
79 |
|
80 struct TagConfig { |
|
81 TagStore store; |
|
82 TagFormat local_format; |
|
83 TagFormat server_format; |
|
84 }; |
61 |
85 |
62 int load_sync_config(); |
86 int load_sync_config(); |
63 |
87 |
64 UcxMapIterator scfg_directory_iterator(); |
88 UcxMapIterator scfg_directory_iterator(); |
65 SyncDirectory* scfg_get_dir(char *name); |
89 SyncDirectory* scfg_get_dir(char *name); |