コード例 #1
0
void NetworkQueryExecutor::execute(Query::RequestType type, const QByteArray &path,
                                   const std::map<QByteArray, QByteArray> &parameters,
                                   const Account &account, const IQueryExecutor::Callback_t &callback) const
{
    QNetworkReply *reply {nullptr};
    switch (type) {
    case Query::Get:
        reply = TwitterQueryUtil::get(m_network, path, parameters, account);
        break;
    case Query::Post:
        reply = TwitterQueryUtil::post(m_network, path, {}, parameters, account);
        break;
    default:
        Q_ASSERT_X(false, "NetworkQueryExecutor", "Type must be GET or POST");
        break;
    }
    reply->connect(reply, &QNetworkReply::finished, [reply, callback]() {
        QObjectPtr<QNetworkReply> replyPtr {reply};
        callback(*reply, reply->error(), reply->errorString());
    });
}