File indexing completed on 2024-04-28 16:43:06
0001 // SPDX-FileCopyrightText: 2022 Michael Lang <criticaltemp@protonmail.com> 0002 // 0003 // SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0004 0005 #pragma once 0006 0007 #include <QObject> 0008 0009 #include <global.h> 0010 0011 #include <ares.h> 0012 #include <curl/curl.h> 0013 0014 class ECurl : public QObject 0015 { 0016 Q_OBJECT 0017 0018 public: 0019 explicit ECurl(); 0020 ~ECurl(); 0021 0022 QByteArray networkRequest(const QString &url, const QByteArray &data = QByteArrayLiteral("")) const; 0023 0024 private: 0025 static size_t curlWriteFunction(char *chunk, size_t size, size_t len, QByteArray *response); 0026 static void aresResolveCallback(void *arg, int status, int timeouts, struct hostent *hostent); 0027 static void aresResolveWait(ares_channel channel); 0028 };