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. 4 5 // Define the default data fetcher that GamepadProvider will use if none is 6 // supplied. (GamepadPlatformDataFetcher). 7 8 #ifndef CONTENT_BROWSER_GAMEPAD_GAMEPAD_PLATFORM_DATA_FETCHER_H_ 9 #define CONTENT_BROWSER_GAMEPAD_GAMEPAD_PLATFORM_DATA_FETCHER_H_ 10 11 #include "base/basictypes.h" 12 #include "base/compiler_specific.h" 13 #include "content/browser/gamepad/gamepad_data_fetcher.h" 14 15 #if defined(OS_WIN) 16 #include "content/browser/gamepad/gamepad_platform_data_fetcher_win.h" 17 #elif defined(OS_MACOSX) 18 #include "content/browser/gamepad/gamepad_platform_data_fetcher_mac.h" 19 #elif defined(OS_LINUX) 20 #include "content/browser/gamepad/gamepad_platform_data_fetcher_linux.h" 21 #endif 22 23 namespace content { 24 25 #if defined(OS_WIN) 26 27 typedef GamepadPlatformDataFetcherWin GamepadPlatformDataFetcher; 28 29 #elif defined(OS_MACOSX) 30 31 typedef GamepadPlatformDataFetcherMac GamepadPlatformDataFetcher; 32 33 #elif defined(OS_LINUX) && defined(USE_UDEV) 34 35 typedef GamepadPlatformDataFetcherLinux GamepadPlatformDataFetcher; 36 37 #else 38 39 class GamepadDataFetcherEmpty : public GamepadDataFetcher { 40 public: 41 GamepadDataFetcherEmpty(); 42 43 virtual void GetGamepadData(blink::WebGamepads* pads, 44 bool devices_changed_hint) OVERRIDE; 45 46 private: 47 DISALLOW_COPY_AND_ASSIGN(GamepadDataFetcherEmpty); 48 }; 49 typedef GamepadDataFetcherEmpty GamepadPlatformDataFetcher; 50 51 #endif 52 53 } // namespace content 54 55 #endif // CONTENT_BROWSER_GAMEPAD_GAMEPAD_PLATFORM_DATA_FETCHER_H_ 56