Update ooo320-m1
[ooovba.git] / autodoc / source / parser_i / inc / s2_dsapi / docu_pe2.hxx
blobeeadcabf58d6921c5b1530c558f145199b7567f3
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: docu_pe2.hxx,v $
10 * $Revision: 1.9 $
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 ADC_DSAPI_DOCU_PE2_HXX
32 #define ADC_DSAPI_DOCU_PE2_HXX
36 // USED SERVICES
37 // BASE CLASSES
38 #include <s2_dsapi/tokintpr.hxx>
39 // COMPONENTS
40 // PARAMETERS
42 class ParserInfo;
44 namespace ary
46 namespace doc
48 class OldIdlDocu;
51 namespace inf
53 class DocuToken;
54 } // namespace info
55 } // namespace ary
59 namespace csi
61 namespace dsapi
65 class Token;
66 class DT_AtTag;
68 class SapiDocu_PE : public TokenInterpreter
70 public:
71 SapiDocu_PE(
72 ParserInfo & io_rPositionInfo );
73 ~SapiDocu_PE();
75 void ProcessToken(
76 DYN csi::dsapi::Token &
77 let_drToken );
79 virtual void Process_AtTag(
80 const Tok_AtTag & i_rToken );
81 virtual void Process_HtmlTag(
82 const Tok_HtmlTag & i_rToken );
83 virtual void Process_XmlConst(
84 const Tok_XmlConst &
85 i_rToken );
86 virtual void Process_XmlLink_BeginTag(
87 const Tok_XmlLink_BeginTag &
88 i_rToken );
89 virtual void Process_XmlLink_EndTag(
90 const Tok_XmlLink_EndTag &
91 i_rToken );
92 virtual void Process_XmlFormat_BeginTag(
93 const Tok_XmlFormat_BeginTag &
94 i_rToken );
95 virtual void Process_XmlFormat_EndTag(
96 const Tok_XmlFormat_EndTag &
97 i_rToken );
98 virtual void Process_Word(
99 const Tok_Word & i_rToken );
100 virtual void Process_Comma();
101 virtual void Process_DocuEnd();
102 virtual void Process_EOL();
103 virtual void Process_White();
106 DYN ary::doc::OldIdlDocu *
107 ReleaseJustParsedDocu();
109 bool IsComplete() const;
111 private:
112 enum E_State
114 e_none = 0,
115 st_short,
116 st_description,
117 st_attags,
118 st_complete
121 typedef void ( SapiDocu_PE::*F_TokenAdder )( DYN ary::inf::DocuToken & let_drNewToken );
123 void AddDocuToken2Void(
124 DYN ary::inf::DocuToken &
125 let_drNewToken );
126 void AddDocuToken2Short(
127 DYN ary::inf::DocuToken &
128 let_drNewToken );
129 void AddDocuToken2Description(
130 DYN ary::inf::DocuToken &
131 let_drNewToken );
132 void AddDocuToken2Deprecated(
133 DYN ary::inf::DocuToken &
134 let_drNewToken );
135 void AddDocuToken2CurAtTag(
136 DYN ary::inf::DocuToken &
137 let_drNewToken );
138 void SetCurParameterAtTagName(
139 DYN ary::inf::DocuToken &
140 let_drNewToken );
141 void SetCurSeeAlsoAtTagLinkText(
142 DYN ary::inf::DocuToken &
143 let_drNewToken );
144 void SetCurSeeAlsoAtTagLinkText_2(
145 DYN ary::inf::DocuToken &
146 let_drNewToken );
147 void SetCurSeeAlsoAtTagLinkText_3(
148 DYN ary::inf::DocuToken &
149 let_drNewToken );
150 void SetCurSinceAtTagVersion(
151 DYN ary::inf::DocuToken &
152 let_drNewToken );
153 void AddDocuToken2SinceAtTag(
154 DYN ary::inf::DocuToken &
155 let_drNewToken );
157 // DATA
158 Dyn<ary::doc::OldIdlDocu>
159 pDocu;
160 E_State eState;
161 ParserInfo * pPositionInfo;
162 F_TokenAdder fCurTokenAddFunction;
164 Dyn<DT_AtTag> pCurAtTag;
165 String sCurDimAttribute;
166 StreamStr sCurAtSeeType_byXML;
169 } // namespace dsapi
170 } // namespace csi
173 // IMPLEMENTATION
176 #endif