Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(104)

Side by Side Diff: device/usb/usb_device_handle_usbfs.h

Issue 2797433005: Remove MessageLoop destruction observer from //device/usb (Closed)
Patch Set: Add test for shutdown Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 DEVICE_USB_USB_DEVICE_HANDLE_USBFS_H_ 5 #ifndef DEVICE_USB_USB_DEVICE_HANDLE_USBFS_H_
6 #define DEVICE_USB_USB_DEVICE_HANDLE_USBFS_H_ 6 #define DEVICE_USB_USB_DEVICE_HANDLE_USBFS_H_
7 7
8 #include <list> 8 #include <list>
9 #include <map> 9 #include <map>
10 #include <memory> 10 #include <memory>
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
97 struct Transfer; 97 struct Transfer;
98 struct InterfaceInfo { 98 struct InterfaceInfo {
99 uint8_t alternate_setting; 99 uint8_t alternate_setting;
100 }; 100 };
101 struct EndpointInfo { 101 struct EndpointInfo {
102 UsbTransferType type; 102 UsbTransferType type;
103 const UsbInterfaceDescriptor* interface; 103 const UsbInterfaceDescriptor* interface;
104 }; 104 };
105 105
106 virtual void CloseBlocking(); 106 virtual void CloseBlocking();
107 void SetConfigurationBlocking(int configuration_value,
108 const ResultCallback& callback);
109 void SetConfigurationComplete(int configuration_value, 107 void SetConfigurationComplete(int configuration_value,
110 bool success, 108 bool success,
111 const ResultCallback& callback); 109 const ResultCallback& callback);
112 void ReleaseInterfaceBlocking(int interface_number,
113 const ResultCallback& callback);
114 void ReleaseInterfaceComplete(int interface_number, 110 void ReleaseInterfaceComplete(int interface_number,
115 const ResultCallback& callback); 111 const ResultCallback& callback);
116 void SetInterfaceBlocking(int interface_number,
117 int alternate_setting,
118 const ResultCallback& callback);
119 void ResetDeviceBlocking(const ResultCallback& callback);
120 void ClearHaltBlocking(uint8_t endpoint_address,
121 const ResultCallback& callback);
122 void IsochronousTransferInternal(uint8_t endpoint_address, 112 void IsochronousTransferInternal(uint8_t endpoint_address,
123 scoped_refptr<net::IOBuffer> buffer, 113 scoped_refptr<net::IOBuffer> buffer,
124 size_t total_length, 114 size_t total_length,
125 const std::vector<uint32_t>& packet_lengths, 115 const std::vector<uint32_t>& packet_lengths,
126 unsigned int timeout, 116 unsigned int timeout,
127 const IsochronousTransferCallback& callback); 117 const IsochronousTransferCallback& callback);
128 void GenericTransferInternal( 118 void GenericTransferInternal(
129 UsbEndpointDirection direction, 119 UsbEndpointDirection direction,
130 uint8_t endpoint_number, 120 uint8_t endpoint_number,
131 scoped_refptr<net::IOBuffer> buffer, 121 scoped_refptr<net::IOBuffer> buffer,
(...skipping 21 matching lines...) Expand all
153 143
154 // Maps claimed interfaces by interface number to their current alternate 144 // Maps claimed interfaces by interface number to their current alternate
155 // setting. 145 // setting.
156 std::map<uint8_t, InterfaceInfo> interfaces_; 146 std::map<uint8_t, InterfaceInfo> interfaces_;
157 147
158 // Maps endpoints (by endpoint address) to the interface they are a part of. 148 // Maps endpoints (by endpoint address) to the interface they are a part of.
159 // Only endpoints of currently claimed and selected interface alternates are 149 // Only endpoints of currently claimed and selected interface alternates are
160 // included in the map. 150 // included in the map.
161 std::map<uint8_t, EndpointInfo> endpoints_; 151 std::map<uint8_t, EndpointInfo> endpoints_;
162 152
163 // Helper object owned by the blocking task thread. It will be freed if that 153 // Helper object exists on the blocking task thread and must be freed there.
164 // thread's message loop is destroyed but can also be freed by this class on 154 std::unique_ptr<FileThreadHelper> helper_;
165 // destruction.
166 FileThreadHelper* helper_;
167 155
168 std::list<std::unique_ptr<Transfer>> transfers_; 156 std::list<std::unique_ptr<Transfer>> transfers_;
169 }; 157 };
170 158
171 } // namespace device 159 } // namespace device
172 160
173 #endif // DEVICE_USB_USB_DEVICE_HANDLE_USBFS_H_ 161 #endif // DEVICE_USB_USB_DEVICE_HANDLE_USBFS_H_
OLDNEW
« no previous file with comments | « no previous file | device/usb/usb_device_handle_usbfs.cc » ('j') | device/usb/usb_device_handle_usbfs.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698