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