htc: add remaining worker receive thread logic

This commit is contained in:
Michael Scire 2021-02-08 23:44:30 -08:00 committed by SciresM
parent 6fc24d8883
commit 2cdfde6637
11 changed files with 477 additions and 36 deletions

View file

@ -50,13 +50,26 @@ namespace ams::htclow::ctrl {
HtcctrlSendBuffer m_send_buffer;
os::SdkMutex m_mutex;
os::SdkConditionVariable m_condvar;
u8 m_2170[0x1000];
char m_service_channels_packet[0x1000];
s16 m_version;
private:
const char *GetConnectionType(impl::DriverType driver_type) const;
void UpdateBeaconResponse(const char *connection);
Result ProcessReceiveConnectPacket();
Result ProcessReceiveReadyPacket(const void *body, size_t body_size);
Result ProcessReceiveSuspendPacket();
Result ProcessReceiveResumePacket();
Result ProcessReceiveDisconnectPacket();
Result ProcessReceiveBeaconQueryPacket();
Result ProcessReceiveUnexpectedPacket();
void UpdateServiceChannels(const void *body, size_t body_size);
void TryReadyInternal();
void PrintServiceChannels(char *dst, size_t dst_size);
Result SetState(HtcctrlState state);
void ReflectState();
public: