import util_cc_helper
class CCGenerator(object):
- def __init__(self, type_generator, cpp_namespace):
+ def __init__(self, type_generator, cpp_namespace_pattern):
self._type_generator = type_generator
- self._cpp_namespace = cpp_namespace
+ self._cpp_namespace_pattern = cpp_namespace_pattern
def Generate(self, namespace):
return _Generator(namespace,
self._type_generator,
- self._cpp_namespace).Generate()
+ self._cpp_namespace_pattern).Generate()
class _Generator(object):
"""A .cc generator for a namespace.
"""
- def __init__(self, namespace, cpp_type_generator, cpp_namespace):
+ def __init__(self, namespace, cpp_type_generator, cpp_namespace_pattern):
self._namespace = namespace
self._type_helper = cpp_type_generator
- self._cpp_namespace = cpp_namespace
- self._target_namespace = (
- self._type_helper.GetCppNamespaceName(self._namespace))
+ self._cpp_namespace_pattern = cpp_namespace_pattern
self._util_cc_helper = (
util_cc_helper.UtilCCHelper(self._type_helper))
self._generate_error_messages = namespace.compiler_options.get(
def Generate(self):
"""Generates a Code object with the .cc for a single namespace.
"""
+ cpp_namespace = cpp_util.GetCppNamespace(self._cpp_namespace_pattern,
+ self._namespace.unix_name)
+
c = Code()
(c.Append(cpp_util.CHROMIUM_LICENSE)
.Append()
.Append()
.Append('using base::UTF8ToUTF16;')
.Append()
- .Concat(cpp_util.OpenNamespace(self._cpp_namespace))
- .Cblock(self._type_helper.GetNamespaceStart())
+ .Concat(cpp_util.OpenNamespace(cpp_namespace))
)
if self._namespace.properties:
(c.Append('//')
)
for event in self._namespace.events.values():
c.Cblock(self._GenerateEvent(event))
- (c.Concat(self._type_helper.GetNamespaceEnd())
- .Cblock(cpp_util.CloseNamespace(self._cpp_namespace))
- )
+ c.Cblock(cpp_util.CloseNamespace(cpp_namespace))
c.Append()
return c