Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2686)

Unified Diff: device/gamepad/gamepad_platform_data_fetcher.h

Issue 2129003002: Refactored gamepad polling to support dynamic sources (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed unit test issue and Mac XBoxDataFetcher constructor Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698