1*78bc99aaSAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
3*78bc99aaSAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4*78bc99aaSAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5*78bc99aaSAndrew Rist  * distributed with this work for additional information
6*78bc99aaSAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7*78bc99aaSAndrew Rist  * to you under the Apache License, Version 2.0 (the
8*78bc99aaSAndrew Rist  * "License"); you may not use this file except in compliance
9*78bc99aaSAndrew Rist  * with the License.  You may obtain a copy of the License at
10*78bc99aaSAndrew Rist  *
11*78bc99aaSAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12*78bc99aaSAndrew Rist  *
13*78bc99aaSAndrew Rist  * Unless required by applicable law or agreed to in writing,
14*78bc99aaSAndrew Rist  * software distributed under the License is distributed on an
15*78bc99aaSAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*78bc99aaSAndrew Rist  * KIND, either express or implied.  See the License for the
17*78bc99aaSAndrew Rist  * specific language governing permissions and limitations
18*78bc99aaSAndrew Rist  * under the License.
19*78bc99aaSAndrew Rist  *
20*78bc99aaSAndrew Rist  *************************************************************/
21cdf0e10cSrcweir 
22cdf0e10cSrcweir #include <precomp.h>
23cdf0e10cSrcweir #include <s2_dsapi/tk_xml.hxx>
24cdf0e10cSrcweir 
25cdf0e10cSrcweir 
26cdf0e10cSrcweir // NOT FULLY DEFINED SERVICES
27cdf0e10cSrcweir #include <s2_dsapi/tokintpr.hxx>
28cdf0e10cSrcweir 
29cdf0e10cSrcweir using csi::dsapi::Tok_XmlConst;
30cdf0e10cSrcweir using csi::dsapi::Tok_XmlLink_Tag;
31cdf0e10cSrcweir using csi::dsapi::Tok_XmlFormat_Tag;
32cdf0e10cSrcweir 
33cdf0e10cSrcweir 
34cdf0e10cSrcweir lux::EnumValueMap			G_aTok_XmlConst_EV_TokenId_Values;
35cdf0e10cSrcweir Tok_XmlConst::EV_TokenId    ev_consts_none(Tok_XmlConst::e_none,"");
36cdf0e10cSrcweir Tok_XmlConst::EV_TokenId    ev_e_true(Tok_XmlConst::e_true,"true");
37cdf0e10cSrcweir Tok_XmlConst::EV_TokenId    ev_e_false(Tok_XmlConst::e_false,"false");
38cdf0e10cSrcweir Tok_XmlConst::EV_TokenId    ev_e_null(Tok_XmlConst::e_null,"NULL");
39cdf0e10cSrcweir Tok_XmlConst::EV_TokenId    ev_e_void(Tok_XmlConst::e_void,"void");
40cdf0e10cSrcweir 
41cdf0e10cSrcweir lux::EnumValueMap	        G_aTok_XmlLink_Tag_EV_TokenId_Values;
42cdf0e10cSrcweir Tok_XmlLink_Tag::EV_TokenId ev_linktags_none(Tok_XmlLink_Tag::e_none,"");
43cdf0e10cSrcweir Tok_XmlLink_Tag::EV_TokenId ev_e_const(Tok_XmlLink_Tag::e_const,"const");
44cdf0e10cSrcweir Tok_XmlLink_Tag::EV_TokenId ev_member(Tok_XmlLink_Tag::member,"member");
45cdf0e10cSrcweir Tok_XmlLink_Tag::EV_TokenId ev_type(Tok_XmlLink_Tag::type,"type");
46cdf0e10cSrcweir 
47cdf0e10cSrcweir lux::EnumValueMap	        	G_aTok_XmlFormat_Tag_EV_TokenId_Values;
48cdf0e10cSrcweir Tok_XmlFormat_Tag::EV_TokenId   ev_formattags_none(Tok_XmlFormat_Tag::e_none,"");
49cdf0e10cSrcweir Tok_XmlFormat_Tag::EV_TokenId   ev_code(Tok_XmlFormat_Tag::code,"code");
50cdf0e10cSrcweir Tok_XmlFormat_Tag::EV_TokenId   ev_listing(Tok_XmlFormat_Tag::listing,"listing");
51cdf0e10cSrcweir Tok_XmlFormat_Tag::EV_TokenId   ev_atom(Tok_XmlFormat_Tag::atom,"code");
52cdf0e10cSrcweir 
53cdf0e10cSrcweir 
54cdf0e10cSrcweir namespace lux
55cdf0e10cSrcweir {
56cdf0e10cSrcweir 
57cdf0e10cSrcweir template<> EnumValueMap &
Values_()58cdf0e10cSrcweir Tok_XmlConst::EV_TokenId::Values_()	        { return G_aTok_XmlConst_EV_TokenId_Values; }
59cdf0e10cSrcweir template<> EnumValueMap &
Values_()60cdf0e10cSrcweir Tok_XmlLink_Tag::EV_TokenId::Values_()	    { return G_aTok_XmlLink_Tag_EV_TokenId_Values; }
61cdf0e10cSrcweir template<> EnumValueMap &
Values_()62cdf0e10cSrcweir Tok_XmlFormat_Tag::EV_TokenId::Values_()	{ return G_aTok_XmlFormat_Tag_EV_TokenId_Values; }
63cdf0e10cSrcweir 
64cdf0e10cSrcweir }   // namespace lux
65cdf0e10cSrcweir 
66cdf0e10cSrcweir 
67cdf0e10cSrcweir 
68cdf0e10cSrcweir namespace csi
69cdf0e10cSrcweir {
70cdf0e10cSrcweir namespace dsapi
71cdf0e10cSrcweir {
72cdf0e10cSrcweir 
73cdf0e10cSrcweir void
Trigger(TokenInterpreter & io_rInterpreter) const74cdf0e10cSrcweir Tok_XmlConst::Trigger( TokenInterpreter &	io_rInterpreter ) const
75cdf0e10cSrcweir {
76cdf0e10cSrcweir 	io_rInterpreter.Process_XmlConst(*this);
77cdf0e10cSrcweir }
78cdf0e10cSrcweir 
79cdf0e10cSrcweir const char *
Text() const80cdf0e10cSrcweir Tok_XmlConst::Text() const
81cdf0e10cSrcweir {
82cdf0e10cSrcweir 	return eTag.Text();
83cdf0e10cSrcweir }
84cdf0e10cSrcweir 
85cdf0e10cSrcweir void
Trigger(TokenInterpreter & io_rInterpreter) const86cdf0e10cSrcweir Tok_XmlLink_BeginTag::Trigger( TokenInterpreter &	io_rInterpreter ) const
87cdf0e10cSrcweir {
88cdf0e10cSrcweir 	io_rInterpreter.Process_XmlLink_BeginTag(*this);
89cdf0e10cSrcweir }
90cdf0e10cSrcweir 
91cdf0e10cSrcweir const char *
Text() const92cdf0e10cSrcweir Tok_XmlLink_BeginTag::Text() const
93cdf0e10cSrcweir {
94cdf0e10cSrcweir     static StreamStr ret(120);
95cdf0e10cSrcweir     ret.seekp(0);
96cdf0e10cSrcweir 	if (sScope.length() > 0)
97cdf0e10cSrcweir 	{
98cdf0e10cSrcweir         ret << "<"
99cdf0e10cSrcweir             << eTag.Text()
100cdf0e10cSrcweir             << " scope=\""
101cdf0e10cSrcweir             << sScope
102cdf0e10cSrcweir             << "\">";
103cdf0e10cSrcweir     }
104cdf0e10cSrcweir 	else
105cdf0e10cSrcweir     {
106cdf0e10cSrcweir         ret << "<"
107cdf0e10cSrcweir             << eTag.Text()
108cdf0e10cSrcweir             << ">";
109cdf0e10cSrcweir     }
110cdf0e10cSrcweir     return ret.c_str();
111cdf0e10cSrcweir }
112cdf0e10cSrcweir 
113cdf0e10cSrcweir void
Trigger(TokenInterpreter & io_rInterpreter) const114cdf0e10cSrcweir Tok_XmlLink_EndTag::Trigger( TokenInterpreter &	io_rInterpreter ) const
115cdf0e10cSrcweir {
116cdf0e10cSrcweir 	io_rInterpreter.Process_XmlLink_EndTag(*this);
117cdf0e10cSrcweir }
118cdf0e10cSrcweir 
119cdf0e10cSrcweir const char *
Text() const120cdf0e10cSrcweir Tok_XmlLink_EndTag::Text() const
121cdf0e10cSrcweir {
122cdf0e10cSrcweir     static StreamStr ret(120);
123cdf0e10cSrcweir     ret.seekp(0);
124cdf0e10cSrcweir     ret << "</"
125cdf0e10cSrcweir         << eTag.Text()
126cdf0e10cSrcweir         << ">";
127cdf0e10cSrcweir     return ret.c_str();
128cdf0e10cSrcweir }
129cdf0e10cSrcweir 
130cdf0e10cSrcweir void
Trigger(TokenInterpreter & io_rInterpreter) const131cdf0e10cSrcweir Tok_XmlFormat_BeginTag::Trigger( TokenInterpreter &	io_rInterpreter ) const
132cdf0e10cSrcweir {
133cdf0e10cSrcweir 	io_rInterpreter.Process_XmlFormat_BeginTag(*this);
134cdf0e10cSrcweir }
135cdf0e10cSrcweir 
136cdf0e10cSrcweir const char *
Text() const137cdf0e10cSrcweir Tok_XmlFormat_BeginTag::Text() const
138cdf0e10cSrcweir {
139cdf0e10cSrcweir     static StreamStr ret(120);
140cdf0e10cSrcweir     ret.seekp(0);
141cdf0e10cSrcweir     ret << "<"
142cdf0e10cSrcweir         << eTag.Text()
143cdf0e10cSrcweir         << ">";
144cdf0e10cSrcweir     return ret.c_str();
145cdf0e10cSrcweir }
146cdf0e10cSrcweir 
147cdf0e10cSrcweir void
Trigger(TokenInterpreter & io_rInterpreter) const148cdf0e10cSrcweir Tok_XmlFormat_EndTag::Trigger( TokenInterpreter &	io_rInterpreter ) const
149cdf0e10cSrcweir {
150cdf0e10cSrcweir 	io_rInterpreter.Process_XmlFormat_EndTag(*this);
151cdf0e10cSrcweir }
152cdf0e10cSrcweir 
153cdf0e10cSrcweir const char *
Text() const154cdf0e10cSrcweir Tok_XmlFormat_EndTag::Text() const
155cdf0e10cSrcweir {
156cdf0e10cSrcweir     static StreamStr ret(120);
157cdf0e10cSrcweir     ret.seekp(0);
158cdf0e10cSrcweir     ret << "</"
159cdf0e10cSrcweir         << eTag.Text()
160cdf0e10cSrcweir         << ">";
161cdf0e10cSrcweir     return ret.c_str();
162cdf0e10cSrcweir }
163cdf0e10cSrcweir 
164cdf0e10cSrcweir 
165cdf0e10cSrcweir }   // namespace dsapi
166cdf0e10cSrcweir }   // namespace csi
167cdf0e10cSrcweir 
168cdf0e10cSrcweir 
169