xref: /trunk/main/autodoc/inc/ary/info/all_tags.hxx (revision 1c78a5d6)
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 ARY_INFO_ALL_TAGS_HXX
25 #define ARY_INFO_ALL_TAGS_HXX
26 
27 
28 
29 // USED SERVICES
30 	// BASE CLASSES
31 #include <ary/info/ci_attag.hxx>
32 	// COMPONENTS
33 #include <ary/info/inftypes.hxx>
34 #include <ary/info/ci_text.hxx>
35 #include <ary/qualiname.hxx>
36 	// PARAMETERS
37 
38 
39 
40 namespace ary
41 {
42 namespace info
43 {
44 
45 
46 class StdTag : public AtTag
47 {
48   public:
49 						StdTag(
50 							E_AtTagId 		i_eId );
51 
52 	virtual bool	  	Add_SpecialMeaningToken(
53 							const char *		i_sText,
54 							intt				i_nNr );
ChangeId2(E_AtTagId i_eId)55     void                ChangeId2(
56 							E_AtTagId 		    i_eId )
57                                                 { eId = i_eId; }
58 
59 	virtual UINT8		NrOfSpecialMeaningTokens() const;
60 	virtual AtTag *		GetFollower();
61 
Std_Id() const62     E_AtTagId           Std_Id() const          { return eId; }
63 
64   private:
65     virtual void        do_StoreAt(
66                             DocuDisplay &       o_rDisplay ) const;
67 	virtual DocuText *	Text();
68 
69 	E_AtTagId			eId;
70 	DocuText			aText;
71 	StdTag *			pNext;
72 };
73 
74 class BaseTag : public AtTag
75 {
76   public:
77 						BaseTag();
78 
79 	virtual bool	  	Add_SpecialMeaningToken(
80 							const char *		i_sText,
81 							intt				i_nNr );
82 	virtual const char *
83 						Title() const;
84 	virtual UINT8		NrOfSpecialMeaningTokens() const;
85 	virtual AtTag *		GetFollower();
86 
87   private:
88 	virtual DocuText *	Text();
89 
90 	QualifiedName		sBase;
91 	DocuText			aText;
92 	AtTag *				pNext;
93 };
94 
95 class ExceptionTag : public AtTag
96 {
97   public:
98 						ExceptionTag();
99 
100 	virtual bool	  	Add_SpecialMeaningToken(
101 							const char *		i_sText,
102 							intt				i_nNr );
103 	virtual const char *
104 						Title() const;
105 	virtual UINT8		NrOfSpecialMeaningTokens() const;
106 	virtual AtTag *		GetFollower();
107 
108   private:
109 	virtual DocuText *	Text();
110 
111 	QualifiedName		sException;
112 	DocuText			aText;
113 	AtTag *				pNext;
114 };
115 
116 class ImplementsTag : public AtTag
117 {
118   public:
119 						ImplementsTag();
120 
121 	virtual bool	  	Add_SpecialMeaningToken(
122 							const char *		i_sText,
123 							intt				i_nNr );
124 	virtual const char *
125 						Title() const;
126 	virtual UINT8		NrOfSpecialMeaningTokens() const;
127 	virtual AtTag *		GetFollower();
128 
129   private:
130 	virtual DocuText *	Text();
131 
132 	QualifiedName	sName;
133     AtTag *			pNext;
134 };
135 
136 class KeywordTag : public AtTag
137 {
138   public:
139 						KeywordTag();
140 
141 	virtual bool	  	Add_SpecialMeaningToken(
142 							const char *		i_sText,
143 							intt				i_nNr );
144 	virtual const char *
145 						Title() const;
146 	virtual UINT8		NrOfSpecialMeaningTokens() const;
147 	virtual AtTag *		GetFollower();
148 
149   private:
150 	virtual DocuText *	Text();
151 
152 	StringVector		sKeys;
153 };
154 
155 class ParameterTag : public AtTag
156 {
157   public:
158 						ParameterTag();
159 
160 	virtual bool	  	Add_SpecialMeaningToken(
161 							const char *		i_sText,
162 							intt				i_nNr );
163 
ParamName() const164     const String  &     ParamName() const       { return sName; }
CText() const165 	const DocuText &	CText() const           { return aText; }
166 	virtual UINT8		NrOfSpecialMeaningTokens() const;
167 	virtual const ParameterTag *
GetNext() const168                         GetNext() const         { return dynamic_cast< ParameterTag* >(pNext); }
169 	virtual AtTag *		GetFollower();
170 
171   private:
172     virtual void        do_StoreAt(
173                             DocuDisplay &       o_rDisplay ) const;
174 	virtual DocuText *	Text();
175 
176 	String 				sName;
177     String              sValidRange;
178 	DocuText			aText;
179 	AtTag *				pNext;
180 };
181 
182 class SeeTag : public AtTag
183 {
184   public:
185 						SeeTag();
186 
187 	virtual bool	  	Add_SpecialMeaningToken(
188 							const char *		i_sText,
189 							intt				i_nNr );
190 	virtual const char *
191 						Title() const;
192 	virtual UINT8		NrOfSpecialMeaningTokens() const;
193 	virtual AtTag *		GetFollower();
194 
195     const std::vector< QualifiedName > &
References() const196                         References() const      { return sReferences; }
197   private:
198     virtual void        do_StoreAt(
199                             DocuDisplay &       o_rDisplay ) const;
200 	virtual DocuText *	Text();
201 
202 	std::vector< QualifiedName >
203 						sReferences;
204 };
205 
206 class TemplateTag : public AtTag
207 {
208   public:
209 						TemplateTag();
210 
211 	virtual bool	  	Add_SpecialMeaningToken(
212 							const char *		i_sText,
213 							intt				i_nNr );
CText() const214 	const DocuText &	CText() const           { return aText; }
215 	virtual const char *
216 						Title() const;
TplParamName() const217     const String  &     TplParamName() const    { return sName; }
218 	virtual UINT8		NrOfSpecialMeaningTokens() const;
219 	virtual const TemplateTag *
GetNext() const220                         GetNext() const         { return dynamic_cast< TemplateTag* >(pNext); }
221 	virtual AtTag *		GetFollower();
222 
223   private:
224     virtual void        do_StoreAt(
225                             DocuDisplay &       o_rDisplay ) const;
226 	virtual DocuText *	Text();
227 
228 	String 				sName;
229 	DocuText			aText;
230 	AtTag *				pNext;
231 };
232 
233 class LabelTag : public AtTag
234 {
235   public:
236 						LabelTag();
237 
238 	virtual bool	  	Add_SpecialMeaningToken(
239 							const char *		i_sText,
240 							intt				i_nNr );
241 	virtual const char *
242 						Title() const;
243 	virtual UINT8		NrOfSpecialMeaningTokens() const;
244 	virtual AtTag *		GetFollower();
245 
246   private:
247 	virtual DocuText *	Text();
248 
249 	String              sLabel;
250 };
251 
252 class SinceTag : public AtTag
253 {
254   public:
255 						SinceTag();
256 
257 	virtual bool	  	Add_SpecialMeaningToken(
258 							const char *		i_sText,
259 							intt				i_nNr );
260 	virtual const char *
261 						Title() const;
262 	virtual UINT8		NrOfSpecialMeaningTokens() const;
263 	virtual AtTag *		GetFollower();
264 
Version() const265 	const String &      Version() const         { return sVersion; }
266 
267   private:
268     virtual void        do_StoreAt(
269                             DocuDisplay &       o_rDisplay ) const;
270 	virtual DocuText *	Text();
271 
272 	// Data
273 	String              sVersion;
274 };
275 
276 
277 
278 // IMPLEMENTATION
279 
280 
281 }
282 }
283 
284 #endif
285 
286