dav/sync.h

changeset 525
26a1d5b9d9d2
parent 523
923a4528a2ae
child 526
e3c0440bd599
equal deleted inserted replaced
524:d53fd1006485 525:26a1d5b9d9d2
58 typedef struct SyncFile { 58 typedef struct SyncFile {
59 SyncDirectory *dir; 59 SyncDirectory *dir;
60 char *path; 60 char *path;
61 } SyncFile; 61 } SyncFile;
62 62
63 typedef struct MetadataHashes {
64 char *tags;
65 char *tags_remote;
66 char *xattr;
67 } MetadataHashes;
68
63 enum RemoteChangeType { 69 enum RemoteChangeType {
64 REMOTE_NO_CHANGE = 0, 70 REMOTE_NO_CHANGE = 0,
65 REMOTE_CHANGE_MODIFIED, 71 REMOTE_CHANGE_MODIFIED,
66 REMOTE_CHANGE_NEW, 72 REMOTE_CHANGE_NEW,
67 REMOTE_CHANGE_DELETED, 73 REMOTE_CHANGE_DELETED,
117 DavBool restore_modified); 123 DavBool restore_modified);
118 int remote_resource_is_changed( 124 int remote_resource_is_changed(
119 DavSession *sn, 125 DavSession *sn,
120 SyncDirectory *dir, 126 SyncDirectory *dir,
121 SyncDatabase *db, 127 SyncDatabase *db,
128 DavResource *remote,
122 LocalResource *res); 129 LocalResource *res);
123 130
124 int resource_pathlen_cmp(LocalResource *res1, LocalResource *res2, void *n); 131 int resource_pathlen_cmp(LocalResource *res1, LocalResource *res2, void *n);
125 132
126 int sync_set_status(DavResource *res, char *status); 133 int sync_set_status(DavResource *res, char *status);
127 int sync_remove_status(DavResource *res); 134 int sync_remove_status(DavResource *res);
128 UcxBuffer* sync_get_file_tag_data(SyncDirectory *dir, LocalResource *res); 135 UcxBuffer* sync_get_file_tag_data(SyncDirectory *dir, LocalResource *res);
129 UcxList* sync_get_file_tags(SyncDirectory *dir, LocalResource *res, DavBool *changed); 136 UcxList* sync_get_file_tags(SyncDirectory *dir, LocalResource *res, DavBool *changed, char **newhash);
130 UcxList* sync_merge_tags(UcxList *tags1, UcxList *tags2);
131 int sync_tags_equal(UcxList *tags1, UcxList *tags2); 137 int sync_tags_equal(UcxList *tags1, UcxList *tags2);
132 int sync_store_tags(SyncDirectory *dir, const char *path, LocalResource *local, DavResource *res); 138 int sync_store_tags(SyncDirectory *dir, const char *path, LocalResource *local, DavResource *res);
133 int sync_store_tags_local(SyncDirectory *dir, LocalResource *local, const char *path, UcxList *tags); 139 int sync_store_tags_local(SyncDirectory *dir, LocalResource *local, const char *path, UcxList *tags);
134 int sync_put_resource( 140 int sync_put_resource(
135 SyncDirectory *dir, 141 SyncDirectory *dir,
136 DavResource *res, 142 DavResource *res,
137 LocalResource *local, 143 LocalResource *local,
138 int *counter); 144 int *counter);
139 int sync_mkdir(SyncDirectory *dir, DavResource *res, LocalResource *local); 145 int sync_mkdir(SyncDirectory *dir, DavResource *res, LocalResource *local);
140 int sync_delete_remote_resource(SyncDirectory *dir, DavSession *sn, LocalResource *res, int *counter, UcxList **cols); 146 int sync_delete_remote_resource(SyncDirectory *dir, DavSession *sn, LocalResource *res, int *counter, UcxList **cols);
141 int sync_update_metadata(SyncDirectory *dir, DavSession *sn, DavResource *res, LocalResource *local); 147 MetadataHashes sync_set_metadata_properties(
148 SyncDirectory *dir,
149 DavSession *sn,
150 DavResource *res,
151 LocalResource *local);
152 int sync_update_metadata(
153 SyncDirectory *dir,
154 DavSession *sn,
155 DavResource *res,
156 LocalResource *local);
142 157
143 void remove_deleted_conflicts(SyncDirectory *dir, SyncDatabase *db); 158 void remove_deleted_conflicts(SyncDirectory *dir, SyncDatabase *db);
144 159
145 int cmd_resolve_conflicts(CmdArgs *args); 160 int cmd_resolve_conflicts(CmdArgs *args);
146 int cmd_delete_conflicts(CmdArgs *args); 161 int cmd_delete_conflicts(CmdArgs *args);
150 165
151 int cmd_add_tag(CmdArgs *args); 166 int cmd_add_tag(CmdArgs *args);
152 int cmd_remove_tag(CmdArgs *args); 167 int cmd_remove_tag(CmdArgs *args);
153 int cmd_set_tags(CmdArgs *args); 168 int cmd_set_tags(CmdArgs *args);
154 int cmd_list_tags(CmdArgs *args); 169 int cmd_list_tags(CmdArgs *args);
155 int cmd_tagopt(CmdArgs *args, int cmd); 170 int cmd_tagop(CmdArgs *args, int cmd);
156 171
157 /* 172 /*
158 * gets the syncdir and resource path for a given file path 173 * gets the syncdir and resource path for a given file path
159 * 174 *
160 * returns 0 or error code: 175 * returns 0 or error code:

mercurial