sparkle/libs/network/network.hpp

23 lines
853 B
C++
Raw Normal View History

2024-12-31 02:20:56 +05:00
#ifndef TLS_NETWORK_HPP_
#define TLS_NETWORK_HPP_
2025-01-25 13:22:59 +05:00
#include <includes.hpp>
2025-01-29 16:06:47 +05:00
#include <network/websocket.hpp>
2025-01-18 04:37:54 +05:00
#include <curl/curl.h>
2024-12-31 02:20:56 +05:00
class NetworkManager {
private:
2025-01-18 04:37:54 +05:00
CURL* curl;
CURLcode res;
2024-12-31 05:58:15 +05:00
WebSocket& web;
2025-01-27 18:15:34 +05:00
NetworkManager();
~NetworkManager();
2025-01-30 23:05:59 +05:00
static auto WriteCallback(void* contents, unsigned long size, unsigned long nmemb, void* userp) -> unsigned long;
2025-01-13 14:40:21 +05:00
public:
2025-01-31 13:04:37 +05:00
auto operator=(const NetworkManager&)->NetworkManager& = delete;
auto operator=(NetworkManager&&)->NetworkManager& = delete;
NetworkManager(NetworkManager&&) = delete;
NetworkManager(const NetworkManager&) = delete;
2025-01-30 23:05:59 +05:00
static auto getInstance() -> NetworkManager&;
[[nodiscard]] auto getLatency() const -> unsigned long;
auto request(const std::string& method, const std::string& path, const std::string& data = "") -> std::string;
2024-12-31 02:20:56 +05:00
};
#endif