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

Side by Side Diff: chromeos/network/network_sms_handler.cc

Issue 2283103003: Replace deprecated ScopedVector<T> in chromeos::NetworkSmsHandler (Closed)
Patch Set: rebased to ToT Created 4 years, 3 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 | « chromeos/network/network_sms_handler.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "chromeos/network/network_sms_handler.h" 5 #include "chromeos/network/network_sms_handler.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <algorithm> 10 #include <algorithm>
11 #include <deque> 11 #include <deque>
12 #include <vector> 12 #include <vector>
13 13
14 #include "base/bind.h" 14 #include "base/bind.h"
15 #include "base/macros.h" 15 #include "base/macros.h"
16 #include "base/memory/ptr_util.h"
16 #include "base/values.h" 17 #include "base/values.h"
17 #include "chromeos/dbus/dbus_thread_manager.h" 18 #include "chromeos/dbus/dbus_thread_manager.h"
18 #include "chromeos/dbus/gsm_sms_client.h" 19 #include "chromeos/dbus/gsm_sms_client.h"
19 #include "chromeos/dbus/modem_messaging_client.h" 20 #include "chromeos/dbus/modem_messaging_client.h"
20 #include "chromeos/dbus/shill_device_client.h" 21 #include "chromeos/dbus/shill_device_client.h"
21 #include "chromeos/dbus/shill_manager_client.h" 22 #include "chromeos/dbus/shill_manager_client.h"
22 #include "chromeos/dbus/sms_client.h" 23 #include "chromeos/dbus/sms_client.h"
23 #include "dbus/object_path.h" 24 #include "dbus/object_path.h"
24 #include "third_party/cros_system_api/dbus/service_constants.h" 25 #include "third_party/cros_system_api/dbus/service_constants.h"
25 26
(...skipping 320 matching lines...) Expand 10 before | Expand all | Expand 10 after
346 this); 347 this);
347 // Request network manager properties so that we can get the list of devices. 348 // Request network manager properties so that we can get the list of devices.
348 DBusThreadManager::Get()->GetShillManagerClient()->GetProperties( 349 DBusThreadManager::Get()->GetShillManagerClient()->GetProperties(
349 base::Bind(&NetworkSmsHandler::ManagerPropertiesCallback, 350 base::Bind(&NetworkSmsHandler::ManagerPropertiesCallback,
350 weak_ptr_factory_.GetWeakPtr())); 351 weak_ptr_factory_.GetWeakPtr()));
351 } 352 }
352 353
353 void NetworkSmsHandler::RequestUpdate(bool request_existing) { 354 void NetworkSmsHandler::RequestUpdate(bool request_existing) {
354 // If we already received messages and |request_existing| is true, send 355 // If we already received messages and |request_existing| is true, send
355 // updates for existing messages. 356 // updates for existing messages.
356 for (ScopedVector<base::DictionaryValue>::iterator iter = 357 for (const auto& message : received_messages_) {
357 received_messages_.begin();
358 iter != received_messages_.end(); ++iter) {
359 base::DictionaryValue* message = *iter;
360 NotifyMessageReceived(*message); 358 NotifyMessageReceived(*message);
361 } 359 }
362 // Request updates from each device. 360 // Request updates from each device.
363 for (ScopedVector<NetworkSmsDeviceHandler>::iterator iter = 361 for (auto& handler : device_handlers_) {
364 device_handlers_.begin(); iter != device_handlers_.end(); ++iter) { 362 handler->RequestUpdate();
365 (*iter)->RequestUpdate();
366 } 363 }
367 } 364 }
368 365
369 void NetworkSmsHandler::AddObserver(Observer* observer) { 366 void NetworkSmsHandler::AddObserver(Observer* observer) {
370 observers_.AddObserver(observer); 367 observers_.AddObserver(observer);
371 } 368 }
372 369
373 void NetworkSmsHandler::RemoveObserver(Observer* observer) { 370 void NetworkSmsHandler::RemoveObserver(Observer* observer) {
374 observers_.RemoveObserver(observer); 371 observers_.RemoveObserver(observer);
375 } 372 }
376 373
377 void NetworkSmsHandler::OnPropertyChanged(const std::string& name, 374 void NetworkSmsHandler::OnPropertyChanged(const std::string& name,
378 const base::Value& value) { 375 const base::Value& value) {
379 if (name != shill::kDevicesProperty) 376 if (name != shill::kDevicesProperty)
380 return; 377 return;
381 const base::ListValue* devices = NULL; 378 const base::ListValue* devices = NULL;
382 if (!value.GetAsList(&devices) || !devices) 379 if (!value.GetAsList(&devices) || !devices)
383 return; 380 return;
384 UpdateDevices(devices); 381 UpdateDevices(devices);
385 } 382 }
386 383
387 // Private methods 384 // Private methods
388 385
389 void NetworkSmsHandler::AddReceivedMessage( 386 void NetworkSmsHandler::AddReceivedMessage(
390 const base::DictionaryValue& message) { 387 const base::DictionaryValue& message) {
391 base::DictionaryValue* new_message = message.DeepCopy();
392 if (received_messages_.size() >= kMaxReceivedMessages) 388 if (received_messages_.size() >= kMaxReceivedMessages)
393 received_messages_.erase(received_messages_.begin()); 389 received_messages_.erase(received_messages_.begin());
394 received_messages_.push_back(new_message); 390 received_messages_.push_back(message.CreateDeepCopy());
395 } 391 }
396 392
397 void NetworkSmsHandler::NotifyMessageReceived( 393 void NetworkSmsHandler::NotifyMessageReceived(
398 const base::DictionaryValue& message) { 394 const base::DictionaryValue& message) {
399 FOR_EACH_OBSERVER(Observer, observers_, MessageReceived(message)); 395 FOR_EACH_OBSERVER(Observer, observers_, MessageReceived(message));
400 } 396 }
401 397
402 void NetworkSmsHandler::MessageReceived(const base::DictionaryValue& message) { 398 void NetworkSmsHandler::MessageReceived(const base::DictionaryValue& message) {
403 AddReceivedMessage(message); 399 AddReceivedMessage(message);
404 NotifyMessageReceived(message); 400 NotifyMessageReceived(message);
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
467 463
468 std::string object_path_string; 464 std::string object_path_string;
469 if (!properties.GetStringWithoutPathExpansion( 465 if (!properties.GetStringWithoutPathExpansion(
470 shill::kDBusObjectProperty, &object_path_string)) { 466 shill::kDBusObjectProperty, &object_path_string)) {
471 LOG(ERROR) << "Device has no DBusObject Property: " << device_path; 467 LOG(ERROR) << "Device has no DBusObject Property: " << device_path;
472 return; 468 return;
473 } 469 }
474 dbus::ObjectPath object_path(object_path_string); 470 dbus::ObjectPath object_path(object_path_string);
475 if (service_name == modemmanager::kModemManager1ServiceName) { 471 if (service_name == modemmanager::kModemManager1ServiceName) {
476 device_handlers_.push_back( 472 device_handlers_.push_back(
477 new ModemManager1NetworkSmsDeviceHandler( 473 base::MakeUnique<ModemManager1NetworkSmsDeviceHandler>(
478 this, service_name, object_path)); 474 this, service_name, object_path));
479 } else { 475 } else {
480 device_handlers_.push_back( 476 device_handlers_.push_back(
481 new ModemManagerNetworkSmsDeviceHandler( 477 base::MakeUnique<ModemManagerNetworkSmsDeviceHandler>(
482 this, service_name, object_path)); 478 this, service_name, object_path));
483 } 479 }
484 } 480 }
485 481
486 } // namespace chromeos 482 } // namespace chromeos
OLDNEW
« no previous file with comments | « chromeos/network/network_sms_handler.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698