def __generate_namespace_header(self, file_cache: FileCache,
                                 capi_generator: CapiGenerator):
     namespace_header = file_cache.get_file_for_namespace(
         self.full_name_array)
     namespace_header.put_begin_cpp_comments(self.params)
     with WatchdogScope(namespace_header,
                        self.full_name.upper() + '_INCLUDED'):
         namespace_header.put_include_files()
         namespace_header.include_user_header(
             file_cache.capi_header(self.full_name_array))
         namespace_header.include_user_header(
             file_cache.fwd_header(self.full_name_array))
         if self.enum_generators:
             namespace_header.include_user_header(
                 file_cache.enums_header(self.full_name_array))
         for nested_namespace_generator in self.nested_namespaces:
             namespace_header.include_user_header(
                 file_cache.namespace_header(
                     nested_namespace_generator.full_name_array))
         for class_generator in self.classes:
             namespace_header.include_user_header(
                 file_cache.class_header(class_generator.full_name_array))
         self.__generate_namespace_functions(capi_generator, file_cache,
                                             namespace_header)
         include_headers(namespace_header,
                         self.namespace_object.include_headers)
         DoxygenCppGenerator().generate_for_namespace(
             namespace_header, self.namespace_object, self.full_wrap_name)
예제 #2
0
 def include_dependent_declaration_headers(self,
                                           file_generator: FileGenerator,
                                           file_cache: FileCache):
     parent_generator = self.enum_argument_generator.parent_generator
     if type(parent_generator) is NamespaceGenerator:
         header_to_include = file_cache.enums_header(
             parent_generator.full_name_array)
     else:
         header_to_include = file_cache.class_header_decl(
             parent_generator.full_name_array)
     file_generator.include_user_header(header_to_include)