49 extern "C" { |
49 extern "C" { |
50 #endif |
50 #endif |
51 |
51 |
52 #define STDIN_BUF_SIZE 2048 |
52 #define STDIN_BUF_SIZE 2048 |
53 |
53 |
|
54 typedef struct SyncFile { |
|
55 SyncDirectory *dir; |
|
56 char *path; |
|
57 } SyncFile; |
|
58 |
54 void print_usage(char *cmd); |
59 void print_usage(char *cmd); |
55 |
60 |
56 pthread_t start_sighandler(pthread_mutex_t *mutex) ; |
61 pthread_t start_sighandler(pthread_mutex_t *mutex) ; |
57 void stop_sighandler(pthread_mutex_t *mutex, pthread_t tid); |
62 void stop_sighandler(pthread_mutex_t *mutex, pthread_t tid); |
58 |
63 |
85 int sync_remove_status(DavResource *res); |
90 int sync_remove_status(DavResource *res); |
86 UcxBuffer* sync_get_file_tag_data(SyncDirectory *dir, LocalResource *res); |
91 UcxBuffer* sync_get_file_tag_data(SyncDirectory *dir, LocalResource *res); |
87 UcxList* sync_get_file_tags(SyncDirectory *dir, LocalResource *res, DavBool *changed); |
92 UcxList* sync_get_file_tags(SyncDirectory *dir, LocalResource *res, DavBool *changed); |
88 UcxList* sync_merge_tags(UcxList *tags1, UcxList *tags2); |
93 UcxList* sync_merge_tags(UcxList *tags1, UcxList *tags2); |
89 int sync_store_tags(SyncDirectory *dir, const char *path, LocalResource *local, DavResource *res); |
94 int sync_store_tags(SyncDirectory *dir, const char *path, LocalResource *local, DavResource *res); |
|
95 int sync_store_tags_local(SyncDirectory *dir, LocalResource *local, const char *path, UcxList *tags); |
90 int sync_put_resource( |
96 int sync_put_resource( |
91 SyncDirectory *dir, |
97 SyncDirectory *dir, |
92 DavResource *res, |
98 DavResource *res, |
93 LocalResource *local, |
99 LocalResource *local, |
94 int *counter); |
100 int *counter); |
101 int cmd_resolve_conflicts(CmdArgs *args); |
107 int cmd_resolve_conflicts(CmdArgs *args); |
102 int cmd_delete_conflicts(CmdArgs *args); |
108 int cmd_delete_conflicts(CmdArgs *args); |
103 |
109 |
104 int cmd_trash_info(CmdArgs *args); |
110 int cmd_trash_info(CmdArgs *args); |
105 int cmd_empty_trash(CmdArgs *args); |
111 int cmd_empty_trash(CmdArgs *args); |
|
112 |
|
113 int cmd_add_tag(CmdArgs *args); |
|
114 int cmd_remove_tag(CmdArgs *args); |
|
115 int cmd_update_tags(CmdArgs *args); |
|
116 int cmd_tagopt(CmdArgs *args, int cmd); |
|
117 |
|
118 /* |
|
119 * gets the syncdir and resource path for a given file path |
|
120 * |
|
121 * returns 0 or error code: |
|
122 * 1: file not found |
|
123 * 2: file permission error |
|
124 * 3: stat error |
|
125 * 4: file is not in any syncdir |
|
126 * 5: file is in multiple syncdirs |
|
127 * 6: syncdir not found |
|
128 */ |
|
129 int sync_get_file(CmdArgs *args, const char *path, const char *dir, SyncFile *f); |
|
130 |
106 int cmd_add_directory(CmdArgs *args); |
131 int cmd_add_directory(CmdArgs *args); |
107 int cmd_list_dirs(); |
132 int cmd_list_dirs(); |
108 int cmd_check_repositories(); |
133 int cmd_check_repositories(); |
109 |
134 |
110 char* create_locktoken_file(const char *syncdirname, const char *locktoken); |
135 char* create_locktoken_file(const char *syncdirname, const char *locktoken); |