/*
- Copyright (C) 2015 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2015-2021 Carl Hetherington <cth@carlh.net>
This file is part of DCP-o-matic.
*/
+
#include "uploader.h"
+#include <dcp/file.h>
#include <curl/curl.h>
+
class CurlUploader : public Uploader
{
public:
- CurlUploader (boost::function<void (std::string)> set_status, boost::function<void (float)> set_progress);
+ CurlUploader (std::function<void (std::string)> set_status, std::function<void (float)> set_progress);
~CurlUploader ();
size_t read_callback (void* ptr, size_t size, size_t nmemb);
+ int debug(CURL* curl, curl_infotype type, char* data, size_t size);
protected:
- virtual void create_directory (boost::filesystem::path directory);
- virtual void upload_file (boost::filesystem::path from, boost::filesystem::path to, boost::uintmax_t& transferred, boost::uintmax_t total_size);
+ void create_directory (boost::filesystem::path directory) override;
+ void upload_file (boost::filesystem::path from, boost::filesystem::path to, boost::uintmax_t& transferred, boost::uintmax_t total_size) override;
private:
CURL* _curl;
- FILE* _file;
- boost::uintmax_t* _transferred;
- boost::uintmax_t _total_size;
+ FILE* _file = nullptr;
+ boost::uintmax_t* _transferred = nullptr;
+ boost::uintmax_t _total_size = 0;
};