23 lines
894 B
C++
23 lines
894 B
C++
#ifndef TLS_NETWORK_HPP_
|
|
#define TLS_NETWORK_HPP_
|
|
#include <pch.hpp>
|
|
#include <network/websocket.hpp>
|
|
#include <curl/curl.h>
|
|
class NetworkManager {
|
|
private:
|
|
std::unique_ptr<void, decltype(&curl_easy_cleanup)> curl;
|
|
CURLcode res;
|
|
WebSocket& web;
|
|
NetworkManager();
|
|
~NetworkManager();
|
|
static auto WriteCallback(void* contents, unsigned long size, unsigned long nmemb, void* userp) -> unsigned long;
|
|
public:
|
|
auto operator=(const NetworkManager&)->NetworkManager& = delete;
|
|
auto operator=(NetworkManager&&)->NetworkManager& = delete;
|
|
NetworkManager(NetworkManager&&) = delete;
|
|
NetworkManager(const NetworkManager&) = delete;
|
|
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;
|
|
};
|
|
#endif |