mirror of https://github.com/f4exb/sdrangel.git
91 lines
2.2 KiB
C++
91 lines
2.2 KiB
C++
/**
|
|
* SDRangel
|
|
* This is the web API of SDRangel SDR software. SDRangel is an Open Source Qt5/OpenGL 3.0+ GUI and server Software Defined Radio and signal analyzer in software. It supports Airspy, BladeRF, HackRF, LimeSDR, PlutoSDR, RTL-SDR, SDRplay RSP1 and FunCube
|
|
*
|
|
* OpenAPI spec version: 4.0.0
|
|
* Contact: f4exb06@gmail.com
|
|
*
|
|
* NOTE: This class is auto generated by the swagger code generator program.
|
|
* https://github.com/swagger-api/swagger-codegen.git
|
|
* Do not edit the class manually.
|
|
*/
|
|
|
|
/**
|
|
* Based on http://www.creativepulse.gr/en/blog/2014/restful-api-requests-using-qt-cpp-for-linux-mac-osx-ms-windows
|
|
* By Alex Stylianos
|
|
*
|
|
**/
|
|
|
|
#ifndef HTTPREQUESTWORKER_H
|
|
#define HTTPREQUESTWORKER_H
|
|
|
|
#include <QObject>
|
|
#include <QString>
|
|
#include <QMap>
|
|
#include <QNetworkAccessManager>
|
|
#include <QNetworkReply>
|
|
|
|
enum HttpRequestVarLayout {NOT_SET, ADDRESS, URL_ENCODED, MULTIPART};
|
|
|
|
namespace SWGSDRangel {
|
|
|
|
class SWGHttpRequestInputFileElement {
|
|
|
|
public:
|
|
QString variable_name;
|
|
QString local_filename;
|
|
QString request_filename;
|
|
QString mime_type;
|
|
|
|
};
|
|
|
|
|
|
class HttpRequestInput {
|
|
|
|
public:
|
|
QString url_str;
|
|
QString http_method;
|
|
HttpRequestVarLayout var_layout;
|
|
QMap<QString, QString> vars;
|
|
QMap<QString, QString> headers;
|
|
QList<SWGHttpRequestInputFileElement> files;
|
|
QByteArray request_body;
|
|
|
|
HttpRequestInput();
|
|
HttpRequestInput(QString v_url_str, QString v_http_method);
|
|
void initialize();
|
|
void add_var(QString key, QString value);
|
|
void add_file(QString variable_name, QString local_filename, QString request_filename, QString mime_type);
|
|
|
|
};
|
|
|
|
|
|
class HttpRequestWorker : public QObject {
|
|
Q_OBJECT
|
|
|
|
public:
|
|
QByteArray response;
|
|
QNetworkReply::NetworkError error_type;
|
|
QString error_str;
|
|
|
|
explicit HttpRequestWorker(QObject *parent = 0);
|
|
virtual ~HttpRequestWorker();
|
|
|
|
QString http_attribute_encode(QString attribute_name, QString input);
|
|
void execute(HttpRequestInput *input);
|
|
|
|
signals:
|
|
void on_execution_finished(HttpRequestWorker *worker);
|
|
|
|
private:
|
|
QNetworkAccessManager *manager;
|
|
|
|
private slots:
|
|
void on_manager_finished(QNetworkReply *reply);
|
|
|
|
};
|
|
|
|
}
|
|
|
|
#endif // HTTPREQUESTWORKER_H
|