MissionControl/btdrv-mitm/source/controllers/fakeswitchcontroller.hpp

37 lines
1.7 KiB
C++

#pragma once
#include "switchcontroller.hpp"
namespace ams::controller {
class FakeSwitchController : public SwitchController {
public:
FakeSwitchController(ControllerType type, const bluetooth::Address *address)
: SwitchController(type, address) { };
const bluetooth::HidReport * handleIncomingReport(const bluetooth::HidReport *report);
const bluetooth::HidReport * handleOutgoingReport(const bluetooth::HidReport *report);
protected:
virtual Result setVibration(void);
virtual Result setPlayerLed(u8 led_mask);
Result handleSubCmdReport(const bluetooth::HidReport *report);
Result subCmdRequestDeviceInfo(const bluetooth::HidReport *report);
Result subCmdSpiFlashRead(const bluetooth::HidReport *report);
Result subCmdSpiFlashWrite(const bluetooth::HidReport *report);
Result subCmdSpiSectorErase(const bluetooth::HidReport *report);
Result subCmdSetInputReportMode(const bluetooth::HidReport *report);
Result subCmdTriggersElapsedTime(const bluetooth::HidReport *report);
Result subCmdSetShipPowerState(const bluetooth::HidReport *report);
Result subCmdSetMcuConfig(const bluetooth::HidReport *report);
Result subCmdSetMcuState(const bluetooth::HidReport *report);
Result subCmdSetPlayerLeds(const bluetooth::HidReport *report);
Result subCmdEnableImu(const bluetooth::HidReport *report);
Result subCmdEnableVibration(const bluetooth::HidReport *report);
bluetooth::HidReport m_inputReport;
bluetooth::HidReport m_outputReport;
};
}