RelayFile/ClientCore/ClientCore.h

36 lines
719 B
C++

#ifndef CLIENTCORE_H
#define CLIENTCORE_H
#include <InfoClient.hpp>
#include <InfoDirFile.hpp>
#include <cstdint>
#include <memory>
#include <vector>
#include <wx/socket.h>
class ClientCore : public wxEvtHandler
{
public:
ClientCore();
public:
bool Connect(const wxString& host, uint16_t port);
void Disconnect();
public:
bool GetOnlineList(InfoClientVec& infoClientVec);
bool AskDirectory(const wxString& id, const wxString& path, DirFileInfoVec& dirInfoVec);
private:
void OnSocketEvent(wxSocketEvent& event);
private:
void HeartBeat();
private:
wxString id_;
std::shared_ptr<wxSocketClient> socket_;
std::shared_ptr<wxThread> heartsThread_;
};
#endif // CLIENTCORE_H