blob: 042eae7b769c2563e142cbd2db8ae6bf216d2522 [file] [log] [blame]
// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef DEVICE_GAMEPAD_GAME_CONTROLLER_DATA_FETCHER_MAC_H_
#define DEVICE_GAMEPAD_GAME_CONTROLLER_DATA_FETCHER_MAC_H_
#include "base/macros.h"
#include "device/gamepad/gamepad_data_fetcher.h"
#if defined(__OBJC__)
@class NSArray;
#else
class NSArray;
#endif
namespace device {
class GameControllerDataFetcherMac : public GamepadDataFetcher {
public:
typedef GamepadDataFetcherFactoryImpl<GameControllerDataFetcherMac,
GAMEPAD_SOURCE_MAC_GC>
Factory;
GameControllerDataFetcherMac();
~GameControllerDataFetcherMac() override;
GamepadSource source() override;
void GetGamepadData(bool devices_changed_hint) override;
private:
int NextUnusedPlayerIndex();
DISALLOW_COPY_AND_ASSIGN(GameControllerDataFetcherMac);
bool connected_[Gamepads::kItemsLengthCap];
};
} // namespace device
#endif // DEVICE_GAMEPAD_GAMEPAD_PLATFORM_DATA_FETCHER_MAC_H_