From b6d455a02bd338e9dc0faa09d4d8177ecd8d569a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Mr=C3=A1zek?= Date: Sun, 10 Apr 2016 15:53:05 +0200 Subject: NOISSUE reorganize and document libraries --- api/logic/net/PasteUpload.h | 50 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 api/logic/net/PasteUpload.h (limited to 'api/logic/net/PasteUpload.h') diff --git a/api/logic/net/PasteUpload.h b/api/logic/net/PasteUpload.h new file mode 100644 index 00000000..06e3f955 --- /dev/null +++ b/api/logic/net/PasteUpload.h @@ -0,0 +1,50 @@ +#pragma once +#include "tasks/Task.h" +#include +#include +#include + +#include "multimc_logic_export.h" + +class MULTIMC_LOGIC_EXPORT PasteUpload : public Task +{ + Q_OBJECT +public: + PasteUpload(QWidget *window, QString text, QString key = "public"); + virtual ~PasteUpload(); + QString pasteLink() + { + return m_pasteLink; + } + QString pasteID() + { + return m_pasteID; + } + uint32_t maxSize() + { + // 2MB for paste.ee - public + if(m_key == "public") + return 1024*1024*2; + // 12MB for paste.ee - with actual key + return 1024*1024*12; + } + bool validateText(); +protected: + virtual void executeTask(); + +private: + bool parseResult(QJsonDocument doc); + QByteArray m_text; + QString m_error; + QWidget *m_window; + QString m_pasteID; + QString m_pasteLink; + QString m_key; + int m_textSize = 0; + QBuffer * buf = nullptr; + std::shared_ptr m_reply; +public +slots: + void downloadError(QNetworkReply::NetworkError); + void downloadFinished(); +}; -- cgit v1.2.3