author | Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> |
Fri, 17 Sep 2010 08:32:18 +0300 | |
changeset 121 | 0b3699f6c654 |
parent 103 | b99b84bcd2d1 |
child 124 | e36b2f4799c0 |
permissions | -rw-r--r-- |
61
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1 |
/* |
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
2 |
* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). |
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
3 |
* All rights reserved. |
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
4 |
* This component and the accompanying materials are made available |
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
5 |
* under the terms of "Eclipse Public License v1.0" |
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
6 |
* which accompanies this distribution, and is available |
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
7 |
* at the URL "http://www.eclipse.org/legal/epl-v10.html". |
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
8 |
* |
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
9 |
* Initial Contributors: |
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
10 |
* Nokia Corporation - initial contribution. |
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
11 |
* |
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
12 |
* Contributors: |
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
13 |
* |
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
14 |
* Description: ?Description |
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
15 |
* |
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
16 |
*/ |
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
17 |
|
83
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
18 |
#include <QString> |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
19 |
#include <e32base.h> |
61
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
20 |
#include <w32std.h> |
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
21 |
#include <apgtask.h> |
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
22 |
#include <apgcli.h> |
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
23 |
#include <eikenv.h> |
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
24 |
#include <eikappui.h> |
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
25 |
#include <vwsdef.h> |
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
26 |
#include <AknDef.h> |
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
27 |
#include <AknTaskList.h> |
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
28 |
|
66
32469d7d46ff
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
61
diff
changeset
|
29 |
#include <usif/usifcommon.h> |
32469d7d46ff
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
61
diff
changeset
|
30 |
#include <usif/scr/scr.h> |
121
0b3699f6c654
Revision: 201036
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
103
diff
changeset
|
31 |
#include <usif/usiferror.h> |
66
32469d7d46ff
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
61
diff
changeset
|
32 |
|
83
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
33 |
#include <cadefs.h> |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
34 |
#include <caentry.h> |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
35 |
|
61
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
36 |
#include "caapphandler.h" |
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
37 |
#include "cainnerentry.h" |
66
32469d7d46ff
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
61
diff
changeset
|
38 |
#include "causifuninstalloperation.h" |
32469d7d46ff
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
61
diff
changeset
|
39 |
#include "catasklist.h" |
61
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
40 |
#include "cautils.h" |
83
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
41 |
#include "caclient_defines.h" |
61
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
42 |
#include "cadef.h" |
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
43 |
|
66
32469d7d46ff
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
61
diff
changeset
|
44 |
using namespace Usif; |
61
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
45 |
|
83
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
46 |
static const char caTypeApp[] = "application"; |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
47 |
static const char caTypePackage[] = "package"; |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
48 |
static const char caTypeWidget[] = "widget"; |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
49 |
static const char caAttrView[] = "view"; |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
50 |
static const char caCmdClose[] = "close"; |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
51 |
static const char caAttrWindowGroupId[] = "window_group_id"; |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
52 |
static const char caAttrComponentId[] = "component_id"; |
61
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
53 |
|
103
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
54 |
/*! |
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
55 |
* Command handler for application entries. |
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
56 |
* |
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
57 |
* \lib caclient.lib |
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
58 |
*/ |
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
59 |
|
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
60 |
/*! |
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
61 |
* Constructor. |
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
62 |
*/ |
83
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
63 |
CaAppHandler::CaAppHandler(QObject *parent): |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
64 |
iEikEnv(CEikonEnv::Static()), |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
65 |
iUsifUninstallOperation(NULL) |
61
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
66 |
{ |
83
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
67 |
Q_UNUSED(parent); |
61
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
68 |
} |
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
69 |
|
103
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
70 |
/*! |
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
71 |
* Destructor. |
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
72 |
*/ |
83
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
73 |
CaAppHandler::~CaAppHandler() |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
74 |
{ |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
75 |
delete iUsifUninstallOperation; |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
76 |
} |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
77 |
|
103
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
78 |
/*! |
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
79 |
* Execute a given command. |
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
80 |
* \param entry a reference to a CaEntry instance. |
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
81 |
* \param command a given command. |
121
0b3699f6c654
Revision: 201036
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
103
diff
changeset
|
82 |
* \param receiver a QObject class with slot to invoke. |
0b3699f6c654
Revision: 201036
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
103
diff
changeset
|
83 |
* \param member a slot to invoke. |
103
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
84 |
* \retval an error code. |
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
85 |
*/ |
121
0b3699f6c654
Revision: 201036
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
103
diff
changeset
|
86 |
int CaAppHandler::execute(const CaEntry &entry, const QString &command, |
0b3699f6c654
Revision: 201036
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
103
diff
changeset
|
87 |
QObject* receiver, const char* member) |
61
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
88 |
{ |
121
0b3699f6c654
Revision: 201036
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
103
diff
changeset
|
89 |
if ( receiver && member ) { |
0b3699f6c654
Revision: 201036
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
103
diff
changeset
|
90 |
connect( this, SIGNAL(uninstallFailed(int)), receiver, member, Qt::UniqueConnection ); |
0b3699f6c654
Revision: 201036
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
103
diff
changeset
|
91 |
} |
0b3699f6c654
Revision: 201036
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
103
diff
changeset
|
92 |
|
83
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
93 |
int result(KErrGeneral); |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
94 |
if (command == caCmdOpen && entry.entryTypeName() == caTypeApp) { |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
95 |
QString viewIdValue = entry.attribute(caAttrView); |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
96 |
bool viewIdIsCorrect(true); |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
97 |
int viewId(-1); |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
98 |
if (!viewIdValue.isNull()) { |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
99 |
viewId = viewIdValue.toInt(&viewIdIsCorrect, 0); |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
100 |
} |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
101 |
if (viewIdIsCorrect) { |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
102 |
QString uidValue = |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
103 |
entry.attribute(APPLICATION_UID_ATTRIBUTE_NAME); |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
104 |
int uid = uidValue.toInt(); |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
105 |
TRAP(result, launchApplicationL(TUid::Uid(uid), viewId)); |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
106 |
} |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
107 |
} else if (command == caCmdClose && entry.entryTypeName() == caTypeApp ) { |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
108 |
QString windowGroupId = entry.attribute(caAttrWindowGroupId); |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
109 |
if (!windowGroupId.isNull()) { |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
110 |
result = closeApplication(entry.flags(), windowGroupId.toInt()); |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
111 |
} |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
112 |
} else if (command == caCmdRemove) { |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
113 |
QString componentId(entry.attribute(caAttrComponentId)); |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
114 |
result = handleRemove(entry.flags(), |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
115 |
entry.entryTypeName(), |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
116 |
componentId); |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
117 |
} else { |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
118 |
result = KErrNotSupported; |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
119 |
} |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
120 |
|
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
121 |
return result; |
61
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
122 |
} |
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
123 |
|
103
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
124 |
/*! |
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
125 |
* Launch application |
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
126 |
* \param uid UID of the application to launch. |
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
127 |
* \param viewId id of the view the application is to start in. |
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
128 |
*/ |
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
129 |
void CaAppHandler::launchApplicationL(const TUid uid, TInt viewId) |
61
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
130 |
{ |
103
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
131 |
if (viewId > 0 && iEikEnv) { |
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
132 |
TVwsViewId view(uid, TUid::Uid(viewId)); |
61
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
133 |
iEikEnv->EikAppUi()->ActivateViewL( view ); |
103
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
134 |
} else { |
61
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
135 |
RWsSession wsSession; |
103
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
136 |
User::LeaveIfError(wsSession.Connect()); |
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
137 |
CleanupClosePushL<RWsSession>(wsSession); |
61
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
138 |
|
103
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
139 |
CCaTaskList* taskList = CCaTaskList::NewLC(wsSession); |
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
140 |
TApaTask task = taskList->FindRootApp(uid); |
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
141 |
CleanupStack::PopAndDestroy(taskList); |
61
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
142 |
|
103
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
143 |
if (task.Exists()) { |
61
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
144 |
task.BringToForeground(); |
103
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
145 |
} else { |
66
32469d7d46ff
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
61
diff
changeset
|
146 |
// TApaAppInfo size is greater then 1024 bytes |
32469d7d46ff
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
61
diff
changeset
|
147 |
// so its instances should not be created on the stack. |
103
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
148 |
TApaAppInfo* appInfo = new(ELeave) TApaAppInfo; |
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
149 |
CleanupStack::PushL(appInfo); |
61
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
150 |
TApaAppCapabilityBuf capabilityBuf; |
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
151 |
RApaLsSession appArcSession; |
103
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
152 |
User::LeaveIfError(appArcSession.Connect()); |
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
153 |
CleanupClosePushL<RApaLsSession>(appArcSession); |
61
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
154 |
|
103
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
155 |
User::LeaveIfError(appArcSession.GetAppInfo(*appInfo, uid)); |
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
156 |
User::LeaveIfError(appArcSession.GetAppCapability( |
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
157 |
capabilityBuf, uid)); |
61
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
158 |
|
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
159 |
TApaAppCapability &caps = capabilityBuf(); |
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
160 |
CApaCommandLine *cmdLine = CApaCommandLine::NewLC(); |
103
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
161 |
cmdLine->SetExecutableNameL(appInfo->iFullName); |
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
162 |
|
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
163 |
if (caps.iLaunchInBackground) { |
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
164 |
cmdLine->SetCommandL(EApaCommandBackground); |
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
165 |
} else { |
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
166 |
cmdLine->SetCommandL(EApaCommandRun); |
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
167 |
} |
61
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
168 |
|
103
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
169 |
cmdLine->SetTailEndL(KNullDesC8); |
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
170 |
|
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
171 |
User::LeaveIfError(appArcSession.StartApp(*cmdLine)); |
61
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
172 |
|
103
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
173 |
CleanupStack::PopAndDestroy(cmdLine); |
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
174 |
CleanupStack::PopAndDestroy(&appArcSession); |
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
175 |
CleanupStack::PopAndDestroy(appInfo); |
61
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
176 |
} |
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
177 |
CleanupStack::PopAndDestroy( &wsSession ); |
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
178 |
} |
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
179 |
} |
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
180 |
|
103
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
181 |
/*! |
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
182 |
* Closes application. |
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
183 |
* \param flags an entry flags. |
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
184 |
* \param windowGroupId window group id. |
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
185 |
* \retval an error code. |
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
186 |
*/ |
83
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
187 |
int CaAppHandler::closeApplication(const EntryFlags &flags, int windowGroupId) |
61
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
188 |
{ |
83
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
189 |
int result(KErrNone); |
121
0b3699f6c654
Revision: 201036
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
103
diff
changeset
|
190 |
if (windowGroupId > 0) { |
83
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
191 |
RWsSession wsSession; |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
192 |
result = wsSession.Connect(); |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
193 |
if (result==KErrNone) { |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
194 |
TWsEvent event; |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
195 |
event.SetTimeNow(); |
103
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
196 |
event.SetType(KAknShutOrHideApp); |
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
197 |
wsSession.SendEventToWindowGroup(windowGroupId, event); |
83
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
198 |
} |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
199 |
wsSession.Close(); |
61
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
200 |
} |
83
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
201 |
return result; |
61
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
202 |
} |
8e5041d13c84
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
203 |
|
103
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
204 |
/*! |
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
205 |
* Uninstall application. |
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
206 |
* \param flags flags of the application which is to uninstall. |
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
207 |
* \param typeName type name of the entry. |
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
208 |
* \param componentId component id. |
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
209 |
* \retval an error code. |
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
210 |
*/ |
83
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
211 |
int CaAppHandler::handleRemove(const EntryFlags &flags, |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
212 |
const QString &typeName, |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
213 |
const QString &componentId) |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
214 |
{ |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
215 |
int result(KErrNone); |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
216 |
if (flags.testFlag(RemovableEntryFlag)) { |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
217 |
if (typeName == caTypeApp |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
218 |
|| typeName == caTypePackage |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
219 |
|| typeName == caTypeWidget) { |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
220 |
if(componentId.isNull()) { |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
221 |
result = KErrNotFound; |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
222 |
} else { |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
223 |
bool convertStatus(false); |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
224 |
int id = componentId.toInt(&convertStatus); |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
225 |
if (convertStatus) { |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
226 |
TRAP(result, startUsifUninstallL(id)); |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
227 |
} else { |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
228 |
result = KErrGeneral; |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
229 |
} |
80
397d00875918
Revision: 201019
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
66
diff
changeset
|
230 |
} |
66
32469d7d46ff
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
61
diff
changeset
|
231 |
} |
83
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
232 |
else { |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
233 |
result = KErrNotSupported; |
66
32469d7d46ff
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
61
diff
changeset
|
234 |
} |
83
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
235 |
} else { |
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
236 |
result = KErrAccessDenied; |
80
397d00875918
Revision: 201019
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
66
diff
changeset
|
237 |
} |
83
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
238 |
return result; |
66
32469d7d46ff
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
61
diff
changeset
|
239 |
} |
32469d7d46ff
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
61
diff
changeset
|
240 |
|
103
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
241 |
/*! |
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
242 |
* Start uninstall operation via usif. |
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
243 |
* \param componentId component id. |
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
244 |
*/ |
b99b84bcd2d1
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
83
diff
changeset
|
245 |
void CaAppHandler::startUsifUninstallL(TInt componentId) |
66
32469d7d46ff
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
61
diff
changeset
|
246 |
{ |
83
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
247 |
if (iUsifUninstallOperation && iUsifUninstallOperation->IsActive()) { |
121
0b3699f6c654
Revision: 201036
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
103
diff
changeset
|
248 |
uninstallError(Usif::EInstallerBusy); |
0b3699f6c654
Revision: 201036
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
103
diff
changeset
|
249 |
} else { |
0b3699f6c654
Revision: 201036
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
103
diff
changeset
|
250 |
delete iUsifUninstallOperation; |
0b3699f6c654
Revision: 201036
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
103
diff
changeset
|
251 |
iUsifUninstallOperation = NULL; |
0b3699f6c654
Revision: 201036
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
103
diff
changeset
|
252 |
iUsifUninstallOperation = CCaUsifUninstallOperation::NewL(componentId); |
0b3699f6c654
Revision: 201036
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
103
diff
changeset
|
253 |
iUsifUninstallOperation->AddObserver(this); |
83
156f692b1687
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
80
diff
changeset
|
254 |
} |
66
32469d7d46ff
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
61
diff
changeset
|
255 |
} |
32469d7d46ff
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
61
diff
changeset
|
256 |
|
121
0b3699f6c654
Revision: 201036
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
103
diff
changeset
|
257 |
#ifdef COVERAGE_MEASUREMENT |
0b3699f6c654
Revision: 201036
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
103
diff
changeset
|
258 |
#pragma CTC SKIP |
0b3699f6c654
Revision: 201036
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
103
diff
changeset
|
259 |
#endif //COVERAGE_MEASUREMENT |
0b3699f6c654
Revision: 201036
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
103
diff
changeset
|
260 |
/*! |
0b3699f6c654
Revision: 201036
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
103
diff
changeset
|
261 |
* Show information message about unninstall error. |
0b3699f6c654
Revision: 201036
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
103
diff
changeset
|
262 |
* \param error uninstall error. |
0b3699f6c654
Revision: 201036
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
103
diff
changeset
|
263 |
* \retval void. |
0b3699f6c654
Revision: 201036
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
103
diff
changeset
|
264 |
*/ |
0b3699f6c654
Revision: 201036
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
103
diff
changeset
|
265 |
void CaAppHandler::uninstallError(int error) |
0b3699f6c654
Revision: 201036
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
103
diff
changeset
|
266 |
{ |
0b3699f6c654
Revision: 201036
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
103
diff
changeset
|
267 |
emit uninstallFailed(error); |
0b3699f6c654
Revision: 201036
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
103
diff
changeset
|
268 |
} |
0b3699f6c654
Revision: 201036
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
103
diff
changeset
|
269 |
#ifdef COVERAGE_MEASUREMENT |
0b3699f6c654
Revision: 201036
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
103
diff
changeset
|
270 |
#pragma CTC ENDSKIP |
0b3699f6c654
Revision: 201036
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
103
diff
changeset
|
271 |
#endif //COVERAGE_MEASUREMENT |
0b3699f6c654
Revision: 201036
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
103
diff
changeset
|
272 |
|
0b3699f6c654
Revision: 201036
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
103
diff
changeset
|
273 |