117 const CHnMdLocalizationElement* CHnMdLocalization::ElementByNamespace( |
117 const CHnMdLocalizationElement* CHnMdLocalization::ElementByNamespace( |
118 const TDesC& aNamespace ) const |
118 const TDesC& aNamespace ) const |
119 { |
119 { |
120 TInt count = iInternalLocalization.Count(); |
120 TInt count = iInternalLocalization.Count(); |
121 const CHnMdLocalizationElement* element = NULL; |
121 const CHnMdLocalizationElement* element = NULL; |
122 |
|
123 for ( TInt i = 0; i < count; i++ ) |
122 for ( TInt i = 0; i < count; i++ ) |
124 { |
123 { |
125 const CHnMdLocalizationElement* tmp = iInternalLocalization[i]; |
124 const CHnMdLocalizationElement* tmp = iInternalLocalization[i]; |
126 if ( !tmp->Namespace().Compare( aNamespace) ) |
125 if ( !tmp->Namespace().Compare( aNamespace) ) |
127 { |
126 { |
128 element = tmp; |
127 element = tmp; |
129 break; |
128 break; |
130 } |
129 } |
131 } |
130 } |
132 if( !element ) |
|
133 { |
|
134 count = iDynamicLocalization.Count(); |
|
135 |
|
136 for ( TInt i = 0; i < count; i++ ) |
|
137 { |
|
138 const CHnMdLocalizationElement* tmp = iDynamicLocalization[i]; |
|
139 if ( !tmp->Namespace().Compare( aNamespace) ) |
|
140 { |
|
141 element = tmp; |
|
142 break; |
|
143 } |
|
144 } |
|
145 } |
|
146 |
|
147 return element; |
131 return element; |
148 } |
132 } |
149 |
133 |
150 // --------------------------------------------------------------------------- |
134 // --------------------------------------------------------------------------- |
151 // |
135 // |
159 // |
143 // |
160 // --------------------------------------------------------------------------- |
144 // --------------------------------------------------------------------------- |
161 // |
145 // |
162 CHnMdLocalization::~CHnMdLocalization() |
146 CHnMdLocalization::~CHnMdLocalization() |
163 { |
147 { |
164 iDynamicLocalization.ResetAndDestroy(); |
|
165 for( TInt i( 0 ); i < iDynamicOffset.Count(); i++ ) |
|
166 { |
|
167 iCoeEnv->DeleteResourceFile( iDynamicOffset[i] ); |
|
168 } |
|
169 iDynamicOffset.Close(); |
|
170 |
|
171 iInternalLocalization.ResetAndDestroy(); |
148 iInternalLocalization.ResetAndDestroy(); |
172 for( TInt i( 0 ); i < iInternalOffset.Count(); i++ ) |
149 for( TInt i( 0 ); i < iInternalOffset.Count(); i++ ) |
173 { |
150 { |
174 iCoeEnv->DeleteResourceFile( iInternalOffset[i] ); |
151 iCoeEnv->DeleteResourceFile( iInternalOffset[i] ); |
175 } |
152 } |
176 iInternalOffset.Close(); |
153 iInternalOffset.Close(); |
177 } |
|
178 |
|
179 // --------------------------------------------------------------------------- |
|
180 // |
|
181 // --------------------------------------------------------------------------- |
|
182 // |
|
183 void CHnMdLocalization::ReloadResourceFilesL() |
|
184 { |
|
185 for( TInt i( 0 ); i < iDynamicLocalization.Count(); i++ ) |
|
186 { |
|
187 iDynamicLocalization[i]->LocateLanguageFileL(); |
|
188 if( iDynamicLocalization[i]->SourcePath() ) |
|
189 { |
|
190 TInt offset( 0 ); |
|
191 TRAPD( err, offset = iCoeEnv->AddResourceFileL( |
|
192 *(iDynamicLocalization[i]->SourcePath()) ) ); |
|
193 if ( !err ) |
|
194 { |
|
195 iDynamicOffset.AppendL( offset ); |
|
196 } |
|
197 } |
|
198 } |
|
199 } |
|
200 |
|
201 // --------------------------------------------------------------------------- |
|
202 // |
|
203 // --------------------------------------------------------------------------- |
|
204 // |
|
205 void CHnMdLocalization::ReleaseResourceFiles() |
|
206 { |
|
207 iDynamicLocalization.ResetAndDestroy(); |
|
208 for( TInt i( 0 ); i < iDynamicOffset.Count(); i++ ) |
|
209 { |
|
210 iCoeEnv->DeleteResourceFile( iDynamicOffset[i] ); |
|
211 } |
|
212 iDynamicOffset.Reset(); |
|
213 } |
154 } |
214 |
155 |
215 // --------------------------------------------------------------------------- |
156 // --------------------------------------------------------------------------- |
216 // |
157 // |
217 // --------------------------------------------------------------------------- |
158 // --------------------------------------------------------------------------- |
226 TInt offset( 0 ); |
167 TInt offset( 0 ); |
227 TRAPD( err, offset = iCoeEnv->AddResourceFileL( *(aElement->SourcePath()) ) ); |
168 TRAPD( err, offset = iCoeEnv->AddResourceFileL( *(aElement->SourcePath()) ) ); |
228 if ( !err ) |
169 if ( !err ) |
229 { |
170 { |
230 iInternalOffset.AppendL( offset ); |
171 iInternalOffset.AppendL( offset ); |
231 } |
|
232 } |
|
233 } |
|
234 else |
|
235 { |
|
236 iDynamicLocalization.AppendL( aElement ); |
|
237 if( IsResourceFile (aElement->Source()) ) |
|
238 { |
|
239 TInt offset( 0 ); |
|
240 TRAPD( err, offset = iCoeEnv->AddResourceFileL( *(aElement->SourcePath()) ) ); |
|
241 if ( !err ) |
|
242 { |
|
243 iDynamicOffset.AppendL( offset ); |
|
244 } |
172 } |
245 } |
173 } |
246 } |
174 } |
247 } |
175 } |
248 |
176 |