Index: device/gamepad/gamepad_platform_data_fetcher.h |
diff --git a/device/gamepad/gamepad_platform_data_fetcher.h b/device/gamepad/gamepad_platform_data_fetcher.h |
index 32ef34ffd3e42d7ff65ad9e9769e336acab30768..9dcdd0e6bb85495b651c71150851d34031bcac92 100644 |
--- a/device/gamepad/gamepad_platform_data_fetcher.h |
+++ b/device/gamepad/gamepad_platform_data_fetcher.h |
@@ -8,54 +8,49 @@ |
#ifndef DEVICE_GAMEPAD_GAMEPAD_PLATFORM_DATA_FETCHER_H_ |
#define DEVICE_GAMEPAD_GAMEPAD_PLATFORM_DATA_FETCHER_H_ |
+#include <memory> |
+ |
#include "base/compiler_specific.h" |
#include "base/macros.h" |
#include "build/build_config.h" |
#include "device/gamepad/gamepad_data_fetcher.h" |
+#include "device/gamepad/gamepad_data_fetcher_manager.h" |
#if defined(OS_ANDROID) |
#include "device/gamepad/gamepad_platform_data_fetcher_android.h" |
#elif defined(OS_WIN) |
#include "device/gamepad/gamepad_platform_data_fetcher_win.h" |
+#include "device/gamepad/raw_input_data_fetcher_win.h" |
#elif defined(OS_MACOSX) |
#include "device/gamepad/gamepad_platform_data_fetcher_mac.h" |
+#include "device/gamepad/xbox_data_fetcher_mac.h" |
#elif defined(OS_LINUX) |
#include "device/gamepad/gamepad_platform_data_fetcher_linux.h" |
#endif |
namespace device { |
+void AddGamepadPlatformDataFetchers(GamepadDataFetcherManager* manager) { |
#if defined(OS_ANDROID) |
-typedef GamepadPlatformDataFetcherAndroid GamepadPlatformDataFetcher; |
+ manager->AddFactory(new GamepadPlatformDataFetcherAndroid::Factory()); |
#elif defined(OS_WIN) |
-typedef GamepadPlatformDataFetcherWin GamepadPlatformDataFetcher; |
+ manager->AddFactory(new GamepadPlatformDataFetcherWin::Factory()); |
+ manager->AddFactory(new RawInputDataFetcher::Factory()); |
#elif defined(OS_MACOSX) |
-typedef GamepadPlatformDataFetcherMac GamepadPlatformDataFetcher; |
+ manager->AddFactory(new GamepadPlatformDataFetcherMac::Factory()); |
+ manager->AddFactory(new XboxDataFetcher::Factory()); |
#elif defined(OS_LINUX) && defined(USE_UDEV) |
-typedef GamepadPlatformDataFetcherLinux GamepadPlatformDataFetcher; |
- |
-#else |
- |
-class GamepadDataFetcherEmpty : public GamepadDataFetcher { |
- public: |
- GamepadDataFetcherEmpty(); |
- |
- void GetGamepadData(blink::WebGamepads* pads, |
- bool devices_changed_hint) override; |
- |
- private: |
- DISALLOW_COPY_AND_ASSIGN(GamepadDataFetcherEmpty); |
-}; |
-typedef GamepadDataFetcherEmpty GamepadPlatformDataFetcher; |
+ manager->AddFactory(new GamepadPlatformDataFetcherLinux::Factory()); |
#endif |
+} |
} // namespace device |