Generator/RB_Generate_Part [ Functions ]

FUNCTION

Generate the documention for all the headers found in a single source file.

SYNOPSIS

void RB_Generate_Part(
    FILE *document_file,
    struct RB_Document *document,
    struct RB_Part *part )

INPUTS

SOURCE

{
    struct RB_header   *i_header;
    char               *docname = NULL;
    char               *srcname = Get_Fullname( part->filename );

    RB_Say( "generating documentation for file \"%s\"\n", SAY_INFO, srcname );
    if ( document->actions.do_singledoc )
    {
        docname = document->singledoc_name;
    }
    else if ( document->actions.do_multidoc )
    {
        docname = RB_Get_FullDocname( part->filename );
    }
    else if ( document->actions.do_singlefile )
    {
        docname = document->singledoc_name;
    }
    else
    {
        assert( 0 );
    }

    if ( output_mode == TROFF )
    {
        RB_TROFF_Set_Param( document->compress, document->section );
    }


    for ( i_header = part->headers; i_header; i_header = i_header->next )
    {
        RB_Say( "generating documentation for header \"%s\"\n", SAY_INFO,
                i_header->name );
        document_file = RB_Generate_Header_Start( document_file, i_header );
        RB_Generate_Nav_Bar( document, document_file, i_header );
        RB_Generate_Index_Entry( document_file, document->doctype, i_header );
        Generate_Header( document_file, i_header, docname );
        RB_Generate_Header_End( document_file, i_header );
    }
}