KShare/src/uploaders/customuploader.hpp

42 lines
1.1 KiB
C++
Raw Normal View History

2017-04-24 23:14:01 +02:00
#ifndef CUSTOMUPLOADER_HPP
#define CUSTOMUPLOADER_HPP
#include "uploader.hpp"
#include <QApplication>
2017-04-24 23:14:01 +02:00
#include <QJsonObject>
#include <QMap>
#include <QUrl>
#include <QNetworkReply>
2017-04-24 23:14:01 +02:00
2017-05-06 13:21:12 +02:00
enum class HttpMethod { POST };
2017-04-24 23:14:01 +02:00
2017-06-23 16:41:21 +02:00
enum class RequestFormat { X_WWW_FORM_URLENCODED, JSON, MULTIPART_FORM_DATA, PLAIN };
2017-04-24 23:14:01 +02:00
2017-05-06 13:21:12 +02:00
class CustomUploader : public Uploader {
Q_DECLARE_TR_FUNCTIONS(CustomUploader)
public:
CustomUploader(QString absFilePath);
QString name();
QString description();
void doUpload(QByteArray imgData, QString format, QString filename);
2017-04-24 23:14:01 +02:00
private:
2017-05-21 11:16:00 +02:00
double limit = -1;
QString desc;
QString uName;
RequestFormat rFormat = RequestFormat::JSON;
HttpMethod method = HttpMethod::POST;
QUrl target;
QJsonValue body;
QJsonObject headers;
bool base64 = false;
QString returnPathspec;
2017-07-20 00:40:39 +02:00
QString urlPrepend, urlAppend;
void parseResult(QNetworkReply *r, QJsonDocument result, QByteArray data, QString returnPathspec, QString name, QString filename);
2019-05-08 10:12:46 +02:00
void playSuccessSound();
void playErrorSound();
2017-04-24 23:14:01 +02:00
};
#endif // CUSTOMUPLOADER_HPP