#pragma once #include #include class L2CapWiimote : public WiimoteDevice { public: L2CapWiimote(int recvFd, int sendFd, bdaddr_t addr); ~L2CapWiimote() override; bool write_data(const std::vector& data) override; std::optional> read_data() override; bool operator==(const WiimoteDevice& o) const override; static void AddCandidateAddress(bdaddr_t addr); static std::vector get_devices(); private: int m_recvFd; int m_sendFd; bdaddr_t m_addr; };