webengine/widgetengine/src/Preferences.cpp
changeset 5 10e98eab6f85
parent 0 dd21522fd290
child 15 60c5402cb945
equal deleted inserted replaced
1:7c90e6132015 5:10e98eab6f85
   113 // WidgetPreferences::PreferenceL
   113 // WidgetPreferences::PreferenceL
   114 // Get preference for a key
   114 // Get preference for a key
   115 //
   115 //
   116 //
   116 //
   117 // ----------------------------------------------------------------------------
   117 // ----------------------------------------------------------------------------
   118 TInt WidgetPreferences::preferenceL( const TDesC& akey, TPtrC& avalue)
   118 TInt WidgetPreferences::preferenceL( const TDesC& akey, HBufC*& avalue)
   119 {
   119 {
   120 
   120 
   121     TInt rSuccess = KErrNotFound;
   121     TInt rSuccess = KErrNotFound;
   122     TInt size = 0;
   122     TInt size = 0;
   123     
   123     
   157                     TInt len( readStream.ReadInt32L() );
   157                     TInt len( readStream.ReadInt32L() );
   158                     if ( len > 0 ) {                                       
   158                     if ( len > 0 ) {                                       
   159                         HBufC* v = HBufC::NewLC( len );
   159                         HBufC* v = HBufC::NewLC( len );
   160                         TPtr ptrvalue = v->Des();
   160                         TPtr ptrvalue = v->Des();
   161                         readStream.ReadL( ptrvalue, len );    
   161                         readStream.ReadL( ptrvalue, len );    
   162                         avalue.Set( *v );
   162                         avalue = v; // ownership xfered
   163                         CleanupStack::Pop( v );
   163                         CleanupStack::Pop( v );
   164                         rSuccess = KErrNone;
   164                         rSuccess = KErrNone;
   165                     }     
   165                     }     
   166                     CleanupStack::PopAndDestroy();//readStream
   166                     CleanupStack::PopAndDestroy();//readStream
   167                 }   
   167                 }   
   168 
   168 
   169                 CleanupStack::PopAndDestroy( 2 ); //filePath,fs
   169                 CleanupStack::PopAndDestroy( 2 ); //filePath,fs
   170             }
   170             }
   171         }        
   171         }        
   172         else if ( size >= 0 ) {
   172         else if ( size >= 0 ) {
   173             avalue.Set( pref->value() );
   173             avalue = pref->value().AllocL();
   174             rSuccess = KErrNone;
   174             rSuccess = KErrNone;
   175         }
   175         }
   176 
   176 
   177         CleanupStack::PopAndDestroy( k );
   177         CleanupStack::PopAndDestroy( k );
   178     }
   178     }