xref: /trunk/main/autodoc/inc/autodoc/dsp_html_std.hxx (revision 1ecadb572e7010ff3b3382ad9bf179dbc6efadbb)
1 /*************************************************************************
2  *
3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4  *
5  * Copyright 2000, 2010 Oracle and/or its affiliates.
6  *
7  * OpenOffice.org - a multi-platform office productivity suite
8  *
9  * This file is part of OpenOffice.org.
10  *
11  * OpenOffice.org is free software: you can redistribute it and/or modify
12  * it under the terms of the GNU Lesser General Public License version 3
13  * only, as published by the Free Software Foundation.
14  *
15  * OpenOffice.org is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU Lesser General Public License version 3 for more details
19  * (a copy is included in the LICENSE file that accompanied this code).
20  *
21  * You should have received a copy of the GNU Lesser General Public License
22  * version 3 along with OpenOffice.org.  If not, see
23  * <http://www.openoffice.org/license.html>
24  * for a copy of the LGPLv3 License.
25  *
26  ************************************************************************/
27 
28 #ifndef AUTODOC_DSP_HTML_STD_HXX
29 #define AUTODOC_DSP_HTML_STD_HXX
30 
31 
32 
33 namespace ary
34 {
35     namespace cpp
36     {
37         class Gate;
38     }
39     namespace idl
40     {
41         class Gate;
42     }
43 }
44 
45 namespace display
46 {
47     class CorporateFrame;
48 }
49 
50 
51 namespace autodoc
52 {
53 
54 
55 class HtmlDisplay_UdkStd
56 {
57   public:
58     virtual             ~HtmlDisplay_UdkStd() {}
59 
60     /** Displays the names of several C++ code entities within the
61         given namespace (or the global namespace as default). All
62         subnamespaces are included.
63 
64         Output has following format:
65 
66         =========================================================================
67         OutputDirectory
68             index.html
69             def-all.html
70             prj\
71                 sal\
72                     index.html                      // Overview about project
73 
74                     f-FileName[1,2,...]             // Overview about file
75                     f-OtherFileName[1,2,...]
76                     ...
77                     def-FileName[1,2,...]           // #defines and macros in file
78                     def-OtherFileName[1,2,...]
79                     ...
80                 rtl\
81                     ...
82                 cppu\
83                     ...
84                 cppuhelper\
85                     ...
86                 ...
87             ix\
88                 ix-a.html
89                 ix-b.html
90                 ...
91                 ix-z.html
92                 ix-_.html
93                 ix-other.html
94 
95             cpp\
96                 index.html                          // Overview about global namespace
97 
98                 Namespace_A\
99                     Namespace_C\
100                         index.html                  // Overview about namespace C
101                         ...
102                     ...
103 
104                     index.html                      // Overview about namespace A
105 
106                     c-ClassName_X.html              // Description of class
107                     ...
108                     e-EnumName.html                 // Description of enum
109                     ...
110                     t-TypedefName.html              // Description of typedef
111                     ...
112                     o-Filename.html                 // Descriptions of operations in this file in this namespace
113                     ...
114                     d-Filename.html                 // Descriptions of data in this file in this namespace
115                     ...
116 
117                     ClassName_X\
118                         c-ClassName_Y.html
119                         e-EnumName.html
120                         t-TypedefName.html
121                         o.html                      // Descriptions of operations in class X
122                         d.html                      // Descriptions of data in class X
123 
124                         ClassName_Y\
125                             ...
126                 ...
127 
128             idl\
129                 ...
130             java\
131                 ...
132         =========================================================================
133 
134 
135         @param i_sOutputDirectory
136             Directory for output. Path must be given in correct
137             syntax for the actual operating system without final
138             path delimiter. If this is 0 or "", the current
139             working directory is chosen.
140         @param i_rAryGate
141             The access to the Autodoc Repository.
142         @param i_rLayout
143             Gives parameters for the appearance of the HTML output.
144         @param i_pProjectList
145             If this is != 0, then only code entities which are declared
146             in this projects are displayed.
147     */
148     void                Run(
149                             const char *        i_sOutputDirectory,
150                             const ary::cpp::Gate &
151                                                 i_rAryGate,
152                             const display::CorporateFrame &
153                                                 i_rLayout );
154   private:
155     virtual void        do_Run(
156                             const char *        i_sOutputDirectory,
157                             const ary::cpp::Gate &
158                                                 i_rAryGate,
159                             const display::CorporateFrame &
160                                                 i_rLayout ) = 0;
161 };
162 
163 // IMPLEMENTATION
164 
165 inline void
166 HtmlDisplay_UdkStd::Run( const char *                    i_sOutputDirectory,
167                          const ary::cpp::Gate &          i_rAryGate,
168                          const display::CorporateFrame & i_rLayout )
169 {
170     do_Run( i_sOutputDirectory, i_rAryGate, i_rLayout );
171 }
172 
173 
174 
175 // class HtmlDisplay_Idl_Ifc
176 
177 class HtmlDisplay_Idl_Ifc
178 {
179   public:
180     virtual             ~HtmlDisplay_Idl_Ifc() {}
181 
182     void                Run(
183                             const char *        i_sOutputDirectory,
184                             const ary::idl::Gate &
185                                                 i_rAryGate,
186                             const display::CorporateFrame &
187                                                 i_rLayout );
188   private:
189     virtual void        do_Run(
190                             const char *        i_sOutputDirectory,
191                             const ary::idl::Gate &
192                                                 i_rAryGate,
193                             const display::CorporateFrame &
194                                                 i_rLayout ) = 0;
195 };
196 
197 
198 
199 
200 // IMPLEMENTATION
201 inline void
202 HtmlDisplay_Idl_Ifc::Run( const char *                    i_sOutputDirectory,
203                           const ary::idl::Gate &          i_rAryGate,
204                           const display::CorporateFrame & i_rLayout )
205 {
206     do_Run( i_sOutputDirectory, i_rAryGate, i_rLayout );
207 }
208 
209 
210 
211 
212 } // namespace autodoc
213 #endif
214