Support paste.gg, hastebin, and mclo.gs
This commit is contained in:
@ -36,14 +36,38 @@
|
||||
|
||||
#include "tasks/Task.h"
|
||||
#include <QNetworkReply>
|
||||
#include <QString>
|
||||
#include <QBuffer>
|
||||
#include <memory>
|
||||
#include <array>
|
||||
|
||||
class PasteUpload : public Task
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
PasteUpload(QWidget *window, QString text, QString url);
|
||||
enum PasteType : unsigned int {
|
||||
// 0x0.st
|
||||
NullPointer,
|
||||
// hastebin.com
|
||||
Hastebin,
|
||||
// paste.gg
|
||||
PasteGG,
|
||||
// mclo.gs
|
||||
Mclogs,
|
||||
// Helpful to get the range of valid values on the enum for input sanitisation:
|
||||
First = NullPointer,
|
||||
Last = Mclogs
|
||||
};
|
||||
|
||||
struct PasteTypeInfo {
|
||||
const QString name;
|
||||
const QString defaultBase;
|
||||
const QString endpointPath;
|
||||
};
|
||||
|
||||
static std::array<PasteTypeInfo, 4> PasteTypes;
|
||||
|
||||
PasteUpload(QWidget *window, QString text, QString url, PasteType pasteType);
|
||||
virtual ~PasteUpload();
|
||||
|
||||
QString pasteLink()
|
||||
@ -56,7 +80,9 @@ protected:
|
||||
private:
|
||||
QWidget *m_window;
|
||||
QString m_pasteLink;
|
||||
QString m_baseUrl;
|
||||
QString m_uploadUrl;
|
||||
PasteType m_pasteType;
|
||||
QByteArray m_text;
|
||||
std::shared_ptr<QNetworkReply> m_reply;
|
||||
public
|
||||
|
Reference in New Issue
Block a user