profilesservices/ProfileEngine/ProfileScheduleEventSrc/CProfileChangeEvent.cpp
changeset 32 20bd089f4aaa
parent 0 8c5d936e5675
child 61 33e86ecbfdb4
child 68 13e71d907dc3
equal deleted inserted replaced
31:2c9d3aa5bea2 32:20bd089f4aaa
    17 */
    17 */
    18 
    18 
    19 
    19 
    20 // INCLUDE FILES
    20 // INCLUDE FILES
    21 #include    "CProfileChangeEvent.h"
    21 #include    "CProfileChangeEvent.h"
       
    22 #include    "ProfileEnginePrivateCRKeys.h"
       
    23 #include    "ProfilesDebug.h"
    22 
    24 
    23 #include    <e32svr.h>
    25 #include    <e32svr.h>
    24 #include    <MProfileEngine.h>
    26 #include    <MProfileEngine.h>
    25 #include    <AknGlobalNote.h>
       
    26 #include    <data_caging_path_literals.hrh>
    27 #include    <data_caging_path_literals.hrh>
    27 #include    <centralrepository.h>
    28 #include    <centralrepository.h>
    28 #include    <barsc.h>
       
    29 #include    <bautils.h>
       
    30 
       
    31 #include	<SecondaryDisplay/SecondaryDisplayProfilesAPI.h>
       
    32 #include	<aknSDData.h>
       
    33 #include	<featmgr.h>
       
    34 
    29 
    35 #include    <ProfileScheduleEvent.rsg>
    30 #include    <ProfileScheduleEvent.rsg>
    36 #include    "ProfileEnginePrivateCRKeys.h"
    31 #include    <ProfileEngineConstants.h>
    37 #include    "ProfileEngineConstants.h"
       
    38 #include    "ProfilesDebug.h"
       
    39 
    32 
    40 
    33 
    41 // CONSTANTS
    34 // CONSTANTS
    42 namespace
    35 namespace
    43     {
    36     {
    61 // Symbian 2nd phase constructor can leave.
    54 // Symbian 2nd phase constructor can leave.
    62 // -----------------------------------------------------------------------------
    55 // -----------------------------------------------------------------------------
    63 //
    56 //
    64 void CProfileChangeEvent::ConstructL()
    57 void CProfileChangeEvent::ConstructL()
    65     {
    58     {
    66     FeatureManager::InitializeLibL();
       
    67     iCoverDisplay = FeatureManager::FeatureSupported( KFeatureIdCoverDisplay );
       
    68     
       
    69     
       
    70     User::LeaveIfError( iFs.Connect() );
    59     User::LeaveIfError( iFs.Connect() );
    71     // Open/Create mutex
    60     // Open/Create mutex
    72     TInt error( KErrNotFound );
    61     TInt error( KErrNotFound );
    73     while( error == KErrNotFound )
    62     while( error == KErrNotFound )
    74         {
    63         {
    79             }
    68             }
    80         error = iMutex.OpenGlobal( KProfileMutexName );
    69         error = iMutex.OpenGlobal( KProfileMutexName );
    81         }
    70         }
    82     User::LeaveIfError( error );
    71     User::LeaveIfError( error );
    83     iProfileEngine = CreateProfileEngineL( &iFs );
    72     iProfileEngine = CreateProfileEngineL( &iFs );
    84     iGlobalNote = CAknGlobalNote::NewL();
       
    85     ReadResourcesL();
    73     ReadResourcesL();
    86     }
    74     }
    87 
    75 
    88 // -----------------------------------------------------------------------------
    76 // -----------------------------------------------------------------------------
    89 // CProfileChangeEvent::NewL
    77 // CProfileChangeEvent::NewL
   115 
   103 
   116 
   104 
   117 // Destructor
   105 // Destructor
   118 CProfileChangeEvent::~CProfileChangeEvent()
   106 CProfileChangeEvent::~CProfileChangeEvent()
   119     {
   107     {
   120     delete iNoteText;
       
   121     delete iGlobalNote;
       
   122     if( iProfileEngine )
   108     if( iProfileEngine )
   123         {
   109         {
   124         iProfileEngine->Release();
   110         iProfileEngine->Release();
   125         }
   111         }
   126     iFs.Close();
   112     iFs.Close();
   127     iMutex.Close();
   113     iMutex.Close();
   128     
       
   129     FeatureManager::UnInitializeLib();
       
   130     }
   114     }
   131 
   115 
   132 
   116 
   133 // -----------------------------------------------------------------------------
   117 // -----------------------------------------------------------------------------
   134 // CProfileChangeEvent::ExecuteL
   118 // CProfileChangeEvent::ExecuteL
   200 // (other items were commented in a header).
   184 // (other items were commented in a header).
   201 // -----------------------------------------------------------------------------
   185 // -----------------------------------------------------------------------------
   202 //
   186 //
   203 void CProfileChangeEvent::ShowNoteL()
   187 void CProfileChangeEvent::ShowNoteL()
   204     {
   188     {
   205 	PRODEBUG1( " CProfileChangeEvent:ShowNoteL(%S)", iNoteText );
       
   206 	// Set secondary display data if cover ui is supported
       
   207 	if ( iCoverDisplay )
       
   208 		{
       
   209 		CAknSDData* sd = CAknSDData::NewL(KCatProfiles,
       
   210 							ECmdShowTimedProfileExpiryNote, KNullDesC8);
       
   211 		iGlobalNote->SetSecondaryDisplayData( sd ); // ownership transferred
       
   212 		}
       
   213     iGlobalNote->ShowNoteL( EAknGlobalConfirmationNote, *iNoteText );
       
   214     }
   189     }
   215 
   190 
   216 // -----------------------------------------------------------------------------
   191 // -----------------------------------------------------------------------------
   217 // CProfileChangeEvent::ReadResourcesL
   192 // CProfileChangeEvent::ReadResourcesL
   218 // (other items were commented in a header).
   193 // (other items were commented in a header).
   219 // -----------------------------------------------------------------------------
   194 // -----------------------------------------------------------------------------
   220 //
   195 //
   221 void CProfileChangeEvent::ReadResourcesL()
   196 void CProfileChangeEvent::ReadResourcesL()
   222     {
   197     {
   223 	PRODEBUG( " CProfileChangeEvent:ReadResourcesL" );
       
   224     TParse* fp = new ( ELeave ) TParse();
       
   225     fp->Set( KProfileScheduleEventResourceDriveAndDir,
       
   226              &KDC_RESOURCE_FILES_DIR, NULL );
       
   227     iResourceFile.Copy( fp->FullName() );
       
   228     delete fp;
       
   229 
       
   230 	PRODEBUG( " CProfileChangeEvent:ReadResourcesL 2" );
       
   231     BaflUtils::NearestLanguageFile( iFs, iResourceFile );
       
   232 	PRODEBUG1( " CProfileChangeEvent:ReadResourcesL 3 iResourceFile=%S", &iResourceFile );
       
   233 
       
   234     RResourceFile resourceFile;
       
   235     resourceFile.OpenL( iFs, iResourceFile );
       
   236     CleanupClosePushL( resourceFile );
       
   237 
       
   238 	PRODEBUG( " CProfileChangeEvent:ReadResourcesL 4" );
       
   239     resourceFile.ConfirmSignatureL();
       
   240 	PRODEBUG( " CProfileChangeEvent:ReadResourcesL 5" );
       
   241 
       
   242     HBufC8* dataBuffer = resourceFile.AllocReadLC( R_PROFILES_CONFIRM_TIMED_EXPIRED );
       
   243 
       
   244 	PRODEBUG( " CProfileChangeEvent:ReadResourcesL 6" );
       
   245     TResourceReader rsReader;
       
   246     rsReader.SetBuffer( dataBuffer );
       
   247     iNoteText = rsReader.ReadHBufCL();
       
   248 	PRODEBUG( " CProfileChangeEvent:ReadResourcesL 7" );
       
   249 
       
   250     CleanupStack::PopAndDestroy( 2 ); // dataBuffer, resourceFile
       
   251 	PRODEBUG( " CProfileChangeEvent:ReadResourcesL 8" );
       
   252     }
   198     }
   253 
   199 
   254 //  End of File
   200 //  End of File
   255 
   201