QNetworkAccessManagerを1個に統合。
1 parent e88d06a commit 708c9b55871d7a1ba46eee1b3b3ddd46fc7dc4c3
@TAM (Teppei Tamra) TAM (Teppei Tamra) authored on 15 Apr 2018
Showing 9 changed files
View
16
saoriaccount.cpp
 
***/
 
#include "saoriaccount.h"
#include "saoriapplication.h"
#include "saoriview.h"
#include "saoridef.h"
 
SaoriAccount::SaoriAccount(const QString accountName, Saoridon *instance, const QString accsessToken, QObject *parent) : QObject(parent)
}
 
void SaoriAccount::getAccountInfomation()
{
auto manager = new QNetworkAccessManager();
QNetworkRequest request = createHearder();
request.setUrl(QUrl(m_instance->instance().url() + SAORI_MASTODON_APIPATH_ACCOUNTS + "/verify_credentials"));
auto *reply = manager->get(request);
connect(manager,&QNetworkAccessManager::finished,[=](){
auto *reply = SaoriApplication::saori()->manager->get(request);
connect(reply,&QNetworkReply::finished,[=](){
if (reply->NoError == QNetworkReply::NoError) {
QJsonObject json = QJsonDocument::fromJson(reply->readAll()).object();
QMap<QString,QString> info;
for(auto it = json.begin();it != json.end();it ++) {
}
m_accountInfo = info;
emit accountInfomationChanged();
}
manager->deleteLater();
reply->deleteLater();
});
return;
}
 
}
 
void SaoriAccount::getTimelineData(const QString timeline)
{
// TODO max_id、since_id、limitの処理を追加すべし。
QUrl url = instance()->timelineUrl(timeline);
if (url.isEmpty()) return;
auto manager = new QNetworkAccessManager();
QNetworkRequest request = createHearder();
request.setUrl(url);
auto *reply = manager->get(request);
connect(manager,&QNetworkAccessManager::finished,[=](){
auto *reply = SaoriApplication::saori()->manager->get(request);
connect(reply,&QNetworkReply::finished,[=](){
if (reply->NoError == QNetworkReply::NoError) {
QByteArray data = reply->readAll();
emit apiData(timeline,data);
}
manager->deleteLater();
reply->deleteLater();
});
return;
}
View
2
■■■
saoriaccount.h
#include <QList>
#include <saoridon.h>
#include <QJsonDocument>
#include <QJsonObject>
#include <QNetworkAccessManager>
#include <QNetworkReply>
 
class SaoriAccount : public QObject
{
 
protected:
void getAccountInfomation();
QNetworkRequest createHearder();
void requestGET(QUrl url,QNetworkAccessManager *manager);
 
protected:
QString m_name;
QString m_accessToken;
View
saoriaddaccountdialog.cpp
View
saoriapplication.cpp
View
saoriapplication.h
View
saoricache.cpp
View
saoridon.cpp
View
saoriview.cpp
View
saoriview.h