idlehomescreen/widgetmanager/src/wminstaller.cpp
branchRCL_3
changeset 12 9674c1a575e9
parent 11 ff572dfe6d86
child 17 b8fae6b8a148
equal deleted inserted replaced
11:ff572dfe6d86 12:9674c1a575e9
    18 
    18 
    19 #include <e32base.h>
    19 #include <e32base.h>
    20 
    20 
    21 #include "wminstaller.h"
    21 #include "wminstaller.h"
    22 #include "wmwidgetdata.h"
    22 #include "wmwidgetdata.h"
       
    23 #include "wmplugin.h"
    23 
    24 
    24 
    25 
    25 // CONSTANTS
    26 // CONSTANTS
    26 _LIT8( KWrtMime, "application/x-nokia-widget");
    27 _LIT8( KWrtMime, "application/x-nokia-widget");
    27 
    28 
    28 // ---------------------------------------------------------
    29 // ---------------------------------------------------------
    29 // CWmInstaller::NewL
    30 // CWmInstaller::NewL
    30 // ---------------------------------------------------------
    31 // ---------------------------------------------------------
    31 //
    32 //
    32 CWmInstaller* CWmInstaller::NewL()
    33 CWmInstaller* CWmInstaller::NewL( CWmPlugin& aWmPlugin )
    33     {
    34     {
    34     CWmInstaller* self = CWmInstaller::NewLC();
    35     CWmInstaller* self = CWmInstaller::NewLC( aWmPlugin );
    35     CleanupStack::Pop(); // self;
    36     CleanupStack::Pop(); // self;
    36     return self;
    37     return self;
    37     }
    38     }
    38 
    39 
    39 // ---------------------------------------------------------
    40 // ---------------------------------------------------------
    40 // CWmInstaller::NewLC
    41 // CWmInstaller::NewLC
    41 // ---------------------------------------------------------
    42 // ---------------------------------------------------------
    42 //
    43 //
    43 CWmInstaller* CWmInstaller::NewLC()
    44 CWmInstaller* CWmInstaller::NewLC( CWmPlugin& aWmPlugin )
    44     {
    45     {
    45     CWmInstaller* self = new ( ELeave ) CWmInstaller();
    46     CWmInstaller* self = new ( ELeave ) CWmInstaller( aWmPlugin );
    46     CleanupStack::PushL(self);
    47     CleanupStack::PushL(self);
    47     self->ConstructL();
    48     self->ConstructL();
    48     return self;
    49     return self;
    49     }
    50     }
    50 
    51 
    51 // ---------------------------------------------------------
    52 // ---------------------------------------------------------
    52 // CWmInstaller::CWmInstaller
    53 // CWmInstaller::CWmInstaller
    53 // ---------------------------------------------------------
    54 // ---------------------------------------------------------
    54 //
    55 //
    55 CWmInstaller::CWmInstaller() : CActive( EPriorityStandard )
    56 CWmInstaller::CWmInstaller( CWmPlugin& aWmPlugin ) :
       
    57     CActive( EPriorityStandard ),
       
    58     iWmPlugin( aWmPlugin )
    56     {
    59     {
    57     iUid = KNullUid;
    60     iUid = KNullUid;
    58     iIdle = NULL;
    61     iIdle = NULL;
    59     CActiveScheduler::Add( this );
    62     CActiveScheduler::Add( this );
    60     }
    63     }
   105 // CWmInstaller::RunL
   108 // CWmInstaller::RunL
   106 // ---------------------------------------------------------
   109 // ---------------------------------------------------------
   107 //
   110 //
   108 void CWmInstaller::RunL()
   111 void CWmInstaller::RunL()
   109     {
   112     {
       
   113     // error has occurred, stop uninstallation animation.
       
   114     if ( iStatus != KErrNone )
       
   115         { 
       
   116         CWmWidgetData* widget = iWmPlugin.GetUninstalledWidgetByUid( iUid );
       
   117         if ( widget )
       
   118             {
       
   119             widget->StopUninstallAnimationL();
       
   120             }
       
   121         }
       
   122     
   110     // close SWI session
   123     // close SWI session
   111     if ( iIdle && iIdle->IsActive() )
   124     if ( iIdle && iIdle->IsActive() )
   112         {
   125         {
   113         iIdle->Cancel();
   126         iIdle->Cancel();
   114         }
   127         }