| Index: device/gamepad/gamepad_platform_data_fetcher_win.h
|
| diff --git a/device/gamepad/gamepad_platform_data_fetcher_win.h b/device/gamepad/gamepad_platform_data_fetcher_win.h
|
| index cf9f7728a8716d31279e6e69b0b58cf2930377d4..df5b5dcd198df6cca7c2cc393eb54c9a9520b6ab 100644
|
| --- a/device/gamepad/gamepad_platform_data_fetcher_win.h
|
| +++ b/device/gamepad/gamepad_platform_data_fetcher_win.h
|
| @@ -25,23 +25,25 @@
|
| #include "base/scoped_native_library.h"
|
| #include "device/gamepad/gamepad_data_fetcher.h"
|
| #include "device/gamepad/gamepad_standard_mappings.h"
|
| -#include "device/gamepad/raw_input_data_fetcher_win.h"
|
| #include "third_party/WebKit/public/platform/WebGamepads.h"
|
|
|
| namespace device {
|
|
|
| class GamepadPlatformDataFetcherWin : public GamepadDataFetcher {
|
| public:
|
| + typedef GamepadDataFetcherFactoryImpl<GamepadPlatformDataFetcherWin,
|
| + GAMEPAD_SOURCE_WIN_XINPUT>
|
| + Factory;
|
| +
|
| GamepadPlatformDataFetcherWin();
|
| ~GamepadPlatformDataFetcherWin() override;
|
| - void GetGamepadData(blink::WebGamepads* pads,
|
| - bool devices_changed_hint) override;
|
| - void PauseHint(bool paused) override;
|
| +
|
| + GamepadSource source() override;
|
| +
|
| + void GetGamepadData(bool devices_changed_hint) override;
|
|
|
| private:
|
| - // XInput-specific implementation for GetGamepadData.
|
| - bool GetXInputGamepadData(blink::WebGamepads* pads,
|
| - bool devices_changed_hint);
|
| + void OnAddedToProvider() override;
|
|
|
| // The three function types we use from xinput1_3.dll.
|
| typedef void(WINAPI* XInputEnableFunc)(BOOL enable);
|
| @@ -58,14 +60,7 @@ class GamepadPlatformDataFetcherWin : public GamepadDataFetcher {
|
|
|
| // Scan for connected XInput and DirectInput gamepads.
|
| void EnumerateDevices();
|
| - bool GetXInputPadConnectivity(int i, blink::WebGamepad* pad) const;
|
| -
|
| - void GetXInputPadData(int i, blink::WebGamepad* pad);
|
| - void GetRawInputPadData(int i, blink::WebGamepad* pad);
|
| -
|
| - int FirstAvailableGamepadId() const;
|
| - bool HasXInputGamepad(int index) const;
|
| - bool HasRawInputGamepad(const HANDLE handle) const;
|
| + void GetXInputPadData(int i);
|
|
|
| base::ScopedNativeLibrary xinput_dll_;
|
| bool xinput_available_;
|
| @@ -75,21 +70,7 @@ class GamepadPlatformDataFetcherWin : public GamepadDataFetcher {
|
| XInputGetCapabilitiesFunc xinput_get_capabilities_;
|
| XInputGetStateFunc xinput_get_state_;
|
|
|
| - enum PadConnectionStatus {
|
| - DISCONNECTED,
|
| - XINPUT_CONNECTED,
|
| - RAWINPUT_CONNECTED
|
| - };
|
| -
|
| - struct PlatformPadState {
|
| - PadConnectionStatus status;
|
| -
|
| - int xinput_index; // XInput-only
|
| - HANDLE raw_input_handle; // RawInput-only fields.
|
| - };
|
| - PlatformPadState platform_pad_state_[blink::WebGamepads::itemsLengthCap];
|
| -
|
| - std::unique_ptr<RawInputDataFetcher> raw_input_fetcher_;
|
| + bool xinuput_connected_[XUSER_MAX_COUNT];
|
|
|
| DISALLOW_COPY_AND_ASSIGN(GamepadPlatformDataFetcherWin);
|
| };
|
|
|