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 } |