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

Side by Side Diff: device/test/usb_test_gadget_impl.cc

Issue 601073002: Move string descriptor getters from UsbDeviceHandle to UsbDevice. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 #include "device/test/usb_test_gadget.h" 5 #include "device/test/usb_test_gadget.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
64 64
65 class UsbTestGadgetImpl : public UsbTestGadget { 65 class UsbTestGadgetImpl : public UsbTestGadget {
66 public: 66 public:
67 virtual ~UsbTestGadgetImpl(); 67 virtual ~UsbTestGadgetImpl();
68 68
69 virtual bool Unclaim() OVERRIDE; 69 virtual bool Unclaim() OVERRIDE;
70 virtual bool Disconnect() OVERRIDE; 70 virtual bool Disconnect() OVERRIDE;
71 virtual bool Reconnect() OVERRIDE; 71 virtual bool Reconnect() OVERRIDE;
72 virtual bool SetType(Type type) OVERRIDE; 72 virtual bool SetType(Type type) OVERRIDE;
73 virtual UsbDevice* GetDevice() const OVERRIDE; 73 virtual UsbDevice* GetDevice() const OVERRIDE;
74 virtual std::string GetSerial() const OVERRIDE; 74 virtual std::string GetSerialNumber() const OVERRIDE;
75 75
76 protected: 76 protected:
77 UsbTestGadgetImpl(); 77 UsbTestGadgetImpl();
78 78
79 private: 79 private:
80 scoped_ptr<net::URLFetcher> CreateURLFetcher( 80 scoped_ptr<net::URLFetcher> CreateURLFetcher(
81 const GURL& url, 81 const GURL& url,
82 net::URLFetcher::RequestType request_type, 82 net::URLFetcher::RequestType request_type,
83 net::URLFetcherDelegate* delegate); 83 net::URLFetcherDelegate* delegate);
84 int SimplePOSTRequest(const GURL& url, const std::string& form_data); 84 int SimplePOSTRequest(const GURL& url, const std::string& form_data);
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
159 UsbTestGadgetImpl::~UsbTestGadgetImpl() { 159 UsbTestGadgetImpl::~UsbTestGadgetImpl() {
160 if (!device_address_.empty()) { 160 if (!device_address_.empty()) {
161 Unclaim(); 161 Unclaim();
162 } 162 }
163 } 163 }
164 164
165 UsbDevice* UsbTestGadgetImpl::GetDevice() const { 165 UsbDevice* UsbTestGadgetImpl::GetDevice() const {
166 return device_.get(); 166 return device_.get();
167 } 167 }
168 168
169 std::string UsbTestGadgetImpl::GetSerial() const { 169 std::string UsbTestGadgetImpl::GetSerialNumber() const {
170 return device_address_; 170 return device_address_;
171 } 171 }
172 172
173 scoped_ptr<net::URLFetcher> UsbTestGadgetImpl::CreateURLFetcher( 173 scoped_ptr<net::URLFetcher> UsbTestGadgetImpl::CreateURLFetcher(
174 const GURL& url, net::URLFetcher::RequestType request_type, 174 const GURL& url, net::URLFetcher::RequestType request_type,
175 net::URLFetcherDelegate* delegate) { 175 net::URLFetcherDelegate* delegate) {
176 scoped_ptr<net::URLFetcher> url_fetcher( 176 scoped_ptr<net::URLFetcher> url_fetcher(
177 net::URLFetcher::Create(url, request_type, delegate)); 177 net::URLFetcher::Create(url, request_type, delegate));
178 178
179 url_fetcher->SetRequestContext( 179 url_fetcher->SetRequestContext(
(...skipping 18 matching lines...) Expand all
198 } 198 }
199 199
200 bool UsbTestGadgetImpl::FindUnclaimed() { 200 bool UsbTestGadgetImpl::FindUnclaimed() {
201 std::vector<scoped_refptr<UsbDevice> > devices; 201 std::vector<scoped_refptr<UsbDevice> > devices;
202 usb_service_->GetDevices(&devices); 202 usb_service_->GetDevices(&devices);
203 203
204 for (std::vector<scoped_refptr<UsbDevice> >::const_iterator iter = 204 for (std::vector<scoped_refptr<UsbDevice> >::const_iterator iter =
205 devices.begin(); iter != devices.end(); ++iter) { 205 devices.begin(); iter != devices.end(); ++iter) {
206 const scoped_refptr<UsbDevice> &device = *iter; 206 const scoped_refptr<UsbDevice> &device = *iter;
207 if (device->vendor_id() == 0x18D1 && device->product_id() == 0x58F0) { 207 if (device->vendor_id() == 0x18D1 && device->product_id() == 0x58F0) {
208 scoped_refptr<UsbDeviceHandle> handle = device->Open(); 208 base::string16 serial_utf16;
209 if (handle.get() == NULL) { 209 if (!device->GetSerialNumber(&serial_utf16)) {
210 continue; 210 continue;
211 } 211 }
212 212
213 base::string16 serial_utf16;
214 if (!handle->GetSerial(&serial_utf16)) {
215 continue;
216 }
217
218 const std::string serial = base::UTF16ToUTF8(serial_utf16); 213 const std::string serial = base::UTF16ToUTF8(serial_utf16);
219 const GURL url("http://" + serial + "/claim"); 214 const GURL url("http://" + serial + "/claim");
220 const std::string form_data = base::StringPrintf( 215 const std::string form_data = base::StringPrintf(
221 "session_id=%s", 216 "session_id=%s",
222 net::EscapeUrlEncodedData(session_id_, true).c_str()); 217 net::EscapeUrlEncodedData(session_id_, true).c_str());
223 const int response_code = SimplePOSTRequest(url, form_data); 218 const int response_code = SimplePOSTRequest(url, form_data);
224 219
225 if (response_code == 200) { 220 if (response_code == 200) {
226 device_address_ = serial; 221 device_address_ = serial;
227 device_ = device; 222 device_ = device;
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
333 } 328 }
334 VLOG(1) << "It took " << (kReconnectRetries - retries) 329 VLOG(1) << "It took " << (kReconnectRetries - retries)
335 << " retries to find the updated device."; 330 << " retries to find the updated device.";
336 331
337 return true; 332 return true;
338 } 333 }
339 334
340 bool UsbTestGadgetImpl::FindClaimed() { 335 bool UsbTestGadgetImpl::FindClaimed() {
341 CHECK(!device_.get()); 336 CHECK(!device_.get());
342 337
343 std::string expected_serial = GetSerial(); 338 std::string expected_serial = GetSerialNumber();
344 339
345 std::vector<scoped_refptr<UsbDevice> > devices; 340 std::vector<scoped_refptr<UsbDevice> > devices;
346 usb_service_->GetDevices(&devices); 341 usb_service_->GetDevices(&devices);
347 342
348 for (std::vector<scoped_refptr<UsbDevice> >::iterator iter = 343 for (std::vector<scoped_refptr<UsbDevice> >::iterator iter =
349 devices.begin(); iter != devices.end(); ++iter) { 344 devices.begin(); iter != devices.end(); ++iter) {
350 scoped_refptr<UsbDevice> &device = *iter; 345 scoped_refptr<UsbDevice> &device = *iter;
351 346
352 if (device->vendor_id() == 0x18D1) { 347 if (device->vendor_id() == 0x18D1) {
353 const uint16 product_id = device->product_id(); 348 const uint16 product_id = device->product_id();
354 bool found = false; 349 bool found = false;
355 for (size_t i = 0; i < arraysize(kConfigurations); ++i) { 350 for (size_t i = 0; i < arraysize(kConfigurations); ++i) {
356 if (product_id == kConfigurations[i].product_id) { 351 if (product_id == kConfigurations[i].product_id) {
357 found = true; 352 found = true;
358 break; 353 break;
359 } 354 }
360 } 355 }
361 if (!found) { 356 if (!found) {
362 continue; 357 continue;
363 } 358 }
364 359
365 scoped_refptr<UsbDeviceHandle> handle(device->Open());
366 if (handle.get() == NULL) {
367 continue;
368 }
369
370 base::string16 serial_utf16; 360 base::string16 serial_utf16;
371 if (!handle->GetSerial(&serial_utf16)) { 361 if (!device->GetSerialNumber(&serial_utf16)) {
372 continue; 362 continue;
373 } 363 }
374 364
375 std::string serial = base::UTF16ToUTF8(serial_utf16); 365 std::string serial = base::UTF16ToUTF8(serial_utf16);
376 if (serial != expected_serial) { 366 if (serial != expected_serial) {
377 continue; 367 continue;
378 } 368 }
379 369
380 device_ = device; 370 device_ = device;
381 return true; 371 return true;
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
524 } 514 }
525 PlatformThread::Sleep(TimeDelta::FromMilliseconds(kRetryPeriod)); 515 PlatformThread::Sleep(TimeDelta::FromMilliseconds(kRetryPeriod));
526 } 516 }
527 VLOG(1) << "It took " << (kDisconnectRetries - retries) 517 VLOG(1) << "It took " << (kDisconnectRetries - retries)
528 << " retries for the device to reconnect."; 518 << " retries for the device to reconnect.";
529 519
530 return true; 520 return true;
531 } 521 }
532 522
533 } // namespace device 523 } // namespace device
OLDNEW
« no previous file with comments | « device/test/usb_test_gadget.h ('k') | device/usb/usb_device.h » ('j') | device/usb/usb_device.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698