#ifndef ALPINE_SDK_CLIENT_HPP
#define ALPINE_SDK_CLIENT_HPP
#include <cstdint>
#include <string>
#include <vector>
#include "alpine_sdk.h"
namespace alpine::sdk {
class AlpineClient {
public:
explicit AlpineClient(const std::string& remote_host, uint16_t remote_port, uint16_t local_port = 0);
~AlpineClient();
AlpineClient(const AlpineClient&) = delete;
AlpineClient& operator=(const AlpineClient&) = delete;
std::string start_stream(const std::string& intent, uint8_t latency, uint8_t resilience);
void send_frame(const std::vector<uint8_t>& payload);
const char* config_id() const noexcept;
void close();
private:
alpine_sdk_client_t client_;
};
}
#endif