Update ooo320-m1
[ooovba.git] / autodoc / source / parser_i / inc / s2_luidl / tk_keyw.hxx
blobf430f850b25472b5129dbeb6a0f81459cead9d6b
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: tk_keyw.hxx,v $
10 * $Revision: 1.7 $
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_UIDL_TK_KEYW_HXX
32 #define ADC_UIDL_TK_KEYW_HXX
34 // USED SERVICES
35 // BASE CLASSES
36 #include <s2_luidl/uidl_tok.hxx>
37 // COMPONENTS
38 #include <luxenum.hxx>
39 // PARAMETERS
42 namespace csi
44 namespace uidl
48 class TokKeyword : public Token
53 class TokBuiltInType : public TokKeyword
55 public:
56 enum E_TokenId
58 e_none = 0,
59 bty_any = 1,
60 bty_boolean = 2,
61 bty_byte = 3,
62 bty_char = 4,
63 bty_double = 5,
64 bty_hyper = 6,
65 bty_long = 7,
66 bty_short = 8,
67 bty_string = 9,
68 bty_void = 10,
69 bty_ellipse = 11
71 typedef lux::Enum<E_TokenId> EV_TokenId;
73 TokBuiltInType(
74 EV_TokenId i_eTag )
75 : eTag(i_eTag) {}
77 virtual void Trigger(
78 TokenInterpreter & io_rInterpreter ) const;
79 virtual const char *
80 Text() const;
81 E_TokenId Id() const { return eTag; }
83 private:
84 // DATA
85 EV_TokenId eTag;
89 class TokTypeModifier : public TokKeyword
91 public:
92 enum E_TokenId
94 e_none = 0,
95 tmod_unsigned = 1,
96 tmod_sequence
98 typedef lux::Enum<E_TokenId> EV_TokenId;
100 TokTypeModifier(
101 EV_TokenId i_eTag )
102 : eTag(i_eTag) {}
103 virtual void Trigger(
104 TokenInterpreter & io_rInterpreter ) const;
105 virtual const char *
106 Text() const;
107 E_TokenId Id() const { return eTag; }
109 private:
110 // DATA
111 EV_TokenId eTag;
114 class TokMetaType : public TokKeyword
116 public:
117 enum E_TokenId
119 e_none = 0,
120 mt_attribute = 1,
121 mt_constants,
122 mt_enum,
123 mt_exception,
124 mt_ident,
125 mt_interface,
126 mt_module,
127 mt_property,
128 mt_service,
129 mt_singleton,
130 mt_struct,
131 mt_typedef,
132 mt_uik
134 typedef lux::Enum<E_TokenId> EV_TokenId;
136 TokMetaType(
137 EV_TokenId i_eTag )
138 : eTag(i_eTag) {}
140 virtual void Trigger(
141 TokenInterpreter & io_rInterpreter ) const;
142 virtual const char *
143 Text() const;
144 E_TokenId Id() const { return eTag; }
147 private:
148 // DATA
149 EV_TokenId eTag;
152 class TokStereotype : public TokKeyword
154 public:
155 // TYPES
156 enum E_TokenId
158 e_none = 0,
159 ste_bound = 1,
160 ste_const,
161 ste_constrained,
162 ste_maybeambiguous,
163 ste_maybedefault,
164 ste_maybevoid,
165 ste_oneway,
166 ste_optional,
167 ste_readonly,
168 ste_removable,
169 ste_virtual,
170 ste_transient,
171 ste_published
174 typedef lux::Enum<E_TokenId> EV_TokenId;
176 TokStereotype(
177 EV_TokenId i_eTag )
178 : eTag(i_eTag) {}
179 // OPERATIONS
180 virtual void Trigger(
181 TokenInterpreter & io_rInterpreter ) const;
182 // INQUIRY
183 virtual const char *
184 Text() const;
185 E_TokenId Id() const { return eTag; }
187 private:
188 // DATA
189 EV_TokenId eTag;
192 class TokParameterHandling : public TokKeyword
194 public:
195 // TYPES
196 enum E_TokenId
198 e_none = 0,
199 ph_in,
200 ph_out,
201 ph_inout
203 typedef lux::Enum<E_TokenId> EV_TokenId;
205 TokParameterHandling(
206 EV_TokenId i_eTag )
207 : eTag(i_eTag) {}
208 // OPERATIONS
209 virtual void Trigger(
210 TokenInterpreter & io_rInterpreter ) const;
211 // INQUIRY
212 virtual const char *
213 Text() const;
214 E_TokenId Id() const { return eTag; }
216 private:
217 // DATA
218 EV_TokenId eTag;
221 class TokRaises : public TokKeyword
223 public:
224 virtual void Trigger(
225 TokenInterpreter & io_rInterpreter ) const;
226 virtual const char *
227 Text() const;
230 class TokNeeds : public TokKeyword
232 public:
233 virtual void Trigger(
234 TokenInterpreter & io_rInterpreter ) const;
235 virtual const char *
236 Text() const;
239 class TokObserves : public TokKeyword
241 public:
242 virtual void Trigger(
243 TokenInterpreter & io_rInterpreter ) const;
244 virtual const char *
245 Text() const;
249 } // namespace uidl
250 } // namespace csi
252 #endif