menufw/hierarchynavigator/hnmetadatamodel/src/hnmdlocalization.cpp
branchRCL_3
changeset 26 1b758917cafc
parent 0 f72a12da539e
equal deleted inserted replaced
25:137ebc85284b 26:1b758917cafc
   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