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