profilesservices/ProfileEngine/ProfileScheduleEventSrc/CProfileChangeEvent.cpp
branchRCL_3
changeset 10 c8b9b0986973
parent 8 f62c3a3d66b8
child 11 23553eb4e470
equal deleted inserted replaced
8:f62c3a3d66b8 10:c8b9b0986973
    35 #include    <ProfileScheduleEvent.rsg>
    35 #include    <ProfileScheduleEvent.rsg>
    36 #include    "ProfileEnginePrivateCRKeys.h"
    36 #include    "ProfileEnginePrivateCRKeys.h"
    37 #include    <ProfileEngineConstants.h>
    37 #include    <ProfileEngineConstants.h>
    38 #include    "ProfilesDebug.h"
    38 #include    "ProfilesDebug.h"
    39 
    39 
       
    40 #include    <MProfileEngineExtended.h>
       
    41 #include    <MProfileExtended.h>
       
    42 #include    <MProfileName.h>
    40 
    43 
    41 // CONSTANTS
    44 // CONSTANTS
    42 namespace
    45 namespace
    43     {
    46     {
    44     _LIT( KProfileScheduleEventResourceDriveAndDir, "Z:ProfileScheduleEvent.rsc" );
    47     _LIT( KProfileScheduleEventResourceDriveAndDir, "Z:ProfileScheduleEvent.rsc" );
    78             break;
    81             break;
    79             }
    82             }
    80         error = iMutex.OpenGlobal( KProfileMutexName );
    83         error = iMutex.OpenGlobal( KProfileMutexName );
    81         }
    84         }
    82     User::LeaveIfError( error );
    85     User::LeaveIfError( error );
    83     iProfileEngine = CreateProfileEngineL( &iFs );
    86     iProfileEngine = CreateProfileEngineExtendedL( &iFs );
       
    87     iCenRep = CRepository::NewL( KCRUidProfileEngine );
    84     iGlobalNote = CAknGlobalNote::NewL();
    88     iGlobalNote = CAknGlobalNote::NewL();
    85     ReadResourcesL();
    89     ReadResourcesL();
    86     }
    90     }
    87 
    91 
    88 // -----------------------------------------------------------------------------
    92 // -----------------------------------------------------------------------------
   117 // Destructor
   121 // Destructor
   118 CProfileChangeEvent::~CProfileChangeEvent()
   122 CProfileChangeEvent::~CProfileChangeEvent()
   119     {
   123     {
   120     delete iNoteText;
   124     delete iNoteText;
   121     delete iGlobalNote;
   125     delete iGlobalNote;
       
   126     delete iCenRep;
   122     if( iProfileEngine )
   127     if( iProfileEngine )
   123         {
   128         {
   124         iProfileEngine->Release();
   129         iProfileEngine->Release();
   125         }
   130         }
   126     iFs.Close();
   131     iFs.Close();
   173 //
   178 //
   174 void CProfileChangeEvent::ChangeProfileL()
   179 void CProfileChangeEvent::ChangeProfileL()
   175     {
   180     {
   176 	PRODEBUG( " CProfileChangeEvent:ChangeProfileL" );
   181 	PRODEBUG( " CProfileChangeEvent:ChangeProfileL" );
   177 
   182 
       
   183 	TBool nameEqual = EFalse;
       
   184 	HBufC* previousName = HBufC::NewL( PROFILES_MAX_NAME_LENGTH );
       
   185 	CleanupStack::PushL( previousName );  
       
   186 	TPtr tempName = previousName->Des();
       
   187 	User::LeaveIfError( iCenRep->Get( KProEngPreviousActiveName, tempName ) );
       
   188 	if( tempName.Length() )
       
   189 		{
       
   190 		nameEqual = tempName.Compare( iProfileEngine->ProfileL( iPreviousId )->ProfileName().Name() );
       
   191 		}
       
   192 	if( !nameEqual )
       
   193 		{
   178     iProfileEngine->SetActiveProfileL( iPreviousId );
   194     iProfileEngine->SetActiveProfileL( iPreviousId );
   179 
   195 		}
       
   196 	User::LeaveIfError( iCenRep->Set( KProEngPreviousActiveName, KNullDesC ) );
       
   197 	CleanupStack::PopAndDestroy();
   180     }
   198     }
   181 
   199 
   182 // -----------------------------------------------------------------------------
   200 // -----------------------------------------------------------------------------
   183 // CProfileChangeEvent::ReadProfileIdL
   201 // CProfileChangeEvent::ReadProfileIdL
   184 // (other items were commented in a header).
   202 // (other items were commented in a header).