1 /*************************************************************************
2  *
3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4  *
5  * Copyright 2000, 2010 Oracle and/or its affiliates.
6  *
7  * OpenOffice.org - a multi-platform office productivity suite
8  *
9  * This file is part of OpenOffice.org.
10  *
11  * OpenOffice.org is free software: you can redistribute it and/or modify
12  * it under the terms of the GNU Lesser General Public License version 3
13  * only, as published by the Free Software Foundation.
14  *
15  * OpenOffice.org is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU Lesser General Public License version 3 for more details
19  * (a copy is included in the LICENSE file that accompanied this code).
20  *
21  * You should have received a copy of the GNU Lesser General Public License
22  * version 3 along with OpenOffice.org.  If not, see
23  * <http://www.openoffice.org/license.html>
24  * for a copy of the LGPLv3 License.
25  *
26  ************************************************************************/
27 
28 #include <precomp.h>
29 #include <s2_luidl/tk_keyw.hxx>
30 
31 
32 // NOT FULLY DECLARED SERVICES
33 #include <s2_luidl/tokintpr.hxx>
34 
35 
36 using csi::uidl::TokBuiltInType;
37 using csi::uidl::TokTypeModifier;
38 using csi::uidl::TokMetaType;
39 using csi::uidl::TokStereotype;
40 using csi::uidl::TokParameterHandling;
41 
42 
43 lux::EnumValueMap			G_aTokBuiltInType_EV_TokenId_Values;
44 TokBuiltInType::EV_TokenId  ev_bty_none(TokBuiltInType::e_none,"");
45 TokBuiltInType::EV_TokenId  ev_bty_any(TokBuiltInType::bty_any,"any");
46 TokBuiltInType::EV_TokenId  ev_bty_boolean(TokBuiltInType::bty_boolean,"boolean");
47 TokBuiltInType::EV_TokenId  ev_bty_byte(TokBuiltInType::bty_byte,"byte");
48 TokBuiltInType::EV_TokenId  ev_bty_char(TokBuiltInType::bty_char,"char");
49 TokBuiltInType::EV_TokenId  ev_bty_double(TokBuiltInType::bty_double,"double");
50 TokBuiltInType::EV_TokenId  ev_bty_hyper(TokBuiltInType::bty_hyper,"hyper");
51 TokBuiltInType::EV_TokenId  ev_bty_long(TokBuiltInType::bty_long,"long");
52 TokBuiltInType::EV_TokenId  ev_bty_short(TokBuiltInType::bty_short,"short");
53 TokBuiltInType::EV_TokenId  ev_bty_string(TokBuiltInType::bty_string,"string");
54 TokBuiltInType::EV_TokenId  ev_bty_void(TokBuiltInType::bty_void,"void");
55 TokBuiltInType::EV_TokenId  ev_bty_ellipse(TokBuiltInType::bty_ellipse,"...");
56 
57 
58 lux::EnumValueMap	        G_aTokTypeModifier_EV_TokenId_Values;
59 TokTypeModifier::EV_TokenId ev_tmod_none(TokTypeModifier::e_none,"");
60 TokTypeModifier::EV_TokenId ev_tmod_unsigned(TokTypeModifier::tmod_unsigned,"unsigned");
61 TokTypeModifier::EV_TokenId ev_tmod_sequence(TokTypeModifier::tmod_sequence,"sequence");
62 
63 
64 lux::EnumValueMap	        G_aTokMetaType_EV_TokenId_Values;
65 TokMetaType::EV_TokenId     ev_mt_none(TokMetaType::e_none,"");
66 TokMetaType::EV_TokenId   	ev_mt_attribute(TokMetaType::mt_attribute,"attribute");
67 TokMetaType::EV_TokenId   	ev_mt_constants(TokMetaType::mt_constants,"constants");
68 TokMetaType::EV_TokenId   	ev_mt_enum(TokMetaType::mt_enum,"enum");
69 TokMetaType::EV_TokenId   	ev_mt_exception(TokMetaType::mt_exception,"exception");
70 TokMetaType::EV_TokenId   	ev_mt_ident(TokMetaType::mt_ident,"ident");
71 TokMetaType::EV_TokenId   	ev_mt_interface(TokMetaType::mt_interface,"interface");
72 TokMetaType::EV_TokenId   	ev_mt_module(TokMetaType::mt_module,"module");
73 TokMetaType::EV_TokenId   	ev_mt_property(TokMetaType::mt_property,"property");
74 TokMetaType::EV_TokenId   	ev_mt_service(TokMetaType::mt_service,"service");
75 TokMetaType::EV_TokenId   	ev_mt_singleton(TokMetaType::mt_singleton,"singleton");
76 TokMetaType::EV_TokenId   	ev_mt_struct(TokMetaType::mt_struct,"struct");
77 TokMetaType::EV_TokenId   	ev_mt_typedef(TokMetaType::mt_typedef,"typedef");
78 TokMetaType::EV_TokenId   	ev_mt_uik(TokMetaType::mt_uik,"uik");
79 
80 
81 lux::EnumValueMap	        G_aTokStereotype_EV_TokenId_Values;
82 TokStereotype::EV_TokenId   ev_ste_none(TokStereotype::e_none,"");
83 TokStereotype::EV_TokenId   ev_ste_bound(TokStereotype::ste_bound,"bound");
84 TokStereotype::EV_TokenId   ev_ste_const(TokStereotype::ste_const,"const");
85 TokStereotype::EV_TokenId   ev_ste_constrained(TokStereotype::ste_constrained,"constrained");
86 TokStereotype::EV_TokenId   ev_ste_maybeambiguous(TokStereotype::ste_maybeambiguous,"maybeambiguous");
87 TokStereotype::EV_TokenId   ev_ste_maybedefault(TokStereotype::ste_maybedefault,"maybedefault");
88 TokStereotype::EV_TokenId   ev_ste_maybevoid(TokStereotype::ste_maybevoid,"maybevoid");
89 TokStereotype::EV_TokenId   ev_ste_oneway(TokStereotype::ste_oneway,"oneway");
90 TokStereotype::EV_TokenId   ev_ste_optional(TokStereotype::ste_optional,"optional");
91 TokStereotype::EV_TokenId   ev_ste_readonly(TokStereotype::ste_readonly,"readonly");
92 TokStereotype::EV_TokenId   ev_ste_removable(TokStereotype::ste_removable,"removable");
93 TokStereotype::EV_TokenId   ev_ste_virtual(TokStereotype::ste_virtual,"virtual");
94 TokStereotype::EV_TokenId   ev_ste_transient(TokStereotype::ste_transient,"transient");
95 TokStereotype::EV_TokenId   ev_ste_published(TokStereotype::ste_published,"published");
96 
97 
98 lux::EnumValueMap	        		G_aTokParameterHandling_EV_TokenId_Values;
99 TokParameterHandling::EV_TokenId    ev_ph_none(TokParameterHandling::e_none,"");
100 TokParameterHandling::EV_TokenId   	ev_ph_in(TokParameterHandling::ph_in,"in");
101 TokParameterHandling::EV_TokenId   	ev_ph_out(TokParameterHandling::ph_out,"out");
102 TokParameterHandling::EV_TokenId   	ev_ph_inout(TokParameterHandling::ph_inout,"inout");
103 
104 
105 namespace lux
106 {
107 
108 template<> EnumValueMap &
109 TokBuiltInType::EV_TokenId::Values_()		{ return G_aTokBuiltInType_EV_TokenId_Values; }
110 template<> EnumValueMap &
111 TokTypeModifier::EV_TokenId::Values_()		{ return G_aTokTypeModifier_EV_TokenId_Values; }
112 template<> EnumValueMap &
113 TokMetaType::EV_TokenId::Values_()			{ return G_aTokMetaType_EV_TokenId_Values; }
114 template<> EnumValueMap &
115 TokStereotype::EV_TokenId::Values_()		{ return G_aTokStereotype_EV_TokenId_Values; }
116 template<> EnumValueMap &
117 TokParameterHandling::EV_TokenId::Values_()	{ return G_aTokParameterHandling_EV_TokenId_Values; }
118 
119 }   // namespace lux
120 
121 
122 
123 namespace csi
124 {
125 namespace uidl
126 {
127 
128 void
129 TokBuiltInType::Trigger( TokenInterpreter &	io_rInterpreter ) const
130 {
131 	io_rInterpreter.Process_BuiltInType(*this);
132 }
133 
134 const char *
135 TokBuiltInType::Text() const
136 {
137 	return eTag.Text();
138 }
139 
140 void
141 TokTypeModifier::Trigger( TokenInterpreter &	io_rInterpreter ) const
142 {
143 	io_rInterpreter.Process_TypeModifier(*this);
144 }
145 
146 const char *
147 TokTypeModifier::Text() const
148 {
149 	return eTag.Text();
150 }
151 
152 void
153 TokMetaType::Trigger( TokenInterpreter &	io_rInterpreter ) const
154 {
155 	io_rInterpreter.Process_MetaType(*this);
156 }
157 
158 const char *
159 TokMetaType::Text() const
160 {
161 	return eTag.Text();
162 }
163 
164 void
165 TokStereotype::Trigger( TokenInterpreter &	io_rInterpreter ) const
166 {
167 	io_rInterpreter.Process_Stereotype(*this);
168 }
169 
170 const char *
171 TokStereotype::Text() const
172 {
173 	return eTag.Text();
174 }
175 
176 void
177 TokParameterHandling::Trigger( TokenInterpreter &	io_rInterpreter ) const
178 {
179 	io_rInterpreter.Process_ParameterHandling(*this);
180 }
181 
182 const char *
183 TokParameterHandling::Text() const
184 {
185 	return eTag.Text();
186 }
187 
188 void
189 TokRaises::Trigger( TokenInterpreter &	io_rInterpreter ) const
190 {
191 	io_rInterpreter.Process_Raises();
192 }
193 
194 const char *
195 TokRaises::Text() const
196 {
197 	return "raises";
198 }
199 
200 void
201 TokNeeds::Trigger( TokenInterpreter &	io_rInterpreter ) const
202 {
203 	io_rInterpreter.Process_Needs();
204 }
205 
206 const char *
207 TokNeeds::Text() const
208 {
209 	return "needs";
210 }
211 void
212 TokObserves::Trigger( TokenInterpreter &	io_rInterpreter ) const
213 {
214 	io_rInterpreter.Process_Observes();
215 }
216 
217 const char *
218 TokObserves::Text() const
219 {
220 	return "observes";
221 }
222 
223 }   // namespace uidl
224 }   // namespace csi
225 
226