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

Side by Side Diff: device/bluetooth/dbus/bluetooth_le_advertisement_service_provider.cc

Issue 1544323002: Convert Pass()→std::move() in //device (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 12 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 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/bluetooth/dbus/bluetooth_le_advertisement_service_provider.h" 5 #include "device/bluetooth/dbus/bluetooth_le_advertisement_service_provider.h"
6 6
7 #include <utility>
8
7 #include "base/bind.h" 9 #include "base/bind.h"
8 #include "base/logging.h" 10 #include "base/logging.h"
9 #include "base/macros.h" 11 #include "base/macros.h"
10 #include "base/memory/ref_counted.h" 12 #include "base/memory/ref_counted.h"
11 #include "base/threading/platform_thread.h" 13 #include "base/threading/platform_thread.h"
12 #include "dbus/exported_object.h" 14 #include "dbus/exported_object.h"
13 #include "dbus/message.h" 15 #include "dbus/message.h"
14 #include "device/bluetooth/dbus/bluez_dbus_manager.h" 16 #include "device/bluetooth/dbus/bluez_dbus_manager.h"
15 #include "device/bluetooth/dbus/fake_bluetooth_le_advertisement_service_provider .h" 17 #include "device/bluetooth/dbus/fake_bluetooth_le_advertisement_service_provider .h"
16 #include "third_party/cros_system_api/dbus/service_constants.h" 18 #include "third_party/cros_system_api/dbus/service_constants.h"
(...skipping 14 matching lines...) Expand all
31 Delegate* delegate, 33 Delegate* delegate,
32 AdvertisementType type, 34 AdvertisementType type,
33 scoped_ptr<UUIDList> service_uuids, 35 scoped_ptr<UUIDList> service_uuids,
34 scoped_ptr<ManufacturerData> manufacturer_data, 36 scoped_ptr<ManufacturerData> manufacturer_data,
35 scoped_ptr<UUIDList> solicit_uuids, 37 scoped_ptr<UUIDList> solicit_uuids,
36 scoped_ptr<ServiceData> service_data) 38 scoped_ptr<ServiceData> service_data)
37 : origin_thread_id_(base::PlatformThread::CurrentId()), 39 : origin_thread_id_(base::PlatformThread::CurrentId()),
38 bus_(bus), 40 bus_(bus),
39 delegate_(delegate), 41 delegate_(delegate),
40 type_(type), 42 type_(type),
41 service_uuids_(service_uuids.Pass()), 43 service_uuids_(std::move(service_uuids)),
42 manufacturer_data_(manufacturer_data.Pass()), 44 manufacturer_data_(std::move(manufacturer_data)),
43 solicit_uuids_(solicit_uuids.Pass()), 45 solicit_uuids_(std::move(solicit_uuids)),
44 service_data_(service_data.Pass()), 46 service_data_(std::move(service_data)),
45 weak_ptr_factory_(this) { 47 weak_ptr_factory_(this) {
46 DCHECK(bus); 48 DCHECK(bus);
47 DCHECK(delegate); 49 DCHECK(delegate);
48 50
49 VLOG(1) << "Creating Bluetooth Advertisement: " << object_path_.value(); 51 VLOG(1) << "Creating Bluetooth Advertisement: " << object_path_.value();
50 52
51 object_path_ = object_path; 53 object_path_ = object_path;
52 exported_object_ = bus_->GetExportedObject(object_path_); 54 exported_object_ = bus_->GetExportedObject(object_path_);
53 55
54 // Export Bluetooth Advertisement interface methods. 56 // Export Bluetooth Advertisement interface methods.
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
109 111
110 dbus::MessageReader reader(method_call); 112 dbus::MessageReader reader(method_call);
111 113
112 std::string interface_name; 114 std::string interface_name;
113 std::string property_name; 115 std::string property_name;
114 if (!reader.PopString(&interface_name) || 116 if (!reader.PopString(&interface_name) ||
115 !reader.PopString(&property_name) || reader.HasMoreData()) { 117 !reader.PopString(&property_name) || reader.HasMoreData()) {
116 scoped_ptr<dbus::ErrorResponse> error_response = 118 scoped_ptr<dbus::ErrorResponse> error_response =
117 dbus::ErrorResponse::FromMethodCall(method_call, kErrorInvalidArgs, 119 dbus::ErrorResponse::FromMethodCall(method_call, kErrorInvalidArgs,
118 "Expected 'ss'."); 120 "Expected 'ss'.");
119 response_sender.Run(error_response.Pass()); 121 response_sender.Run(std::move(error_response));
120 return; 122 return;
121 } 123 }
122 124
123 // Only the advertisement interface is supported. 125 // Only the advertisement interface is supported.
124 if (interface_name != 126 if (interface_name !=
125 bluetooth_advertisement::kBluetoothAdvertisementInterface) { 127 bluetooth_advertisement::kBluetoothAdvertisementInterface) {
126 scoped_ptr<dbus::ErrorResponse> error_response = 128 scoped_ptr<dbus::ErrorResponse> error_response =
127 dbus::ErrorResponse::FromMethodCall( 129 dbus::ErrorResponse::FromMethodCall(
128 method_call, kErrorInvalidArgs, 130 method_call, kErrorInvalidArgs,
129 "No such interface: '" + interface_name + "'."); 131 "No such interface: '" + interface_name + "'.");
130 response_sender.Run(error_response.Pass()); 132 response_sender.Run(std::move(error_response));
131 return; 133 return;
132 } 134 }
133 135
134 scoped_ptr<dbus::Response> response = 136 scoped_ptr<dbus::Response> response =
135 dbus::Response::FromMethodCall(method_call); 137 dbus::Response::FromMethodCall(method_call);
136 dbus::MessageWriter writer(response.get()); 138 dbus::MessageWriter writer(response.get());
137 dbus::MessageWriter variant_writer(NULL); 139 dbus::MessageWriter variant_writer(NULL);
138 140
139 if (property_name == bluetooth_advertisement::kTypeProperty) { 141 if (property_name == bluetooth_advertisement::kTypeProperty) {
140 writer.OpenVariant("s", &variant_writer); 142 writer.OpenVariant("s", &variant_writer);
(...skipping 20 matching lines...) Expand all
161 } else if ((property_name == 163 } else if ((property_name ==
162 bluetooth_advertisement::kServiceDataProperty) && 164 bluetooth_advertisement::kServiceDataProperty) &&
163 service_data_) { 165 service_data_) {
164 writer.OpenVariant("o", &variant_writer); 166 writer.OpenVariant("o", &variant_writer);
165 AppendServiceDataVariant(&variant_writer); 167 AppendServiceDataVariant(&variant_writer);
166 } else { 168 } else {
167 scoped_ptr<dbus::ErrorResponse> error_response = 169 scoped_ptr<dbus::ErrorResponse> error_response =
168 dbus::ErrorResponse::FromMethodCall( 170 dbus::ErrorResponse::FromMethodCall(
169 method_call, kErrorInvalidArgs, 171 method_call, kErrorInvalidArgs,
170 "No such property: '" + property_name + "'."); 172 "No such property: '" + property_name + "'.");
171 response_sender.Run(error_response.Pass()); 173 response_sender.Run(std::move(error_response));
172 } 174 }
173 175
174 writer.CloseContainer(&variant_writer); 176 writer.CloseContainer(&variant_writer);
175 response_sender.Run(response.Pass()); 177 response_sender.Run(std::move(response));
176 } 178 }
177 179
178 // Called by dbus:: when the Bluetooth daemon fetches all properties of the 180 // Called by dbus:: when the Bluetooth daemon fetches all properties of the
179 // descriptor. 181 // descriptor.
180 void GetAll(dbus::MethodCall* method_call, 182 void GetAll(dbus::MethodCall* method_call,
181 dbus::ExportedObject::ResponseSender response_sender) { 183 dbus::ExportedObject::ResponseSender response_sender) {
182 VLOG(2) << "BluetoothAdvertisementServiceProvider::GetAll: " 184 VLOG(2) << "BluetoothAdvertisementServiceProvider::GetAll: "
183 << object_path_.value(); 185 << object_path_.value();
184 DCHECK(OnOriginThread()); 186 DCHECK(OnOriginThread());
185 187
186 dbus::MessageReader reader(method_call); 188 dbus::MessageReader reader(method_call);
187 189
188 std::string interface_name; 190 std::string interface_name;
189 if (!reader.PopString(&interface_name) || reader.HasMoreData()) { 191 if (!reader.PopString(&interface_name) || reader.HasMoreData()) {
190 scoped_ptr<dbus::ErrorResponse> error_response = 192 scoped_ptr<dbus::ErrorResponse> error_response =
191 dbus::ErrorResponse::FromMethodCall(method_call, kErrorInvalidArgs, 193 dbus::ErrorResponse::FromMethodCall(method_call, kErrorInvalidArgs,
192 "Expected 's'."); 194 "Expected 's'.");
193 response_sender.Run(error_response.Pass()); 195 response_sender.Run(std::move(error_response));
194 return; 196 return;
195 } 197 }
196 198
197 // Only the advertisement interface is supported. 199 // Only the advertisement interface is supported.
198 if (interface_name != 200 if (interface_name !=
199 bluetooth_advertisement::kBluetoothAdvertisementInterface) { 201 bluetooth_advertisement::kBluetoothAdvertisementInterface) {
200 scoped_ptr<dbus::ErrorResponse> error_response = 202 scoped_ptr<dbus::ErrorResponse> error_response =
201 dbus::ErrorResponse::FromMethodCall( 203 dbus::ErrorResponse::FromMethodCall(
202 method_call, kErrorInvalidArgs, 204 method_call, kErrorInvalidArgs,
203 "No such interface: '" + interface_name + "'."); 205 "No such interface: '" + interface_name + "'.");
204 response_sender.Run(error_response.Pass()); 206 response_sender.Run(std::move(error_response));
205 return; 207 return;
206 } 208 }
207 209
208 response_sender.Run(CreateGetAllResponse(method_call).Pass()); 210 response_sender.Run(CreateGetAllResponse(method_call));
209 } 211 }
210 212
211 // Called by dbus:: when a method is exported. 213 // Called by dbus:: when a method is exported.
212 void OnExported(const std::string& interface_name, 214 void OnExported(const std::string& interface_name,
213 const std::string& method_name, 215 const std::string& method_name,
214 bool success) { 216 bool success) {
215 LOG_IF(WARNING, !success) << "Failed to export " << interface_name << "." 217 LOG_IF(WARNING, !success) << "Failed to export " << interface_name << "."
216 << method_name; 218 << method_name;
217 } 219 }
218 220
(...skipping 29 matching lines...) Expand all
248 VLOG(2) << "Returning descriptor value obtained from delegate."; 250 VLOG(2) << "Returning descriptor value obtained from delegate.";
249 scoped_ptr<dbus::Response> response = 251 scoped_ptr<dbus::Response> response =
250 dbus::Response::FromMethodCall(method_call); 252 dbus::Response::FromMethodCall(method_call);
251 dbus::MessageWriter writer(response.get()); 253 dbus::MessageWriter writer(response.get());
252 dbus::MessageWriter variant_writer(NULL); 254 dbus::MessageWriter variant_writer(NULL);
253 255
254 writer.OpenVariant("ay", &variant_writer); 256 writer.OpenVariant("ay", &variant_writer);
255 variant_writer.AppendArrayOfBytes(value.data(), value.size()); 257 variant_writer.AppendArrayOfBytes(value.data(), value.size());
256 writer.CloseContainer(&variant_writer); 258 writer.CloseContainer(&variant_writer);
257 259
258 response_sender.Run(response.Pass()); 260 response_sender.Run(std::move(response));
259 } 261 }
260 262
261 void AppendArrayVariantOfStrings(dbus::MessageWriter* dict_writer, 263 void AppendArrayVariantOfStrings(dbus::MessageWriter* dict_writer,
262 const UUIDList& strings) { 264 const UUIDList& strings) {
263 dbus::MessageWriter strings_array_variant(nullptr); 265 dbus::MessageWriter strings_array_variant(nullptr);
264 dict_writer->OpenVariant("as", &strings_array_variant); 266 dict_writer->OpenVariant("as", &strings_array_variant);
265 strings_array_variant.AppendArrayOfStrings(strings); 267 strings_array_variant.AppendArrayOfStrings(strings);
266 dict_writer->CloseContainer(&strings_array_variant); 268 dict_writer->CloseContainer(&strings_array_variant);
267 } 269 }
268 270
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
406 dbus::Bus* bus, 408 dbus::Bus* bus,
407 const dbus::ObjectPath& object_path, 409 const dbus::ObjectPath& object_path,
408 Delegate* delegate, 410 Delegate* delegate,
409 AdvertisementType type, 411 AdvertisementType type,
410 scoped_ptr<UUIDList> service_uuids, 412 scoped_ptr<UUIDList> service_uuids,
411 scoped_ptr<ManufacturerData> manufacturer_data, 413 scoped_ptr<ManufacturerData> manufacturer_data,
412 scoped_ptr<UUIDList> solicit_uuids, 414 scoped_ptr<UUIDList> solicit_uuids,
413 scoped_ptr<ServiceData> service_data) { 415 scoped_ptr<ServiceData> service_data) {
414 if (!bluez::BluezDBusManager::Get()->IsUsingStub()) { 416 if (!bluez::BluezDBusManager::Get()->IsUsingStub()) {
415 return make_scoped_ptr(new BluetoothAdvertisementServiceProviderImpl( 417 return make_scoped_ptr(new BluetoothAdvertisementServiceProviderImpl(
416 bus, object_path, delegate, type, service_uuids.Pass(), 418 bus, object_path, delegate, type, std::move(service_uuids),
417 manufacturer_data.Pass(), solicit_uuids.Pass(), service_data.Pass())); 419 std::move(manufacturer_data), std::move(solicit_uuids),
420 std::move(service_data)));
418 } else { 421 } else {
419 return make_scoped_ptr( 422 return make_scoped_ptr(
420 new FakeBluetoothLEAdvertisementServiceProvider(object_path, delegate)); 423 new FakeBluetoothLEAdvertisementServiceProvider(object_path, delegate));
421 } 424 }
422 } 425 }
423 426
424 } // namespace bluez 427 } // namespace bluez
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698