void LocalMoneroApi::countryCodes() {
QString url = QString("%1/countrycodes").arg(this->getBaseUrl());
- QNetworkReply *reply = m_network->getJson(url);
+ QNetworkReply *reply = m_network->getJson(this, url);
connect(reply, &QNetworkReply::finished, std::bind(&LocalMoneroApi::onResponse, this, reply, Endpoint::COUNTRY_CODES));
}
void LocalMoneroApi::currencies() {
QString url = QString("%1/currencies").arg(this->getBaseUrl());
- QNetworkReply *reply = m_network->getJson(url);
+ QNetworkReply *reply = m_network->getJson(this, url);
connect(reply, &QNetworkReply::finished, std::bind(&LocalMoneroApi::onResponse, this, reply, Endpoint::CURRENCIES));
}
} else {
url = QString("%1/payment_methods/%2").arg(this->getBaseUrl(), countryCode);
}
- QNetworkReply *reply = m_network->getJson(url);
+ QNetworkReply *reply = m_network->getJson(this, url);
connect(reply, &QNetworkReply::finished, std::bind(&LocalMoneroApi::onResponse, this, reply, Endpoint::PAYMENT_METHODS));
}
const QString &paymentMethod, const QString &amount, int page)
{
QString url = this->getBuySellUrl(true, currencyCode, countryCode, paymentMethod, amount, page);
- QNetworkReply *reply = m_network->getJson(url);
+ QNetworkReply *reply = m_network->getJson(this, url);
connect(reply, &QNetworkReply::finished, std::bind(&LocalMoneroApi::onResponse, this, reply, Endpoint::BUY_MONERO_ONLINE));
}
const QString &paymentMethod, const QString &amount, int page)
{
QString url = this->getBuySellUrl(false, currencyCode, countryCode, paymentMethod, amount, page);
- QNetworkReply *reply = m_network->getJson(url);
+ QNetworkReply *reply = m_network->getJson(this, url);
connect(reply, &QNetworkReply::finished, std::bind(&LocalMoneroApi::onResponse, this, reply, Endpoint::SELL_MONERO_ONLINE));
}
void LocalMoneroApi::accountInfo(const QString &username) {
QString url = QString("%1/account_info/%2").arg(this->getBaseUrl(), username);
- QNetworkReply *reply = m_network->getJson(url);
+ QNetworkReply *reply = m_network->getJson(this, url);
connect(reply, &QNetworkReply::finished, std::bind(&LocalMoneroApi::onResponse, this, reply, Endpoint::ACCOUNT_INFO));
}
this->m_userAgent = userAgent;
}
-QNetworkReply* Networking::get(const QString &url) {
+QNetworkReply* Networking::get(QObject *parent, const QString &url) {
if (config()->get(Config::offlineMode).toBool()) {
return nullptr;
}
request.setUrl(QUrl(url));
request.setRawHeader("User-Agent", m_userAgent.toUtf8());
- return this->m_networkAccessManager->get(request);
+ QNetworkReply *reply = this->m_networkAccessManager->get(request);;
+ reply->setParent(parent);
+ return reply;
}
-QNetworkReply* Networking::getJson(const QString &url) {
+QNetworkReply* Networking::getJson(QObject *parent, const QString &url) {
if (config()->get(Config::offlineMode).toBool()) {
return nullptr;
}
request.setRawHeader("User-Agent", m_userAgent.toUtf8());
request.setRawHeader("Content-Type", "application/json");
- return this->m_networkAccessManager->get(request);
+ QNetworkReply *reply = this->m_networkAccessManager->get(request);
+ reply->setParent(parent);
+ return reply;
}
-QNetworkReply* Networking::postJson(const QString &url, const QJsonObject &data) {
+QNetworkReply* Networking::postJson(QObject *parent, const QString &url, const QJsonObject &data) {
if (config()->get(Config::offlineMode).toBool()) {
return nullptr;
}
QJsonDocument doc(data);
QByteArray bytes = doc.toJson();
- return this->m_networkAccessManager->post(request, bytes);
+
+ QNetworkReply *reply = this->m_networkAccessManager->post(request, bytes);
+ reply->setParent(parent);
+ return reply;
}
public:
explicit Networking(QObject *parent = nullptr);
- QNetworkReply* get(const QString &url);
- QNetworkReply* getJson(const QString &url);
- QNetworkReply* postJson(const QString &url, const QJsonObject &data);
+ QNetworkReply* get(QObject *parent, const QString &url);
+ QNetworkReply* getJson(QObject *parent, const QString &url);
+ QNetworkReply* postJson(QObject *parent, const QString &url, const QJsonObject &data);
void setUserAgent(const QString &userAgent);
private:
req["do_sanity_checks"] = do_sanity_checks;
QString url = QString("%1/send_raw_transaction").arg(m_daemonAddress);
- QNetworkReply *reply = m_network->postJson(url, req);
+ QNetworkReply *reply = m_network->postJson(this, url, req);
connect(reply, &QNetworkReply::finished, [this, reply]{
onResponse(reply, Endpoint::SEND_RAW_TRANSACTION);
});
req["prune"] = prune;
QString url = QString("%1/get_transactions").arg(m_daemonAddress);
- QNetworkReply *reply = m_network->postJson(url, req);
+ QNetworkReply *reply = m_network->postJson(this, url, req);
connect(reply, &QNetworkReply::finished, [this, reply]{
onResponse(reply, Endpoint::GET_TRANSACTIONS);
});