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

Unified Diff: tools/json_schema_compiler/cpp_bundle_generator.py

Issue 1226353004: Generate all extension schema namespaces as "api" and instead vary the generated bundle names. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 5 years, 5 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tools/json_schema_compiler/compiler.py ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/json_schema_compiler/cpp_bundle_generator.py
diff --git a/tools/json_schema_compiler/cpp_bundle_generator.py b/tools/json_schema_compiler/cpp_bundle_generator.py
index 708d30fbbabfaa35f6f5e0c35a84f89df5b01005..a039368affd05a972d91897e8011047c0d9bab20 100644
--- a/tools/json_schema_compiler/cpp_bundle_generator.py
+++ b/tools/json_schema_compiler/cpp_bundle_generator.py
@@ -40,12 +40,14 @@ class CppBundleGenerator(object):
api_defs,
cpp_type_generator,
cpp_namespace_pattern,
+ bundle_name,
source_file_dir,
impl_dir):
self._root = root
self._model = model
self._api_defs = api_defs
self._cpp_type_generator = cpp_type_generator
+ self._bundle_name = bundle_name
self._source_file_dir = source_file_dir
self._impl_dir = impl_dir
@@ -118,8 +120,8 @@ class CppBundleGenerator(object):
def _GenerateFunctionRegistryRegisterAll(self):
c = code.Code()
c.Append('// static')
- c.Sblock('void GeneratedFunctionRegistry::RegisterAll('
- 'ExtensionFunctionRegistry* registry) {')
+ c.Sblock('void %s::RegisterAll(ExtensionFunctionRegistry* registry) {' %
+ self._GenerateBundleClass('GeneratedFunctionRegistry'))
for namespace in self._model.namespaces.values():
namespace_ifdefs = self._GetPlatformIfdefs(namespace)
if namespace_ifdefs is not None:
@@ -144,6 +146,12 @@ class CppBundleGenerator(object):
c.Eblock("}")
return c
+ def _GenerateBundleClass(self, class_name):
+ '''Generates the C++ class name to use for a bundle class, taking into
+ account the bundle's name.
+ '''
+ return self._bundle_name + class_name
+
class _APIHGenerator(object):
"""Generates the header for API registration / declaration"""
@@ -161,7 +169,8 @@ class _APIHGenerator(object):
c.Append()
c.Concat(cpp_util.OpenNamespace(self._bundle._cpp_namespace))
c.Append()
- c.Append('class GeneratedFunctionRegistry {')
+ c.Append('class %s {' %
+ self._bundle._GenerateBundleClass('GeneratedFunctionRegistry'))
c.Sblock(' public:')
c.Append('static void RegisterAll('
'ExtensionFunctionRegistry* registry);')
@@ -235,7 +244,8 @@ class _SchemasHGenerator(object):
c.Append()
c.Concat(cpp_util.OpenNamespace(self._bundle._cpp_namespace))
c.Append()
- c.Append('class GeneratedSchemas {')
+ c.Append('class %s {' %
+ self._bundle._GenerateBundleClass('GeneratedSchemas'))
c.Sblock(' public:')
c.Append('// Determines if schema named |name| is generated.')
c.Append('static bool IsGenerated(std::string name);')
@@ -287,8 +297,6 @@ class _SchemasCCGenerator(object):
for i in xrange(0, len(json_content), max_length)]
c.Append('const char %s[] = "%s";' %
(_FormatNameAsConstant(namespace.name), '" "'.join(segments)))
- c.Append('}')
- c.Concat(cpp_util.OpenNamespace(self._bundle._cpp_namespace))
c.Append()
c.Sblock('struct Static {')
c.Sblock('Static() {')
@@ -303,15 +311,20 @@ class _SchemasCCGenerator(object):
c.Append()
c.Append('base::LazyInstance<Static> g_lazy_instance;')
c.Append()
+ c.Append('} // namespace')
+ c.Append()
+ c.Concat(cpp_util.OpenNamespace(self._bundle._cpp_namespace))
+ c.Append()
c.Append('// static')
- c.Sblock('base::StringPiece GeneratedSchemas::Get('
- 'const std::string& name) {')
+ c.Sblock('base::StringPiece %s::Get(const std::string& name) {' %
+ self._bundle._GenerateBundleClass('GeneratedSchemas'))
c.Append('return IsGenerated(name) ? '
'g_lazy_instance.Get().schemas[name] : "";')
c.Eblock('}')
c.Append()
c.Append('// static')
- c.Sblock('bool GeneratedSchemas::IsGenerated(std::string name) {')
+ c.Sblock('bool %s::IsGenerated(std::string name) {' %
+ self._bundle._GenerateBundleClass('GeneratedSchemas'))
c.Append('return g_lazy_instance.Get().schemas.count(name) > 0;')
c.Eblock('}')
c.Append()
« no previous file with comments | « tools/json_schema_compiler/compiler.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698