27 #include <usif/usifcommon.h> |
27 #include <usif/usifcommon.h> |
28 #include <usif/scr/scr.h> |
28 #include <usif/scr/scr.h> |
29 |
29 |
30 #include "caapphandler.h" |
30 #include "caapphandler.h" |
31 #include "cainnerentry.h" |
31 #include "cainnerentry.h" |
32 #include "cauninstalloperation.h" |
|
33 #include "causifuninstalloperation.h" |
32 #include "causifuninstalloperation.h" |
34 #include "catasklist.h" |
33 #include "catasklist.h" |
35 |
34 |
36 #include "cautils.h" |
35 #include "cautils.h" |
37 #include "cadef.h" |
36 #include "cadef.h" |
43 // |
42 // |
44 // --------------------------------------------------------------------------- |
43 // --------------------------------------------------------------------------- |
45 // |
44 // |
46 CCaAppHandler::~CCaAppHandler() |
45 CCaAppHandler::~CCaAppHandler() |
47 { |
46 { |
48 delete iUninstallOperation; |
|
49 delete iUsifUninstallOperation; |
47 delete iUsifUninstallOperation; |
50 } |
48 } |
51 |
49 |
52 // --------------------------------------------------------------------------- |
50 // --------------------------------------------------------------------------- |
53 // |
51 // |
67 // --------------------------------------------------------- |
65 // --------------------------------------------------------- |
68 // |
66 // |
69 CCaAppHandler::CCaAppHandler() |
67 CCaAppHandler::CCaAppHandler() |
70 { |
68 { |
71 iEikEnv = CEikonEnv::Static(); |
69 iEikEnv = CEikonEnv::Static(); |
72 iUninstallOperation = NULL; |
|
73 iUsifUninstallOperation = NULL; |
70 iUsifUninstallOperation = NULL; |
74 } |
71 } |
75 |
72 |
76 // --------------------------------------------------------------------------- |
73 // --------------------------------------------------------------------------- |
77 // |
74 // |
224 // --------------------------------------------------------------------------- |
221 // --------------------------------------------------------------------------- |
225 // |
222 // |
226 // --------------------------------------------------------------------------- |
223 // --------------------------------------------------------------------------- |
227 // |
224 // |
228 void CCaAppHandler::HandleRemoveL( CCaInnerEntry &aEntry ) |
225 void CCaAppHandler::HandleRemoveL( CCaInnerEntry &aEntry ) |
229 { |
226 { |
230 if (!( aEntry.GetFlags() & ERemovable ) ) |
227 if( !( aEntry.GetFlags() & ERemovable ) ) |
231 { |
228 { |
232 User::Leave( KErrAccessDenied ); |
229 User::Leave( KErrAccessDenied ); |
233 } |
230 } |
234 if ( aEntry.GetEntryTypeName() == KCaTypeApp() ) |
231 |
235 { |
232 const TPtrC entryTypeName(aEntry.GetEntryTypeName()); |
236 TComponentId componentId( GetComponentIdL( aEntry,KSoftwareTypeJava ) ); |
233 |
237 if ( componentId != KErrNotFound ) |
234 if( entryTypeName == KCaTypeApp() || |
238 { |
235 entryTypeName == KCaTypePackage() || |
239 StartUsifUninstallL( componentId ); |
236 entryTypeName == KCaTypeWidget() ) |
240 } |
|
241 else |
|
242 { |
|
243 StartSwiUninstallL( aEntry ); |
|
244 } |
|
245 } |
|
246 else if ( aEntry.GetEntryTypeName() == KCaTypeWidget() ) |
|
247 { |
|
248 StartSwiUninstallL( aEntry ); |
|
249 } |
|
250 else if( aEntry.GetEntryTypeName() == KCaTypePackage() ) |
|
251 { |
237 { |
252 TPtrC componentId; |
238 TPtrC componentId; |
253 if ( aEntry.FindAttribute( KCaAttrComponentId, componentId ) ) |
239 TBool result = aEntry.FindAttribute( KCaAttrComponentId, componentId ); |
|
240 if( result ) |
254 { |
241 { |
255 TInt32 id ; |
242 TInt32 id ; |
256 TLex idDesc; |
243 TLex idDesc; |
257 idDesc.Assign( componentId ); |
244 idDesc.Assign( componentId ); |
258 User::LeaveIfError( idDesc.Val( id ) ); |
245 User::LeaveIfError( idDesc.Val( id ) ); |
259 StartUsifUninstallL( id ); |
246 StartUsifUninstallL( id ); |
260 } |
247 } |
|
248 else |
|
249 { |
|
250 User::Leave( KErrNotFound ); |
|
251 } |
261 } |
252 } |
262 else |
253 else |
263 { |
254 { |
264 User::Leave( KErrNotSupported ); |
255 User::Leave( KErrNotSupported ); |
265 } |
256 } |
266 } |
257 } |
267 |
258 |
268 // --------------------------------------------------------------------------- |
259 // --------------------------------------------------------------------------- |
269 // |
260 // |
270 // --------------------------------------------------------------------------- |
261 // --------------------------------------------------------------------------- |
271 // |
262 // |
305 delete iUsifUninstallOperation; |
296 delete iUsifUninstallOperation; |
306 iUsifUninstallOperation = NULL; |
297 iUsifUninstallOperation = NULL; |
307 iUsifUninstallOperation = CCaUsifUninstallOperation::NewL( aComponentId ); |
298 iUsifUninstallOperation = CCaUsifUninstallOperation::NewL( aComponentId ); |
308 } |
299 } |
309 |
300 |
310 // --------------------------------------------------------------------------- |
|
311 // |
|
312 // --------------------------------------------------------------------------- |
|
313 // |
|
314 void CCaAppHandler::StartSwiUninstallL(CCaInnerEntry &aEntry ) |
|
315 { |
|
316 if ( iUninstallOperation && iUninstallOperation->IsActive() ) |
|
317 { |
|
318 User::Leave( KErrInUse ); |
|
319 } |
|
320 delete iUninstallOperation; |
|
321 iUninstallOperation = NULL; |
|
322 iUninstallOperation = CCaUninstallOperation::NewL( aEntry ); |
|
323 } |
|