| OLD | NEW |
| 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/session_manager_client.h" | 5 #include "chromeos/dbus/session_manager_client.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include <memory> | 10 #include <memory> |
| (...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 98 | 98 |
| 99 bool HasObserver(const Observer* observer) const override { | 99 bool HasObserver(const Observer* observer) const override { |
| 100 return observers_.HasObserver(observer); | 100 return observers_.HasObserver(observer); |
| 101 } | 101 } |
| 102 | 102 |
| 103 bool IsScreenLocked() const override { return screen_is_locked_; } | 103 bool IsScreenLocked() const override { return screen_is_locked_; } |
| 104 | 104 |
| 105 void EmitLoginPromptVisible() override { | 105 void EmitLoginPromptVisible() override { |
| 106 SimpleMethodCallToSessionManager( | 106 SimpleMethodCallToSessionManager( |
| 107 login_manager::kSessionManagerEmitLoginPromptVisible); | 107 login_manager::kSessionManagerEmitLoginPromptVisible); |
| 108 FOR_EACH_OBSERVER(Observer, observers_, EmitLoginPromptVisibleCalled()); | 108 for (auto& observer : observers_) |
| 109 observer.EmitLoginPromptVisibleCalled(); |
| 109 } | 110 } |
| 110 | 111 |
| 111 void RestartJob(int socket_fd, | 112 void RestartJob(int socket_fd, |
| 112 const std::vector<std::string>& argv, | 113 const std::vector<std::string>& argv, |
| 113 const VoidDBusMethodCallback& callback) override { | 114 const VoidDBusMethodCallback& callback) override { |
| 114 dbus::MethodCall method_call(login_manager::kSessionManagerInterface, | 115 dbus::MethodCall method_call(login_manager::kSessionManagerInterface, |
| 115 login_manager::kSessionManagerRestartJob); | 116 login_manager::kSessionManagerRestartJob); |
| 116 dbus::MessageWriter writer(&method_call); | 117 dbus::MessageWriter writer(&method_call); |
| 117 writer.AppendFileDescriptor(socket_fd); | 118 writer.AppendFileDescriptor(socket_fd); |
| 118 writer.AppendArrayOfStrings(argv); | 119 writer.AppendArrayOfStrings(argv); |
| (...skipping 474 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 593 // Called when the owner key set signal is received. | 594 // Called when the owner key set signal is received. |
| 594 void OwnerKeySetReceived(dbus::Signal* signal) { | 595 void OwnerKeySetReceived(dbus::Signal* signal) { |
| 595 dbus::MessageReader reader(signal); | 596 dbus::MessageReader reader(signal); |
| 596 std::string result_string; | 597 std::string result_string; |
| 597 if (!reader.PopString(&result_string)) { | 598 if (!reader.PopString(&result_string)) { |
| 598 LOG(ERROR) << "Invalid signal: " << signal->ToString(); | 599 LOG(ERROR) << "Invalid signal: " << signal->ToString(); |
| 599 return; | 600 return; |
| 600 } | 601 } |
| 601 const bool success = base::StartsWith(result_string, "success", | 602 const bool success = base::StartsWith(result_string, "success", |
| 602 base::CompareCase::INSENSITIVE_ASCII); | 603 base::CompareCase::INSENSITIVE_ASCII); |
| 603 FOR_EACH_OBSERVER(Observer, observers_, OwnerKeySet(success)); | 604 for (auto& observer : observers_) |
| 605 observer.OwnerKeySet(success); |
| 604 } | 606 } |
| 605 | 607 |
| 606 // Called when the property change complete signal is received. | 608 // Called when the property change complete signal is received. |
| 607 void PropertyChangeCompleteReceived(dbus::Signal* signal) { | 609 void PropertyChangeCompleteReceived(dbus::Signal* signal) { |
| 608 dbus::MessageReader reader(signal); | 610 dbus::MessageReader reader(signal); |
| 609 std::string result_string; | 611 std::string result_string; |
| 610 if (!reader.PopString(&result_string)) { | 612 if (!reader.PopString(&result_string)) { |
| 611 LOG(ERROR) << "Invalid signal: " << signal->ToString(); | 613 LOG(ERROR) << "Invalid signal: " << signal->ToString(); |
| 612 return; | 614 return; |
| 613 } | 615 } |
| 614 const bool success = base::StartsWith(result_string, "success", | 616 const bool success = base::StartsWith(result_string, "success", |
| 615 base::CompareCase::INSENSITIVE_ASCII); | 617 base::CompareCase::INSENSITIVE_ASCII); |
| 616 FOR_EACH_OBSERVER(Observer, observers_, PropertyChangeComplete(success)); | 618 for (auto& observer : observers_) |
| 619 observer.PropertyChangeComplete(success); |
| 617 } | 620 } |
| 618 | 621 |
| 619 void ScreenIsLockedReceived(dbus::Signal* signal) { | 622 void ScreenIsLockedReceived(dbus::Signal* signal) { |
| 620 screen_is_locked_ = true; | 623 screen_is_locked_ = true; |
| 621 FOR_EACH_OBSERVER(Observer, observers_, ScreenIsLocked()); | 624 for (auto& observer : observers_) |
| 625 observer.ScreenIsLocked(); |
| 622 } | 626 } |
| 623 | 627 |
| 624 void ScreenIsUnlockedReceived(dbus::Signal* signal) { | 628 void ScreenIsUnlockedReceived(dbus::Signal* signal) { |
| 625 screen_is_locked_ = false; | 629 screen_is_locked_ = false; |
| 626 FOR_EACH_OBSERVER(Observer, observers_, ScreenIsUnlocked()); | 630 for (auto& observer : observers_) |
| 631 observer.ScreenIsUnlocked(); |
| 627 } | 632 } |
| 628 | 633 |
| 629 void ArcInstanceStoppedReceived(dbus::Signal* signal) { | 634 void ArcInstanceStoppedReceived(dbus::Signal* signal) { |
| 630 dbus::MessageReader reader(signal); | 635 dbus::MessageReader reader(signal); |
| 631 bool clean = false; | 636 bool clean = false; |
| 632 if (!reader.PopBool(&clean)) { | 637 if (!reader.PopBool(&clean)) { |
| 633 LOG(ERROR) << "Invalid signal: " << signal->ToString(); | 638 LOG(ERROR) << "Invalid signal: " << signal->ToString(); |
| 634 return; | 639 return; |
| 635 } | 640 } |
| 636 FOR_EACH_OBSERVER(Observer, observers_, ArcInstanceStopped(clean)); | 641 for (auto& observer : observers_) |
| 642 observer.ArcInstanceStopped(clean); |
| 637 } | 643 } |
| 638 | 644 |
| 639 // Called when the object is connected to the signal. | 645 // Called when the object is connected to the signal. |
| 640 void SignalConnected(const std::string& interface_name, | 646 void SignalConnected(const std::string& interface_name, |
| 641 const std::string& signal_name, | 647 const std::string& signal_name, |
| 642 bool success) { | 648 bool success) { |
| 643 LOG_IF(ERROR, !success) << "Failed to connect to " << signal_name; | 649 LOG_IF(ERROR, !success) << "Failed to connect to " << signal_name; |
| 644 } | 650 } |
| 645 | 651 |
| 646 // Called when kSessionManagerGetServerBackedStateKeys method is complete. | 652 // Called when kSessionManagerGetServerBackedStateKeys method is complete. |
| (...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 787 void StopSession() override {} | 793 void StopSession() override {} |
| 788 void NotifySupervisedUserCreationStarted() override {} | 794 void NotifySupervisedUserCreationStarted() override {} |
| 789 void NotifySupervisedUserCreationFinished() override {} | 795 void NotifySupervisedUserCreationFinished() override {} |
| 790 void StartDeviceWipe() override {} | 796 void StartDeviceWipe() override {} |
| 791 void RequestLockScreen() override { | 797 void RequestLockScreen() override { |
| 792 if (delegate_) | 798 if (delegate_) |
| 793 delegate_->LockScreenForStub(); | 799 delegate_->LockScreenForStub(); |
| 794 } | 800 } |
| 795 void NotifyLockScreenShown() override { | 801 void NotifyLockScreenShown() override { |
| 796 screen_is_locked_ = true; | 802 screen_is_locked_ = true; |
| 797 FOR_EACH_OBSERVER(Observer, observers_, ScreenIsLocked()); | 803 for (auto& observer : observers_) |
| 804 observer.ScreenIsLocked(); |
| 798 } | 805 } |
| 799 void NotifyLockScreenDismissed() override { | 806 void NotifyLockScreenDismissed() override { |
| 800 screen_is_locked_ = false; | 807 screen_is_locked_ = false; |
| 801 FOR_EACH_OBSERVER(Observer, observers_, ScreenIsUnlocked()); | 808 for (auto& observer : observers_) |
| 809 observer.ScreenIsUnlocked(); |
| 802 } | 810 } |
| 803 void RetrieveActiveSessions(const ActiveSessionsCallback& callback) override { | 811 void RetrieveActiveSessions(const ActiveSessionsCallback& callback) override { |
| 804 } | 812 } |
| 805 void RetrieveDevicePolicy(const RetrievePolicyCallback& callback) override { | 813 void RetrieveDevicePolicy(const RetrievePolicyCallback& callback) override { |
| 806 base::FilePath owner_key_path; | 814 base::FilePath owner_key_path; |
| 807 if (!PathService::Get(chromeos::FILE_OWNER_KEY, &owner_key_path)) { | 815 if (!PathService::Get(chromeos::FILE_OWNER_KEY, &owner_key_path)) { |
| 808 callback.Run(""); | 816 callback.Run(""); |
| 809 return; | 817 return; |
| 810 } | 818 } |
| 811 base::FilePath device_policy_path = | 819 base::FilePath device_policy_path = |
| (...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 960 | 968 |
| 961 SessionManagerClient* SessionManagerClient::Create( | 969 SessionManagerClient* SessionManagerClient::Create( |
| 962 DBusClientImplementationType type) { | 970 DBusClientImplementationType type) { |
| 963 if (type == REAL_DBUS_CLIENT_IMPLEMENTATION) | 971 if (type == REAL_DBUS_CLIENT_IMPLEMENTATION) |
| 964 return new SessionManagerClientImpl(); | 972 return new SessionManagerClientImpl(); |
| 965 DCHECK_EQ(FAKE_DBUS_CLIENT_IMPLEMENTATION, type); | 973 DCHECK_EQ(FAKE_DBUS_CLIENT_IMPLEMENTATION, type); |
| 966 return new SessionManagerClientStubImpl(); | 974 return new SessionManagerClientStubImpl(); |
| 967 } | 975 } |
| 968 | 976 |
| 969 } // namespace chromeos | 977 } // namespace chromeos |
| OLD | NEW |