aboutsummaryrefslogtreecommitdiff
path: root/v_windows/v/vlib/net/http/download_nix.c.v
diff options
context:
space:
mode:
Diffstat (limited to 'v_windows/v/vlib/net/http/download_nix.c.v')
-rw-r--r--v_windows/v/vlib/net/http/download_nix.c.v52
1 files changed, 52 insertions, 0 deletions
diff --git a/v_windows/v/vlib/net/http/download_nix.c.v b/v_windows/v/vlib/net/http/download_nix.c.v
new file mode 100644
index 0000000..724a256
--- /dev/null
+++ b/v_windows/v/vlib/net/http/download_nix.c.v
@@ -0,0 +1,52 @@
+// Copyright (c) 2019-2021 Alexander Medvednikov. All rights reserved.
+// Use of this source code is governed by an MIT license
+// that can be found in the LICENSE file.
+module http
+
+type DownloadFn = fn (written int)
+
+/*
+struct DownloadStruct {
+mut:
+ stream voidptr
+ written int
+ cb DownloadFn
+}
+*/
+fn download_cb(ptr voidptr, size size_t, nmemb size_t, userp voidptr) {
+ /*
+ mut data := &DownloadStruct(userp)
+ written := C.fwrite(ptr, size, nmemb, data.stream)
+ data.written += written
+ data.cb(data.written)
+ //#data->cb(data->written); // TODO
+ return written
+ */
+}
+
+pub fn download_file_with_progress(url string, out string, cb DownloadFn, cb_finished fn ()) {
+ /*
+ curl := C.curl_easy_init()
+ if isnil(curl) {
+ return
+ }
+ cout := out.str
+ fp := C.fopen(cout, 'wb')
+ C.curl_easy_setopt(curl, CURLOPT_URL, url.str)
+ C.curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, download_cb)
+ data := &DownloadStruct {
+ stream:fp
+ cb: cb
+ }
+ C.curl_easy_setopt(curl, CURLOPT_WRITEDATA, data)
+ mut d := 0.0
+ C.curl_easy_getinfo(curl, CURLINFO_CONTENT_LENGTH_DOWNLOAD, &d)
+ C.curl_easy_perform(curl)
+ C.curl_easy_cleanup(curl)
+ C.fclose(fp)
+ cb_finished()
+ */
+}
+
+fn empty() {
+}