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