1 /************************************************************************* 2 * 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * Copyright 2000, 2010 Oracle and/or its affiliates. 6 * 7 * OpenOffice.org - a multi-platform office productivity suite 8 * 9 * This file is part of OpenOffice.org. 10 * 11 * OpenOffice.org is free software: you can redistribute it and/or modify 12 * it under the terms of the GNU Lesser General Public License version 3 13 * only, as published by the Free Software Foundation. 14 * 15 * OpenOffice.org is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU Lesser General Public License version 3 for more details 19 * (a copy is included in the LICENSE file that accompanied this code). 20 * 21 * You should have received a copy of the GNU Lesser General Public License 22 * version 3 along with OpenOffice.org. If not, see 23 * <http://www.openoffice.org/license.html> 24 * for a copy of the LGPLv3 License. 25 * 26 ************************************************************************/ 27 28 #ifndef ARY_DOC_D_OLDCPPDOCU_HXX 29 #define ARY_DOC_D_OLDCPPDOCU_HXX 30 // KORR_DEPRECATED_3.0 31 32 // BASE CLASSES 33 #include <ary/doc/d_node.hxx> 34 // USED SERVICES 35 #include <ary/info/inftypes.hxx> 36 #include <ary/ary_disp.hxx> 37 38 namespace ary 39 { 40 namespace info 41 { 42 class AtTag; 43 class DocuStore; 44 } 45 } 46 47 48 49 50 namespace ary 51 { 52 namespace doc 53 { 54 using ::ary::info::AtTag; 55 using ::ary::info::E_AtTagId; 56 57 58 /** Wrapper class for old C++ documentation format. 59 60 To be replaced by using the standard format. 61 */ 62 class OldCppDocu : public Node 63 { 64 public: 65 typedef std::vector< DYN AtTag * > TagList; 66 67 // LIFECYCLE 68 OldCppDocu(); 69 virtual ~OldCppDocu(); 70 71 void Store2( 72 info::DocuStore & o_rDocuStore ); 73 74 virtual AtTag * Create_StdTag( 75 E_AtTagId i_eId ); 76 virtual AtTag * CheckIn_BaseTag(); 77 virtual AtTag * CheckIn_ExceptionTag(); 78 virtual AtTag * Create_ImplementsTag(); 79 virtual AtTag * Create_KeywordTag(); 80 virtual AtTag * CheckIn_ParameterTag(); 81 virtual AtTag * CheckIn_SeeTag(); 82 virtual AtTag * CheckIn_TemplateTag(); 83 virtual AtTag * Create_LabelTag(); 84 virtual AtTag * Create_DefaultTag(); 85 virtual AtTag * Create_SinceTag(); /// @return always the first one created. 86 87 virtual void Replace_AtShort_By_AtDescr(); 88 89 virtual void Set_Obsolete(); 90 virtual void Set_Internal(); 91 virtual void Set_Interface() { bIsInterface = true; } 92 93 // INQUIRY 94 const TagList & Tags() const { return aTags; } 95 const AtTag & Short() const; 96 bool IsObsolete() const { return bIsObsolete; } 97 virtual bool IsInternal() const; 98 virtual bool IsInterface() const; 99 100 private: 101 // Interface csv::ConstProcessorClient: 102 virtual void do_Accept( 103 csv::ProcessorIfc & io_processor ) const; 104 // DATA 105 unsigned char nTags[ary::info::C_eAtTag_NrOfClasses]; 106 107 /** Creates a new AtTag at the end of aTags. 108 The index of this new AtTag is inserted in nTags at position 109 i_nIndex. 110 */ 111 AtTag * & NewTag( 112 UINT8 i_nIndex ); 113 /** Returns the Tag with the position nTags[i_nIndex] 114 in aTags. 115 */ 116 AtTag & GetTag( 117 UINT8 i_nIndex ); 118 119 TagList aTags; 120 bool bIsObsolete; 121 bool bIsInternal; 122 bool bIsInterface; 123 }; 124 125 126 127 128 } // namespace doc 129 } // namespace ary 130 #endif 131