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

Side by Side Diff: chrome/browser/policy/device_policy_decoder_chromeos.cc

Issue 11358113: Add device policy definition for local accounts. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 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 | Annotate | Revision Log
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 "chrome/browser/policy/device_policy_decoder_chromeos.h" 5 #include "chrome/browser/policy/device_policy_decoder_chromeos.h"
6 6
7 #include <limits> 7 #include <limits>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/values.h" 10 #include "base/values.h"
11 #include "chrome/browser/chromeos/settings/cros_settings_names.h"
11 #include "chrome/browser/policy/app_pack_updater.h" 12 #include "chrome/browser/policy/app_pack_updater.h"
12 #include "chrome/browser/policy/enterprise_install_attributes.h" 13 #include "chrome/browser/policy/enterprise_install_attributes.h"
13 #include "chrome/browser/policy/policy_map.h" 14 #include "chrome/browser/policy/policy_map.h"
14 #include "chrome/browser/policy/proto/chrome_device_policy.pb.h" 15 #include "chrome/browser/policy/proto/chrome_device_policy.pb.h"
15 #include "chromeos/dbus/dbus_thread_manager.h" 16 #include "chromeos/dbus/dbus_thread_manager.h"
16 #include "chromeos/dbus/update_engine_client.h" 17 #include "chromeos/dbus/update_engine_client.h"
17 #include "policy/policy_constants.h" 18 #include "policy/policy_constants.h"
18 #include "third_party/cros_system_api/dbus/service_constants.h" 19 #include "third_party/cros_system_api/dbus/service_constants.h"
19 20
20 using google::protobuf::RepeatedField; 21 using google::protobuf::RepeatedField;
(...skipping 318 matching lines...) Expand 10 before | Expand all | Expand 10 after
339 allowed_connection_types->Append(value); 340 allowed_connection_types->Append(value);
340 } 341 }
341 policies->Set(key::kDeviceUpdateAllowedConnectionTypes, 342 policies->Set(key::kDeviceUpdateAllowedConnectionTypes,
342 POLICY_LEVEL_MANDATORY, 343 POLICY_LEVEL_MANDATORY,
343 POLICY_SCOPE_MACHINE, 344 POLICY_SCOPE_MACHINE,
344 allowed_connection_types); 345 allowed_connection_types);
345 } 346 }
346 } 347 }
347 } 348 }
348 349
350 void DecodeLocalAccountsPolicies(const em::ChromeDeviceSettingsProto& policy,
351 PolicyMap* policies) {
352 if (!policy.has_local_accounts())
353 return;
354
355 const em::LocalAccountsProto& local_accounts = policy.local_accounts();
356 if (local_accounts.local_account().size() > 0) {
357 ListValue* account_list = new ListValue();
358 RepeatedPtrField<em::LocalAccountDefinitionProto>::const_iterator entry;
359 for (entry = local_accounts.local_account().begin();
360 entry != local_accounts.local_account().end();
361 ++entry) {
362 DictionaryValue* account_dict = new DictionaryValue();
363 account_dict->SetString(chromeos::kLocalAccountId, entry->id());
364 account_dict->SetString(chromeos::kLocalAccountName, entry->name());
365 account_list->Append(account_dict);
366 }
367 policies->Set(key::kDeviceLocalAccounts,
368 POLICY_LEVEL_MANDATORY,
369 POLICY_SCOPE_MACHINE,
370 account_list);
371 }
372 }
373
349 void DecodeGenericPolicies(const em::ChromeDeviceSettingsProto& policy, 374 void DecodeGenericPolicies(const em::ChromeDeviceSettingsProto& policy,
350 PolicyMap* policies) { 375 PolicyMap* policies) {
351 if (policy.has_device_policy_refresh_rate()) { 376 if (policy.has_device_policy_refresh_rate()) {
352 const em::DevicePolicyRefreshRateProto& container( 377 const em::DevicePolicyRefreshRateProto& container(
353 policy.device_policy_refresh_rate()); 378 policy.device_policy_refresh_rate());
354 if (container.has_device_policy_refresh_rate()) { 379 if (container.has_device_policy_refresh_rate()) {
355 policies->Set(key::kDevicePolicyRefreshRate, 380 policies->Set(key::kDevicePolicyRefreshRate,
356 POLICY_LEVEL_MANDATORY, 381 POLICY_LEVEL_MANDATORY,
357 POLICY_SCOPE_MACHINE, 382 POLICY_SCOPE_MACHINE,
358 DecodeIntegerValue(container.device_policy_refresh_rate())); 383 DecodeIntegerValue(container.device_policy_refresh_rate()));
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
401 426
402 void DecodeDevicePolicy(const em::ChromeDeviceSettingsProto& policy, 427 void DecodeDevicePolicy(const em::ChromeDeviceSettingsProto& policy,
403 PolicyMap* policies, 428 PolicyMap* policies,
404 EnterpriseInstallAttributes* install_attributes) { 429 EnterpriseInstallAttributes* install_attributes) {
405 // Decode the various groups of policies. 430 // Decode the various groups of policies.
406 DecodeLoginPolicies(policy, policies); 431 DecodeLoginPolicies(policy, policies);
407 DecodeKioskPolicies(policy, policies, install_attributes); 432 DecodeKioskPolicies(policy, policies, install_attributes);
408 DecodeNetworkPolicies(policy, policies, install_attributes); 433 DecodeNetworkPolicies(policy, policies, install_attributes);
409 DecodeReportingPolicies(policy, policies); 434 DecodeReportingPolicies(policy, policies);
410 DecodeAutoUpdatePolicies(policy, policies); 435 DecodeAutoUpdatePolicies(policy, policies);
436 DecodeLocalAccountsPolicies(policy, policies);
411 DecodeGenericPolicies(policy, policies); 437 DecodeGenericPolicies(policy, policies);
412 } 438 }
413 439
414 } // namespace policy 440 } // namespace policy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698