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

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

Issue 1265833005: Get all the UsbConfigDescriptor for the device configuration (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: use const auto Created 5 years, 4 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 "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/barrier_closure.h" 10 #include "base/barrier_closure.h"
(...skipping 748 matching lines...) Expand 10 before | Expand all | Expand 10 after
759 GetConfiguration::Params::Create(*args_); 759 GetConfiguration::Params::Create(*args_);
760 EXTENSION_FUNCTION_VALIDATE(parameters.get()); 760 EXTENSION_FUNCTION_VALIDATE(parameters.get());
761 761
762 scoped_refptr<UsbDeviceHandle> device_handle = 762 scoped_refptr<UsbDeviceHandle> device_handle =
763 GetDeviceHandle(parameters->handle); 763 GetDeviceHandle(parameters->handle);
764 if (!device_handle.get()) { 764 if (!device_handle.get()) {
765 return RespondNow(Error(kErrorNoConnection)); 765 return RespondNow(Error(kErrorNoConnection));
766 } 766 }
767 767
768 const UsbConfigDescriptor* config_descriptor = 768 const UsbConfigDescriptor* config_descriptor =
769 device_handle->GetDevice()->GetConfiguration(); 769 device_handle->GetDevice()->GetActiveConfiguration();
770 if (config_descriptor) { 770 if (config_descriptor) {
771 ConfigDescriptor config; 771 ConfigDescriptor config;
772 ConvertConfigDescriptor(*config_descriptor, &config); 772 ConvertConfigDescriptor(*config_descriptor, &config);
773 return RespondNow(OneArgument(config.ToValue().release())); 773 return RespondNow(OneArgument(config.ToValue().release()));
774 } else { 774 } else {
775 return RespondNow(Error(kErrorNotConfigured)); 775 return RespondNow(Error(kErrorNotConfigured));
776 } 776 }
777 } 777 }
778 778
779 UsbListInterfacesFunction::UsbListInterfacesFunction() { 779 UsbListInterfacesFunction::UsbListInterfacesFunction() {
780 } 780 }
781 781
782 UsbListInterfacesFunction::~UsbListInterfacesFunction() { 782 UsbListInterfacesFunction::~UsbListInterfacesFunction() {
783 } 783 }
784 784
785 ExtensionFunction::ResponseAction UsbListInterfacesFunction::Run() { 785 ExtensionFunction::ResponseAction UsbListInterfacesFunction::Run() {
786 scoped_ptr<extensions::api::usb::ListInterfaces::Params> parameters = 786 scoped_ptr<extensions::api::usb::ListInterfaces::Params> parameters =
787 ListInterfaces::Params::Create(*args_); 787 ListInterfaces::Params::Create(*args_);
788 EXTENSION_FUNCTION_VALIDATE(parameters.get()); 788 EXTENSION_FUNCTION_VALIDATE(parameters.get());
789 789
790 scoped_refptr<UsbDeviceHandle> device_handle = 790 scoped_refptr<UsbDeviceHandle> device_handle =
791 GetDeviceHandle(parameters->handle); 791 GetDeviceHandle(parameters->handle);
792 if (!device_handle.get()) { 792 if (!device_handle.get()) {
793 return RespondNow(Error(kErrorNoConnection)); 793 return RespondNow(Error(kErrorNoConnection));
794 } 794 }
795 795
796 const UsbConfigDescriptor* config_descriptor = 796 const UsbConfigDescriptor* config_descriptor =
797 device_handle->GetDevice()->GetConfiguration(); 797 device_handle->GetDevice()->GetActiveConfiguration();
798 if (config_descriptor) { 798 if (config_descriptor) {
799 ConfigDescriptor config; 799 ConfigDescriptor config;
800 ConvertConfigDescriptor(*config_descriptor, &config); 800 ConvertConfigDescriptor(*config_descriptor, &config);
801 801
802 scoped_ptr<base::ListValue> result(new base::ListValue); 802 scoped_ptr<base::ListValue> result(new base::ListValue);
803 for (size_t i = 0; i < config.interfaces.size(); ++i) { 803 for (size_t i = 0; i < config.interfaces.size(); ++i) {
804 result->Append(config.interfaces[i]->ToValue().release()); 804 result->Append(config.interfaces[i]->ToValue().release());
805 } 805 }
806 806
807 return RespondNow(OneArgument(result.release())); 807 return RespondNow(OneArgument(result.release()));
(...skipping 359 matching lines...) Expand 10 before | Expand all | Expand 10 after
1167 ReleaseDeviceHandle(parameters_->handle); 1167 ReleaseDeviceHandle(parameters_->handle);
1168 1168
1169 scoped_ptr<base::ListValue> error_args(new base::ListValue()); 1169 scoped_ptr<base::ListValue> error_args(new base::ListValue());
1170 error_args->AppendBoolean(false); 1170 error_args->AppendBoolean(false);
1171 // Returning arguments with an error is wrong but we're stuck with it. 1171 // Returning arguments with an error is wrong but we're stuck with it.
1172 Respond(ErrorWithArguments(error_args.Pass(), kErrorResetDevice)); 1172 Respond(ErrorWithArguments(error_args.Pass(), kErrorResetDevice));
1173 } 1173 }
1174 } 1174 }
1175 1175
1176 } // namespace extensions 1176 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698