1 /**************************************************************
2 *
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements. See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership. The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance
9 * with the License. You may obtain a copy of the License at
10 *
11 * http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing,
14 * software distributed under the License is distributed on an
15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 * KIND, either express or implied. See the License for the
17 * specific language governing permissions and limitations
18 * under the License.
19 *
20 *************************************************************/
21
22 #include <precomp.h>
23 #include <s2_luidl/tk_keyw.hxx>
24
25
26 // NOT FULLY DECLARED SERVICES
27 #include <s2_luidl/tokintpr.hxx>
28
29
30 using csi::uidl::TokBuiltInType;
31 using csi::uidl::TokTypeModifier;
32 using csi::uidl::TokMetaType;
33 using csi::uidl::TokStereotype;
34 using csi::uidl::TokParameterHandling;
35
36
37 lux::EnumValueMap G_aTokBuiltInType_EV_TokenId_Values;
38 TokBuiltInType::EV_TokenId ev_bty_none(TokBuiltInType::e_none,"");
39 TokBuiltInType::EV_TokenId ev_bty_any(TokBuiltInType::bty_any,"any");
40 TokBuiltInType::EV_TokenId ev_bty_boolean(TokBuiltInType::bty_boolean,"boolean");
41 TokBuiltInType::EV_TokenId ev_bty_byte(TokBuiltInType::bty_byte,"byte");
42 TokBuiltInType::EV_TokenId ev_bty_char(TokBuiltInType::bty_char,"char");
43 TokBuiltInType::EV_TokenId ev_bty_double(TokBuiltInType::bty_double,"double");
44 TokBuiltInType::EV_TokenId ev_bty_hyper(TokBuiltInType::bty_hyper,"hyper");
45 TokBuiltInType::EV_TokenId ev_bty_long(TokBuiltInType::bty_long,"long");
46 TokBuiltInType::EV_TokenId ev_bty_short(TokBuiltInType::bty_short,"short");
47 TokBuiltInType::EV_TokenId ev_bty_string(TokBuiltInType::bty_string,"string");
48 TokBuiltInType::EV_TokenId ev_bty_void(TokBuiltInType::bty_void,"void");
49 TokBuiltInType::EV_TokenId ev_bty_ellipse(TokBuiltInType::bty_ellipse,"...");
50
51
52 lux::EnumValueMap G_aTokTypeModifier_EV_TokenId_Values;
53 TokTypeModifier::EV_TokenId ev_tmod_none(TokTypeModifier::e_none,"");
54 TokTypeModifier::EV_TokenId ev_tmod_unsigned(TokTypeModifier::tmod_unsigned,"unsigned");
55 TokTypeModifier::EV_TokenId ev_tmod_sequence(TokTypeModifier::tmod_sequence,"sequence");
56
57
58 lux::EnumValueMap G_aTokMetaType_EV_TokenId_Values;
59 TokMetaType::EV_TokenId ev_mt_none(TokMetaType::e_none,"");
60 TokMetaType::EV_TokenId ev_mt_attribute(TokMetaType::mt_attribute,"attribute");
61 TokMetaType::EV_TokenId ev_mt_constants(TokMetaType::mt_constants,"constants");
62 TokMetaType::EV_TokenId ev_mt_enum(TokMetaType::mt_enum,"enum");
63 TokMetaType::EV_TokenId ev_mt_exception(TokMetaType::mt_exception,"exception");
64 TokMetaType::EV_TokenId ev_mt_ident(TokMetaType::mt_ident,"ident");
65 TokMetaType::EV_TokenId ev_mt_interface(TokMetaType::mt_interface,"interface");
66 TokMetaType::EV_TokenId ev_mt_module(TokMetaType::mt_module,"module");
67 TokMetaType::EV_TokenId ev_mt_property(TokMetaType::mt_property,"property");
68 TokMetaType::EV_TokenId ev_mt_service(TokMetaType::mt_service,"service");
69 TokMetaType::EV_TokenId ev_mt_singleton(TokMetaType::mt_singleton,"singleton");
70 TokMetaType::EV_TokenId ev_mt_struct(TokMetaType::mt_struct,"struct");
71 TokMetaType::EV_TokenId ev_mt_typedef(TokMetaType::mt_typedef,"typedef");
72 TokMetaType::EV_TokenId ev_mt_uik(TokMetaType::mt_uik,"uik");
73
74
75 lux::EnumValueMap G_aTokStereotype_EV_TokenId_Values;
76 TokStereotype::EV_TokenId ev_ste_none(TokStereotype::e_none,"");
77 TokStereotype::EV_TokenId ev_ste_bound(TokStereotype::ste_bound,"bound");
78 TokStereotype::EV_TokenId ev_ste_const(TokStereotype::ste_const,"const");
79 TokStereotype::EV_TokenId ev_ste_constrained(TokStereotype::ste_constrained,"constrained");
80 TokStereotype::EV_TokenId ev_ste_maybeambiguous(TokStereotype::ste_maybeambiguous,"maybeambiguous");
81 TokStereotype::EV_TokenId ev_ste_maybedefault(TokStereotype::ste_maybedefault,"maybedefault");
82 TokStereotype::EV_TokenId ev_ste_maybevoid(TokStereotype::ste_maybevoid,"maybevoid");
83 TokStereotype::EV_TokenId ev_ste_oneway(TokStereotype::ste_oneway,"oneway");
84 TokStereotype::EV_TokenId ev_ste_optional(TokStereotype::ste_optional,"optional");
85 TokStereotype::EV_TokenId ev_ste_readonly(TokStereotype::ste_readonly,"readonly");
86 TokStereotype::EV_TokenId ev_ste_removable(TokStereotype::ste_removable,"removable");
87 TokStereotype::EV_TokenId ev_ste_virtual(TokStereotype::ste_virtual,"virtual");
88 TokStereotype::EV_TokenId ev_ste_transient(TokStereotype::ste_transient,"transient");
89 TokStereotype::EV_TokenId ev_ste_published(TokStereotype::ste_published,"published");
90
91
92 lux::EnumValueMap G_aTokParameterHandling_EV_TokenId_Values;
93 TokParameterHandling::EV_TokenId ev_ph_none(TokParameterHandling::e_none,"");
94 TokParameterHandling::EV_TokenId ev_ph_in(TokParameterHandling::ph_in,"in");
95 TokParameterHandling::EV_TokenId ev_ph_out(TokParameterHandling::ph_out,"out");
96 TokParameterHandling::EV_TokenId ev_ph_inout(TokParameterHandling::ph_inout,"inout");
97
98
99 namespace lux
100 {
101
102 template<> EnumValueMap &
Values_()103 TokBuiltInType::EV_TokenId::Values_() { return G_aTokBuiltInType_EV_TokenId_Values; }
104 template<> EnumValueMap &
Values_()105 TokTypeModifier::EV_TokenId::Values_() { return G_aTokTypeModifier_EV_TokenId_Values; }
106 template<> EnumValueMap &
Values_()107 TokMetaType::EV_TokenId::Values_() { return G_aTokMetaType_EV_TokenId_Values; }
108 template<> EnumValueMap &
Values_()109 TokStereotype::EV_TokenId::Values_() { return G_aTokStereotype_EV_TokenId_Values; }
110 template<> EnumValueMap &
Values_()111 TokParameterHandling::EV_TokenId::Values_() { return G_aTokParameterHandling_EV_TokenId_Values; }
112
113 } // namespace lux
114
115
116
117 namespace csi
118 {
119 namespace uidl
120 {
121
122 void
Trigger(TokenInterpreter & io_rInterpreter) const123 TokBuiltInType::Trigger( TokenInterpreter & io_rInterpreter ) const
124 {
125 io_rInterpreter.Process_BuiltInType(*this);
126 }
127
128 const char *
Text() const129 TokBuiltInType::Text() const
130 {
131 return eTag.Text();
132 }
133
134 void
Trigger(TokenInterpreter & io_rInterpreter) const135 TokTypeModifier::Trigger( TokenInterpreter & io_rInterpreter ) const
136 {
137 io_rInterpreter.Process_TypeModifier(*this);
138 }
139
140 const char *
Text() const141 TokTypeModifier::Text() const
142 {
143 return eTag.Text();
144 }
145
146 void
Trigger(TokenInterpreter & io_rInterpreter) const147 TokMetaType::Trigger( TokenInterpreter & io_rInterpreter ) const
148 {
149 io_rInterpreter.Process_MetaType(*this);
150 }
151
152 const char *
Text() const153 TokMetaType::Text() const
154 {
155 return eTag.Text();
156 }
157
158 void
Trigger(TokenInterpreter & io_rInterpreter) const159 TokStereotype::Trigger( TokenInterpreter & io_rInterpreter ) const
160 {
161 io_rInterpreter.Process_Stereotype(*this);
162 }
163
164 const char *
Text() const165 TokStereotype::Text() const
166 {
167 return eTag.Text();
168 }
169
170 void
Trigger(TokenInterpreter & io_rInterpreter) const171 TokParameterHandling::Trigger( TokenInterpreter & io_rInterpreter ) const
172 {
173 io_rInterpreter.Process_ParameterHandling(*this);
174 }
175
176 const char *
Text() const177 TokParameterHandling::Text() const
178 {
179 return eTag.Text();
180 }
181
182 void
Trigger(TokenInterpreter & io_rInterpreter) const183 TokRaises::Trigger( TokenInterpreter & io_rInterpreter ) const
184 {
185 io_rInterpreter.Process_Raises();
186 }
187
188 const char *
Text() const189 TokRaises::Text() const
190 {
191 return "raises";
192 }
193
194 void
Trigger(TokenInterpreter & io_rInterpreter) const195 TokNeeds::Trigger( TokenInterpreter & io_rInterpreter ) const
196 {
197 io_rInterpreter.Process_Needs();
198 }
199
200 const char *
Text() const201 TokNeeds::Text() const
202 {
203 return "needs";
204 }
205 void
Trigger(TokenInterpreter & io_rInterpreter) const206 TokObserves::Trigger( TokenInterpreter & io_rInterpreter ) const
207 {
208 io_rInterpreter.Process_Observes();
209 }
210
211 const char *
Text() const212 TokObserves::Text() const
213 {
214 return "observes";
215 }
216
217 } // namespace uidl
218 } // namespace csi
219
220