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

Side by Side Diff: extensions/common/api/printer_provider/usb_printer_manifest_data.cc

Issue 1841483002: [Extensions] Convert APIs to use movable types [11] (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 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
« no previous file with comments | « extensions/common/api/idle.json ('k') | tools/json_schema_compiler/util.h » ('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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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/common/api/printer_provider/usb_printer_manifest_data.h" 5 #include "extensions/common/api/printer_provider/usb_printer_manifest_data.h"
6 6
7 #include "base/strings/utf_string_conversions.h" 7 #include "base/strings/utf_string_conversions.h"
8 #include "device/usb/usb_device.h" 8 #include "device/usb/usb_device.h"
9 #include "device/usb/usb_device_filter.h" 9 #include "device/usb/usb_device_filter.h"
10 #include "extensions/common/api/extensions_manifest_types.h" 10 #include "extensions/common/api/extensions_manifest_types.h"
(...skipping 21 matching lines...) Expand all
32 const base::Value& value, 32 const base::Value& value,
33 base::string16* error) { 33 base::string16* error) {
34 scoped_ptr<api::extensions_manifest_types::UsbPrinters> usb_printers = 34 scoped_ptr<api::extensions_manifest_types::UsbPrinters> usb_printers =
35 api::extensions_manifest_types::UsbPrinters::FromValue(value, error); 35 api::extensions_manifest_types::UsbPrinters::FromValue(value, error);
36 if (!usb_printers) { 36 if (!usb_printers) {
37 return nullptr; 37 return nullptr;
38 } 38 }
39 39
40 scoped_ptr<UsbPrinterManifestData> result(new UsbPrinterManifestData()); 40 scoped_ptr<UsbPrinterManifestData> result(new UsbPrinterManifestData());
41 for (const auto& input : usb_printers->filters) { 41 for (const auto& input : usb_printers->filters) {
42 DCHECK(input.get());
43 UsbDeviceFilter output; 42 UsbDeviceFilter output;
44 output.SetVendorId(input->vendor_id); 43 output.SetVendorId(input.vendor_id);
45 if (input->product_id && input->interface_class) { 44 if (input.product_id && input.interface_class) {
46 *error = base::ASCIIToUTF16( 45 *error = base::ASCIIToUTF16(
47 "Only one of productId or interfaceClass may be specified."); 46 "Only one of productId or interfaceClass may be specified.");
48 return nullptr; 47 return nullptr;
49 } 48 }
50 if (input->product_id) { 49 if (input.product_id) {
51 output.SetProductId(*input->product_id); 50 output.SetProductId(*input.product_id);
52 } 51 }
53 if (input->interface_class) { 52 if (input.interface_class) {
54 output.SetInterfaceClass(*input->interface_class); 53 output.SetInterfaceClass(*input.interface_class);
55 if (input->interface_subclass) { 54 if (input.interface_subclass) {
56 output.SetInterfaceSubclass(*input->interface_subclass); 55 output.SetInterfaceSubclass(*input.interface_subclass);
57 if (input->interface_protocol) { 56 if (input.interface_protocol) {
58 output.SetInterfaceProtocol(*input->interface_protocol); 57 output.SetInterfaceProtocol(*input.interface_protocol);
59 } 58 }
60 } 59 }
61 } 60 }
62 result->filters_.push_back(output); 61 result->filters_.push_back(output);
63 } 62 }
64 return result; 63 return result;
65 } 64 }
66 65
67 bool UsbPrinterManifestData::SupportsDevice( 66 bool UsbPrinterManifestData::SupportsDevice(
68 const scoped_refptr<device::UsbDevice>& device) const { 67 const scoped_refptr<device::UsbDevice>& device) const {
69 return UsbDeviceFilter::MatchesAny(device, filters_); 68 return UsbDeviceFilter::MatchesAny(device, filters_);
70 } 69 }
71 70
72 } // namespace extensions 71 } // namespace extensions
OLDNEW
« no previous file with comments | « extensions/common/api/idle.json ('k') | tools/json_schema_compiler/util.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698