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

Side by Side Diff: device/usb/mojo/device_manager_impl.cc

Issue 2821723002: Move classes in the device.usb Mojo namespace to device.mojom (Closed)
Patch Set: mcasas@ nits Created 3 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 | « device/usb/mojo/device_manager_impl.h ('k') | device/usb/mojo/device_manager_impl_unittest.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 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 "device/usb/mojo/device_manager_impl.h" 5 #include "device/usb/mojo/device_manager_impl.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <memory> 9 #include <memory>
10 #include <string> 10 #include <string>
(...skipping 10 matching lines...) Expand all
21 #include "device/usb/usb_device.h" 21 #include "device/usb/usb_device.h"
22 #include "device/usb/usb_device_filter.h" 22 #include "device/usb/usb_device_filter.h"
23 #include "device/usb/usb_service.h" 23 #include "device/usb/usb_service.h"
24 24
25 namespace device { 25 namespace device {
26 namespace usb { 26 namespace usb {
27 27
28 // static 28 // static
29 void DeviceManagerImpl::Create( 29 void DeviceManagerImpl::Create(
30 base::WeakPtr<PermissionProvider> permission_provider, 30 base::WeakPtr<PermissionProvider> permission_provider,
31 DeviceManagerRequest request) { 31 mojom::UsbDeviceManagerRequest request) {
32 DCHECK(DeviceClient::Get()); 32 DCHECK(DeviceClient::Get());
33 UsbService* service = DeviceClient::Get()->GetUsbService(); 33 UsbService* service = DeviceClient::Get()->GetUsbService();
34 if (!service) 34 if (!service)
35 return; 35 return;
36 36
37 auto* device_manager_impl = 37 auto* device_manager_impl =
38 new DeviceManagerImpl(std::move(permission_provider), service); 38 new DeviceManagerImpl(std::move(permission_provider), service);
39 device_manager_impl->binding_ = mojo::MakeStrongBinding( 39 device_manager_impl->binding_ = mojo::MakeStrongBinding(
40 base::WrapUnique(device_manager_impl), std::move(request)); 40 base::WrapUnique(device_manager_impl), std::move(request));
41 } 41 }
42 42
43 DeviceManagerImpl::DeviceManagerImpl( 43 DeviceManagerImpl::DeviceManagerImpl(
44 base::WeakPtr<PermissionProvider> permission_provider, 44 base::WeakPtr<PermissionProvider> permission_provider,
45 UsbService* usb_service) 45 UsbService* usb_service)
46 : permission_provider_(permission_provider), 46 : permission_provider_(permission_provider),
47 usb_service_(usb_service), 47 usb_service_(usb_service),
48 observer_(this), 48 observer_(this),
49 weak_factory_(this) { 49 weak_factory_(this) {
50 // This object owns itself and will be destroyed if the message pipe it is 50 // This object owns itself and will be destroyed if the message pipe it is
51 // bound to is closed, the message loop is destructed, or the UsbService is 51 // bound to is closed, the message loop is destructed, or the UsbService is
52 // shut down. 52 // shut down.
53 observer_.Add(usb_service_); 53 observer_.Add(usb_service_);
54 } 54 }
55 55
56 DeviceManagerImpl::~DeviceManagerImpl() { 56 DeviceManagerImpl::~DeviceManagerImpl() {
57 } 57 }
58 58
59 void DeviceManagerImpl::GetDevices(EnumerationOptionsPtr options, 59 void DeviceManagerImpl::GetDevices(mojom::UsbEnumerationOptionsPtr options,
60 const GetDevicesCallback& callback) { 60 const GetDevicesCallback& callback) {
61 usb_service_->GetDevices(base::Bind(&DeviceManagerImpl::OnGetDevices, 61 usb_service_->GetDevices(base::Bind(&DeviceManagerImpl::OnGetDevices,
62 weak_factory_.GetWeakPtr(), 62 weak_factory_.GetWeakPtr(),
63 base::Passed(&options), callback)); 63 base::Passed(&options), callback));
64 } 64 }
65 65
66 void DeviceManagerImpl::GetDevice(const std::string& guid, 66 void DeviceManagerImpl::GetDevice(const std::string& guid,
67 DeviceRequest device_request) { 67 mojom::UsbDeviceRequest device_request) {
68 scoped_refptr<UsbDevice> device = usb_service_->GetDevice(guid); 68 scoped_refptr<UsbDevice> device = usb_service_->GetDevice(guid);
69 if (!device) 69 if (!device)
70 return; 70 return;
71 71
72 if (permission_provider_ && 72 if (permission_provider_ &&
73 permission_provider_->HasDevicePermission(device)) { 73 permission_provider_->HasDevicePermission(device)) {
74 DeviceImpl::Create(std::move(device), permission_provider_, 74 DeviceImpl::Create(std::move(device), permission_provider_,
75 std::move(device_request)); 75 std::move(device_request));
76 } 76 }
77 } 77 }
78 78
79 void DeviceManagerImpl::SetClient(DeviceManagerClientPtr client) { 79 void DeviceManagerImpl::SetClient(mojom::UsbDeviceManagerClientPtr client) {
80 client_ = std::move(client); 80 client_ = std::move(client);
81 } 81 }
82 82
83 void DeviceManagerImpl::OnGetDevices( 83 void DeviceManagerImpl::OnGetDevices(
84 EnumerationOptionsPtr options, 84 mojom::UsbEnumerationOptionsPtr options,
85 const GetDevicesCallback& callback, 85 const GetDevicesCallback& callback,
86 const std::vector<scoped_refptr<UsbDevice>>& devices) { 86 const std::vector<scoped_refptr<UsbDevice>>& devices) {
87 std::vector<UsbDeviceFilter> filters; 87 std::vector<UsbDeviceFilter> filters;
88 if (options && options->filters) 88 if (options && options->filters)
89 filters.swap(*options->filters); 89 filters.swap(*options->filters);
90 90
91 std::vector<DeviceInfoPtr> device_infos; 91 std::vector<mojom::UsbDeviceInfoPtr> device_infos;
92 for (const auto& device : devices) { 92 for (const auto& device : devices) {
93 if (UsbDeviceFilter::MatchesAny(*device, filters)) { 93 if (UsbDeviceFilter::MatchesAny(*device, filters)) {
94 if (permission_provider_ && 94 if (permission_provider_ &&
95 permission_provider_->HasDevicePermission(device)) { 95 permission_provider_->HasDevicePermission(device)) {
96 device_infos.push_back(DeviceInfo::From(*device)); 96 device_infos.push_back(mojom::UsbDeviceInfo::From(*device));
97 } 97 }
98 } 98 }
99 } 99 }
100 100
101 callback.Run(std::move(device_infos)); 101 callback.Run(std::move(device_infos));
102 } 102 }
103 103
104 void DeviceManagerImpl::OnDeviceAdded(scoped_refptr<UsbDevice> device) { 104 void DeviceManagerImpl::OnDeviceAdded(scoped_refptr<UsbDevice> device) {
105 if (client_ && permission_provider_ && 105 if (client_ && permission_provider_ &&
106 permission_provider_->HasDevicePermission(device)) 106 permission_provider_->HasDevicePermission(device))
107 client_->OnDeviceAdded(DeviceInfo::From(*device)); 107 client_->OnDeviceAdded(mojom::UsbDeviceInfo::From(*device));
108 } 108 }
109 109
110 void DeviceManagerImpl::OnDeviceRemoved(scoped_refptr<UsbDevice> device) { 110 void DeviceManagerImpl::OnDeviceRemoved(scoped_refptr<UsbDevice> device) {
111 if (client_ && permission_provider_ && 111 if (client_ && permission_provider_ &&
112 permission_provider_->HasDevicePermission(device)) 112 permission_provider_->HasDevicePermission(device))
113 client_->OnDeviceRemoved(DeviceInfo::From(*device)); 113 client_->OnDeviceRemoved(mojom::UsbDeviceInfo::From(*device));
114 } 114 }
115 115
116 void DeviceManagerImpl::WillDestroyUsbService() { 116 void DeviceManagerImpl::WillDestroyUsbService() {
117 binding_->Close(); 117 binding_->Close();
118 } 118 }
119 119
120 } // namespace usb 120 } // namespace usb
121 } // namespace device 121 } // namespace device
OLDNEW
« no previous file with comments | « device/usb/mojo/device_manager_impl.h ('k') | device/usb/mojo/device_manager_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698