Mesen2/Core/PCE/PceControlManager.h
2023-02-10 20:59:21 -05:00

28 lines
No EOL
653 B
C++

#pragma once
#include "pch.h"
#include "Shared/BaseControlManager.h"
#include "Shared/SettingTypes.h"
#include "PCE/PceTypes.h"
#include "Utilities/ISerializable.h"
class Emulator;
class PceControlManager final : public BaseControlManager
{
private:
PceControlManagerState _state = {};
PcEngineConfig _prevConfig = {};
public:
PceControlManager(Emulator* emu);
PceControlManagerState& GetState();
shared_ptr<BaseControlDevice> CreateControllerDevice(ControllerType type, uint8_t port) override;
uint8_t ReadInputPort();
void WriteInputPort(uint8_t value);
void UpdateControlDevices() override;
void Serialize(Serializer& s) override;
};