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

Side by Side Diff: chrome/tools/build/generate_policy_source.py

Issue 17034006: Add base namespace to more values in sync and elsewhere. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 6 months 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 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 '''python %prog [options] platform chromium_os_flag template 6 '''python %prog [options] platform chromium_os_flag template
7 7
8 platform specifies which platform source is being generated for 8 platform specifies which platform source is being generated for
9 and can be one of (win, mac, linux) 9 and can be one of (win, mac, linux)
10 chromium_os_flag should be 1 if this is a Chromium OS build 10 chromium_os_flag should be 1 if this is a Chromium OS build
(...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after
237 '#include "base/logging.h"\n' 237 '#include "base/logging.h"\n'
238 '#include "policy/policy_constants.h"\n' 238 '#include "policy/policy_constants.h"\n'
239 '\n' 239 '\n'
240 'namespace policy {\n\n') 240 'namespace policy {\n\n')
241 241
242 f.write('namespace {\n\n') 242 f.write('namespace {\n\n')
243 243
244 f.write('const PolicyDefinitionList::Entry kEntries[] = {\n') 244 f.write('const PolicyDefinitionList::Entry kEntries[] = {\n')
245 for policy in policies: 245 for policy in policies:
246 if policy.is_supported: 246 if policy.is_supported:
247 f.write(' { key::k%s, Value::%s, %s, %s },\n' % 247 f.write(' { key::k%s, base::Value::%s, %s, %s },\n' %
248 (policy.name, policy.value_type, 248 (policy.name, policy.value_type,
249 'true' if policy.is_device_only else 'false', policy.id)) 249 'true' if policy.is_device_only else 'false', policy.id))
250 f.write('};\n\n') 250 f.write('};\n\n')
251 251
252 f.write('const PolicyDefinitionList kChromePolicyList = {\n' 252 f.write('const PolicyDefinitionList kChromePolicyList = {\n'
253 ' kEntries,\n' 253 ' kEntries,\n'
254 ' kEntries + arraysize(kEntries),\n' 254 ' kEntries + arraysize(kEntries),\n'
255 '};\n\n') 255 '};\n\n')
256 256
257 has_deprecated_policies = any( 257 has_deprecated_policies = any(
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after
417 #include "chrome/browser/policy/policy_map.h" 417 #include "chrome/browser/policy/policy_map.h"
418 #include "policy/policy_constants.h" 418 #include "policy/policy_constants.h"
419 #include "policy/proto/cloud_policy.pb.h" 419 #include "policy/proto/cloud_policy.pb.h"
420 420
421 using google::protobuf::RepeatedPtrField; 421 using google::protobuf::RepeatedPtrField;
422 422
423 namespace policy { 423 namespace policy {
424 424
425 namespace em = enterprise_management; 425 namespace em = enterprise_management;
426 426
427 Value* DecodeIntegerValue(google::protobuf::int64 value) { 427 base::Value* DecodeIntegerValue(google::protobuf::int64 value) {
428 if (value < std::numeric_limits<int>::min() || 428 if (value < std::numeric_limits<int>::min() ||
429 value > std::numeric_limits<int>::max()) { 429 value > std::numeric_limits<int>::max()) {
430 LOG(WARNING) << "Integer value " << value 430 LOG(WARNING) << "Integer value " << value
431 << " out of numeric limits, ignoring."; 431 << " out of numeric limits, ignoring.";
432 return NULL; 432 return NULL;
433 } 433 }
434 434
435 return Value::CreateIntegerValue(static_cast<int>(value)); 435 return base::Value::CreateIntegerValue(static_cast<int>(value));
436 } 436 }
437 437
438 ListValue* DecodeStringList(const em::StringList& string_list) { 438 base::ListValue* DecodeStringList(const em::StringList& string_list) {
439 ListValue* list_value = new ListValue; 439 base::ListValue* list_value = new base::ListValue;
440 RepeatedPtrField<std::string>::const_iterator entry; 440 RepeatedPtrField<std::string>::const_iterator entry;
441 for (entry = string_list.entries().begin(); 441 for (entry = string_list.entries().begin();
442 entry != string_list.entries().end(); ++entry) { 442 entry != string_list.entries().end(); ++entry) {
443 list_value->Append(Value::CreateStringValue(*entry)); 443 list_value->Append(base::Value::CreateStringValue(*entry));
444 } 444 }
445 return list_value; 445 return list_value;
446 } 446 }
447 447
448 void DecodePolicy(const em::CloudPolicySettings& policy, PolicyMap* map) { 448 void DecodePolicy(const em::CloudPolicySettings& policy, PolicyMap* map) {
449 ''' 449 '''
450 450
451 451
452 CPP_FOOT = '''} 452 CPP_FOOT = '''}
453 453
454 } // namespace policy 454 } // namespace policy
455 ''' 455 '''
456 456
457 457
458 def _CreateValue(type, arg): 458 def _CreateValue(type, arg):
459 if type == 'TYPE_BOOLEAN': 459 if type == 'TYPE_BOOLEAN':
460 return 'Value::CreateBooleanValue(%s)' % arg 460 return 'base::Value::CreateBooleanValue(%s)' % arg
461 elif type == 'TYPE_INTEGER': 461 elif type == 'TYPE_INTEGER':
462 return 'DecodeIntegerValue(%s)' % arg 462 return 'DecodeIntegerValue(%s)' % arg
463 elif type == 'TYPE_STRING': 463 elif type == 'TYPE_STRING':
464 return 'Value::CreateStringValue(%s)' % arg 464 return 'base::Value::CreateStringValue(%s)' % arg
465 elif type == 'TYPE_LIST': 465 elif type == 'TYPE_LIST':
466 return 'DecodeStringList(%s)' % arg 466 return 'DecodeStringList(%s)' % arg
467 elif type == 'TYPE_DICTIONARY': 467 elif type == 'TYPE_DICTIONARY':
468 # TODO(joaodasilva): decode 'dict' types. http://crbug.com/108997 468 # TODO(joaodasilva): decode 'dict' types. http://crbug.com/108997
469 return 'new DictionaryValue()' 469 return 'new base::DictionaryValue()'
470 else: 470 else:
471 raise NotImplementedError('Unknown type %s' % type) 471 raise NotImplementedError('Unknown type %s' % type)
472 472
473 473
474 def _WritePolicyCode(f, policy): 474 def _WritePolicyCode(f, policy):
475 membername = policy.name.lower() 475 membername = policy.name.lower()
476 proto_type = '%sPolicyProto' % policy.policy_protobuf_type 476 proto_type = '%sPolicyProto' % policy.policy_protobuf_type
477 f.write(' if (policy.has_%s()) {\n' % membername) 477 f.write(' if (policy.has_%s()) {\n' % membername)
478 f.write(' const em::%s& policy_proto = policy.%s();\n' % 478 f.write(' const em::%s& policy_proto = policy.%s();\n' %
479 (proto_type, membername)) 479 (proto_type, membername))
480 f.write(' if (policy_proto.has_value()) {\n') 480 f.write(' if (policy_proto.has_value()) {\n')
481 f.write(' PolicyLevel level = POLICY_LEVEL_MANDATORY;\n' 481 f.write(' PolicyLevel level = POLICY_LEVEL_MANDATORY;\n'
482 ' bool do_set = true;\n' 482 ' bool do_set = true;\n'
483 ' if (policy_proto.has_policy_options()) {\n' 483 ' if (policy_proto.has_policy_options()) {\n'
484 ' do_set = false;\n' 484 ' do_set = false;\n'
485 ' switch(policy_proto.policy_options().mode()) {\n' 485 ' switch(policy_proto.policy_options().mode()) {\n'
486 ' case em::PolicyOptions::MANDATORY:\n' 486 ' case em::PolicyOptions::MANDATORY:\n'
487 ' do_set = true;\n' 487 ' do_set = true;\n'
488 ' level = POLICY_LEVEL_MANDATORY;\n' 488 ' level = POLICY_LEVEL_MANDATORY;\n'
489 ' break;\n' 489 ' break;\n'
490 ' case em::PolicyOptions::RECOMMENDED:\n' 490 ' case em::PolicyOptions::RECOMMENDED:\n'
491 ' do_set = true;\n' 491 ' do_set = true;\n'
492 ' level = POLICY_LEVEL_RECOMMENDED;\n' 492 ' level = POLICY_LEVEL_RECOMMENDED;\n'
493 ' break;\n' 493 ' break;\n'
494 ' case em::PolicyOptions::UNSET:\n' 494 ' case em::PolicyOptions::UNSET:\n'
495 ' break;\n' 495 ' break;\n'
496 ' }\n' 496 ' }\n'
497 ' }\n' 497 ' }\n'
498 ' if (do_set) {\n') 498 ' if (do_set) {\n')
499 f.write(' Value* value = %s;\n' % 499 f.write(' base::Value* value = %s;\n' %
500 (_CreateValue(policy.value_type, 'policy_proto.value()'))) 500 (_CreateValue(policy.value_type, 'policy_proto.value()')))
501 f.write(' map->Set(key::k%s, level, POLICY_SCOPE_USER, value);\n' % 501 f.write(' map->Set(key::k%s, level, POLICY_SCOPE_USER, value);\n' %
502 policy.name) 502 policy.name)
503 f.write(' }\n' 503 f.write(' }\n'
504 ' }\n' 504 ' }\n'
505 ' }\n') 505 ' }\n')
506 506
507 507
508 def _WriteCloudPolicyDecoder(policies, os, f): 508 def _WriteCloudPolicyDecoder(policies, os, f):
509 f.write(CPP_HEAD) 509 f.write(CPP_HEAD)
510 for policy in policies: 510 for policy in policies:
511 if policy.is_supported and not policy.is_device_only: 511 if policy.is_supported and not policy.is_device_only:
512 _WritePolicyCode(f, policy) 512 _WritePolicyCode(f, policy)
513 f.write(CPP_FOOT) 513 f.write(CPP_FOOT)
514 514
515 515
516 if __name__ == '__main__': 516 if __name__ == '__main__':
517 sys.exit(main()) 517 sys.exit(main())
OLDNEW
« no previous file with comments | « chrome/installer/util/master_preferences.cc ('k') | chromeos/dbus/shill_ipconfig_client_stub.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698