fdo#74697 Add Bluez 5 support for impress remote.
[LibreOffice.git] / autodoc / source / parser_i / inc / s2_dsapi / docu_pe2.hxx
blob609c94ace4cea158848fecc286b439578221b577
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
20 #ifndef ADC_DSAPI_DOCU_PE2_HXX
21 #define ADC_DSAPI_DOCU_PE2_HXX
25 // USED SERVICES
26 // BASE CLASSES
27 #include <s2_dsapi/tokintpr.hxx>
28 // COMPONENTS
29 // PARAMETERS
31 class ParserInfo;
33 namespace ary
35 namespace doc
37 class OldIdlDocu;
40 namespace inf
42 class DocuToken;
43 } // namespace info
44 } // namespace ary
48 namespace csi
50 namespace dsapi
54 class Token;
55 class DT_AtTag;
57 class SapiDocu_PE : public TokenInterpreter
59 public:
60 SapiDocu_PE(
61 ParserInfo & io_rPositionInfo );
62 ~SapiDocu_PE();
64 void ProcessToken(
65 DYN csi::dsapi::Token &
66 let_drToken );
68 virtual void Process_AtTag(
69 const Tok_AtTag & i_rToken );
70 virtual void Process_HtmlTag(
71 const Tok_HtmlTag & i_rToken );
72 virtual void Process_XmlConst(
73 const Tok_XmlConst &
74 i_rToken );
75 virtual void Process_XmlLink_BeginTag(
76 const Tok_XmlLink_BeginTag &
77 i_rToken );
78 virtual void Process_XmlLink_EndTag(
79 const Tok_XmlLink_EndTag &
80 i_rToken );
81 virtual void Process_XmlFormat_BeginTag(
82 const Tok_XmlFormat_BeginTag &
83 i_rToken );
84 virtual void Process_XmlFormat_EndTag(
85 const Tok_XmlFormat_EndTag &
86 i_rToken );
87 virtual void Process_Word(
88 const Tok_Word & i_rToken );
89 virtual void Process_Comma();
90 virtual void Process_DocuEnd();
91 virtual void Process_EOL();
92 virtual void Process_White();
95 DYN ary::doc::OldIdlDocu *
96 ReleaseJustParsedDocu();
98 bool IsComplete() const;
100 private:
101 enum E_State
103 e_none = 0,
104 st_short,
105 st_description,
106 st_attags,
107 st_complete
110 typedef void ( SapiDocu_PE::*F_TokenAdder )( DYN ary::inf::DocuToken & let_drNewToken );
112 void AddDocuToken2Void(
113 DYN ary::inf::DocuToken &
114 let_drNewToken );
115 void AddDocuToken2Short(
116 DYN ary::inf::DocuToken &
117 let_drNewToken );
118 void AddDocuToken2Description(
119 DYN ary::inf::DocuToken &
120 let_drNewToken );
121 void AddDocuToken2Deprecated(
122 DYN ary::inf::DocuToken &
123 let_drNewToken );
124 void AddDocuToken2CurAtTag(
125 DYN ary::inf::DocuToken &
126 let_drNewToken );
127 void SetCurParameterAtTagName(
128 DYN ary::inf::DocuToken &
129 let_drNewToken );
130 void SetCurSeeAlsoAtTagLinkText(
131 DYN ary::inf::DocuToken &
132 let_drNewToken );
133 void SetCurSeeAlsoAtTagLinkText_2(
134 DYN ary::inf::DocuToken &
135 let_drNewToken );
136 void SetCurSeeAlsoAtTagLinkText_3(
137 DYN ary::inf::DocuToken &
138 let_drNewToken );
139 void SetCurSinceAtTagVersion_OOo(
140 DYN ary::inf::DocuToken &
141 let_drNewToken );
142 void SetCurSinceAtTagVersion_Number(
143 DYN ary::inf::DocuToken &
144 let_drNewToken );
145 void AddDocuToken2SinceAtTag(
146 DYN ary::inf::DocuToken &
147 let_drNewToken );
149 bool CheckVersionSyntax_OOo(
150 const String & i_versionPart1 );
151 bool CheckVersionSyntax_Number(
152 const String & i_versionPart2 );
153 // DATA
154 Dyn<ary::doc::OldIdlDocu>
155 pDocu;
156 E_State eState;
157 ParserInfo * pPositionInfo;
158 F_TokenAdder fCurTokenAddFunction;
160 Dyn<DT_AtTag> pCurAtTag;
161 String sCurDimAttribute;
162 StreamStr sCurAtSeeType_byXML;
165 } // namespace dsapi
166 } // namespace csi
169 // IMPLEMENTATION
172 #endif
174 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */