OLD | NEW |
1 // Copyright (c) 2014 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2014 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 "chrome/browser/chromeos/settings/shutdown_policy_handler.h" | 5 #include "chrome/browser/chromeos/settings/shutdown_policy_handler.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/callback.h" | 8 #include "base/callback.h" |
9 #include "chromeos/settings/cros_settings_names.h" | 9 #include "chromeos/settings/cros_settings_names.h" |
10 #include "chromeos/settings/cros_settings_provider.h" | 10 #include "chromeos/settings/cros_settings_provider.h" |
11 | 11 |
12 namespace chromeos { | 12 namespace chromeos { |
13 | 13 |
14 ShutdownPolicyHandler::ShutdownPolicyHandler(CrosSettings* cros_settings, | 14 ShutdownPolicyHandler::ShutdownPolicyHandler(CrosSettings* cros_settings, |
15 Delegate* delegate) | 15 Delegate* delegate) |
16 : cros_settings_(cros_settings), delegate_(delegate), weak_factory_(this) { | 16 : cros_settings_(cros_settings), delegate_(delegate), weak_factory_(this) { |
17 if (delegate_) { | 17 if (delegate_) { |
18 shutdown_policy_subscription_ = cros_settings_->AddSettingsObserver( | 18 shutdown_policy_subscription_ = cros_settings_->AddSettingsObserver( |
19 kRebootOnShutdown, | 19 kRebootOnShutdown, |
20 base::Bind(&ShutdownPolicyHandler::OnShutdownPolicyChanged, | 20 base::Bind(&ShutdownPolicyHandler::OnShutdownPolicyChanged, |
21 weak_factory_.GetWeakPtr())); | 21 weak_factory_.GetWeakPtr())); |
22 } | 22 } |
23 } | 23 } |
24 | 24 |
25 ShutdownPolicyHandler::~ShutdownPolicyHandler() { | 25 ShutdownPolicyHandler::~ShutdownPolicyHandler() {} |
26 } | |
27 | 26 |
28 void ShutdownPolicyHandler::Shutdown() { | 27 void ShutdownPolicyHandler::Shutdown() { |
29 shutdown_policy_subscription_.reset(); | 28 shutdown_policy_subscription_.reset(); |
30 delegate_ = nullptr; | 29 delegate_ = nullptr; |
31 } | 30 } |
32 | 31 |
33 void ShutdownPolicyHandler::CallDelegate(bool reboot_on_shutdown) { | 32 void ShutdownPolicyHandler::CallDelegate(bool reboot_on_shutdown) { |
34 if (delegate_) | 33 if (delegate_) |
35 delegate_->OnShutdownPolicyChanged(reboot_on_shutdown); | 34 delegate_->OnShutdownPolicyChanged(reboot_on_shutdown); |
36 } | 35 } |
(...skipping 12 matching lines...) Expand all Loading... |
49 if (status != CrosSettingsProvider::TRUSTED) | 48 if (status != CrosSettingsProvider::TRUSTED) |
50 return; | 49 return; |
51 | 50 |
52 // Get the updated policy. | 51 // Get the updated policy. |
53 bool reboot_on_shutdown = false; | 52 bool reboot_on_shutdown = false; |
54 cros_settings_->GetBoolean(kRebootOnShutdown, &reboot_on_shutdown); | 53 cros_settings_->GetBoolean(kRebootOnShutdown, &reboot_on_shutdown); |
55 callback.Run(reboot_on_shutdown); | 54 callback.Run(reboot_on_shutdown); |
56 } | 55 } |
57 | 56 |
58 } // namespace chromeos | 57 } // namespace chromeos |
OLD | NEW |