Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / content / browser / gamepad / gamepad_platform_data_fetcher.h
blob04aab03e265940166694af3f02c12f6b69068cad
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 // Define the default data fetcher that GamepadProvider will use if none is
6 // supplied. (GamepadPlatformDataFetcher).
8 #ifndef CONTENT_BROWSER_GAMEPAD_GAMEPAD_PLATFORM_DATA_FETCHER_H_
9 #define CONTENT_BROWSER_GAMEPAD_GAMEPAD_PLATFORM_DATA_FETCHER_H_
11 #include "base/basictypes.h"
12 #include "base/compiler_specific.h"
13 #include "content/browser/gamepad/gamepad_data_fetcher.h"
15 #if defined(OS_ANDROID)
16 #include "content/browser/gamepad/gamepad_platform_data_fetcher_android.h"
17 #elif defined(OS_WIN)
18 #include "content/browser/gamepad/gamepad_platform_data_fetcher_win.h"
19 #elif defined(OS_MACOSX)
20 #include "content/browser/gamepad/gamepad_platform_data_fetcher_mac.h"
21 #elif defined(OS_LINUX)
22 #include "content/browser/gamepad/gamepad_platform_data_fetcher_linux.h"
23 #endif
25 namespace content {
27 #if defined(OS_ANDROID)
29 typedef GamepadPlatformDataFetcherAndroid GamepadPlatformDataFetcher;
31 #elif defined(OS_WIN)
33 typedef GamepadPlatformDataFetcherWin GamepadPlatformDataFetcher;
35 #elif defined(OS_MACOSX)
37 typedef GamepadPlatformDataFetcherMac GamepadPlatformDataFetcher;
39 #elif defined(OS_LINUX) && defined(USE_UDEV)
41 typedef GamepadPlatformDataFetcherLinux GamepadPlatformDataFetcher;
43 #else
45 class GamepadDataFetcherEmpty : public GamepadDataFetcher {
46 public:
47 GamepadDataFetcherEmpty();
49 void GetGamepadData(blink::WebGamepads* pads,
50 bool devices_changed_hint) override;
52 private:
53 DISALLOW_COPY_AND_ASSIGN(GamepadDataFetcherEmpty);
55 typedef GamepadDataFetcherEmpty GamepadPlatformDataFetcher;
57 #endif
59 } // namespace content
61 #endif // CONTENT_BROWSER_GAMEPAD_GAMEPAD_PLATFORM_DATA_FETCHER_H_