1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 #ifndef UPLOAD_H
30 #define UPLOAD_H
31
32 #include "application.h"
33 #include "davcontroller.h"
34
35 #ifdef __cplusplus
36 extern "C" {
37 #endif
38
39 typedef struct DavFileUpload {
40 DavTransfer trans;
41 DavBrowser *browser;
42 DavSession *sn;
43 UiFileList files;
44 char *base_path;
45 UiThreadpool *queue;
46
47 TransferProgress progress;
48 DavBool upload_file;
49
50 char *current_file_name;
51
52 UiObject *dialog;
53 UiDouble *progressbar;
54 UiString *label_top_left;
55 UiString *label_top_right;
56 UiString *label_bottom_left;
57 UiString *label_bottom_right;
58
59
60
61
62
63 DavResource *collection;
64
65
66 int64_t collection_ctn;
67
68
69
70 DavResource *current_resource;
71
72 DavBool cancel;
73 } DavFileUpload;
74
75 typedef struct DUFile {
76 FILE *fd;
77 char *path;
78 char *upload_path;
79 size_t bytes;
80 DavBool isdirectory;
81 DavFileUpload *upload;
82 DavError error;
83 } DUFile;
84
85 DavFileUpload* dav_upload_create(DavBrowser *browser, UiObject *obj, UiFileList files);
86
87 void dav_upload_start(DavFileUpload *upload);
88
89 void action_upload_cancel(UiEvent *event,
void *data);
90
91 #ifdef __cplusplus
92 }
93 #endif
94
95 #endif
96
97