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