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 23namespace content { 24 25#if defined(OS_WIN) 26 27typedef GamepadPlatformDataFetcherWin GamepadPlatformDataFetcher; 28 29#elif defined(OS_MACOSX) 30 31typedef GamepadPlatformDataFetcherMac GamepadPlatformDataFetcher; 32 33#elif defined(OS_LINUX) 34 35typedef GamepadPlatformDataFetcherLinux GamepadPlatformDataFetcher; 36 37#else 38 39class GamepadDataFetcherEmpty : public GamepadDataFetcher { 40 public: 41 GamepadDataFetcherEmpty(); 42 43 virtual void GetGamepadData(WebKit::WebGamepads* pads, 44 bool devices_changed_hint) OVERRIDE; 45 46 private: 47 DISALLOW_COPY_AND_ASSIGN(GamepadDataFetcherEmpty); 48}; 49typedef GamepadDataFetcherEmpty GamepadPlatformDataFetcher; 50 51#endif 52 53} // namespace content 54 55#endif // CONTENT_BROWSER_GAMEPAD_GAMEPAD_PLATFORM_DATA_FETCHER_H_ 56