|
1 /* |
|
2 * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). |
|
3 * All rights reserved. |
|
4 * This component and the accompanying materials are made available |
|
5 * under the terms of "Eclipse Public License v1.0" |
|
6 * which accompanies this distribution, and is available |
|
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
8 * |
|
9 * Initial Contributors: |
|
10 * Nokia Corporation - initial contribution. |
|
11 * |
|
12 * Contributors: |
|
13 * |
|
14 * Description: Header file for startup list updater. |
|
15 * |
|
16 */ |
|
17 |
|
18 #ifndef STARTUPLISTUPDATER_H |
|
19 #define STARTUPLISTUPDATER_H |
|
20 |
|
21 #include <e32base.h> // CBase |
|
22 #include <f32file.h> // RFs |
|
23 #include <dscstore.h> // RDscStore |
|
24 |
|
25 namespace Swi |
|
26 { |
|
27 class RSisRegistryEntry; |
|
28 } |
|
29 |
|
30 class CStartupListUpdater : public CBase |
|
31 { |
|
32 public: // constructor and destructor |
|
33 static CStartupListUpdater* NewL(); |
|
34 ~CStartupListUpdater(); |
|
35 |
|
36 public: // new functions |
|
37 void UpdateStartupListL(); |
|
38 |
|
39 private: // new functions |
|
40 CStartupListUpdater(); |
|
41 void ConstructL(); |
|
42 const TDesC& PrivateImportPathL(); |
|
43 void ProcessImportsAndUninstallsL(); |
|
44 void OpenDscStoreLC( RDscStore& aDscStore ); |
|
45 void ImportNewResourceFilesL( RDscStore& aDscStore ); |
|
46 void DeregisterUninstalledAppsL( RDscStore& aDscStore ); |
|
47 void GetDataToBeImportedL( RPointerArray<HBufC>& aExecutableArray, |
|
48 RPointerArray<HBufC>& aResourceFileArray ); |
|
49 void ImportExecutablesL( RDscStore& aDscStore, RPointerArray<HBufC>& aExecutableArray ); |
|
50 void RemoveImportedResourceFiles( RPointerArray<HBufC>& aResourceFileArray ); |
|
51 void AppendExecutablesFromResourceFileL( const TDesC& aResourceFile, |
|
52 RPointerArray<HBufC>& aExecutableArray ); |
|
53 TBool IsValidExecutableForStartupL( const TDesC& aResourceFile, |
|
54 const TDesC& aExecutableName ); |
|
55 void GetInstalledAppsL( RPointerArray<HBufC>& aInstalledExecutableArray ); |
|
56 void GetStartupListAppsL( RDscStore& aDscStore, |
|
57 RPointerArray<HBufC>& aStartedExecutableArray ); |
|
58 void StartedButNotInstalledAppsL( RPointerArray<HBufC>& aStartedExecutableArray, |
|
59 RPointerArray<HBufC>& aInstalledExecutableArray, |
|
60 RPointerArray<HBufC>& aStartedButNotInstalledExecutableArray ); |
|
61 void RemoveFromStartupListL( RDscStore& aDscStore, RPointerArray<HBufC>& aExecutableArray ); |
|
62 void GetExecutablesFromEntryL( Swi::RSisRegistryEntry& aEntry, |
|
63 RPointerArray<HBufC>& aExecutableArray ); |
|
64 |
|
65 private: // new data |
|
66 RFs iFs; |
|
67 HBufC* iPrivateImportPath; |
|
68 }; |
|
69 |
|
70 #endif // STARTUPLISTUPDATER_H |
|
71 |