#ifndef REPORT_H #define REPORT_H #include #include "../dispatcher/threadpool.h" #include "../common.h" #include "pipe.h" #define REPORT_BUFFER_SIZE 8192 #define SEND_BUFFER_SIZE 8192 #define MAX_SIGNATURE_SIZE 256 #define MESSAGE_TYPE_CLIENT_REPORT 1 #define MESSAGE_TYPE_CLIENT_SEND 2 #define MESSAGE_TYPE_CLIENT_REQUEST 3 namespace client { class message_queue { struct MESSAGE_PACKET_HEADER { int message_type; int request_id; unsigned __int64 steam64_id; }; std::unique_ptr pipe_interface; std::mutex lock; byte report_buffer[REPORT_BUFFER_SIZE]; public: message_queue(LPTSTR PipeName); void enqueue_message(void *Buffer, size_t Size); void dequeue_message(void *Buffer, size_t Size); }; } // namespace client #endif