FeedTheMonkey/tinytinyrss.cpp
2015-01-09 06:25:23 +01:00

64 lines
1.9 KiB
C++

#include "tinytinyrss.h"
#include <QJsonDocument>
#include <QJsonObject>
#include <QNetworkAccessManager>
#include <QNetworkRequest>
TinyTinyRSS::TinyTinyRSS(QString serverUrl, QString sessionId)
{
this->serverUrl = serverUrl;
this->sessionId = sessionId;
}
TinyTinyRSS::~TinyTinyRSS()
{
}
QString TinyTinyRSS::login(QString serverUrl, QString user, QString password)
{
QVariantMap options;
options.insert("op", "login");
options.insert("user", user);
options.insert("password", password);
QJsonObject jsonobj = QJsonObject::fromVariantMap(options);
QJsonDocument json = QJsonDocument(jsonobj);
QNetworkAccessManager *manager = new QNetworkAccessManager(this);
QUrl url(serverUrl + "/api/");
QNetworkRequest request(url);
request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");
QObject::connect(manager, SIGNAL(finished(QNetworkReply)), this, SIGNAL(replyLogin(QNetworkReply)));
manager->post(request, json.toBinaryData());
}
void TinyTinyRSS::doOperation(QString operation, QVariantMap opts) {
QVariantMap options;
options.insert("sid", this->sessionId);
options.insert("op", operation);
QMapIterator<QString, QVariant> i(opts);
while (i.hasNext()) {
i.next();
options.insert(i.key(), i.value());
}
QJsonObject jsonobj = QJsonObject::fromVariantMap(options);
QJsonDocument json = QJsonDocument(jsonobj);
QNetworkAccessManager *manager = new QNetworkAccessManager(this);
QUrl url(this->serverUrl + "/api/");
QNetworkRequest request(url);
request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");
QObject::connect(manager, SIGNAL(finished(QNetworkReply)), this, SIGNAL(replyFinishedOperation(QNetworkReply)));
manager->post(request, json.toBinaryData());
}
void TinyTinyRSS::replyFinishedOperation(QNetworkReply *reply) {
qWarning() << reply;
}