This commit is contained in:
Jeena 2015-01-09 06:25:23 +01:00
parent 307b8ffae0
commit 9bbc88eca7
5 changed files with 81 additions and 6 deletions

View file

@ -3,7 +3,8 @@ TEMPLATE = app
QT += qml quick
SOURCES += main.cpp \
tinytinyrss.cpp
tinytinyrss.cpp \
tinytinyrsslogin.cpp
RESOURCES += qml.qrc \
html.qrc
@ -23,4 +24,5 @@ OTHER_FILES += \
content.js
HEADERS += \
tinytinyrss.h
tinytinyrss.h \
tinytinyrsslogin.h

View file

@ -15,6 +15,26 @@ 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);
@ -35,10 +55,10 @@ void TinyTinyRSS::doOperation(QString operation, QVariantMap opts) {
QNetworkRequest request(url);
request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");
QObject::connect(manager, &QNetworkAccessManager::finished, this, &TinyTinyRSS::replyFinishedOperation);
manager->post(request, json);
QObject::connect(manager, SIGNAL(finished(QNetworkReply)), this, SIGNAL(replyFinishedOperation(QNetworkReply)));
manager->post(request, json.toBinaryData());
}
void TinyTinyRSS::replyFinishedOperation(QNetworkReply *reply) {
qWarning() << reply;
}

View file

@ -13,13 +13,14 @@ class TinyTinyRSS : QObject
public:
TinyTinyRSS(QString serverUrl, QString sessionId);
~TinyTinyRSS();
void login();
void replyFinishedOperation(QNetworkReply *reply);
private:
QString serverUrl;
QString sessionId;
void doOperation(QString operation, QVariantMap opts);
void replyFinishedOperation(QNetworkReply *reply);
};
#endif // TINYTINYRSS_H

32
tinytinyrsslogin.cpp Normal file
View file

@ -0,0 +1,32 @@
#include "tinytinyrsslogin.h"
TinyTinyRSSLogin::TinyTinyRSSLogin(QObject *parent) :
QObject(parent)
{
}
void TinyTinyRSSLogin::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());
}
TinyTinyRSSLogin::replyLogin(QNetworkReply reply)
{
QString sessionId = "1234";
this->parent()->loggedIn(QString(sessionId));
}

20
tinytinyrsslogin.h Normal file
View file

@ -0,0 +1,20 @@
#ifndef TINYTINYRSSLOGIN_H
#define TINYTINYRSSLOGIN_H
#include <QObject>
class TinyTinyRSSLogin : public QObject
{
Q_OBJECT
public:
explicit TinyTinyRSSLogin(QObject *parent = 0);
login(QString serverUrl, QString user, QString password);
signals:
replyLogin(QNetworkReply reply);
public slots:
};
#endif // TINYTINYRSSLOGIN_H