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