Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / tools / json_schema_compiler / cc_generator.py
index 61f5bf1..43434b8 100644 (file)
@@ -9,25 +9,23 @@ import schema_util
 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(
@@ -36,6 +34,9 @@ class _Generator(object):
   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()
@@ -52,8 +53,7 @@ class _Generator(object):
       .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('//')
@@ -91,9 +91,7 @@ class _Generator(object):
       )
       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