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 DOWNLOAD_H
30 #define DOWNLOAD_H
31
32 #include "application.h"
33 #include "davcontroller.h"
34
35 #ifdef __cplusplus
36 extern "C" {
37 #endif
38
39
40 typedef struct DavFileDownload {
41 DavTransfer trans;
42 DavBrowser *browser;
43
44 DavSession *sn;
45 DavSession *download_sn;
46 DavResource *reslist;
47 char *local_path;
48 DavBool isdirectory;
49
50 UiThreadpool *queue;
51
52 TransferProgress progress;
53
54 UiObject *dialog;
55 UiDouble *progressbar;
56 UiString *label_top_left;
57 UiString *label_top_right;
58 UiString *label_bottom_left;
59 UiString *label_bottom_right;
60
61 DavBool cancel;
62 } DavFileDownload;
63
64
65 typedef struct DDFile {
66 DavFileDownload *download;
67 size_t size;
68 char *path;
69 char *to;
70 FILE *fd;
71 } DDFile;
72
73 DavFileDownload* dav_download_create(DavBrowser *browser, UiObject *dialog, DavResource *reslist,
const char *local_path);
74
75 void dav_download_start(DavFileDownload *download);
76
77 void action_download_cancel(UiEvent *event,
void *data);
78
79 #ifdef __cplusplus
80 }
81 #endif
82
83 #endif
84
85