diff -r a23fedac340c -r f84e64afee61 dav/sync.h --- a/dav/sync.h Tue Jan 08 16:37:13 2019 +0100 +++ b/dav/sync.h Fri Jan 25 17:01:59 2019 +0100 @@ -59,6 +59,22 @@ SyncDirectory *dir; char *path; } SyncFile; + +enum RemoteChangeType { + REMOTE_NO_CHANGE = 0, + REMOTE_CHANGE_MODIFIED, + REMOTE_CHANGE_NEW, + REMOTE_CHANGE_DELETED, + REMOTE_CHANGE_CONFLICT_LOCAL_MODIFIED, + REMOTE_CHANGE_METADATA, + REMOTE_CHANGE_MKDIR +}; +typedef enum RemoteChangeType RemoteChangeType; + +typedef struct RemoteChange { + DavResource *resource; + RemoteChangeType type; +} RemoteChange; void print_usage(char *cmd); @@ -71,15 +87,20 @@ int cmd_push(CmdArgs *args, DavBool archive); int cmd_restore(CmdArgs *args); +RemoteChangeType resource_get_remote_change( + CmdArgs *a, + DavResource *res, + SyncDirectory *dir, + SyncDatabase *db); + int sync_get_resource( CmdArgs *a, SyncDirectory *dir, DavResource *res, SyncDatabase *db, - DavBool force, int *counter); int sync_remove_local_resource(SyncDirectory *dir, LocalResource *res); -void sync_remove_local_directory(SyncDirectory *dir, LocalResource *res); +int sync_remove_local_directory(SyncDirectory *dir, LocalResource *res); void rename_conflict_file(SyncDirectory *dir, SyncDatabase *db, char *path); char* create_tmp_download_path(char *path); void move_to_trash(SyncDirectory *dir, char *path);