35 int getNextChannelId() {
return m_nextChannelId++; }
39 uint32_t m_nextChannelId;
46 template<
typename PacketType,
typename ...Args>
47 void sendPacket(Args && ...args);
49 enum class ChannelType
58 m_channelId = SubtecChannelManager::getInstance()->getNextChannelId();
61 static std::unique_ptr<SubtecChannel> SubtecChannelFactory(ChannelType type);
63 static bool InitComms();
64 static bool InitComms(
const char* socket_path);
65 void SendResetAllPacket();
66 void SendResetChannelPacket();
67 void SendPausePacket();
68 void SendResumePacket();
69 void SendMutePacket();
70 void SendUnmutePacket();
71 void SendCCSetAttributePacket(std::uint32_t ccType, std::uint32_t attribType,
const attributesType &attributesValues);
73 virtual void SendSelectionPacket(uint32_t width, uint32_t height){};
74 virtual void SendDataPacket(std::vector<uint8_t> &&data, std::int64_t time_offset_ms = 0){};
75 virtual void SendTimestampPacket(uint64_t timestampMs){};
82 std::mutex mChannelMtx;