1 /**************************************************************
2 *
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements. See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership. The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance
9 * with the License. You may obtain a copy of the License at
10 *
11 * http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing,
14 * software distributed under the License is distributed on an
15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 * KIND, either express or implied. See the License for the
17 * specific language governing permissions and limitations
18 * under the License.
19 *
20 *************************************************************/
21
22
23
24 #ifndef AUTODOC_DSP_HTML_STD_HXX
25 #define AUTODOC_DSP_HTML_STD_HXX
26
27
28
29 namespace ary
30 {
31 namespace cpp
32 {
33 class Gate;
34 }
35 namespace idl
36 {
37 class Gate;
38 }
39 }
40
41 namespace display
42 {
43 class CorporateFrame;
44 }
45
46
47 namespace autodoc
48 {
49
50
51 class HtmlDisplay_UdkStd
52 {
53 public:
~HtmlDisplay_UdkStd()54 virtual ~HtmlDisplay_UdkStd() {}
55
56 /** Displays the names of several C++ code entities within the
57 given namespace (or the global namespace as default). All
58 subnamespaces are included.
59
60 Output has following format:
61
62 =========================================================================
63 OutputDirectory
64 index.html
65 def-all.html
66 prj\
67 sal\
68 index.html // Overview about project
69
70 f-FileName[1,2,...] // Overview about file
71 f-OtherFileName[1,2,...]
72 ...
73 def-FileName[1,2,...] // #defines and macros in file
74 def-OtherFileName[1,2,...]
75 ...
76 rtl\
77 ...
78 cppu\
79 ...
80 cppuhelper\
81 ...
82 ...
83 ix\
84 ix-a.html
85 ix-b.html
86 ...
87 ix-z.html
88 ix-_.html
89 ix-other.html
90
91 cpp\
92 index.html // Overview about global namespace
93
94 Namespace_A\
95 Namespace_C\
96 index.html // Overview about namespace C
97 ...
98 ...
99
100 index.html // Overview about namespace A
101
102 c-ClassName_X.html // Description of class
103 ...
104 e-EnumName.html // Description of enum
105 ...
106 t-TypedefName.html // Description of typedef
107 ...
108 o-Filename.html // Descriptions of operations in this file in this namespace
109 ...
110 d-Filename.html // Descriptions of data in this file in this namespace
111 ...
112
113 ClassName_X\
114 c-ClassName_Y.html
115 e-EnumName.html
116 t-TypedefName.html
117 o.html // Descriptions of operations in class X
118 d.html // Descriptions of data in class X
119
120 ClassName_Y\
121 ...
122 ...
123
124 idl\
125 ...
126 java\
127 ...
128 =========================================================================
129
130
131 @param i_sOutputDirectory
132 Directory for output. Path must be given in correct
133 syntax for the actual operating system without final
134 path delimiter. If this is 0 or "", the current
135 working directory is chosen.
136 @param i_rAryGate
137 The access to the Autodoc Repository.
138 @param i_rLayout
139 Gives parameters for the appearance of the HTML output.
140 @param i_pProjectList
141 If this is != 0, then only code entities which are declared
142 in this projects are displayed.
143 */
144 void Run(
145 const char * i_sOutputDirectory,
146 const ary::cpp::Gate &
147 i_rAryGate,
148 const display::CorporateFrame &
149 i_rLayout );
150 private:
151 virtual void do_Run(
152 const char * i_sOutputDirectory,
153 const ary::cpp::Gate &
154 i_rAryGate,
155 const display::CorporateFrame &
156 i_rLayout ) = 0;
157 };
158
159 // IMPLEMENTATION
160
161 inline void
Run(const char * i_sOutputDirectory,const ary::cpp::Gate & i_rAryGate,const display::CorporateFrame & i_rLayout)162 HtmlDisplay_UdkStd::Run( const char * i_sOutputDirectory,
163 const ary::cpp::Gate & i_rAryGate,
164 const display::CorporateFrame & i_rLayout )
165 {
166 do_Run( i_sOutputDirectory, i_rAryGate, i_rLayout );
167 }
168
169
170
171 // class HtmlDisplay_Idl_Ifc
172
173 class HtmlDisplay_Idl_Ifc
174 {
175 public:
~HtmlDisplay_Idl_Ifc()176 virtual ~HtmlDisplay_Idl_Ifc() {}
177
178 void Run(
179 const char * i_sOutputDirectory,
180 const ary::idl::Gate &
181 i_rAryGate,
182 const display::CorporateFrame &
183 i_rLayout );
184 private:
185 virtual void do_Run(
186 const char * i_sOutputDirectory,
187 const ary::idl::Gate &
188 i_rAryGate,
189 const display::CorporateFrame &
190 i_rLayout ) = 0;
191 };
192
193
194
195
196 // IMPLEMENTATION
197 inline void
Run(const char * i_sOutputDirectory,const ary::idl::Gate & i_rAryGate,const display::CorporateFrame & i_rLayout)198 HtmlDisplay_Idl_Ifc::Run( const char * i_sOutputDirectory,
199 const ary::idl::Gate & i_rAryGate,
200 const display::CorporateFrame & i_rLayout )
201 {
202 do_Run( i_sOutputDirectory, i_rAryGate, i_rLayout );
203 }
204
205
206
207
208 } // namespace autodoc
209 #endif
210