Generator/RB_Generate_MultiDoc [ Functions ]
FUNCTION
Create documentation by creating a file for each individual source file that was scanned.
SYNOPSIS
void RB_Generate_MultiDoc( struct RB_Document *document )
INPUTS
document -- pointer to the RB_Document structure.
SOURCE
{ struct RB_Part *i_part; FILE *document_file = NULL; RB_Document_Determine_DocFilePaths( document ); RB_Document_Create_DocFilePaths( document ); if ( document->actions.do_one_file_per_header ) { RB_Document_Split_Parts( document ); } RB_Document_Determine_DocFileNames( document ); RB_Document_Collect_Headers( document ); if ( document->actions.do_nosort ) { /* Nothing */ } else { RB_Document_Sort_Headers( document ); } RB_Document_Link_Headers( document ); RB_Fill_Header_Filename( document ); RB_Name_Headers( document->headers, document->no_headers ); RB_Sort_Items( document->headers, document->no_headers ); RB_CollectLinks( document, document->headers, document->no_headers ); if ( output_mode == HTML ) { RB_Create_CSS( document ); } for ( i_part = document->parts; i_part != NULL; i_part = i_part->next ) { char *srcname = Get_Fullname( i_part->filename ); char *docname = RB_Get_FullDocname( i_part->filename ); /* Nothing found in this part, do not generate it */ if ( i_part->headers == 0 ) continue; if ( output_mode != TROFF ) { document_file = RB_Open_Documentation( i_part ); RB_Generate_Doc_Start( document, document_file, srcname, srcname, 1, docname, document->charset ); Generate_Begin_Navigation( document_file ); if ( document->actions.do_one_file_per_header ) { RB_HTML_Generate_Nav_Bar_One_File_Per_Header( document, document_file, i_part-> headers ); } else { Generate_IndexMenu( document_file, docname, document ); } Generate_End_Navigation( document_file ); Generate_Begin_Content( document_file ); if ( ( document->actions.do_toc ) && document->no_headers ) { RB_Generate_TOC_2( document_file, document->headers, document->no_headers, i_part, docname ); } RB_Generate_Part( document_file, document, i_part ); Generate_End_Content( document_file ); RB_Generate_Doc_End( document_file, docname, srcname ); fclose( document_file ); } else { RB_Generate_Part( document_file, document, i_part ); } } if ( document->actions.do_index ) { Generate_Index( document ); } RB_Free_Links( ); }