OLD | NEW |
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 361 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
372 void ConvertEndpointDescriptor(const UsbEndpointDescriptor& input, | 372 void ConvertEndpointDescriptor(const UsbEndpointDescriptor& input, |
373 EndpointDescriptor* output) { | 373 EndpointDescriptor* output) { |
374 output->address = input.address; | 374 output->address = input.address; |
375 output->type = ConvertTransferTypeToApi(input.transfer_type); | 375 output->type = ConvertTransferTypeToApi(input.transfer_type); |
376 output->direction = ConvertDirectionToApi(input.direction); | 376 output->direction = ConvertDirectionToApi(input.direction); |
377 output->maximum_packet_size = input.maximum_packet_size; | 377 output->maximum_packet_size = input.maximum_packet_size; |
378 output->synchronization = | 378 output->synchronization = |
379 ConvertSynchronizationTypeToApi(input.synchronization_type); | 379 ConvertSynchronizationTypeToApi(input.synchronization_type); |
380 output->usage = ConvertUsageTypeToApi(input.usage_type); | 380 output->usage = ConvertUsageTypeToApi(input.usage_type); |
381 output->polling_interval.reset(new int(input.polling_interval)); | 381 output->polling_interval.reset(new int(input.polling_interval)); |
382 if (input.extra_data.size() > 0) { | 382 output->extra_data.assign(input.extra_data.begin(), input.extra_data.end()); |
383 output->extra_data = | |
384 std::string(reinterpret_cast<const char*>(&input.extra_data[0]), | |
385 input.extra_data.size()); | |
386 } | |
387 } | 383 } |
388 | 384 |
389 void ConvertInterfaceDescriptor(const UsbInterfaceDescriptor& input, | 385 void ConvertInterfaceDescriptor(const UsbInterfaceDescriptor& input, |
390 InterfaceDescriptor* output) { | 386 InterfaceDescriptor* output) { |
391 output->interface_number = input.interface_number; | 387 output->interface_number = input.interface_number; |
392 output->alternate_setting = input.alternate_setting; | 388 output->alternate_setting = input.alternate_setting; |
393 output->interface_class = input.interface_class; | 389 output->interface_class = input.interface_class; |
394 output->interface_subclass = input.interface_subclass; | 390 output->interface_subclass = input.interface_subclass; |
395 output->interface_protocol = input.interface_protocol; | 391 output->interface_protocol = input.interface_protocol; |
396 for (const UsbEndpointDescriptor& input_endpoint : input.endpoints) { | 392 for (const UsbEndpointDescriptor& input_endpoint : input.endpoints) { |
397 linked_ptr<EndpointDescriptor> endpoint(new EndpointDescriptor); | 393 linked_ptr<EndpointDescriptor> endpoint(new EndpointDescriptor); |
398 ConvertEndpointDescriptor(input_endpoint, endpoint.get()); | 394 ConvertEndpointDescriptor(input_endpoint, endpoint.get()); |
399 output->endpoints.push_back(endpoint); | 395 output->endpoints.push_back(endpoint); |
400 } | 396 } |
401 if (input.extra_data.size() > 0) { | 397 output->extra_data.assign(input.extra_data.begin(), input.extra_data.end()); |
402 output->extra_data = | |
403 std::string(reinterpret_cast<const char*>(&input.extra_data[0]), | |
404 input.extra_data.size()); | |
405 } | |
406 } | 398 } |
407 | 399 |
408 void ConvertConfigDescriptor(const UsbConfigDescriptor& input, | 400 void ConvertConfigDescriptor(const UsbConfigDescriptor& input, |
409 ConfigDescriptor* output) { | 401 ConfigDescriptor* output) { |
410 output->configuration_value = input.configuration_value; | 402 output->configuration_value = input.configuration_value; |
411 output->self_powered = input.self_powered; | 403 output->self_powered = input.self_powered; |
412 output->remote_wakeup = input.remote_wakeup; | 404 output->remote_wakeup = input.remote_wakeup; |
413 output->max_power = input.maximum_power; | 405 output->max_power = input.maximum_power; |
414 for (const UsbInterfaceDescriptor& input_interface : input.interfaces) { | 406 for (const UsbInterfaceDescriptor& input_interface : input.interfaces) { |
415 linked_ptr<InterfaceDescriptor> interface(new InterfaceDescriptor); | 407 linked_ptr<InterfaceDescriptor> interface(new InterfaceDescriptor); |
416 ConvertInterfaceDescriptor(input_interface, interface.get()); | 408 ConvertInterfaceDescriptor(input_interface, interface.get()); |
417 output->interfaces.push_back(interface); | 409 output->interfaces.push_back(interface); |
418 } | 410 } |
419 if (input.extra_data.size() > 0) { | 411 output->extra_data.assign(input.extra_data.begin(), input.extra_data.end()); |
420 output->extra_data = | |
421 std::string(reinterpret_cast<const char*>(&input.extra_data[0]), | |
422 input.extra_data.size()); | |
423 } | |
424 } | 412 } |
425 | 413 |
426 void ConvertDeviceFilter(const usb::DeviceFilter& input, | 414 void ConvertDeviceFilter(const usb::DeviceFilter& input, |
427 UsbDeviceFilter* output) { | 415 UsbDeviceFilter* output) { |
428 if (input.vendor_id) { | 416 if (input.vendor_id) { |
429 output->SetVendorId(*input.vendor_id); | 417 output->SetVendorId(*input.vendor_id); |
430 } | 418 } |
431 if (input.product_id) { | 419 if (input.product_id) { |
432 output->SetProductId(*input.product_id); | 420 output->SetProductId(*input.product_id); |
433 } | 421 } |
(...skipping 847 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1281 SetResult(new base::FundamentalValue(false)); | 1269 SetResult(new base::FundamentalValue(false)); |
1282 CompleteWithError(kErrorResetDevice); | 1270 CompleteWithError(kErrorResetDevice); |
1283 return; | 1271 return; |
1284 } | 1272 } |
1285 | 1273 |
1286 SetResult(new base::FundamentalValue(true)); | 1274 SetResult(new base::FundamentalValue(true)); |
1287 AsyncWorkCompleted(); | 1275 AsyncWorkCompleted(); |
1288 } | 1276 } |
1289 | 1277 |
1290 } // namespace extensions | 1278 } // namespace extensions |
OLD | NEW |