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 "it_xnameroom.hxx"
24
25
26 // NOT FULLY DEFINED SERVICES
27 #include <cosv/tpl/processor.hxx>
28 #include <cosv/tpl/tpltools.hxx>
29 #include <ary/idl/i_gate.hxx>
30 #include <ary/idl/ip_type.hxx>
31
32
33
34 namespace ary
35 {
36 namespace idl
37 {
38
39
ExplicitNameRoom()40 ExplicitNameRoom::ExplicitNameRoom()
41 : aImpl()
42 {
43 }
44
ExplicitNameRoom(const String & i_sName,const ExplicitNameRoom & i_rParent)45 ExplicitNameRoom::ExplicitNameRoom( const String & i_sName,
46 const ExplicitNameRoom & i_rParent )
47 : aImpl( i_sName, i_rParent.aImpl, i_rParent.TypeId() )
48 {
49 }
50
~ExplicitNameRoom()51 ExplicitNameRoom::~ExplicitNameRoom()
52 {
53 }
54
55 ClassId
get_AryClass() const56 ExplicitNameRoom::get_AryClass() const
57 {
58 return class_id;
59 }
60
61 void
do_Accept(csv::ProcessorIfc & io_processor) const62 ExplicitNameRoom::do_Accept( csv::ProcessorIfc & io_processor ) const
63 {
64 csv::CheckedCall(io_processor, *this);
65 }
66
67 void
inq_Get_Text(StringVector & o_module,String &,Ce_id &,int &,const Gate &) const68 ExplicitNameRoom::inq_Get_Text( StringVector & o_module,
69 String & , // o_name
70 Ce_id & , // o_nRelatedCe
71 int & , // o_nSequemceCount
72 const Gate & ) const // i_rGate
73 {
74 StringVector::const_iterator it = NameChain_Begin();
75 if ( it != NameChain_End()
76 ? (*it).empty()
77 : false )
78 { // Don't put out the root global namespace
79 ++it;
80 }
81
82 for ( ;
83 it != NameChain_End();
84 ++it )
85 {
86 o_module.push_back(*it);
87 }
88 }
89
90
91
92
93 } // namespace idl
94 } // namespace ary
95