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

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

Issue 1431563005: Handle prohibited technologies in device policy ONC (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 1 month 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
OLDNEW
(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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698