Imported Robodoc.
[robodoc.git] / Source / generator.h
1 #ifndef ROBODOC_GENERATOR_H
2 #define ROBODOC_GENERATOR_H
3
4 /*
5 Copyright (C) 1994-2007  Frans Slothouber, Jacco van Weert, Petteri Kettunen,
6 Bernd Koesling, Thomas Aglassinger, Anthon Pang, Stefan Kost, David Druffner,
7 Sasha Vasko, Kai Hofmann, Thierry Pierron, Friedrich Haase, and Gergely Budai.
8
9 This file is part of ROBODoc
10
11 ROBODoc is free software; you can redistribute it and/or modify
12 it under the terms of the GNU General Public License as published by
13 the Free Software Foundation; either version 3 of the License, or
14 (at your option) any later version.
15
16 This program is distributed in the hope that it will be useful,
17 but WITHOUT ANY WARRANTY; without even the implied warranty of
18 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19 GNU General Public License for more details.
20
21 You should have received a copy of the GNU General Public License
22 along with this program.  If not, see <http://www.gnu.org/licenses/>.
23
24 */
25
26
27 #include "robodoc.h"
28 #include "headers.h"
29 #include "document.h"
30
31 void                RB_Generate_Doc_Start(
32     struct RB_Document *document,
33     FILE *dest_doc,
34     char *src_name,
35     char *title,
36     char toc,
37     char *dest_name,
38     char *charset );
39 char               *RB_Generate_Item_Body(
40     FILE *,
41     char *,
42     char *,
43     char *,
44     char *,
45     int,
46     int );
47 void                RB_Generate_Item_Name(
48     FILE *,
49     int );
50 void                RB_Generate_Doc_End(
51     FILE *,
52     char *,
53     char * );
54 FILE               *RB_Generate_Header_Start(
55     FILE *,
56     struct RB_header * );
57 void                RB_Generate_Header_End(
58     FILE *,
59     struct RB_header * );
60 int                 RB_HTML_Extra(
61     FILE *dest_doc,
62     int item_type,
63     char *cur_char,
64     char prev_char );
65 void                RB_Generate_Index_Table(
66     FILE *dest,
67     int type,
68     char *source );
69 void                RB_Name_Headers(
70     struct RB_header **headers,
71     long count );
72 void                RB_Generate_Documentation(
73     struct RB_Document * );
74 void                RB_Generate_Part(
75     FILE *document_file,
76     struct RB_Document *document,
77     struct RB_Part *part );
78 void                RB_Generate_Header_NG(
79     FILE *f,
80     struct RB_Document *document,
81     struct RB_header *header,
82     char *srcname,
83     char *docname );
84 char               *RB_Get_SubIndex_FileName(
85     char *docroot,
86     char *extension,
87     struct RB_HeaderType *header_type );
88 void                RB_Add_Extension(
89     char *extension,
90     char *name );
91 size_t              RB_Get_Len_Extension(
92     char *extension );
93 char               *RB_Get_Default_Extension(
94     T_RB_DocType doctype );
95 void                RB_Generate_BeginSection(
96     FILE *dest_doc,
97     int depth,
98     char *name,
99     struct RB_header *header );
100 void                RB_Generate_EndSection(
101     FILE *dest_doc,
102     int depth,
103     char *name );
104 void                RB_Generate_Section(
105     FILE *document_file,
106     struct RB_header *parent,
107     struct RB_Document *document,
108     int depth );
109 void                RB_Generate_Sections(
110     FILE *document_file,
111     struct RB_Document *document );
112 void                RB_Generate_SingleDoc(
113     struct RB_Document *document );
114 void                RB_Generate_MultiDoc(
115     struct RB_Document *document );
116 void                Generate_Link(
117     FILE *dest_doc,
118     char *docname,
119     char *file_name,
120     char *label_name,
121     char *function_name );
122 void                RB_Generate_Item_Begin(
123     FILE *dest_doc,
124     char *name );
125 void                RB_Generate_Item_End(
126     FILE *dest_doc,
127     char *name );
128 void                RB_Generate_Nav_Bar(
129     struct RB_Document *document,
130     FILE *current_doc,
131     struct RB_header *current_header );
132 void                RB_Generate_TOC_2(
133     FILE *dest_doc,
134     struct RB_header **headers,
135     int count,
136     struct RB_Part *owner,
137     char *dest_name );
138
139
140 #endif /* ROBODOC_GENERATOR_H */