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

Side by Side Diff: chromeos/dbus/power_manager_client.cc

Issue 2413963002: Replace FOR_EACH_OBSERVER in chromeos/ with range-based for (Closed)
Patch Set: Run the script again with '/mg' Created 4 years, 2 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/dbus/fake_update_engine_client.cc ('k') | chromeos/dbus/session_manager_client.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 (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/dbus/power_manager_client.h" 5 #include "chromeos/dbus/power_manager_client.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <memory> 10 #include <memory>
(...skipping 370 matching lines...) Expand 10 before | Expand all | Expand 10 after
381 << (old_owner.empty() ? "[none]" : old_owner.c_str()) 381 << (old_owner.empty() ? "[none]" : old_owner.c_str())
382 << " New owner: " 382 << " New owner: "
383 << (new_owner.empty() ? "[none]" : new_owner.c_str()); 383 << (new_owner.empty() ? "[none]" : new_owner.c_str());
384 suspend_is_pending_ = false; 384 suspend_is_pending_ = false;
385 pending_suspend_id_ = -1; 385 pending_suspend_id_ = -1;
386 suspending_from_dark_resume_ = false; 386 suspending_from_dark_resume_ = false;
387 if (!new_owner.empty()) { 387 if (!new_owner.empty()) {
388 POWER_LOG(EVENT) << "Sending initial state to power manager"; 388 POWER_LOG(EVENT) << "Sending initial state to power manager";
389 RegisterSuspendDelays(); 389 RegisterSuspendDelays();
390 SetIsProjecting(last_is_projecting_); 390 SetIsProjecting(last_is_projecting_);
391 FOR_EACH_OBSERVER(Observer, observers_, PowerManagerRestarted()); 391 for (auto& observer : observers_)
392 observer.PowerManagerRestarted();
392 } 393 }
393 } 394 }
394 395
395 void BrightnessChangedReceived(dbus::Signal* signal) { 396 void BrightnessChangedReceived(dbus::Signal* signal) {
396 dbus::MessageReader reader(signal); 397 dbus::MessageReader reader(signal);
397 int32_t brightness_level = 0; 398 int32_t brightness_level = 0;
398 bool user_initiated = 0; 399 bool user_initiated = 0;
399 if (!(reader.PopInt32(&brightness_level) && 400 if (!(reader.PopInt32(&brightness_level) &&
400 reader.PopBool(&user_initiated))) { 401 reader.PopBool(&user_initiated))) {
401 POWER_LOG(ERROR) << "Brightness changed signal had incorrect parameters: " 402 POWER_LOG(ERROR) << "Brightness changed signal had incorrect parameters: "
402 << signal->ToString(); 403 << signal->ToString();
403 return; 404 return;
404 } 405 }
405 POWER_LOG(DEBUG) << "Brightness changed to " << brightness_level 406 POWER_LOG(DEBUG) << "Brightness changed to " << brightness_level
406 << ": user initiated " << user_initiated; 407 << ": user initiated " << user_initiated;
407 FOR_EACH_OBSERVER(Observer, observers_, 408 for (auto& observer : observers_)
408 BrightnessChanged(brightness_level, user_initiated)); 409 observer.BrightnessChanged(brightness_level, user_initiated);
409 } 410 }
410 411
411 void PeripheralBatteryStatusReceived(dbus::Signal* signal) { 412 void PeripheralBatteryStatusReceived(dbus::Signal* signal) {
412 dbus::MessageReader reader(signal); 413 dbus::MessageReader reader(signal);
413 power_manager::PeripheralBatteryStatus protobuf_status; 414 power_manager::PeripheralBatteryStatus protobuf_status;
414 if (!reader.PopArrayOfBytesAsProto(&protobuf_status)) { 415 if (!reader.PopArrayOfBytesAsProto(&protobuf_status)) {
415 POWER_LOG(ERROR) << "Unable to decode protocol buffer from " 416 POWER_LOG(ERROR) << "Unable to decode protocol buffer from "
416 << power_manager::kPeripheralBatteryStatusSignal 417 << power_manager::kPeripheralBatteryStatusSignal
417 << " signal"; 418 << " signal";
418 return; 419 return;
419 } 420 }
420 421
421 std::string path = protobuf_status.path(); 422 std::string path = protobuf_status.path();
422 std::string name = protobuf_status.name(); 423 std::string name = protobuf_status.name();
423 int level = protobuf_status.has_level() ? protobuf_status.level() : -1; 424 int level = protobuf_status.has_level() ? protobuf_status.level() : -1;
424 425
425 POWER_LOG(DEBUG) << "Device battery status received " << level << " for " 426 POWER_LOG(DEBUG) << "Device battery status received " << level << " for "
426 << name << " at " << path; 427 << name << " at " << path;
427 428
428 FOR_EACH_OBSERVER(Observer, observers_, 429 for (auto& observer : observers_)
429 PeripheralBatteryStatusReceived(path, name, level)); 430 observer.PeripheralBatteryStatusReceived(path, name, level);
430 } 431 }
431 432
432 void PowerSupplyPollReceived(dbus::Signal* signal) { 433 void PowerSupplyPollReceived(dbus::Signal* signal) {
433 POWER_LOG(DEBUG) << "Received power supply poll signal."; 434 POWER_LOG(DEBUG) << "Received power supply poll signal.";
434 dbus::MessageReader reader(signal); 435 dbus::MessageReader reader(signal);
435 power_manager::PowerSupplyProperties protobuf; 436 power_manager::PowerSupplyProperties protobuf;
436 if (reader.PopArrayOfBytesAsProto(&protobuf)) { 437 if (reader.PopArrayOfBytesAsProto(&protobuf)) {
437 HandlePowerSupplyProperties(protobuf); 438 HandlePowerSupplyProperties(protobuf);
438 } else { 439 } else {
439 POWER_LOG(ERROR) << "Unable to decode " 440 POWER_LOG(ERROR) << "Unable to decode "
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
472 dbus::MessageReader reader(response); 473 dbus::MessageReader reader(response);
473 double percent = 0.0; 474 double percent = 0.0;
474 if (!reader.PopDouble(&percent)) 475 if (!reader.PopDouble(&percent))
475 POWER_LOG(ERROR) << "Error reading response from powerd: " 476 POWER_LOG(ERROR) << "Error reading response from powerd: "
476 << response->ToString(); 477 << response->ToString();
477 callback.Run(percent); 478 callback.Run(percent);
478 } 479 }
479 480
480 void HandlePowerSupplyProperties( 481 void HandlePowerSupplyProperties(
481 const power_manager::PowerSupplyProperties& proto) { 482 const power_manager::PowerSupplyProperties& proto) {
482 FOR_EACH_OBSERVER(Observer, observers_, PowerChanged(proto)); 483 for (auto& observer : observers_)
484 observer.PowerChanged(proto);
483 const bool on_battery = proto.external_power() == 485 const bool on_battery = proto.external_power() ==
484 power_manager::PowerSupplyProperties_ExternalPower_DISCONNECTED; 486 power_manager::PowerSupplyProperties_ExternalPower_DISCONNECTED;
485 base::PowerMonitorDeviceSource::SetPowerSource(on_battery); 487 base::PowerMonitorDeviceSource::SetPowerSource(on_battery);
486 } 488 }
487 489
488 void HandleRegisterSuspendDelayReply(bool dark_suspend, 490 void HandleRegisterSuspendDelayReply(bool dark_suspend,
489 const std::string& method_name, 491 const std::string& method_name,
490 dbus::Response* response) { 492 dbus::Response* response) {
491 if (!response) { 493 if (!response) {
492 POWER_LOG(ERROR) << "Error calling " << method_name; 494 POWER_LOG(ERROR) << "Error calling " << method_name;
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
548 suspend_is_pending_ = true; 550 suspend_is_pending_ = true;
549 suspending_from_dark_resume_ = in_dark_resume; 551 suspending_from_dark_resume_ = in_dark_resume;
550 num_pending_suspend_readiness_callbacks_ = 0; 552 num_pending_suspend_readiness_callbacks_ = 0;
551 553
552 // Record the fact that observers are being notified to ensure that we don't 554 // Record the fact that observers are being notified to ensure that we don't
553 // report readiness prematurely if one of them calls 555 // report readiness prematurely if one of them calls
554 // GetSuspendReadinessCallback() and then runs the callback synchonously 556 // GetSuspendReadinessCallback() and then runs the callback synchonously
555 // instead of asynchronously. 557 // instead of asynchronously.
556 notifying_observers_about_suspend_imminent_ = true; 558 notifying_observers_about_suspend_imminent_ = true;
557 if (suspending_from_dark_resume_) 559 if (suspending_from_dark_resume_)
558 FOR_EACH_OBSERVER(Observer, observers_, DarkSuspendImminent()); 560 for (auto& observer : observers_)
561 observer.DarkSuspendImminent();
559 else 562 else
560 FOR_EACH_OBSERVER(Observer, observers_, SuspendImminent()); 563 for (auto& observer : observers_)
564 observer.SuspendImminent();
561 notifying_observers_about_suspend_imminent_ = false; 565 notifying_observers_about_suspend_imminent_ = false;
562 566
563 base::PowerMonitorDeviceSource::HandleSystemSuspending(); 567 base::PowerMonitorDeviceSource::HandleSystemSuspending();
564 MaybeReportSuspendReadiness(); 568 MaybeReportSuspendReadiness();
565 } 569 }
566 570
567 void SuspendDoneReceived(dbus::Signal* signal) { 571 void SuspendDoneReceived(dbus::Signal* signal) {
568 dbus::MessageReader reader(signal); 572 dbus::MessageReader reader(signal);
569 power_manager::SuspendDone proto; 573 power_manager::SuspendDone proto;
570 if (!reader.PopArrayOfBytesAsProto(&proto)) { 574 if (!reader.PopArrayOfBytesAsProto(&proto)) {
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
602 } 606 }
603 607
604 // powerd always pairs each SuspendImminent signal with SuspendDone before 608 // powerd always pairs each SuspendImminent signal with SuspendDone before
605 // starting the next suspend attempt, so we should no longer report 609 // starting the next suspend attempt, so we should no longer report
606 // readiness for any in-progress suspend attempts. 610 // readiness for any in-progress suspend attempts.
607 pending_suspend_id_ = -1; 611 pending_suspend_id_ = -1;
608 suspend_is_pending_ = false; 612 suspend_is_pending_ = false;
609 suspending_from_dark_resume_ = false; 613 suspending_from_dark_resume_ = false;
610 num_pending_suspend_readiness_callbacks_ = 0; 614 num_pending_suspend_readiness_callbacks_ = 0;
611 615
612 FOR_EACH_OBSERVER( 616 for (auto& observer : observers_)
613 PowerManagerClient::Observer, observers_, SuspendDone(duration)); 617 observer.SuspendDone(duration);
614 base::PowerMonitorDeviceSource::HandleSystemResumed(); 618 base::PowerMonitorDeviceSource::HandleSystemResumed();
615 } 619 }
616 620
617 void IdleActionImminentReceived(dbus::Signal* signal) { 621 void IdleActionImminentReceived(dbus::Signal* signal) {
618 dbus::MessageReader reader(signal); 622 dbus::MessageReader reader(signal);
619 power_manager::IdleActionImminent proto; 623 power_manager::IdleActionImminent proto;
620 if (!reader.PopArrayOfBytesAsProto(&proto)) { 624 if (!reader.PopArrayOfBytesAsProto(&proto)) {
621 POWER_LOG(ERROR) << "Unable to decode protocol buffer from " 625 POWER_LOG(ERROR) << "Unable to decode protocol buffer from "
622 << power_manager::kIdleActionImminentSignal << " signal"; 626 << power_manager::kIdleActionImminentSignal << " signal";
623 return; 627 return;
624 } 628 }
625 FOR_EACH_OBSERVER(Observer, observers_, 629 for (auto& observer : observers_) {
626 IdleActionImminent(base::TimeDelta::FromInternalValue( 630 observer.IdleActionImminent(
627 proto.time_until_idle_action()))); 631 base::TimeDelta::FromInternalValue(proto.time_until_idle_action()));
632 }
628 } 633 }
629 634
630 void IdleActionDeferredReceived(dbus::Signal* signal) { 635 void IdleActionDeferredReceived(dbus::Signal* signal) {
631 FOR_EACH_OBSERVER(Observer, observers_, IdleActionDeferred()); 636 for (auto& observer : observers_)
637 observer.IdleActionDeferred();
632 } 638 }
633 639
634 void InputEventReceived(dbus::Signal* signal) { 640 void InputEventReceived(dbus::Signal* signal) {
635 dbus::MessageReader reader(signal); 641 dbus::MessageReader reader(signal);
636 power_manager::InputEvent proto; 642 power_manager::InputEvent proto;
637 if (!reader.PopArrayOfBytesAsProto(&proto)) { 643 if (!reader.PopArrayOfBytesAsProto(&proto)) {
638 POWER_LOG(ERROR) << "Unable to decode protocol buffer from " 644 POWER_LOG(ERROR) << "Unable to decode protocol buffer from "
639 << power_manager::kInputEventSignal << " signal"; 645 << power_manager::kInputEventSignal << " signal";
640 return; 646 return;
641 } 647 }
642 648
643 base::TimeTicks timestamp = 649 base::TimeTicks timestamp =
644 base::TimeTicks::FromInternalValue(proto.timestamp()); 650 base::TimeTicks::FromInternalValue(proto.timestamp());
645 POWER_LOG(USER) << "Got " << power_manager::kInputEventSignal << " signal:" 651 POWER_LOG(USER) << "Got " << power_manager::kInputEventSignal << " signal:"
646 << " type=" << proto.type() 652 << " type=" << proto.type()
647 << " timestamp=" << proto.timestamp(); 653 << " timestamp=" << proto.timestamp();
648 switch (proto.type()) { 654 switch (proto.type()) {
649 case power_manager::InputEvent_Type_POWER_BUTTON_DOWN: 655 case power_manager::InputEvent_Type_POWER_BUTTON_DOWN:
650 case power_manager::InputEvent_Type_POWER_BUTTON_UP: { 656 case power_manager::InputEvent_Type_POWER_BUTTON_UP: {
651 const bool down = 657 const bool down =
652 (proto.type() == power_manager::InputEvent_Type_POWER_BUTTON_DOWN); 658 (proto.type() == power_manager::InputEvent_Type_POWER_BUTTON_DOWN);
653 FOR_EACH_OBSERVER(PowerManagerClient::Observer, observers_, 659 for (auto& observer : observers_)
654 PowerButtonEventReceived(down, timestamp)); 660 observer.PowerButtonEventReceived(down, timestamp);
655 661
656 // Tell powerd that Chrome has handled power button presses. 662 // Tell powerd that Chrome has handled power button presses.
657 if (down) { 663 if (down) {
658 dbus::MethodCall method_call( 664 dbus::MethodCall method_call(
659 power_manager::kPowerManagerInterface, 665 power_manager::kPowerManagerInterface,
660 power_manager::kHandlePowerButtonAcknowledgmentMethod); 666 power_manager::kHandlePowerButtonAcknowledgmentMethod);
661 dbus::MessageWriter writer(&method_call); 667 dbus::MessageWriter writer(&method_call);
662 writer.AppendInt64(proto.timestamp()); 668 writer.AppendInt64(proto.timestamp());
663 power_manager_proxy_->CallMethod( 669 power_manager_proxy_->CallMethod(
664 &method_call, 670 &method_call,
665 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, 671 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT,
666 dbus::ObjectProxy::EmptyResponseCallback()); 672 dbus::ObjectProxy::EmptyResponseCallback());
667 } 673 }
668 break; 674 break;
669 } 675 }
670 case power_manager::InputEvent_Type_LID_OPEN: 676 case power_manager::InputEvent_Type_LID_OPEN:
671 case power_manager::InputEvent_Type_LID_CLOSED: { 677 case power_manager::InputEvent_Type_LID_CLOSED: {
672 bool open = 678 bool open =
673 (proto.type() == power_manager::InputEvent_Type_LID_OPEN); 679 (proto.type() == power_manager::InputEvent_Type_LID_OPEN);
674 FOR_EACH_OBSERVER(PowerManagerClient::Observer, observers_, 680 for (auto& observer : observers_)
675 LidEventReceived(open, timestamp)); 681 observer.LidEventReceived(open, timestamp);
676 break; 682 break;
677 } 683 }
678 case power_manager::InputEvent_Type_TABLET_MODE_ON: 684 case power_manager::InputEvent_Type_TABLET_MODE_ON:
679 case power_manager::InputEvent_Type_TABLET_MODE_OFF: { 685 case power_manager::InputEvent_Type_TABLET_MODE_OFF: {
680 bool on = 686 bool on =
681 (proto.type() == power_manager::InputEvent_Type_TABLET_MODE_ON); 687 (proto.type() == power_manager::InputEvent_Type_TABLET_MODE_ON);
682 FOR_EACH_OBSERVER(PowerManagerClient::Observer, observers_, 688 for (auto& observer : observers_)
683 TabletModeEventReceived(on, timestamp)); 689 observer.TabletModeEventReceived(on, timestamp);
684 break; 690 break;
685 } 691 }
686 } 692 }
687 } 693 }
688 694
689 void RegisterSuspendDelayImpl( 695 void RegisterSuspendDelayImpl(
690 const std::string& method_name, 696 const std::string& method_name,
691 const power_manager::RegisterSuspendDelayRequest& protobuf_request, 697 const power_manager::RegisterSuspendDelayRequest& protobuf_request,
692 dbus::ObjectProxy::ResponseCallback callback) { 698 dbus::ObjectProxy::ResponseCallback callback) {
693 dbus::MethodCall method_call( 699 dbus::MethodCall method_call(
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after
874 // static 880 // static
875 PowerManagerClient* PowerManagerClient::Create( 881 PowerManagerClient* PowerManagerClient::Create(
876 DBusClientImplementationType type) { 882 DBusClientImplementationType type) {
877 if (type == REAL_DBUS_CLIENT_IMPLEMENTATION) 883 if (type == REAL_DBUS_CLIENT_IMPLEMENTATION)
878 return new PowerManagerClientImpl(); 884 return new PowerManagerClientImpl();
879 DCHECK_EQ(FAKE_DBUS_CLIENT_IMPLEMENTATION, type); 885 DCHECK_EQ(FAKE_DBUS_CLIENT_IMPLEMENTATION, type);
880 return new FakePowerManagerClient(); 886 return new FakePowerManagerClient();
881 } 887 }
882 888
883 } // namespace chromeos 889 } // namespace chromeos
OLDNEW
« no previous file with comments | « chromeos/dbus/fake_update_engine_client.cc ('k') | chromeos/dbus/session_manager_client.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698