| Index: content/browser/gamepad/xbox_data_fetcher_mac.h
|
| diff --git a/content/browser/gamepad/xbox_data_fetcher_mac.h b/content/browser/gamepad/xbox_data_fetcher_mac.h
|
| index 9b3a4543deb279c355c9210c9f9c94f40c1b293a..599a63cf6cdb745d89dbd911e043c212017fff05 100644
|
| --- a/content/browser/gamepad/xbox_data_fetcher_mac.h
|
| +++ b/content/browser/gamepad/xbox_data_fetcher_mac.h
|
| @@ -17,12 +17,6 @@
|
| #include "base/mac/scoped_ioplugininterface.h"
|
| #include "base/macros.h"
|
| #include "base/memory/scoped_ptr.h"
|
| -#include "content/browser/gamepad/gamepad_data_fetcher.h"
|
| -
|
| -struct IOUSBDeviceStruct320;
|
| -struct IOUSBInterfaceStruct300;
|
| -
|
| -namespace content {
|
|
|
| class XboxController {
|
| public:
|
| @@ -107,11 +101,11 @@
|
|
|
| // Handle for the USB device. IOUSBDeviceStruct320 is the latest version of
|
| // the device API that is supported on Mac OS 10.6.
|
| - base::mac::ScopedIOPluginInterface<IOUSBDeviceStruct320> device_;
|
| + base::mac::ScopedIOPluginInterface<struct IOUSBDeviceStruct320> device_;
|
|
|
| // Handle for the interface on the device which sends button and analog data.
|
| // The other interfaces (for the ChatPad and headset) are ignored.
|
| - base::mac::ScopedIOPluginInterface<IOUSBInterfaceStruct300> interface_;
|
| + base::mac::ScopedIOPluginInterface<struct IOUSBInterfaceStruct300> interface_;
|
|
|
| bool device_is_open_;
|
| bool interface_is_open_;
|
| @@ -142,13 +136,18 @@
|
| DISALLOW_COPY_AND_ASSIGN(XboxController);
|
| };
|
|
|
| -class XboxDataFetcher : public GamepadDataFetcher,
|
| - public XboxController::Delegate {
|
| +class XboxDataFetcher : public XboxController::Delegate {
|
| public:
|
| - XboxDataFetcher();
|
| - ~XboxDataFetcher() override;
|
| + class Delegate {
|
| + public:
|
| + virtual void XboxDeviceAdd(XboxController* device) = 0;
|
| + virtual void XboxDeviceRemove(XboxController* device) = 0;
|
| + virtual void XboxValueChanged(XboxController* device,
|
| + const XboxController::Data& data) = 0;
|
| + };
|
|
|
| - void GetGamepadData(bool devices_changed_hint) override;
|
| + explicit XboxDataFetcher(Delegate* delegate);
|
| + virtual ~XboxDataFetcher();
|
|
|
| bool RegisterForNotifications();
|
| bool RegisterForDeviceNotifications(
|
| @@ -163,13 +162,14 @@
|
| private:
|
| static void DeviceAdded(void* context, io_iterator_t iterator);
|
| static void DeviceRemoved(void* context, io_iterator_t iterator);
|
| - void OnAddedToProvider() override;
|
| void AddController(XboxController* controller);
|
| void RemoveController(XboxController* controller);
|
| void RemoveControllerByLocationID(uint32_t id);
|
| void XboxControllerGotData(XboxController* controller,
|
| const XboxController::Data& data) override;
|
| void XboxControllerError(XboxController* controller) override;
|
| +
|
| + Delegate* delegate_;
|
|
|
| std::set<XboxController*> controllers_;
|
|
|
| @@ -187,6 +187,4 @@
|
| DISALLOW_COPY_AND_ASSIGN(XboxDataFetcher);
|
| };
|
|
|
| -} // namespace content
|
| -
|
| #endif // CONTENT_BROWSER_GAMEPAD_XBOX_DATA_FETCHER_MAC_H_
|
|
|