OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CONTENT_BROWSER_GAMEPAD_XBOX_DATA_FETCHER_MAC_H_ | 5 #ifndef CONTENT_BROWSER_GAMEPAD_XBOX_DATA_FETCHER_MAC_H_ |
6 #define CONTENT_BROWSER_GAMEPAD_XBOX_DATA_FETCHER_MAC_H_ | 6 #define CONTENT_BROWSER_GAMEPAD_XBOX_DATA_FETCHER_MAC_H_ |
7 | 7 |
8 #include <CoreFoundation/CoreFoundation.h> | 8 #include <CoreFoundation/CoreFoundation.h> |
9 #include <IOKit/IOKitLib.h> | 9 #include <IOKit/IOKitLib.h> |
10 | 10 |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
91 // the device API that is supported on Mac OS 10.6. | 91 // the device API that is supported on Mac OS 10.6. |
92 base::mac::ScopedIOPluginInterface<struct IOUSBDeviceStruct320> device_; | 92 base::mac::ScopedIOPluginInterface<struct IOUSBDeviceStruct320> device_; |
93 | 93 |
94 // Handle for the interface on the device which sends button and analog data. | 94 // Handle for the interface on the device which sends button and analog data. |
95 // The other interfaces (for the ChatPad and headset) are ignored. | 95 // The other interfaces (for the ChatPad and headset) are ignored. |
96 base::mac::ScopedIOPluginInterface<struct IOUSBInterfaceStruct300> interface_; | 96 base::mac::ScopedIOPluginInterface<struct IOUSBInterfaceStruct300> interface_; |
97 | 97 |
98 bool device_is_open_; | 98 bool device_is_open_; |
99 bool interface_is_open_; | 99 bool interface_is_open_; |
100 | 100 |
101 base::mac::ScopedCFTypeRef<CFRunLoopSourceRef> source_; | 101 base::ScopedCFTypeRef<CFRunLoopSourceRef> source_; |
102 | 102 |
103 // This will be set to the max packet size reported by the interface, which | 103 // This will be set to the max packet size reported by the interface, which |
104 // is 32 bytes. I would have expected USB to do message framing itself, but | 104 // is 32 bytes. I would have expected USB to do message framing itself, but |
105 // somehow we still sometimes (rarely!) get packets off the interface which | 105 // somehow we still sometimes (rarely!) get packets off the interface which |
106 // aren't correctly framed. The 360 controller frames its packets with a 2 | 106 // aren't correctly framed. The 360 controller frames its packets with a 2 |
107 // byte header (type, total length) so we can reframe the packet data | 107 // byte header (type, total length) so we can reframe the packet data |
108 // ourselves. | 108 // ourselves. |
109 uint16 read_buffer_size_; | 109 uint16 read_buffer_size_; |
110 scoped_ptr<uint8[]> read_buffer_; | 110 scoped_ptr<uint8[]> read_buffer_; |
111 | 111 |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
158 // do need to maintain a reference to it so we can invalidate it. | 158 // do need to maintain a reference to it so we can invalidate it. |
159 CFRunLoopSourceRef source_; | 159 CFRunLoopSourceRef source_; |
160 IONotificationPortRef port_; | 160 IONotificationPortRef port_; |
161 base::mac::ScopedIOObject<io_iterator_t> device_added_iter_; | 161 base::mac::ScopedIOObject<io_iterator_t> device_added_iter_; |
162 base::mac::ScopedIOObject<io_iterator_t> device_removed_iter_; | 162 base::mac::ScopedIOObject<io_iterator_t> device_removed_iter_; |
163 | 163 |
164 DISALLOW_COPY_AND_ASSIGN(XboxDataFetcher); | 164 DISALLOW_COPY_AND_ASSIGN(XboxDataFetcher); |
165 }; | 165 }; |
166 | 166 |
167 #endif // CONTENT_BROWSER_GAMEPAD_XBOX_DATA_FETCHER_MAC_H_ | 167 #endif // CONTENT_BROWSER_GAMEPAD_XBOX_DATA_FETCHER_MAC_H_ |
OLD | NEW |