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

Side by Side Diff: extensions/browser/api/usb/usb_api.cc

Issue 278633003: Extracted UsbDeviceHandle as interface. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 7 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 | Annotate | Revision Log
« no previous file with comments | « components/usb_service/usb_device_impl.cc ('k') | extensions/browser/api/usb/usb_apitest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "extensions/browser/api/usb/usb_api.h" 5 #include "extensions/browser/api/usb/usb_api.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
(...skipping 446 matching lines...) Expand 10 before | Expand all | Expand 10 after
457 scoped_refptr<UsbDeviceHandle> 457 scoped_refptr<UsbDeviceHandle>
458 UsbAsyncApiFunction::GetDeviceHandleOrCompleteWithError( 458 UsbAsyncApiFunction::GetDeviceHandleOrCompleteWithError(
459 const ConnectionHandle& input_device_handle) { 459 const ConnectionHandle& input_device_handle) {
460 UsbDeviceResource* resource = 460 UsbDeviceResource* resource =
461 manager_->Get(extension_->id(), input_device_handle.handle); 461 manager_->Get(extension_->id(), input_device_handle.handle);
462 if (!resource) { 462 if (!resource) {
463 CompleteWithError(kErrorNoDevice); 463 CompleteWithError(kErrorNoDevice);
464 return NULL; 464 return NULL;
465 } 465 }
466 466
467 if (!resource->device() || !resource->device()->device()) { 467 if (!resource->device() || !resource->device()->GetDevice()) {
468 CompleteWithError(kErrorDisconnect); 468 CompleteWithError(kErrorDisconnect);
469 manager_->Remove(extension_->id(), input_device_handle.handle); 469 manager_->Remove(extension_->id(), input_device_handle.handle);
470 return NULL; 470 return NULL;
471 } 471 }
472 472
473 if (resource->device()->device()->vendor_id() != 473 if (resource->device()->GetDevice()->vendor_id() !=
474 input_device_handle.vendor_id || 474 input_device_handle.vendor_id ||
475 resource->device()->device()->product_id() != 475 resource->device()->GetDevice()->product_id() !=
476 input_device_handle.product_id) { 476 input_device_handle.product_id) {
477 CompleteWithError(kErrorNoDevice); 477 CompleteWithError(kErrorNoDevice);
478 return NULL; 478 return NULL;
479 } 479 }
480 480
481 return resource->device(); 481 return resource->device();
482 } 482 }
483 483
484 void UsbAsyncApiFunction::RemoveUsbDeviceResource(int api_resource_id) { 484 void UsbAsyncApiFunction::RemoveUsbDeviceResource(int api_resource_id) {
485 manager_->Remove(extension_->id(), api_resource_id); 485 manager_->Remove(extension_->id(), api_resource_id);
(...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after
714 714
715 handle_ = device->Open(); 715 handle_ = device->Open();
716 if (!handle_) { 716 if (!handle_) {
717 SetError(kErrorOpen); 717 SetError(kErrorOpen);
718 AsyncWorkCompleted(); 718 AsyncWorkCompleted();
719 return; 719 return;
720 } 720 }
721 721
722 SetResult(PopulateConnectionHandle( 722 SetResult(PopulateConnectionHandle(
723 manager_->Add(new UsbDeviceResource(extension_->id(), handle_)), 723 manager_->Add(new UsbDeviceResource(extension_->id(), handle_)),
724 handle_->device()->vendor_id(), 724 handle_->GetDevice()->vendor_id(),
725 handle_->device()->product_id())); 725 handle_->GetDevice()->product_id()));
726 AsyncWorkCompleted(); 726 AsyncWorkCompleted();
727 } 727 }
728 728
729 UsbListInterfacesFunction::UsbListInterfacesFunction() { 729 UsbListInterfacesFunction::UsbListInterfacesFunction() {
730 } 730 }
731 731
732 UsbListInterfacesFunction::~UsbListInterfacesFunction() { 732 UsbListInterfacesFunction::~UsbListInterfacesFunction() {
733 } 733 }
734 734
735 bool UsbListInterfacesFunction::Prepare() { 735 bool UsbListInterfacesFunction::Prepare() {
736 parameters_ = ListInterfaces::Params::Create(*args_); 736 parameters_ = ListInterfaces::Params::Create(*args_);
737 EXTENSION_FUNCTION_VALIDATE(parameters_.get()); 737 EXTENSION_FUNCTION_VALIDATE(parameters_.get());
738 return true; 738 return true;
739 } 739 }
740 740
741 void UsbListInterfacesFunction::AsyncWorkStart() { 741 void UsbListInterfacesFunction::AsyncWorkStart() {
742 scoped_refptr<UsbDeviceHandle> device_handle = 742 scoped_refptr<UsbDeviceHandle> device_handle =
743 GetDeviceHandleOrCompleteWithError(parameters_->handle); 743 GetDeviceHandleOrCompleteWithError(parameters_->handle);
744 if (!device_handle) 744 if (!device_handle)
745 return; 745 return;
746 746
747 scoped_refptr<UsbConfigDescriptor> config = 747 scoped_refptr<UsbConfigDescriptor> config =
748 device_handle->device()->ListInterfaces(); 748 device_handle->GetDevice()->ListInterfaces();
749 749
750 if (!config) { 750 if (!config) {
751 SetError(kErrorCannotListInterfaces); 751 SetError(kErrorCannotListInterfaces);
752 AsyncWorkCompleted(); 752 AsyncWorkCompleted();
753 return; 753 return;
754 } 754 }
755 755
756 result_.reset(new base::ListValue()); 756 result_.reset(new base::ListValue());
757 757
758 for (size_t i = 0, num_interfaces = config->GetNumInterfaces(); 758 for (size_t i = 0, num_interfaces = config->GetNumInterfaces();
(...skipping 440 matching lines...) Expand 10 before | Expand all | Expand 10 after
1199 SetResult(new base::FundamentalValue(false)); 1199 SetResult(new base::FundamentalValue(false));
1200 CompleteWithError(kErrorResetDevice); 1200 CompleteWithError(kErrorResetDevice);
1201 return; 1201 return;
1202 } 1202 }
1203 1203
1204 SetResult(new base::FundamentalValue(true)); 1204 SetResult(new base::FundamentalValue(true));
1205 AsyncWorkCompleted(); 1205 AsyncWorkCompleted();
1206 } 1206 }
1207 1207
1208 } // namespace extensions 1208 } // namespace extensions
OLDNEW
« no previous file with comments | « components/usb_service/usb_device_impl.cc ('k') | extensions/browser/api/usb/usb_apitest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698