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 <icprivow.hxx> 24 25 26 // NOT FULLY DEFINED SERVICES 27 #include <ary/cpp/c_namesp.hxx> 28 #include <ary/cpp/c_class.hxx> 29 30 31 32 namespace cpp 33 { 34 35 36 37 //****************** Owner_Namespace ********************// 38 Owner_Namespace::Owner_Namespace() 39 : pScope(0) 40 { 41 } 42 43 void 44 Owner_Namespace::SetAnotherNamespace( ary::cpp::Namespace & io_rScope ) 45 { 46 pScope = &io_rScope; 47 } 48 49 bool 50 Owner_Namespace::HasClass( const String & i_sLocalName ) 51 { 52 return pScope->Search_LocalClass(i_sLocalName).IsValid(); 53 } 54 55 void 56 Owner_Namespace::do_Add_Class( const String & i_sLocalName, 57 Cid i_nId ) 58 { 59 csv_assert(pScope != 0); 60 pScope->Add_LocalClass(i_sLocalName, i_nId); 61 } 62 63 void 64 Owner_Namespace::do_Add_Enum( const String & i_sLocalName, 65 Cid i_nId ) 66 { 67 csv_assert(pScope != 0); 68 pScope->Add_LocalEnum(i_sLocalName, i_nId); 69 } 70 71 void 72 Owner_Namespace::do_Add_Typedef( const String & i_sLocalName, 73 Cid i_nId ) 74 { 75 csv_assert(pScope != 0); 76 pScope->Add_LocalTypedef(i_sLocalName, i_nId); 77 } 78 79 void 80 Owner_Namespace::do_Add_Operation( const String & i_sLocalName, 81 Cid i_nId, 82 bool ) 83 { 84 csv_assert(pScope != 0); 85 pScope->Add_LocalOperation(i_sLocalName, i_nId); 86 } 87 88 void 89 Owner_Namespace::do_Add_Variable( const String & i_sLocalName, 90 Cid i_nId, 91 bool i_bIsConst, 92 bool ) 93 { 94 csv_assert(pScope != 0); 95 if (i_bIsConst) 96 pScope->Add_LocalConstant(i_sLocalName, i_nId); 97 else 98 pScope->Add_LocalVariable(i_sLocalName, i_nId); 99 } 100 101 102 Cid 103 Owner_Namespace::inq_CeId() const 104 { 105 csv_assert(pScope != 0); 106 return pScope->CeId(); 107 } 108 109 110 //****************** Owner_Class ********************// 111 112 Owner_Class::Owner_Class() 113 : pScope(0) 114 { 115 } 116 117 void 118 Owner_Class::SetAnotherClass( ary::cpp::Class & io_rScope ) 119 { 120 pScope = &io_rScope; 121 } 122 123 bool 124 Owner_Class::HasClass( const String & ) 125 { 126 return false; 127 } 128 129 void 130 Owner_Class::do_Add_Class( const String & i_sLocalName, 131 Cid i_nId ) 132 { 133 csv_assert(pScope != 0); 134 pScope->Add_LocalClass(i_sLocalName, i_nId); 135 } 136 137 void 138 Owner_Class::do_Add_Enum( const String & i_sLocalName, 139 Cid i_nId ) 140 { 141 csv_assert(pScope != 0); 142 pScope->Add_LocalEnum(i_sLocalName, i_nId); 143 } 144 145 void 146 Owner_Class::do_Add_Typedef( const String & i_sLocalName, 147 Cid i_nId ) 148 { 149 csv_assert(pScope != 0); 150 pScope->Add_LocalTypedef(i_sLocalName, i_nId); 151 } 152 153 void 154 Owner_Class::do_Add_Operation( const String & i_sLocalName, 155 Cid i_nId, 156 bool i_bIsStatic ) 157 { 158 csv_assert(pScope != 0); 159 if (i_bIsStatic) 160 pScope->Add_LocalStaticOperation(i_sLocalName, i_nId); 161 else 162 pScope->Add_LocalOperation(i_sLocalName, i_nId); 163 } 164 165 void 166 Owner_Class::do_Add_Variable( const String & i_sLocalName, 167 Cid i_nId, 168 bool , 169 bool i_bIsStatic ) 170 { 171 csv_assert(pScope != 0); 172 if (i_bIsStatic) 173 pScope->Add_LocalStaticData(i_sLocalName, i_nId); 174 else 175 pScope->Add_LocalData(i_sLocalName, i_nId); 176 } 177 178 Cid 179 Owner_Class::inq_CeId() const 180 { 181 csv_assert(pScope != 0); 182 return pScope->CeId(); 183 } 184 185 186 } // namespace cpp 187