Initial commit. Version 0.1

This commit is contained in:
Niellune
2025-05-20 16:05:26 +03:00
parent 9139cb4fd4
commit 7f3ea88b21
30 changed files with 2537 additions and 1 deletions
+65
View File
@@ -0,0 +1,65 @@
#ifndef SRC_PROTOCOL
#define SRC_PROTOCOL
#include "struct/raw_queue.h"
#include "helper/iprotocol.h"
#include "helper/settings.h"
#include "connector.h"
#define MAGIC 0x55aa55aa
#define CMD_OPEN 1
#define CMD_PLUGGED 2
#define CMD_UNPLUGGED 4
#define CMD_TOUCH 5
#define CMD_VIDEO_DATA 6
#define CMD_AUDIO_DATA 7
#define CMD_SEND_FILE 153
class Protocol : public IProtocol
{
public:
Protocol(uint16_t width, uint16_t height, uint16_t fps, uint16_t padding);
~Protocol();
Protocol(const Protocol &) = delete;
Protocol &operator=(const Protocol &) = delete;
static const char *cmdString(int cmd);
void start(StatusCallback onStatus);
void stop();
void sendKey(int key);
void sendInit(int width, int height, int fps);
void sendFile(const char *filename, const uint8_t *data, uint32_t length);
void sendFile(const char *filename, const char *value);
void sendFile(const char *filename, int value);
void sendClick(float x, float y, bool down);
void sendMove(float dx, float dy);
Connector connector;
RawQueue videoData;
RawQueue audioStream0;
RawQueue audioStream1;
RawQueue audioStream2;
bool phoneConnected;
private:
void onStatus(const char *status) override;
void onDevice(bool connected) override;
void onData(uint32_t cmd, uint32_t length, uint8_t *data) override;
void print_message(uint32_t cmd, uint32_t length, uint8_t *data);
void print_ints(uint32_t length, uint8_t *data, uint16_t max);
void print_bytes(uint32_t length, uint8_t *data, uint16_t max);
uint16_t _width;
uint16_t _height;
uint16_t _fps;
StatusCallback _statusCallback = nullptr;
};
#endif /* SRC_PROTOCOL */