transm/client/client.h

35 lines
697 B
C++

#pragma once
#include <net_base.h>
#include <util.h>
#include <vector>
#include <string>
#include "file_oper.h"
class CClient
{
public:
CClient(const std::shared_ptr<spdlog::logger>& logger);
~CClient();
public:
void run();
public:
bool get_task_list();
bool down_task();
bool up_task(const std::string& cmd);
bool cancel_task();
private:
bool send_frame(int type, const char* data, int len);
private:
void handle_frame(CFrameBuffer* buf);
private:
std::shared_ptr<spdlog::logger> logger_;
asio::io_context io_context_;
std::shared_ptr<CTcpClient> client_;
std::vector<std::string> supported_;
std::map<int, std::string> task_list_;
};