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_DOC_D_OLDCPPDOCU_HXX 25 #define ARY_DOC_D_OLDCPPDOCU_HXX 26 // KORR_DEPRECATED_3.0 27 28 // BASE CLASSES 29 #include <ary/doc/d_node.hxx> 30 // USED SERVICES 31 #include <ary/info/inftypes.hxx> 32 #include <ary/ary_disp.hxx> 33 34 namespace ary 35 { 36 namespace info 37 { 38 class AtTag; 39 class DocuStore; 40 } 41 } 42 43 44 45 46 namespace ary 47 { 48 namespace doc 49 { 50 using ::ary::info::AtTag; 51 using ::ary::info::E_AtTagId; 52 53 54 /** Wrapper class for old C++ documentation format. 55 56 To be replaced by using the standard format. 57 */ 58 class OldCppDocu : public Node 59 { 60 public: 61 typedef std::vector< DYN AtTag * > TagList; 62 63 // LIFECYCLE 64 OldCppDocu(); 65 virtual ~OldCppDocu(); 66 67 void Store2( 68 info::DocuStore & o_rDocuStore ); 69 70 virtual AtTag * Create_StdTag( 71 E_AtTagId i_eId ); 72 virtual AtTag * CheckIn_BaseTag(); 73 virtual AtTag * CheckIn_ExceptionTag(); 74 virtual AtTag * Create_ImplementsTag(); 75 virtual AtTag * Create_KeywordTag(); 76 virtual AtTag * CheckIn_ParameterTag(); 77 virtual AtTag * CheckIn_SeeTag(); 78 virtual AtTag * CheckIn_TemplateTag(); 79 virtual AtTag * Create_LabelTag(); 80 virtual AtTag * Create_DefaultTag(); 81 virtual AtTag * Create_SinceTag(); /// @return always the first one created. 82 83 virtual void Replace_AtShort_By_AtDescr(); 84 85 virtual void Set_Obsolete(); 86 virtual void Set_Internal(); Set_Interface()87 virtual void Set_Interface() { bIsInterface = true; } 88 89 // INQUIRY Tags() const90 const TagList & Tags() const { return aTags; } 91 const AtTag & Short() const; IsObsolete() const92 bool IsObsolete() const { return bIsObsolete; } 93 virtual bool IsInternal() const; 94 virtual bool IsInterface() const; 95 96 private: 97 // Interface csv::ConstProcessorClient: 98 virtual void do_Accept( 99 csv::ProcessorIfc & io_processor ) const; 100 // DATA 101 unsigned char nTags[ary::info::C_eAtTag_NrOfClasses]; 102 103 /** Creates a new AtTag at the end of aTags. 104 The index of this new AtTag is inserted in nTags at position 105 i_nIndex. 106 */ 107 AtTag * & NewTag( 108 UINT8 i_nIndex ); 109 /** Returns the Tag with the position nTags[i_nIndex] 110 in aTags. 111 */ 112 AtTag & GetTag( 113 UINT8 i_nIndex ); 114 115 TagList aTags; 116 bool bIsObsolete; 117 bool bIsInternal; 118 bool bIsInterface; 119 }; 120 121 122 123 124 } // namespace doc 125 } // namespace ary 126 #endif 127