| | |
| | |
| | |
| |
|
| | #pragma once |
| |
|
| | #include <memory> |
| | #include <vector> |
| | #include "core/frontend/input.h" |
| | #include "input_common/main.h" |
| |
|
| | union SDL_Event; |
| |
|
| | namespace Common { |
| | class ParamPackage; |
| | } |
| |
|
| | namespace InputCommon::Polling { |
| | class DevicePoller; |
| | enum class DeviceType; |
| | } |
| |
|
| | namespace InputCommon::SDL { |
| |
|
| | class State { |
| | public: |
| | using Pollers = std::vector<std::unique_ptr<Polling::DevicePoller>>; |
| |
|
| | |
| | virtual ~State() = default; |
| |
|
| | virtual Pollers GetPollers(Polling::DeviceType type) = 0; |
| | }; |
| |
|
| | class NullState : public State { |
| | public: |
| | Pollers GetPollers(Polling::DeviceType type) override { |
| | return {}; |
| | } |
| | }; |
| |
|
| | std::unique_ptr<State> Init(); |
| |
|
| | } |
| |
|