Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 #include "chromeos/network/prohibited_technologies_handler.h" | |
| 6 | |
| 7 #include "chromeos/network/managed_network_configuration_handler.h" | |
| 8 #include "chromeos/network/network_state_handler.h" | |
| 9 | |
| 10 namespace chromeos { | |
| 11 | |
| 12 ProhibitedTechnologiesHandler::ProhibitedTechnologiesHandler() | |
| 13 : managed_network_configuration_handler_(nullptr){}; | |
|
stevenjb
2015/11/11 18:07:31
Need to intialize other members. Better yet, use N
fqj
2015/11/12 10:23:01
Done.
| |
| 14 | |
| 15 ProhibitedTechnologiesHandler::~ProhibitedTechnologiesHandler() { | |
| 16 if (managed_network_configuration_handler_) | |
| 17 managed_network_configuration_handler_->RemoveObserver(this); | |
| 18 if (LoginState::IsInitialized()) | |
| 19 LoginState::Get()->RemoveObserver(this); | |
| 20 } | |
| 21 | |
| 22 void ProhibitedTechnologiesHandler::Init( | |
| 23 ManagedNetworkConfigurationHandler* managed_network_configuration_handler, | |
| 24 NetworkStateHandler* network_state_handler) { | |
| 25 if (LoginState::IsInitialized()) { | |
| 26 LoginState::Get()->AddObserver(this); | |
| 27 } | |
|
stevenjb
2015/11/11 18:07:31
nit: no {}
fqj
2015/11/12 10:23:01
Done.
| |
| 28 | |
| 29 managed_network_configuration_handler_ = | |
| 30 managed_network_configuration_handler; | |
| 31 if (managed_network_configuration_handler_) | |
| 32 managed_network_configuration_handler_->AddObserver(this); | |
| 33 network_state_handler_ = network_state_handler; | |
| 34 | |
| 35 // Clear the list of prohibited network technologies. As a user logout always | |
| 36 // triggers a browser process restart, Init() is always invoked to reallow any | |
| 37 // network technology forbidden for the previous user. | |
| 38 network_state_handler_->SetProhibitedTechnologies( | |
| 39 std::vector<std::string>(), chromeos::network_handler::ErrorCallback()); | |
| 40 | |
| 41 if (LoginState::IsInitialized()) | |
| 42 LoggedInStateChanged(); | |
| 43 } | |
| 44 | |
| 45 void ProhibitedTechnologiesHandler::LoggedInStateChanged() { | |
| 46 user_logged_in_ = LoginState::Get()->IsUserLoggedIn(); | |
| 47 EnforceProhibitedTechnologies(user_logged_in_ && user_policy_applied_); | |
| 48 } | |
| 49 | |
| 50 void ProhibitedTechnologiesHandler::PoliciesChanged( | |
| 51 const std::string& userhash) {} | |
| 52 | |
| 53 void ProhibitedTechnologiesHandler::PoliciesApplied( | |
| 54 const std::string& userhash) { | |
| 55 if (userhash.empty()) | |
| 56 return; | |
| 57 user_policy_applied_ = true; | |
| 58 EnforceProhibitedTechnologies(user_logged_in_ && user_policy_applied_); | |
|
stevenjb
2015/11/11 18:07:31
&& user_policy_applied_ is unnecessary since it is
fqj
2015/11/12 10:23:01
Done.
| |
| 59 } | |
| 60 | |
| 61 void ProhibitedTechnologiesHandler::SetProhibitedTechnologies( | |
| 62 const std::vector<std::string>& prohibited_technologies) { | |
| 63 prohibited_technologies_.assign(prohibited_technologies.begin(), | |
| 64 prohibited_technologies.end()); | |
| 65 EnforceProhibitedTechnologies(user_logged_in_ && user_policy_applied_); | |
| 66 } | |
| 67 | |
| 68 void ProhibitedTechnologiesHandler::EnforceProhibitedTechnologies( | |
| 69 bool enforced) { | |
| 70 if (enforced) { | |
| 71 network_state_handler_->SetProhibitedTechnologies( | |
| 72 prohibited_technologies_, network_handler::ErrorCallback()); | |
| 73 } else { | |
| 74 network_state_handler_->SetProhibitedTechnologies( | |
| 75 std::vector<std::string>(), network_handler::ErrorCallback()); | |
| 76 } | |
| 77 } | |
| 78 | |
| 79 std::vector<std::string> | |
| 80 ProhibitedTechnologiesHandler::GetCurrentlyProhibitedTechnologies() { | |
| 81 if (user_logged_in_ && user_policy_applied_) | |
| 82 return prohibited_technologies_; | |
| 83 else | |
|
stevenjb
2015/11/11 18:07:31
no else after return
fqj
2015/11/12 10:23:01
Done.
| |
| 84 return std::vector<std::string>(); | |
| 85 } | |
| 86 | |
| 87 } // namespace chromeos | |
| OLD | NEW |