dav/sync.h

changeset 747
efbd59642577
parent 725
de3b2bb46492
child 779
a0e02b70dad1
equal deleted inserted replaced
746:a569148841ff 747:efbd59642577
29 #ifndef SYNC_H 29 #ifndef SYNC_H
30 #define SYNC_H 30 #define SYNC_H
31 31
32 #include <curl/curl.h> 32 #include <curl/curl.h>
33 #include <libidav/webdav.h> 33 #include <libidav/webdav.h>
34 #include <ucx/list.h> 34 #include <cx/list.h>
35 #include <cx/hash_map.h>
35 36
36 #include <pthread.h> 37 #include <pthread.h>
37 38
38 #include "scfg.h" 39 #include "scfg.h"
39 #include "config.h" 40 #include "config.h"
96 void print_usage(char *cmd); 97 void print_usage(char *cmd);
97 98
98 pthread_t start_sighandler(pthread_mutex_t *mutex) ; 99 pthread_t start_sighandler(pthread_mutex_t *mutex) ;
99 void stop_sighandler(pthread_mutex_t *mutex, pthread_t tid); 100 void stop_sighandler(pthread_mutex_t *mutex, pthread_t tid);
100 101
101 void res2map(DavResource *root, UcxMap *map); 102 void res2map(DavResource *root, CxMap *map);
102 103
103 int cmd_pull(CmdArgs *args, DavBool incoming); 104 int cmd_pull(CmdArgs *args, DavBool incoming);
104 int cmd_push(CmdArgs *args, DavBool outgoing, DavBool archive); 105 int cmd_push(CmdArgs *args, DavBool outgoing, DavBool archive);
105 int cmd_restore(CmdArgs *args); 106 int cmd_restore(CmdArgs *args);
106 107
107 void print_outgoing( 108 void print_outgoing(
108 CmdArgs *args, 109 CmdArgs *args,
109 UcxList *ls_new, 110 CxList *ls_new,
110 UcxList *ls_modified, 111 CxList *ls_modified,
111 UcxList *ls_conflict, 112 CxList *ls_conflict,
112 UcxList *ls_update, 113 CxList *ls_update,
113 UcxList *ls_delete, 114 CxList *ls_delete,
114 UcxList *ls_move, 115 CxList *ls_move,
115 UcxList *ls_copy, 116 CxList *ls_copy,
116 UcxList *ls_mkcol); 117 CxList *ls_mkcol);
117 118
118 RemoteChangeType resource_get_remote_change( 119 RemoteChangeType resource_get_remote_change(
119 CmdArgs *a, 120 CmdArgs *a,
120 DavResource *res, 121 DavResource *res,
121 SyncDirectory *dir, 122 SyncDirectory *dir,
147 int sync_remove_local_directory(SyncDirectory *dir, LocalResource *res); 148 int sync_remove_local_directory(SyncDirectory *dir, LocalResource *res);
148 void rename_conflict_file(SyncDirectory *dir, SyncDatabase *db, char *path, DavBool copy); 149 void rename_conflict_file(SyncDirectory *dir, SyncDatabase *db, char *path, DavBool copy);
149 char* create_tmp_download_path(char *path); 150 char* create_tmp_download_path(char *path);
150 void move_to_trash(SyncDirectory *dir, char *path); 151 void move_to_trash(SyncDirectory *dir, char *path);
151 152
152 UcxList* local_scan(SyncDirectory *dir, SyncDatabase *db); 153 CxList* local_scan(SyncDirectory *dir, SyncDatabase *db);
153 UcxList* read_changes(SyncDirectory *dir, SyncDatabase *db); 154 CxList* read_changes(SyncDirectory *dir, SyncDatabase *db);
154 LocalResource* local_resource_new(SyncDirectory *dir, SyncDatabase *db, char *path); 155 LocalResource* local_resource_new(SyncDirectory *dir, SyncDatabase *db, char *path);
155 char* local_resource_path(LocalResource *res); 156 char* local_resource_path(LocalResource *res);
156 int local_resource_is_changed( 157 int local_resource_is_changed(
157 SyncDirectory *dir, 158 SyncDirectory *dir,
158 SyncDatabase *db, 159 SyncDatabase *db,
159 LocalResource *res, 160 LocalResource *res,
160 UcxMap *svrres, 161 CxMap *svrres,
161 DavBool restore_deleted, 162 DavBool restore_deleted,
162 DavBool restore_modified); 163 DavBool restore_modified);
163 int remote_resource_is_changed( 164 int remote_resource_is_changed(
164 DavSession *sn, 165 DavSession *sn,
165 SyncDirectory *dir, 166 SyncDirectory *dir,
181 DavResource *versioning_simple_find(DavResource *res, const char *version); 182 DavResource *versioning_simple_find(DavResource *res, const char *version);
182 DavResource *versioning_deltav_find(DavResource *res, const char *version); 183 DavResource *versioning_deltav_find(DavResource *res, const char *version);
183 184
184 int sync_set_status(DavResource *res, char *status); 185 int sync_set_status(DavResource *res, char *status);
185 int sync_remove_status(DavResource *res); 186 int sync_remove_status(DavResource *res);
186 UcxBuffer* sync_get_file_tag_data(SyncDirectory *dir, LocalResource *res); 187 CxBuffer* sync_get_file_tag_data(SyncDirectory *dir, LocalResource *res);
187 UcxList* sync_get_file_tags(SyncDirectory *dir, LocalResource *res, DavBool *changed, char **newhash); 188 CxList* sync_get_file_tags(SyncDirectory *dir, LocalResource *res, DavBool *changed, char **newhash);
188 int sync_tags_equal(UcxList *tags1, UcxList *tags2); 189 int sync_tags_equal(CxList *tags1, CxList *tags2);
189 int sync_store_metadata(SyncDirectory *dir, const char *path, LocalResource *local, DavResource *res); 190 int sync_store_metadata(SyncDirectory *dir, const char *path, LocalResource *local, DavResource *res);
190 int sync_store_xattr(SyncDirectory *dir, const char *path, XAttributes *xattr); 191 int sync_store_xattr(SyncDirectory *dir, const char *path, XAttributes *xattr);
191 int sync_store_tags(SyncDirectory *dir, const char *path, LocalResource *local, DavResource *res); 192 int sync_store_tags(SyncDirectory *dir, const char *path, LocalResource *local, DavResource *res);
192 int sync_store_tags_local(SyncDirectory *dir, LocalResource *local, const char *path, UcxList *tags); 193 int sync_store_tags_local(SyncDirectory *dir, LocalResource *local, const char *path, CxList *tags);
193 int sync_put_resource( 194 int sync_put_resource(
194 SyncDirectory *dir, 195 SyncDirectory *dir,
195 DavResource *res, 196 DavResource *res,
196 LocalResource *local, 197 LocalResource *local,
197 int *counter); 198 int *counter);
201 SyncDatabase *db, 202 SyncDatabase *db,
202 DavResource *origin, 203 DavResource *origin,
203 LocalResource *local, 204 LocalResource *local,
204 DavBool copy, 205 DavBool copy,
205 int *counter); 206 int *counter);
206 int sync_delete_remote_resource(SyncDirectory *dir, DavSession *sn, LocalResource *res, int *counter, UcxList **cols); 207 int sync_delete_remote_resource(SyncDirectory *dir, DavSession *sn, LocalResource *res, int *counter, CxList *cols);
207 MetadataHashes sync_set_metadata_properties( 208 MetadataHashes sync_set_metadata_properties(
208 SyncDirectory *dir, 209 SyncDirectory *dir,
209 DavSession *sn, 210 DavSession *sn,
210 DavResource *res, 211 DavResource *res,
211 LocalResource *local, 212 LocalResource *local,
214 SyncDirectory *dir, 215 SyncDirectory *dir,
215 DavSession *sn, 216 DavSession *sn,
216 DavResource *res, 217 DavResource *res,
217 LocalResource *local); 218 LocalResource *local);
218 219
219 void update_parts(LocalResource *local, UcxList *updates, uint64_t numparts); 220 void update_parts(LocalResource *local, CxList *updates, uint64_t numparts);
220 221
221 void remove_deleted_conflicts(SyncDirectory *dir, SyncDatabase *db); 222 void remove_deleted_conflicts(SyncDirectory *dir, SyncDatabase *db);
222 223
223 int cmd_list_conflicts(CmdArgs *args); 224 int cmd_list_conflicts(CmdArgs *args);
224 int cmd_resolve_conflicts(CmdArgs *args); 225 int cmd_resolve_conflicts(CmdArgs *args);

mercurial