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

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

Issue 13619014: Change PolicyLoaderWin to load PReg files if possible. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 8 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
11 template is the path to a .json policy template file.''' 11 template is the path to a .json policy template file.'''
12 12
13 from __future__ import with_statement 13 from __future__ import with_statement
14 from collections import namedtuple 14 from collections import namedtuple
15 from optparse import OptionParser 15 from optparse import OptionParser
16 import re 16 import re
17 import sys 17 import sys
18 import textwrap 18 import textwrap
19 19
20 20
21 CHROME_MANDATORY_SUBKEY = 'SOFTWARE\\\\Policies\\\\Google\\\\Chrome' 21 CHROME_POLICY_KEY = 'SOFTWARE\\\\Policies\\\\Google\\\\Chrome'
22 CHROME_RECOMMENDED_SUBKEY = CHROME_MANDATORY_SUBKEY + '\\\\Recommended' 22 CHROMIUM_POLICY_KEY = 'SOFTWARE\\\\Policies\\\\Chromium'
23 CHROMIUM_MANDATORY_SUBKEY = 'SOFTWARE\\\\Policies\\\\Chromium'
24 CHROMIUM_RECOMMENDED_SUBKEY = CHROMIUM_MANDATORY_SUBKEY + '\\\\Recommended'
25 23
26 TYPE_MAP = { 24 TYPE_MAP = {
27 'dict': 'TYPE_DICTIONARY', 25 'dict': 'TYPE_DICTIONARY',
28 'int': 'TYPE_INTEGER', 26 'int': 'TYPE_INTEGER',
29 'int-enum': 'TYPE_INTEGER', 27 'int-enum': 'TYPE_INTEGER',
30 'list': 'TYPE_LIST', 28 'list': 'TYPE_LIST',
31 'main': 'TYPE_BOOLEAN', 29 'main': 'TYPE_BOOLEAN',
32 'string': 'TYPE_STRING', 30 'string': 'TYPE_STRING',
33 'string-enum': 'TYPE_STRING', 31 'string-enum': 'TYPE_STRING',
34 } 32 }
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
170 f.write('#ifndef CHROME_COMMON_POLICY_CONSTANTS_H_\n' 168 f.write('#ifndef CHROME_COMMON_POLICY_CONSTANTS_H_\n'
171 '#define CHROME_COMMON_POLICY_CONSTANTS_H_\n' 169 '#define CHROME_COMMON_POLICY_CONSTANTS_H_\n'
172 '\n' 170 '\n'
173 '#include <string>\n' 171 '#include <string>\n'
174 '\n' 172 '\n'
175 '#include "base/values.h"\n' 173 '#include "base/values.h"\n'
176 '\n' 174 '\n'
177 'namespace policy {\n\n') 175 'namespace policy {\n\n')
178 176
179 if os == 'win': 177 if os == 'win':
180 f.write('// The windows registry path where mandatory policy ' 178 f.write('// The windows registry path where Chrome policy '
181 'configuration resides.\n' 179 'configuration resides.\n'
182 'extern const wchar_t kRegistryMandatorySubKey[];\n' 180 'extern const wchar_t kRegistryChromePolicyKey[];\n')
183 '// The windows registry path where recommended policy '
184 'configuration resides.\n'
185 'extern const wchar_t kRegistryRecommendedSubKey[];\n\n')
186 181
187 f.write('// Lists policy types mapped to their names and expected types.\n' 182 f.write('// Lists policy types mapped to their names and expected types.\n'
188 '// Used to initialize ConfigurationPolicyProviders.\n' 183 '// Used to initialize ConfigurationPolicyProviders.\n'
189 'struct PolicyDefinitionList {\n' 184 'struct PolicyDefinitionList {\n'
190 ' struct Entry {\n' 185 ' struct Entry {\n'
191 ' const char* name;\n' 186 ' const char* name;\n'
192 ' base::Value::Type value_type;\n' 187 ' base::Value::Type value_type;\n'
193 ' bool device_policy;\n' 188 ' bool device_policy;\n'
194 ' int id;\n' 189 ' int id;\n'
195 ' };\n' 190 ' };\n'
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
252 'const char* kDeprecatedPolicyList[] = {\n') 247 'const char* kDeprecatedPolicyList[] = {\n')
253 for policy in _GetPolicyList(template_file_contents): 248 for policy in _GetPolicyList(template_file_contents):
254 if policy.is_deprecated: 249 if policy.is_deprecated:
255 f.write(' key::k%s,\n' % policy.name) 250 f.write(' key::k%s,\n' % policy.name)
256 f.write('};\n\n') 251 f.write('};\n\n')
257 252
258 f.write('} // namespace\n\n') 253 f.write('} // namespace\n\n')
259 254
260 if os == 'win': 255 if os == 'win':
261 f.write('#if defined(GOOGLE_CHROME_BUILD)\n' 256 f.write('#if defined(GOOGLE_CHROME_BUILD)\n'
262 'const wchar_t kRegistryMandatorySubKey[] = ' 257 'const wchar_t kRegistryChromePolicyKey[] = '
263 'L"' + CHROME_MANDATORY_SUBKEY + '";\n' 258 'L"' + CHROME_POLICY_KEY + '";\n'
264 'const wchar_t kRegistryRecommendedSubKey[] = '
265 'L"' + CHROME_RECOMMENDED_SUBKEY + '";\n'
266 '#else\n' 259 '#else\n'
267 'const wchar_t kRegistryMandatorySubKey[] = ' 260 'const wchar_t kRegistryChromePolicyKey[] = '
268 'L"' + CHROMIUM_MANDATORY_SUBKEY + '";\n' 261 'L"' + CHROMIUM_POLICY_KEY + '";\n'
269 'const wchar_t kRegistryRecommendedSubKey[] = '
270 'L"' + CHROMIUM_RECOMMENDED_SUBKEY + '";\n'
271 '#endif\n\n') 262 '#endif\n\n')
272 263
273 f.write('bool IsDeprecatedPolicy(const std::string& policy) {\n' 264 f.write('bool IsDeprecatedPolicy(const std::string& policy) {\n'
274 ' for (size_t i = 0; i < arraysize(kDeprecatedPolicyList);' 265 ' for (size_t i = 0; i < arraysize(kDeprecatedPolicyList);'
275 ' ++i) {\n' 266 ' ++i) {\n'
276 ' if (policy == kDeprecatedPolicyList[i])\n' 267 ' if (policy == kDeprecatedPolicyList[i])\n'
277 ' return true;\n' 268 ' return true;\n'
278 ' }\n' 269 ' }\n'
279 ' return false;\n' 270 ' return false;\n'
280 '}\n' 271 '}\n'
(...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after
527 with open(outfilepath, 'w') as f: 518 with open(outfilepath, 'w') as f:
528 _OutputGeneratedWarningForC(f, args[2]) 519 _OutputGeneratedWarningForC(f, args[2])
529 f.write(CPP_HEAD) 520 f.write(CPP_HEAD)
530 for policy in _Flatten(template_file_contents): 521 for policy in _Flatten(template_file_contents):
531 _WritePolicyCode(f, policy) 522 _WritePolicyCode(f, policy)
532 f.write(CPP_FOOT) 523 f.write(CPP_FOOT)
533 524
534 525
535 if __name__ == '__main__': 526 if __name__ == '__main__':
536 sys.exit(main()) 527 sys.exit(main())
OLDNEW
« chrome/browser/policy/policy_loader_win.cc ('K') | « chrome/browser/policy/policy_path_parser_win.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698