#ifndef COMMUNICATE_H #define COMMUNICATE_H #include #include enum FrameBufferType : uint16_t { FRAME_TYPE_MSG_FILEDATA, FRAME_TYPE_INFO_COMMUNICATE, FRAME_TYPE_INFO_CLIENT, FRAME_TYPE_INFO_DIRFILE, FRAME_TYPE_MSG_YOURID }; struct FrameBuffer { FrameBuffer(); ~FrameBuffer(); int len{}; char* dataMut; std::string fid; std::string tid; const char* dataConst; FrameBufferType dataType{}; }; class Communicate { public: Communicate(); public: static FrameBuffer* ParseBuffer(MutBuffer& buffer); static bool PackBuffer(FrameBuffer* frame, char** buf, int& len); }; #endif // COMMUNICATE_H