aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/file_uploader.hpp14
-rw-r--r--include/rclone_uploader.hpp20
2 files changed, 34 insertions, 0 deletions
diff --git a/include/file_uploader.hpp b/include/file_uploader.hpp
new file mode 100644
index 0000000..6e46a8a
--- /dev/null
+++ b/include/file_uploader.hpp
@@ -0,0 +1,14 @@
+#pragma once
+#ifndef FILE_UPLOADER_H
+#define FILE_UPLOADER_H
+
+#include <string>
+
+class FileUploader {
+public:
+ virtual ~FileUploader() = default;
+ virtual bool uploadFile(const std::string& filepath, const std::string& remotePath) = 0;
+ virtual bool testConnection() = 0;
+};
+
+#endif // FILE_UPLOADER_H
diff --git a/include/rclone_uploader.hpp b/include/rclone_uploader.hpp
new file mode 100644
index 0000000..03e54fe
--- /dev/null
+++ b/include/rclone_uploader.hpp
@@ -0,0 +1,20 @@
+#ifndef RCLONE_UPLOADER_H
+#define RCLONE_UPLOADER_H
+
+#include "file_uploader.hpp"
+#include <string>
+
+class RcloneUploader : public FileUploader {
+
+public:
+ ~RcloneUploader();
+ RcloneUploader(const std::string& cdnEndpoint, const std::string& sourceName);
+ bool uploadFile(const std::string& filepath, const std::string& remotePath) override;
+ bool testConnection() override;
+
+private:
+ std::string cdnEndpoint;
+ std::string sourceName;
+};
+
+#endif // RCLONE_UPLOADER_H
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage