xref: /trunk/main/autodoc/inc/ary/info/all_tags.hxx (revision 914d351e5f5b84e4342a86d6ab8d4aca7308b9bd)
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