--- a/appinstall_plat/appmngr2runtimeapi/appmngr2runtimeapi.metaxml Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-<?xml version="1.0" ?>
-<api id="135055a83b1e44a634518d85a5a878be" dataversion="1.0">
-<name>AppMngr2 Runtime Plugin API</name>
-<description>Application Manager uses plug-ins for run-time specific services, such as installing and uninstalling. Runtime Plugin implements these services for particular run-time type, like SISX, Java or Widget. AppMngr2 Runtime Plugin API is ECOM interface that defines Application Manager run-time plug-ins.</description>
-<type>c++</type>
-<subsystem>AppMngr2</subsystem>
-<libs><lib name="appmngr2pluginapi.lib"/>
-</libs>
-<release category="domain" sinceversion="5.1"/>
-<attributes>
-<htmldocprovided>no</htmldocprovided>
-<adaptation>no</adaptation>
-</attributes>
-</api>
--- a/appinstall_plat/appmngr2runtimeapi/bwins/appmngr2pluginapiu.def Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-EXPORTS
- ??0CAppMngr2AppInfo@@IAE@AAVCAppMngr2Runtime@@AAVRFs@@@Z @ 1 NONAME ; CAppMngr2AppInfo::CAppMngr2AppInfo(class CAppMngr2Runtime &, class RFs &)
- ??0CAppMngr2InfoIterator@@QAE@AAVCAppMngr2InfoBase@@W4TAppMngr2InfoType@@@Z @ 2 NONAME ; CAppMngr2InfoIterator::CAppMngr2InfoIterator(class CAppMngr2InfoBase &, enum TAppMngr2InfoType)
- ??0CAppMngr2PackageInfo@@IAE@AAVCAppMngr2Runtime@@AAVRFs@@@Z @ 3 NONAME ; CAppMngr2PackageInfo::CAppMngr2PackageInfo(class CAppMngr2Runtime &, class RFs &)
- ??0CAppMngr2Runtime@@IAE@AAVMAppMngr2RuntimeObserver@@@Z @ 4 NONAME ; CAppMngr2Runtime::CAppMngr2Runtime(class MAppMngr2RuntimeObserver &)
- ??1CAppMngr2AppInfo@@UAE@XZ @ 5 NONAME ; CAppMngr2AppInfo::~CAppMngr2AppInfo(void)
- ??1CAppMngr2InfoIterator@@UAE@XZ @ 6 NONAME ; CAppMngr2InfoIterator::~CAppMngr2InfoIterator(void)
- ??1CAppMngr2PackageInfo@@UAE@XZ @ 7 NONAME ; CAppMngr2PackageInfo::~CAppMngr2PackageInfo(void)
- ??1CAppMngr2RecognizedFile@@UAE@XZ @ 8 NONAME ; CAppMngr2RecognizedFile::~CAppMngr2RecognizedFile(void)
- ??1CAppMngr2Runtime@@UAE@XZ @ 9 NONAME ; CAppMngr2Runtime::~CAppMngr2Runtime(void)
- ?AddNearestResourceFileL@CAppMngr2Runtime@@QAEHABVTDesC16@@@Z @ 10 NONAME ; int CAppMngr2Runtime::AddNearestResourceFileL(class TDesC16 const &)
- ?BaseConstructL@CAppMngr2InfoIterator@@QAEXXZ @ 11 NONAME ; void CAppMngr2InfoIterator::BaseConstructL(void)
- ?ConstructL@CAppMngr2AppInfo@@QAEXXZ @ 12 NONAME ; void CAppMngr2AppInfo::ConstructL(void)
- ?ConstructL@CAppMngr2PackageInfo@@QAEXXZ @ 13 NONAME ; void CAppMngr2PackageInfo::ConstructL(void)
- ?DataType@CAppMngr2RecognizedFile@@QAEABVTDataType@@XZ @ 14 NONAME ; class TDataType const & CAppMngr2RecognizedFile::DataType(void)
- ?EikonEnv@CAppMngr2Runtime@@QAEAAVCEikonEnv@@XZ @ 15 NONAME ; class CEikonEnv & CAppMngr2Runtime::EikonEnv(void)
- ?FileName@CAppMngr2RecognizedFile@@QAEABVTDesC16@@XZ @ 16 NONAME ; class TDesC16 const & CAppMngr2RecognizedFile::FileName(void)
- ?FullBitmapFileNameLC@CAppMngr2Runtime@@QAEPAVHBufC16@@ABVTDesC16@@@Z @ 17 NONAME ; class HBufC16 * CAppMngr2Runtime::FullBitmapFileNameLC(class TDesC16 const &)
- ?FullBitmapFileNameLC@TAppMngr2DriveUtils@@SAPAVHBufC16@@ABVTDesC16@@AAVRFs@@@Z @ 18 NONAME ; class HBufC16 * TAppMngr2DriveUtils::FullBitmapFileNameLC(class TDesC16 const &, class RFs &)
- ?GetAdditionalDirsToScanL@CAppMngr2Runtime@@UAEXAAVRFs@@AAV?$RPointerArray@VHBufC16@@@@@Z @ 19 NONAME ; void CAppMngr2Runtime::GetAdditionalDirsToScanL(class RFs &, class RPointerArray<class HBufC16> &)
- ?GetMenuItemsL@CAppMngr2InfoBase@@UAEXAAV?$RPointerArray@USData@CEikMenuPaneItem@@@@@Z @ 20 NONAME ; void CAppMngr2InfoBase::GetMenuItemsL(class RPointerArray<struct CEikMenuPaneItem::SData> &)
- ?GetMiddleSoftkeyCommandL@CAppMngr2InfoBase@@UAEXAAH0@Z @ 21 NONAME ; void CAppMngr2InfoBase::GetMiddleSoftkeyCommandL(int &, int &)
- ?HasNext@CAppMngr2InfoIterator@@UBEHXZ @ 22 NONAME ; int CAppMngr2InfoIterator::HasNext(void) const
- ?IndicatorIconIndex@CAppMngr2InfoBase@@UBEHXZ @ 23 NONAME ; int CAppMngr2InfoBase::IndicatorIconIndex(void) const
- ?IsDRMForwardable@TAppMngr2DRMUtils@@SAHABVTDesC16@@@Z @ 24 NONAME ; int TAppMngr2DRMUtils::IsDRMForwardable(class TDesC16 const &)
- ?IsDRMProtected@TAppMngr2DRMUtils@@SAHABVTDesC16@@@Z @ 25 NONAME ; int TAppMngr2DRMUtils::IsDRMProtected(class TDesC16 const &)
- ?IsDRMRightsObjectExpiredOrMissingL@TAppMngr2DRMUtils@@SAHABVTDesC16@@@Z @ 26 NONAME ; int TAppMngr2DRMUtils::IsDRMRightsObjectExpiredOrMissingL(class TDesC16 const &)
- ?IsDRMRightsObjectMissingL@TAppMngr2DRMUtils@@SAHABVTDesC16@@@Z @ 27 NONAME ; int TAppMngr2DRMUtils::IsDRMRightsObjectMissingL(class TDesC16 const &)
- ?IsShowOnTop@CAppMngr2InfoBase@@QBEHXZ @ 28 NONAME ; int CAppMngr2InfoBase::IsShowOnTop(void) const
- ?Location@CAppMngr2InfoBase@@QBE?AW4TAppMngr2Location@@XZ @ 29 NONAME ; enum TAppMngr2Location CAppMngr2InfoBase::Location(void) const
- ?LocationDrive@CAppMngr2InfoBase@@QBE?AVTDriveUnit@@XZ @ 30 NONAME ; class TDriveUnit CAppMngr2InfoBase::LocationDrive(void) const
- ?LocationFromDriveL@TAppMngr2DriveUtils@@SA?AW4TAppMngr2Location@@HAAVRFs@@@Z @ 31 NONAME ; enum TAppMngr2Location TAppMngr2DriveUtils::LocationFromDriveL(int, class RFs &)
- ?LocationFromFileNameL@TAppMngr2DriveUtils@@SA?AW4TAppMngr2Location@@ABVTDesC16@@AAVRFs@@@Z @ 32 NONAME ; enum TAppMngr2Location TAppMngr2DriveUtils::LocationFromFileNameL(class TDesC16 const &, class RFs &)
- ?NearestResourceFileLC@TAppMngr2DriveUtils@@SAPAV?$TBuf@$0BAA@@@ABVTDesC16@@AAVRFs@@@Z @ 33 NONAME ; class TBuf<256> * TAppMngr2DriveUtils::NearestResourceFileLC(class TDesC16 const &, class RFs &)
- ?NewL@CAppMngr2RecognizedFile@@SAPAV1@ABVTDesC16@@ABVTDataType@@@Z @ 34 NONAME ; class CAppMngr2RecognizedFile * CAppMngr2RecognizedFile::NewL(class TDesC16 const &, class TDataType const &)
- ?NewL@CAppMngr2RecognizedFile@@SAPAV1@PAVHBufC16@@0@Z @ 35 NONAME ; class CAppMngr2RecognizedFile * CAppMngr2RecognizedFile::NewL(class HBufC16 *, class HBufC16 *)
- ?NewL@CAppMngr2Runtime@@SAPAV1@VTUid@@AAVMAppMngr2RuntimeObserver@@@Z @ 36 NONAME ; class CAppMngr2Runtime * CAppMngr2Runtime::NewL(class TUid, class MAppMngr2RuntimeObserver &)
- ?Next@CAppMngr2InfoIterator@@UAEXAAVTPtrC16@@0@Z @ 37 NONAME ; void CAppMngr2InfoIterator::Next(class TPtrC16 &, class TPtrC16 &)
- ?Observer@CAppMngr2Runtime@@QAEAAVMAppMngr2RuntimeObserver@@XZ @ 38 NONAME ; class MAppMngr2RuntimeObserver & CAppMngr2Runtime::Observer(void)
- ?ReadMenuItemDataFromResourceL@CAppMngr2InfoBase@@QAEXHAAUSData@CEikMenuPaneItem@@@Z @ 39 NONAME ; void CAppMngr2InfoBase::ReadMenuItemDataFromResourceL(int, struct CEikMenuPaneItem::SData &)
- ?Reset@CAppMngr2InfoIterator@@UAEXXZ @ 40 NONAME ; void CAppMngr2InfoIterator::Reset(void)
- ?Runtime@CAppMngr2InfoBase@@QBEAAVCAppMngr2Runtime@@XZ @ 41 NONAME ; class CAppMngr2Runtime & CAppMngr2InfoBase::Runtime(void) const
- ?RuntimeUid@CAppMngr2Runtime@@QBE?BVTUid@@XZ @ 42 NONAME ; class TUid const CAppMngr2Runtime::RuntimeUid(void) const
- ?SetAllFieldsL@CAppMngr2InfoIterator@@MAEXXZ @ 43 NONAME ; void CAppMngr2InfoIterator::SetAllFieldsL(void)
- ?SetFieldL@CAppMngr2InfoIterator@@IAEXHABVTDesC16@@@Z @ 44 NONAME ; void CAppMngr2InfoIterator::SetFieldL(int, class TDesC16 const &)
- ?SetLocationL@CAppMngr2InfoIterator@@MAEXXZ @ 45 NONAME ; void CAppMngr2InfoIterator::SetLocationL(void)
- ?SetOtherFieldsL@CAppMngr2InfoIterator@@MAEXXZ @ 46 NONAME ; void CAppMngr2InfoIterator::SetOtherFieldsL(void)
- ?SetStatusL@CAppMngr2InfoIterator@@MAEXXZ @ 47 NONAME ; void CAppMngr2InfoIterator::SetStatusL(void)
- ?ShowDeleteConfirmationQueryL@CAppMngr2PackageInfo@@IAEHXZ @ 48 NONAME ; int CAppMngr2PackageInfo::ShowDeleteConfirmationQueryL(void)
- ?SizeStringWithUnitsL@CAppMngr2InfoBase@@QAEPAVHBufC16@@_J@Z @ 49 NONAME ; class HBufC16 * CAppMngr2InfoBase::SizeStringWithUnitsL(long long)
- ?SpecificIconL@CAppMngr2InfoBase@@UBEPAVCGulIcon@@XZ @ 50 NONAME ; class CGulIcon * CAppMngr2InfoBase::SpecificIconL(void) const
- ?SpecificIndicatorIconL@CAppMngr2InfoBase@@UBEPAVCGulIcon@@XZ @ 51 NONAME ; class CGulIcon * CAppMngr2InfoBase::SpecificIndicatorIconL(void) const
- ?SupportsGenericCommand@CAppMngr2InfoBase@@UAEHH@Z @ 52 NONAME ; int CAppMngr2InfoBase::SupportsGenericCommand(int)
-
--- a/appinstall_plat/appmngr2runtimeapi/eabi/appmngr2pluginapiu.def Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +0,0 @@
-EXPORTS
- _ZN16CAppMngr2AppInfo10ConstructLEv @ 1 NONAME
- _ZN16CAppMngr2AppInfoC2ER16CAppMngr2RuntimeR3RFs @ 2 NONAME
- _ZN16CAppMngr2AppInfoD0Ev @ 3 NONAME
- _ZN16CAppMngr2AppInfoD1Ev @ 4 NONAME
- _ZN16CAppMngr2AppInfoD2Ev @ 5 NONAME
- _ZN16CAppMngr2Runtime20FullBitmapFileNameLCERK7TDesC16 @ 6 NONAME
- _ZN16CAppMngr2Runtime23AddNearestResourceFileLERK7TDesC16 @ 7 NONAME
- _ZN16CAppMngr2Runtime24GetAdditionalDirsToScanLER3RFsR13RPointerArrayI7HBufC16E @ 8 NONAME
- _ZN16CAppMngr2Runtime4NewLE4TUidR24MAppMngr2RuntimeObserver @ 9 NONAME
- _ZN16CAppMngr2Runtime8EikonEnvEv @ 10 NONAME
- _ZN16CAppMngr2Runtime8ObserverEv @ 11 NONAME
- _ZN16CAppMngr2RuntimeC2ER24MAppMngr2RuntimeObserver @ 12 NONAME
- _ZN16CAppMngr2RuntimeD0Ev @ 13 NONAME
- _ZN16CAppMngr2RuntimeD1Ev @ 14 NONAME
- _ZN16CAppMngr2RuntimeD2Ev @ 15 NONAME
- _ZN17CAppMngr2InfoBase13GetMenuItemsLER13RPointerArrayIN16CEikMenuPaneItem5SDataEE @ 16 NONAME
- _ZN17CAppMngr2InfoBase20SizeStringWithUnitsLEx @ 17 NONAME
- _ZN17CAppMngr2InfoBase22SupportsGenericCommandEi @ 18 NONAME
- _ZN17CAppMngr2InfoBase24GetMiddleSoftkeyCommandLERiS0_ @ 19 NONAME
- _ZN17CAppMngr2InfoBase29ReadMenuItemDataFromResourceLEiRN16CEikMenuPaneItem5SDataE @ 20 NONAME
- _ZN17TAppMngr2DRMUtils14IsDRMProtectedERK7TDesC16 @ 21 NONAME
- _ZN17TAppMngr2DRMUtils16IsDRMForwardableERK7TDesC16 @ 22 NONAME
- _ZN17TAppMngr2DRMUtils25IsDRMRightsObjectMissingLERK7TDesC16 @ 23 NONAME
- _ZN17TAppMngr2DRMUtils34IsDRMRightsObjectExpiredOrMissingLERK7TDesC16 @ 24 NONAME
- _ZN19TAppMngr2DriveUtils18LocationFromDriveLEiR3RFs @ 25 NONAME
- _ZN19TAppMngr2DriveUtils20FullBitmapFileNameLCERK7TDesC16R3RFs @ 26 NONAME
- _ZN19TAppMngr2DriveUtils21LocationFromFileNameLERK7TDesC16R3RFs @ 27 NONAME
- _ZN19TAppMngr2DriveUtils21NearestResourceFileLCERK7TDesC16R3RFs @ 28 NONAME
- _ZN20CAppMngr2PackageInfo10ConstructLEv @ 29 NONAME
- _ZN20CAppMngr2PackageInfo28ShowDeleteConfirmationQueryLEv @ 30 NONAME
- _ZN20CAppMngr2PackageInfoC2ER16CAppMngr2RuntimeR3RFs @ 31 NONAME
- _ZN20CAppMngr2PackageInfoD0Ev @ 32 NONAME
- _ZN20CAppMngr2PackageInfoD1Ev @ 33 NONAME
- _ZN20CAppMngr2PackageInfoD2Ev @ 34 NONAME
- _ZN21CAppMngr2InfoIterator10SetStatusLEv @ 35 NONAME
- _ZN21CAppMngr2InfoIterator12SetLocationLEv @ 36 NONAME
- _ZN21CAppMngr2InfoIterator13SetAllFieldsLEv @ 37 NONAME
- _ZN21CAppMngr2InfoIterator14BaseConstructLEv @ 38 NONAME
- _ZN21CAppMngr2InfoIterator15SetOtherFieldsLEv @ 39 NONAME
- _ZN21CAppMngr2InfoIterator4NextER7TPtrC16S1_ @ 40 NONAME
- _ZN21CAppMngr2InfoIterator5ResetEv @ 41 NONAME
- _ZN21CAppMngr2InfoIterator9SetFieldLEiRK7TDesC16 @ 42 NONAME
- _ZN21CAppMngr2InfoIteratorC1ER17CAppMngr2InfoBase17TAppMngr2InfoType @ 43 NONAME
- _ZN21CAppMngr2InfoIteratorC2ER17CAppMngr2InfoBase17TAppMngr2InfoType @ 44 NONAME
- _ZN21CAppMngr2InfoIteratorD0Ev @ 45 NONAME
- _ZN21CAppMngr2InfoIteratorD1Ev @ 46 NONAME
- _ZN21CAppMngr2InfoIteratorD2Ev @ 47 NONAME
- _ZN23CAppMngr2RecognizedFile4NewLEP7HBufC16S1_ @ 48 NONAME
- _ZN23CAppMngr2RecognizedFile4NewLERK7TDesC16RK9TDataType @ 49 NONAME
- _ZN23CAppMngr2RecognizedFile8DataTypeEv @ 50 NONAME
- _ZN23CAppMngr2RecognizedFile8FileNameEv @ 51 NONAME
- _ZN23CAppMngr2RecognizedFileD0Ev @ 52 NONAME
- _ZN23CAppMngr2RecognizedFileD1Ev @ 53 NONAME
- _ZN23CAppMngr2RecognizedFileD2Ev @ 54 NONAME
- _ZNK16CAppMngr2Runtime10RuntimeUidEv @ 55 NONAME
- _ZNK17CAppMngr2InfoBase11IsShowOnTopEv @ 56 NONAME
- _ZNK17CAppMngr2InfoBase13LocationDriveEv @ 57 NONAME
- _ZNK17CAppMngr2InfoBase13SpecificIconLEv @ 58 NONAME
- _ZNK17CAppMngr2InfoBase18IndicatorIconIndexEv @ 59 NONAME
- _ZNK17CAppMngr2InfoBase22SpecificIndicatorIconLEv @ 60 NONAME
- _ZNK17CAppMngr2InfoBase7RuntimeEv @ 61 NONAME
- _ZNK17CAppMngr2InfoBase8LocationEv @ 62 NONAME
- _ZNK21CAppMngr2InfoIterator7HasNextEv @ 63 NONAME
- _ZTI16CAppMngr2AppInfo @ 64 NONAME ; #<TI>#
- _ZTI16CAppMngr2Runtime @ 65 NONAME ; #<TI>#
- _ZTI17CAppMngr2InfoBase @ 66 NONAME ; #<TI>#
- _ZTI20CAppMngr2PackageInfo @ 67 NONAME ; #<TI>#
- _ZTI21CAppMngr2InfoIterator @ 68 NONAME ; #<TI>#
- _ZTI23CAppMngr2RecognizedFile @ 69 NONAME ; #<TI>#
- _ZTV16CAppMngr2AppInfo @ 70 NONAME ; #<VT>#
- _ZTV16CAppMngr2Runtime @ 71 NONAME ; #<VT>#
- _ZTV17CAppMngr2InfoBase @ 72 NONAME ; #<VT>#
- _ZTV20CAppMngr2PackageInfo @ 73 NONAME ; #<VT>#
- _ZTV21CAppMngr2InfoIterator @ 74 NONAME ; #<VT>#
- _ZTV23CAppMngr2RecognizedFile @ 75 NONAME ; #<VT>#
- _ZThn4_N21CAppMngr2InfoIterator4NextER7TPtrC16S1_ @ 76 NONAME ; #<thunk>#
- _ZThn4_N21CAppMngr2InfoIterator5ResetEv @ 77 NONAME ; #<thunk>#
- _ZThn4_NK21CAppMngr2InfoIterator7HasNextEv @ 78 NONAME ; #<thunk>#
-
--- a/appinstall_plat/appmngr2runtimeapi/group/appmngr2pluginapi.mmp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Runtime plugin API
-*
-*/
-
-
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-
-TARGET appmngr2pluginapi.dll
-TARGETTYPE DLL
-UID 0x1000008d 0x20016BF3
-
-CAPABILITY CAP_GENERAL_DLL
-VENDORID VID_DEFAULT
-
-SOURCEPATH ../src
-SOURCE appmngr2runtime.cpp
-SOURCE appmngr2infobase.cpp
-SOURCE appmngr2appinfo.cpp
-SOURCE appmngr2packageinfo.cpp
-SOURCE appmngr2driveutils.cpp
-SOURCE appmngr2drmutils.cpp
-SOURCE appmngr2infoiterator.cpp
-SOURCE appmngr2recognizedfile.cpp
-
-USERINCLUDE ../inc
-
-MW_LAYER_SYSTEMINCLUDE
-
-LIBRARY euser.lib // Base
-LIBRARY ecom.lib // ECom
-LIBRARY commonengine.lib // StringLoader
-LIBRARY avkon.lib // AknTextUtils
-LIBRARY cone.lib // CCoeEnv
-LIBRARY eikcore.lib // CEikonEnv
-LIBRARY bafl.lib // TResourceReader, BaflUtils
-LIBRARY efsrv.lib // TParse
-LIBRARY caf.lib // ContentAccess::CContent
-LIBRARY drmhelper.lib // CDRMHelper
-LIBRARY platformenv.lib // DriveInfo
-LIBRARY apmime.lib // TDataType
-
-DEBUGLIBRARY flogger.lib // RFileLogger
-
-SMPSAFE
-
--- a/appinstall_plat/appmngr2runtimeapi/group/bld.inf Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Build information file for AppMngr2 Runtime Plugin API
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-../inc/appmngr2appinfo.h MW_LAYER_PLATFORM_EXPORT_PATH( appmngr2appinfo.h )
-../inc/appmngr2cleanuputils.h MW_LAYER_PLATFORM_EXPORT_PATH( appmngr2cleanuputils.h )
-../inc/appmngr2cleanuputils.inl MW_LAYER_PLATFORM_EXPORT_PATH( appmngr2cleanuputils.inl )
-../inc/appmngr2driveutils.h MW_LAYER_PLATFORM_EXPORT_PATH( appmngr2driveutils.h )
-../inc/appmngr2drmutils.h MW_LAYER_PLATFORM_EXPORT_PATH( appmngr2drmutils.h )
-../inc/appmngr2common.hrh MW_LAYER_PLATFORM_EXPORT_PATH( appmngr2common.hrh )
-../inc/appmngr2infobase.h MW_LAYER_PLATFORM_EXPORT_PATH( appmngr2infobase.h )
-../inc/appmngr2infoiterator.h MW_LAYER_PLATFORM_EXPORT_PATH( appmngr2infoiterator.h )
-../inc/appmngr2packageinfo.h MW_LAYER_PLATFORM_EXPORT_PATH( appmngr2packageinfo.h )
-../inc/appmngr2runtime.h MW_LAYER_PLATFORM_EXPORT_PATH( appmngr2runtime.h )
-../inc/appmngr2runtimeobserver.h MW_LAYER_PLATFORM_EXPORT_PATH( appmngr2runtimeobserver.h )
-../inc/appmngr2recognizedfile.h MW_LAYER_PLATFORM_EXPORT_PATH( appmngr2recognizedfile.h )
-../inc/appmngr2debugconfig.h MW_LAYER_PLATFORM_EXPORT_PATH( appmngr2debugconfig.h )
-../inc/appmngr2debugutils.h MW_LAYER_PLATFORM_EXPORT_PATH( appmngr2debugutils.h )
-
-// export iby files
-../rom/appmngr2runtime.iby CORE_MW_LAYER_IBY_EXPORT_PATH( appmngr2runtime.iby )
-
-PRJ_MMPFILES
-appmngr2pluginapi.mmp
-
--- a/appinstall_plat/appmngr2runtimeapi/inc/appmngr2appinfo.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: AppInfo represents installed application
-*
-*/
-
-
-#ifndef C_APPMNGR2APPINFO_H
-#define C_APPMNGR2APPINFO_H
-
-#include "appmngr2infobase.h" // CAppMngr2InfoBase
-
-/**
- * CAppMngr2AppInfo represents installed application.
- *
- * Runtime plug-in must define it's own CAppMngr2AppInfo derived class
- * to provide the actual functionality for abstract functions defined in
- * CAppMngr2InfoBase class.
- *
- * @lib appmngr2pluginapi.lib
- * @since S60 v5.1
- */
-class CAppMngr2AppInfo : public CAppMngr2InfoBase
- {
-public: // constructor and destructor
- IMPORT_C void ConstructL();
- IMPORT_C ~CAppMngr2AppInfo();
-
-protected: // new functions
- /**
- * Exported protected constructor for derived classes
- */
- IMPORT_C CAppMngr2AppInfo( CAppMngr2Runtime& aRuntime, RFs& aFsSession );
- };
-
-#endif // C_APPMNGR2APPINFO_H
-
--- a/appinstall_plat/appmngr2runtimeapi/inc/appmngr2cleanuputils.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Utility definitions to push pointer arrays in cleanup stack
-*
-*/
-
-
-#ifndef C_APPMNGR2CLEANUPUTILS_H
-#define C_APPMNGR2CLEANUPUTILS_H
-
-template <class T>
-class CleanupResetAndDestroy
- {
-public:
- inline static void PushL( T& aRef );
-private:
- static void ResetAndDestroy( TAny *aPtr );
- };
-
-template <class T>
-inline void CleanupResetAndDestroyPushL( T& aRef );
-
-#include "appmngr2cleanuputils.inl"
-
-#endif // C_APPMNGR2CLEANUPUTILS_H
--- a/appinstall_plat/appmngr2runtimeapi/inc/appmngr2cleanuputils.inl Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Utility definitions to push pointer arrays in cleanup stack
-*
-*/
-
-
-template <class T>
-inline void CleanupResetAndDestroy<T>::PushL( T& aRef )
- {
- CleanupStack::PushL( TCleanupItem( &ResetAndDestroy, &aRef ) );
- }
-
-template <class T>
-void CleanupResetAndDestroy<T>::ResetAndDestroy( TAny *aPtr )
- {
- if( aPtr )
- {
- static_cast<T*>( aPtr )->ResetAndDestroy();
- }
- }
-
-template <class T>
-inline void CleanupResetAndDestroyPushL( T& aRef )
- {
- CleanupResetAndDestroy<T>::PushL( aRef );
- }
-
--- a/appinstall_plat/appmngr2runtimeapi/inc/appmngr2common.hrh Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Common resource ids for AppMngr2 runtime plug-ins
-*
-*/
-
-
-#ifndef APPMNGR2COMMON_HRH
-#define APPMNGR2COMMON_HRH
-
-enum TAppMngr2GenericCommand
- {
- EAppMngr2CmdNone,
- EAppMngr2CmdViewDetails,
- EAppMngr2CmdUninstall,
- EAppMngr2CmdInstall,
- EAppMngr2PlaceForPluginSpecificCmds,
- EAppMngr2CmdRemove,
- EAppMngr2CmdLog,
- EAppMngr2ReservedForOtherGenericCommands
- };
-
-#define KAppMngr2FirstFreePluginSpecificCmd 30
-
-enum TAppMngr2IconIndex
- {
- // Range 0 ... 0x2FFF reserved for runtime plug-in icon indexes
-
- // Specific icons flag
- EAppMngr2UseSpecificIcon = 0x3000, // use item specific icons
-
- // Default icon indexes
- EAppMngr2NoIndicatorIcon, // no indicator icon, item in phone memory
- EAppMngr2IconQgnIndiAmInstMmcAdd, // item in memory card indicator icon
- EAppMngr2IconQgnIndiFmgrMsAdd, // item in mass storage indicator icon
- EAppMngr2ReservedForOtherDefaultIcons
- };
-
-
-// AppMngr2 UID value
-#define KAppMngr2AppUidValue 0x101F8512
-
-// AppMngr2 View ID values
-#define KAppMngr2InstalledViewIdValue 2
-#define KAppMngr2PackagesViewIdValue 5
-
-
-#endif // APPMNGR2COMMON_HRH
-
--- a/appinstall_plat/appmngr2runtimeapi/inc/appmngr2debugconfig.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,147 +0,0 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Defines trace macros
-*
-*/
-
-
-#ifndef APPMNGR2DEBUGCONFIG_H
-#define APPMNGR2DEBUGCONFIG_H
-
-#ifdef _DEBUG
-
-
-/* ---------------------------------------------------------------------------
- * Enable/disable traces
- * ---------------------------------------------------------------------------
- * Uncomment one of the following macros to enable tracing:
- */
-//#define PRINT_FLOG_TO_RDEBUG
-//#define PRINT_FLOG_TO_UTRACE
-//#define PRINT_FLOG_TO_FLOGGER
-/*
- * Select the trace type by uncommenting FLOG_DEBUG_TRACES or
- * FLOG_PERFORMANCE_TRACES (or both) below.
- *
- * Note that also SYMBIAN_TRACE_ENABLE must be defined in order
- * to use PRINT_FLOG_TO_UTRACE.
- */
-
-
-/* ---------------------------------------------------------------------------
- * Debug traces
- * ---------------------------------------------------------------------------
- * Uncomment the following line to enable debug traces:
- */
-//#define FLOG_DEBUG_TRACES
-/*
- * Debug traces are generated using FLOG macro. FLOG takes a format
- * string and variable number of arguments, like TDes::Format(). Except
- * that format string "x" is replaced with string literal _L("x"), so
- * string literal _L() should not be used when calling FLOG.
- *
- * Examples:
- * FLOG( "CAppMngr2AppUi::ConstructL" );
- * FLOG( "CAppMngr2AppUi::HandleCommandL( %d )", aCommand );
- * FLOG( "Scanning %d: %S", iIndex, &iDirName ) );
- */
-
-
-/* ---------------------------------------------------------------------------
- * Performance traces
- * ---------------------------------------------------------------------------
- * Uncomment the following line to enable performance traces:
- */
-//#define FLOG_PERFORMANCE_TRACES
-/*
- * Performance traces measure and print times that different
- * code fragments take (in milliseconds). Please note that
- * printing traces is usually slow and this may affect to the
- * results if debug or other performance traces are printed
- * out from the timed functions.
- *
- * There are two sets of performance tracing macros: static and
- * dynamic. Parameter is used to match corresponding macros and
- * it is also printed in trace output. Macros use temporary TTime
- * variables, hence macros (using the same parameter label) must
- * be in the same scope.
- *
- * The macros are:
- * FLOG_PERF_STATIC_BEGIN - records start time
- * FLOG_PERF_STATIC_END - records end time and prints results
- * FLOG_PERF_DEFINE - defines temporary variables
- * FLOG_PERF_START - records start time (fast)
- * FLOG_PERF_STOP - records end time (fast)
- * FLOG_PERF_PRINT - prints out the results (slow)
- *
- * Examples:
- * FLOG_PERF_STATIC_BEGIN( LoadPluginsL )
- * LoadPluginsL();
- * FLOG_PERF_STATIC_END( LoadPluginsL )
- * FLOG_PERF_STATIC_BEGIN( CreateScannerL )
- * CreateScannerL();
- * FLOG_PERF_STATIC_END( CreateScannerL )
- * FLOG_PERF_STATIC_BEGIN( FetchDataTypesL )
- * FetchDataTypesL();
- * FLOG_PERF_STATIC_END( FetchDataTypesL )
- *
- * This generates traces like:
- * AppMngr2: PERF LoadPluginsL: 157 ms
- * AppMngr2: PERF CreateScannerL: 8 ms
- * AppMngr2: PERF FetchDataTypesL: 2 ms
- *
- * Dynamic macros do the same thing as static macros, but possibly
- * slow parts (that may affect to results) are put into separate
- * FLOG_PERF_DEFINE and FLOG_PERF_PRINT macros. Printing the trace
- * is usually slow, which may affect to results (e.g. if static
- * macros are nested). Dynamic macros can be used to measure run
- * times of active objects too.
- *
- * Semicolons are not needed after FLOG macros. Semicolons can be
- * used, but they may issue "illegal empty declaration" warning
- * after FLOG_PERF_DEFINE() macros when traces are disabled.
- */
-
-
-// Sanity check: each FLOG macro produces compilation error if
-// PRINT_FLOG_TO_UTRACE is defined but SYMBIAN_TRACE_ENABLE is not.
-#if( defined( PRINT_FLOG_TO_UTRACE ) && !defined( SYMBIAN_TRACE_ENABLE ) )
-#error "SYMBIAN_TRACE_ENABLE not defined, PRINT_FLOG_TO_UTRACE needs it."
-#endif
-
-// Sanity check: traces can be printed to only one target (RDebug, UTrace, or FLogger)
-#if( defined( PRINT_FLOG_TO_RDEBUG ) && defined( PRINT_FLOG_TO_UTRACE ) )
-#error "Cannot define both PRINT_FLOG_TO_RDEBUG and PRINT_FLOG_TO_UTRACE macros."
-#endif
-#if( defined( PRINT_FLOG_TO_RDEBUG ) && defined( PRINT_FLOG_TO_FLOGGER ) )
-#error "Cannot define both PRINT_FLOG_TO_RDEBUG and PRINT_FLOG_TO_FLOGGER macros."
-#endif
-#if( defined( PRINT_FLOG_TO_UTRACE ) && defined( PRINT_FLOG_TO_FLOGGER ) )
-#error "Cannot define both PRINT_FLOG_TO_UTRACE and PRINT_FLOG_TO_FLOGGER macros."
-#endif
-
-// Sanity check: when traces are enabled, also trace type must be selected.
-#if( defined( PRINT_FLOG_TO_RDEBUG ) || defined( PRINT_FLOG_TO_UTRACE ) || defined( PRINT_FLOG_TO_FLOGGER ) )
-#define FLOG_TRACES_ENABLED
-#endif
-#if( defined( FLOG_TRACES_ENABLED ) )
-#if( !defined( FLOG_DEBUG_TRACES ) && !defined( FLOG_PERFORMANCE_TRACES ) )
-#error "Traces enabled but FLOG_DEBUG_TRACES or FLOG_PERFORMANCE_TRACES is not defined."
-#endif
-#endif
-
-#endif // _DEBUG
-
-#endif // APPMNGR2DEBUGCONFIG_H
-
--- a/appinstall_plat/appmngr2runtimeapi/inc/appmngr2debugutils.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,135 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Defines trace macros
-*
-*/
-
-
-#ifndef APPMNGR2DEBUGUTILS_H
-#define APPMNGR2DEBUGUTILS_H
-
-#include "appmngr2debugconfig.h" // Configuration macros
-#ifdef PRINT_FLOG_TO_RDEBUG
-#include <e32debug.h> // RDebug
-#endif
-#ifdef PRINT_FLOG_TO_UTRACE
-#include <e32utrace.h> // TUTrace
-#endif
-#ifdef PRINT_FLOG_TO_FLOGGER
-#include <flogger.h> // RFileLogger
-#endif
-#ifdef FLOG_PERFORMANCE_TRACES
-#include <e32std.h> // TTime, TTimeIntervalMicroSeconds
-#endif
-
-inline void DebugPrint( TRefByValue<const TDesC> aFmt, ... );
-
-#ifdef FLOG_TRACES_ENABLED
-
-#ifdef FLOG_PERFORMANCE_TRACES
-
-// Static macros
-#define FLOG_PERF_STATIC_BEGIN(a) TTime perf_begin_ ##a ; perf_begin_ ##a.UniversalTime();
-#define FLOG_PERF_STATIC_END(a) TTime perf_end_ ##a; perf_end_ ##a.UniversalTime(); \
- TTimeIntervalMicroSeconds perf_diff_ ##a; \
- perf_diff_ ##a = perf_end_ ##a.MicroSecondsFrom( perf_begin_ ##a ); \
- _LIT( perf_name_ ##a, #a ); \
- DebugPrint( _L("PERF %S: %Ld ms" ), &perf_name_ ##a, perf_diff_ ##a.Int64() / TInt64( 1000 ) );
-
-// Dynamic macros
-#define FLOG_PERF_DEFINE(a) TTime perf_begin_ ##a; TTime perf_end_ ##a; \
- TTimeIntervalMicroSeconds perf_diff_ ##a;
-#define FLOG_PERF_START(a) perf_begin_ ##a.UniversalTime();
-#define FLOG_PERF_STOP(a) perf_end_ ##a.UniversalTime();
-#define FLOG_PERF_PRINT(a) _LIT( perf_name_ ##a, #a ); \
- perf_diff_ ##a = perf_end_ ##a.MicroSecondsFrom( perf_begin_ ##a ); \
- DebugPrint( _L("PERF %S: %Ld ms" ), &perf_name_ ##a, perf_diff_ ##a.Int64() / TInt64( 1000 ) );
-
-#else
-
-#define FLOG_PERF_STATIC_BEGIN(a)
-#define FLOG_PERF_STATIC_END(a)
-#define FLOG_PERF_DEFINE(a)
-#define FLOG_PERF_START(a)
-#define FLOG_PERF_STOP(a)
-#define FLOG_PERF_PRINT(a)
-
-#endif // FLOG_PERFORMANCE_TRACES
-
-
-#if( defined( FLOG_DEBUG_TRACES ) )
-#define FLOG( a, ARGS... ) DebugPrint( _L( a ), ##ARGS );
-#else
-#define FLOG( a, ARGS... )
-#endif // FLOG_DEBUG_TRACES
-
-
-#else
-#define FLOG_PERF_STATIC_BEGIN(a)
-#define FLOG_PERF_STATIC_END(a)
-#define FLOG_PERF_DEFINE(a)
-#define FLOG_PERF_START(a)
-#define FLOG_PERF_STOP(a)
-#define FLOG_PERF_PRINT(a)
-#define FLOG( a, ARGS... )
-#endif // FLOG_TRACES_ENABLED
-
-
-const TInt KMaxPrintSize = 256;
-_LIT( KAppMngr2Tag, "AppMngr2: " );
-
-#if( defined( PRINT_FLOG_TO_UTRACE ) )
-
-inline void DebugPrint( TRefByValue<const TDesC> aFmt, ... )
- {
- VA_LIST list;
- VA_START( list, aFmt );
- TBuf<KMaxPrintSize> buf;
- buf.Copy( KAppMngr2Tag );
- buf.AppendFormatList( aFmt, list );
- TUTrace::PrintfPrimary( KDebug, EFalse, EFalse, buf );
- }
-
-#elif( defined( PRINT_FLOG_TO_RDEBUG ) )
-
-inline void DebugPrint( TRefByValue<const TDesC> aFmt, ... )
- {
- VA_LIST list;
- VA_START( list, aFmt );
- TBuf<KMaxPrintSize> buf;
- buf.Copy( KAppMngr2Tag );
- buf.AppendFormatList( aFmt, list );
- RDebug::Print( buf );
- }
-
-#elif( defined( PRINT_FLOG_TO_FLOGGER ) )
-
-_LIT( KLogDir, "AppMngr2" );
-_LIT( KLogFile, "AppMngr2.txt" );
-
-inline void DebugPrint( TRefByValue<const TDesC> aFmt, ... )
- {
- VA_LIST list;
- VA_START( list, aFmt );
- RFileLogger::WriteFormat( KLogDir, KLogFile, EFileLoggingModeAppend, aFmt, list );
- }
-
-#else
-
-// No implementation needed, DebugPrint() not used
-
-#endif
-
-#endif // APPMNGR2DEBUGUTILS_H
-
--- a/appinstall_plat/appmngr2runtimeapi/inc/appmngr2driveutils.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Utility definitions for drive and file handling
-*
-*/
-
-
-#ifndef C_APPMNGR2DRIVEUTILS_H
-#define C_APPMNGR2DRIVEUTILS_H
-
-#include <appmngr2infobase.h> // TAppMngr2Location
-
-/**
- * Utility functions to get TAppMngr2Location values and to
- * construct resource and bitmap file names.
- *
- * @lib appmngr2pluginapi.lib
- * @since S60 v5.1
- */
-class TAppMngr2DriveUtils
- {
-public: // new functions
- /**
- * Returns location info (TAppMngr2Location) based on given file name (aFileName).
- *
- * @param aFileName File which location is needed
- * @param aFs File server session
- * @return TAppMngr2Location Location of the file
- */
- IMPORT_C static TAppMngr2Location LocationFromFileNameL( const TDesC& aFileName, RFs& aFs );
-
- /**
- * Returns location info (TAppMngr2Location) based on given drive (aDrive).
- *
- * @param aDrive Drive which location is needed
- * @param aFs File server session
- * @return TAppMngr2Location Location of the drive
- */
- IMPORT_C static TAppMngr2Location LocationFromDriveL( TInt aDrive, RFs& aFs );
-
- /**
- * Returns the nearest resource file using for given file (aFileName) using
- * EDefaultRom drive, KDC_RESOURCE_FILES_DIR, and BaflUtils::NearestLanguageFile().
- *
- * TFileName object is allocated on heap and it is left in the cleanup stack.
- * The caller of this method is responsible to delete the allocated TFileName object.
- *
- * @param aFileName Resource file name
- * @param aFs File server session
- * @return TFileName* Full name of the nearest resource file to load
- */
- IMPORT_C static TFileName* NearestResourceFileLC( const TDesC& aFileName, RFs& aFs );
-
- /**
- * Returns full bitmap file name. Constructs file name using EDefaultRom
- * drive, KDC_APP_BITMAP_DIR directory, and given MBM/MIF file name.
- *
- * Full file name is allocated on heap and it is left in the cleanup stack.
- * The caller of this method is responsible to delete the allocated HBufC object.
- *
- * @param aBitmapFile MBM or MIF file name
- * @return HBufC* Full file name for aBitmapFile
- */
- IMPORT_C static HBufC* FullBitmapFileNameLC( const TDesC& aBitmapFile, RFs& aFs );
-
- };
-
-#endif // C_APPMNGR2DRIVEUTILS_H
-
--- a/appinstall_plat/appmngr2runtimeapi/inc/appmngr2drmutils.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Utility definitions for DRM file handling
-*
-*/
-
-
-#ifndef C_APPMNGR2DRMUTILS_H
-#define C_APPMNGR2DRMUTILS_H
-
-#include <e32std.h> // basic definitions
-
-/**
- * Utility functions to check the DRM status of a given file.
- *
- * @lib appmngr2pluginapi.lib
- * @since S60 v5.1
- */
-class TAppMngr2DRMUtils
- {
-public: // new functions
- IMPORT_C static TBool IsDRMProtected( const TDesC& aFileName );
- IMPORT_C static TBool IsDRMForwardable( const TDesC& aFileName );
- IMPORT_C static TBool IsDRMRightsObjectExpiredOrMissingL( const TDesC& aFileName );
- IMPORT_C static TBool IsDRMRightsObjectMissingL( const TDesC& aFileName );
- };
-
-#endif // C_APPMNGR2DRMUTILS_H
-
--- a/appinstall_plat/appmngr2runtimeapi/inc/appmngr2infobase.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,382 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Base class definitions for items displayed in AppMngr2
-*
-*/
-
-
-#ifndef C_APPMNGR2INFOBASE_H
-#define C_APPMNGR2INFOBASE_H
-
-#include <e32base.h> // CBase
-#include <eikmenup.h> // CEikMenuPaneItem::SData
-
-class CAppMngr2Runtime;
-
-enum TAppMngr2Location
- {
- EAppMngr2LocationPhone,
- EAppMngr2LocationMemoryCard,
- EAppMngr2LocationMassStorage
- };
-
-/**
- * CAppMngr2InfoBase is the base class for objects representing:
- * - installed applications and
- * - installation packages (aka installation files).
- *
- * Installed applications and installation packages are displayed in the
- * Appliction Manager UI using the data that Runtime plug-ins provide with
- * CAppMngr2InfoBase derived objects. Application Manager gets the data via
- * GetInstalledAppsL() and GetInstallationFilesL() metods in CAppMngr2Runtime
- * class.
- *
- * CAppMngr2InfoBase contains the common functionality for both installed
- * applications and installation packages. Derived classes CAppMngr2AppInfo
- * and CAppMngr2PackageInfo are placeholders for more specific functionality.
- *
- * CAppMngr2InfoBase, as well as CAppMngr2AppInfo and CAppMngr2PackageInfo,
- * are abstracts classes. Runtime plug-ins must provide the actual implementation
- * by using derived classes.
- *
- * @lib appmngr2pluginapi.lib
- * @since S60 v5.1
- */
-class CAppMngr2InfoBase : public CBase
- {
-public: // constructor and destructor
- void ConstructL();
- ~CAppMngr2InfoBase();
-
-public: // new functions
- /**
- * Reference to the CAppMngr2Runtime object of this plugin.
- *
- * @return CAppMngr2Runtime& Runtime object
- */
- IMPORT_C CAppMngr2Runtime& Runtime() const;
-
- /**
- * Icon index of this item (installed application or installation package).
- *
- * Items are displayed in a list in the UI. Each item has an icon image,
- * two labels (name and details) and an optional small indicator icon.
- * IconIndex() method provides index for the icon image.
- *
- * Icon index can be either:
- * - index to icon array loaded in CAppMngr2Runtime::LoadIconsL() method
- * - special value EAppMngr2UseSpecificIcon defined in AppMngr2Common.hrh
- *
- * If item has a specific icon that no other items use, return value
- * EAppMngr2UseSpecificIcon and load the specific icon via SpecificIconL().
- *
- * There are no default icons, each plug-in must provide implementation
- * for IconIndex() method.
- *
- * @return TInt Icon index
- */
- virtual TInt IconIndex() const = 0;
-
- /**
- * Optional specific icon for this item.
- *
- * Returns new icon specific for the item. Note that this method is not
- * used unless IconIndex() method returns EAppMngr2UseSpecificIcon value.
- *
- * The caller of this method is responsible to delete the returned
- * icon object.
- *
- * Default implementation leaves with KErrNotSupported. Plug-in must
- * override it if IconIndex() returns EAppMngr2UseSpecificIcon value.
- *
- * If the same icon bitmap is used in many items, it is more efficient
- * to load it once in CAppMngr2Runtime::LoadIconsL() and return icon
- * indexes form IconIndex() method.
- *
- * @return CGulIcon Item specific icon
- */
- IMPORT_C virtual CGulIcon* SpecificIconL() const;
-
- /**
- * Name of this item.
- *
- * Items are displayed in a list in the UI. The list uses two labels
- * (name and details) for each item. Descriptor that the Name() method
- * returns is displayed as the first label (the 1st line of the item).
- *
- * @return const TDesC& Displayable name
- */
- virtual const TDesC& Name() const = 0;
-
- /**
- * Details (size) of this item.
- *
- * Items are displayed in a list in the UI. The list uses two labels
- * (name and details) for each item. Descriptor that the Details() method
- * returns is displayed as the second label (the 2nd line of the item).
- *
- * Plug-ins can use SizeStringWithUnitsL() method to create details
- * string to display the item size in UI.
- *
- * @returns const TDesC& Displayable additional information line
- */
- virtual const TDesC& Details() const = 0;
-
- /**
- * Indicator icon index of this item.
- *
- * Icon index can be either:
- * - default icon index defined in TAppMngr2IconIndex in AppMngr2Common.hrh
- * - index to icon array loaded in CAppMngr2Runtime::LoadIconsL() method
- * - special value EAppMngr2UseSpecificIcon defined in AppMngr2Common.hrh
- *
- * Default implementation returns the default icon indexes based on
- * the value of iLocation member variable, so plug-ins usually does not
- * need to override this method.
- *
- * If EAppMngr2UseSpecificIcon value is returned, SpecificIndicatorIconL()
- * method is called to get the indicator icon.
- *
- * @return TInt Index to the icon array, or a TAppMngr2IconIndex value
- */
- IMPORT_C virtual TInt IndicatorIconIndex() const;
-
- /**
- * Optional specific indicator icon for this item.
- *
- * Returns new indicator icon specific for the item. Note that this
- * method is not used unless IndicatorIconIndex() method returns
- * special EAppMngr2UseSpecificIcon value.
- *
- * The caller of this method is responsible to delete the returned
- * icon object.
- *
- * Default implementation leaves with KErrNotSupported. Plug-in must
- * override it if IndicatorIconIndex() returns EAppMngr2UseSpecificIcon.
- *
- * If the same icon bitmap is used in many items, it is more efficient
- * to load it once in CAppMngr2Runtime::LoadIconsL() and return icon
- * indexes form IconIndex() method.
- *
- * @return CGulIcon Item specific icon
- */
- IMPORT_C virtual CGulIcon* SpecificIndicatorIconL() const;
-
- /**
- * ShowOnTop highlight status of this item.
- *
- * Returns ETrue if this item should be highlighted (e.g. displayed
- * separately on top of other items in installation files/installed
- * applications list). All items are displayed in alphabetical order.
- * If ShowOnTop flag is set, then the item is displayed before other
- * items (or in completely separate list of highligted items). All
- * separately displayed items are listed in alphabetical order too.
- *
- * @return TBool ETrue, if this item should be displayed separately
- */
- IMPORT_C TBool IsShowOnTop() const;
-
- /**
- * Optional specific menu items for this item.
- *
- * If the item supports specific menu commands, return the menu pane
- * data. Plug-in can use ReadMenuItemDataFromResourceL() method to
- * read menu pane data from resources. Menu commands are run via
- * HandleCommandL() method.
- *
- * The caller of this method is responsible to delete the returned
- * CEikMenuPaneItem::SData data structs.
- *
- * Default implementation is empty.
- *
- * @param aMenuCmds Array where plug-in specific menu items are added
- */
- IMPORT_C virtual void GetMenuItemsL( RPointerArray<CEikMenuPaneItem::SData>& aMenuCmds );
-
- /**
- * Enable generic menu commands for this item.
- *
- * Generic menu commands are defined in TAppMngr2GenericCommands enum in
- * AppMngr2Common.hrh. Generic commands are hidden from the menu if the
- * currently selected item does not support them. Return ETrue for those
- * command ids that are supported by this item. Generic commands are
- * run via HandleCommandL() method.
- *
- * @param aCmdId Generic command id
- * @return TBool ETrue if command aCmdId is supported
- */
- IMPORT_C virtual TBool SupportsGenericCommand( TInt aCmdId );
-
- /**
- * Optional specific middle softkey command for this item.
- *
- * If the item supports specific middle softkey command, return TBUF
- * resource id (for the command label) and command id. Item specific
- * command is run via HandleCommandL() method when user presses the
- * middle softkey.
- *
- * Default middle softkey command is used, if plug-in does not override it.
- *
- * @param aResourceId Command label to be displayed in UI (TBUF resource)
- * @param aCommandId Command id to be passed to HandleCommandL
- */
- IMPORT_C virtual void GetMiddleSoftkeyCommandL( TInt& aResourceId, TInt& aCommandId );
-
- /**
- * Starts asynchronously a user invoked command.
- *
- * The command can be a generic one or specific to the plug-in. The ids
- * for the generic commands are defined in AppMngr2Common.hrh (see the
- * enumeration TAppMngr2GenericCommand). The plug-in specific commands
- * are defined via GetMenuItemsL() and GetMiddleSoftkeyCommandL() methods.
- *
- * The caller of this method must call HandleCommandResultL() after the
- * asynchronous request has been completed.
- *
- * This asynchronous request must be completed properly using the method
- * User::RequestComplete() even if the command itself has been implemented
- * in synchronous manner.
- *
- * @param aCommandId Id of the command to be run
- * @param aStatus Active object request status
- */
- virtual void HandleCommandL( TInt aCommandId, TRequestStatus& aStatus ) = 0;
-
- /**
- * Handles the completion result of an asynchronous command.
- *
- * This method is provided so that the plug-in may decide upon handling
- * possible errors encountered during the command processing (note that
- * the completion status is received directly by the caller of the method
- * HandleCommandL() and not by this plug-in). These actions may include
- * for example closing open sessions and deleting objects.
- *
- * This function should leave if an error note should be displayed in
- * the UI (e.g. KErrNoMemory). Note that the result may be KErrCancel
- * or SwiUI::KSWInstErrUserCancel if the user cancelled the operation.
- *
- * @param aResult Completion code, KErrNone or some error code
- */
- virtual void HandleCommandResultL( TInt aResult ) = 0;
-
- /**
- * Cancels the current asynchronous command.
- *
- * This method may be called at any time when an asynchronous command
- * is started using HandleCommandL() method. It must cancel the running
- * command as quickly as possible.
- */
- virtual void CancelCommand() = 0;
-
- /**
- * Utility function to create displayable string that contains size
- * followed by kilobyte (kB), megabyte (MB) or gigabyte (GB) units.
- *
- * Size is rounded and formatted using the relevant unit, for example
- * SizeStringWithUnitsL( 5120 ) returns "5 kB".
- *
- * The caller of this method is responsible to delete the returned string.
- *
- * @param aSizeInBytes Item size
- * @return HBufC* New string that contains displayable size string
- */
- IMPORT_C HBufC* SizeStringWithUnitsL( TInt64 aSizeInBytes );
-
- /**
- * Utility function to construct CEikMenuPaneItem from MENU_ITEM resource.
- *
- * @param aResourceId MENU_ITEM resource id
- * @param aMenuItem CEikMenuPaneItem::SData struct that is filled in
- */
- IMPORT_C void ReadMenuItemDataFromResourceL( TInt aResourceId,
- CEikMenuPaneItem::SData& aMenuItem );
-
- /**
- * Returns the location of installation file or installed application.
- *
- * Remote drives are not supported. Derived class must fill in the
- * iLocation member variable to provide data for this function.
- *
- * @return TAppMngr2Location Location of the item
- */
- IMPORT_C TAppMngr2Location Location() const;
-
- /**
- * Returns the drive where installation file is located, or where
- * installed application is installed.
- *
- * Derived class must fill in the iLocationDrive member variable
- * to provide data for this function.
- *
- * @return TDriveUnit Drive where the item is located
- */
- IMPORT_C TDriveUnit LocationDrive() const;
-
-protected: // new functions
- /**
- * Constructor, not exported because used via CAppMngr2AppInfo and CAppMngr2PackageInfo
- */
- CAppMngr2InfoBase( CAppMngr2Runtime& aRuntime, RFs& aFsSession );
-
-protected: // data
- /**
- * Location of this item.
- *
- * Default implementation of IndicatorIconIndex() function uses this
- * value to return the default indicator icon index. See also the
- * Location() function defined above.
- */
- TAppMngr2Location iLocation;
-
- /**
- * Drive of this item.
- *
- * Location drive defines the drive where this item resides (either
- * installation package is stored, or application is installed).
- * CAppMngr2InfoIterator uses this value to display the drive
- * in "Details" dialog. See also the LocationDrive() function
- * defined above.
- */
- TDriveUnit iLocationDrive;
-
- /**
- * ShowOnTop (highlight) flag.
- *
- * If ShowOnTop flag is ETrue, the item is highlighted in UI. It
- * may be displayed on top of other items in installed application
- * or installation files list, or it may be displayed in separate
- * list of highlighted items.
- *
- * For example, new or untrusted installed applications can be highlighted.
- * When set, the item needs to show the reason why iShowOnTop is enabled
- * (e.g. by using "new" or "untrusted" icon). See also the IsShowOnTop()
- * function defined above.
- */
- TBool iShowOnTop;
-
- /**
- * File server session, provided by framework when item is created.
- */
- RFs& iFs;
-
-private: // data
- /**
- * Reference to CAppMngr2Runtime class for this item.
- * See also the Runtime() function defined above.
- */
- CAppMngr2Runtime& iRuntime;
- };
-
-#endif // C_APPMNGR2INFOBASE_H
-
--- a/appinstall_plat/appmngr2runtimeapi/inc/appmngr2infoiterator.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,127 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Implements MCUIInfoIterator API for CCUIDetailsDialog
-*
-*/
-
-
-#ifndef C_APPMNGR2INFOITERATOR_H
-#define C_APPMNGR2INFOITERATOR_H
-
-#include <CUIDetailsDialog.h> // SwiUI::CommonUI::MCUIInfoIterator
-
-class CAppMngr2InfoBase;
-class CDesC8Array;
-
-enum TAppMngr2InfoType
- {
- EAppMngr2StatusInstalled,
- EAppMngr2StatusNotInstalled
- };
-
-
-/**
- * CAppMngr2InfoIterator is the base class for plug-in specific data collecting
- * iterators. CAppMngr2InfoIterator derived iterators can be used to get the data
- * shown in details dialog (CCUIDetailsDialog). Details dialog shows application
- * details and certificate info.
- *
- * @lib appmngr2pluginapi.lib
- * @since S60 v5.1
- */
-class CAppMngr2InfoIterator : public CBase, public SwiUI::CommonUI::MCUIInfoIterator
- {
-public: // constructors and destructor
- /**
- * Constructs new info iterator to show details dialog.
- *
- * @param aInfo Reference to application or package info object
- * @param aInfoType Type info (installed application or not installed package)
- */
- IMPORT_C CAppMngr2InfoIterator( CAppMngr2InfoBase& aInfo, TAppMngr2InfoType aInfoType );
-
- /**
- * Allocates memory for CDesCArrays.
- *
- * BaseConstructL() must be called from derived ConstructL() before any other
- * leaving functions. BaseConstructL() calls SetAllFieldsL() to get all the
- * displayable details.
- */
- IMPORT_C void BaseConstructL();
-
- /**
- * Destructor, deletes allocated memory.
- */
- IMPORT_C ~CAppMngr2InfoIterator();
-
-public: // from MCUIInfoIterator
- IMPORT_C TBool HasNext() const;
- IMPORT_C void Next( TPtrC& aKey, TPtrC& aValue );
- IMPORT_C void Reset();
-
-protected: // new functions
- /**
- * Sets field to given value.
- *
- * Uses StringLoader to load aResourceId and adds it to MCUIInfoIterator
- * as a new key having value aValue.
- *
- * @param aResourceId Resource id for MCUIInfoIterator key
- * @param aValue Value for the key
- */
- IMPORT_C void SetFieldL( TInt aResourceId, const TDesC& aValue );
-
- /**
- * Sets all default fields, can be overridden in derived classes.
- *
- * Default implementation sets name (from CAppMngr2InfoBase::Name()),
- * status (either installed or not installed), location drive (from
- * CAppMngr2InfoBase::Location()), and application/file size (from
- * CAppMngr2InfoBase::Details()). Status and location fields are set
- * using SetStatusL() and SetLocationL() functions, so that they can
- * be overridden separately. Finally calls SetOtherFieldsL() to set
- * other fields, if derived class has some additional fields that
- * are not covered here.
- */
- IMPORT_C virtual void SetAllFieldsL();
-
- /**
- * Sets status (installed or not installed) based on aInfoType
- * defined in constructor. This function can be overridden in
- * derived classes.
- */
- IMPORT_C virtual void SetStatusL();
-
- /**
- * Sets location drive based on CAppMngr2InfoBase::Location().
- * This function can be overridden in derived classes.
- */
- IMPORT_C virtual void SetLocationL();
-
- /**
- * Sets other possble fields, default implemenation is empty.
- * This function can be overridden in derived classes.
- */
- IMPORT_C virtual void SetOtherFieldsL();
-
-protected: // data
- CAppMngr2InfoBase& iInfo;
- TAppMngr2InfoType iInfoType;
- TInt iCurrentIndex;
- CDesCArray* iKeys;
- CDesCArray* iValues;
- };
-
-#endif // C_APPMNGR2INFOITERATOR_H
-
--- a/appinstall_plat/appmngr2runtimeapi/inc/appmngr2packageinfo.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: PackageInfo represents installable package (sisx, jad, jar, ...)
-*
-*/
-
-
-#ifndef C_APPMNGR2PACKAGEINFO_H
-#define C_APPMNGR2PACKAGEINFO_H
-
-#include <appmngr2infobase.h> // CAppMngr2InfoBase
-
-class RFs;
-
-/**
- * CAppMngr2PackageInfo represents installation package (installation file).
- *
- * Runtime plug-in must define it's own CAppMngr2PackageInfo derived class
- * to provide the actual functionality for abstract functions defined in
- * CAppMngr2InfoBase class.
- *
- * @lib appmngr2pluginapi.lib
- * @since S60 v5.1
- */
-class CAppMngr2PackageInfo : public CAppMngr2InfoBase
- {
-public: // constructor and destructor
- IMPORT_C void ConstructL();
- IMPORT_C ~CAppMngr2PackageInfo();
-
-protected: // new functions
- IMPORT_C CAppMngr2PackageInfo( CAppMngr2Runtime& aRuntime, RFs& aFsSession );
-
- /**
- * Utility function to show R_APPMNGR2_YES_NO_CONFIRMATION_QUERY
- * confirmation query with R_AM_DELETEQUERY string and item name.
- *
- * @return TBool ETrue, if user accepted the query
- */
- IMPORT_C TBool ShowDeleteConfirmationQueryL();
- };
-
-#endif // C_APPMNGR2PACKAGEINFO_H
-
--- a/appinstall_plat/appmngr2runtimeapi/inc/appmngr2recognizedfile.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Class that contains file name and it's MIME type
-*
-*/
-
-
-#ifndef C_APPMNGR2RECOGNIZEDFILE_H
-#define C_APPMNGR2RECOGNIZEDFILE_H
-
-#include <e32base.h> // CBase
-
-class TDataType;
-
-/**
- * File and it's MIME type.
- *
- * @lib appmngr2pluginapi.lib
- * @since S60 v5.1
- */
-class CAppMngr2RecognizedFile : public CBase
- {
-public: // constructor and destructor
- /**
- * Creates new CAppMngr2RecognizedFile.
- *
- * File name and data type are copied into the new CAppMngr2RecognizedFile object.
- *
- * @param aFileName File name
- * @param aDataType Data (MIME) type
- * @returns new CAppMngr2RecognizedFile object
- */
- IMPORT_C static CAppMngr2RecognizedFile* NewL( const TDesC& aFileName,
- const TDataType& aDataType );
-
- /**
- * Creates new CAppMngr2RecognizedFile by taking ownership of given parameters.
- *
- * Note the construction order - the caller must take care of deleting the given
- * parameters if this function leaves.
- *
- * @param aFileName File name
- * @param aMimeType MIME type
- * @returns new CAppMngr2RecognizedFile object
- */
- IMPORT_C static CAppMngr2RecognizedFile* NewL( HBufC* aFileName, HBufC* aMimeType );
-
- /**
- * Destructor.
- */
- IMPORT_C ~CAppMngr2RecognizedFile();
-
-public: // new functions
- /**
- * Returns file name.
- * @return const TDesC& File name
- */
- IMPORT_C const TDesC& FileName();
-
- /**
- * Returns data (MIME) type as TDataType.
- * @return const TDataType& Data type.
- */
- IMPORT_C const TDataType& DataType();
-
-private: // new functions
- CAppMngr2RecognizedFile();
-
-private: // data
- HBufC* iFileName;
- TDataType* iDataType;
- };
-
-#endif // C_APPMNGR2RECOGNIZEDFILE_H
-
--- a/appinstall_plat/appmngr2runtimeapi/inc/appmngr2runtime.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,288 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Base class for AppMngr2 plug-ins that define runtime types
-*
-*/
-
-
-#ifndef C_APPMNGR2RUNTIME_H
-#define C_APPMNGR2RUNTIME_H
-
-#include <e32base.h> // CBase
-#include <apmrec.h> // CDataTypeArray
-
-class CAppMngr2AppInfo;
-class CAppMngr2PackageInfo;
-class CAppMngr2RecognizedFile;
-class MAppMngr2RuntimeObserver;
-class CAknIconArray;
-class CEikonEnv;
-
-
-/**
- * ECom interface UID for AppMngr2 Runtime plugins
- */
-const TUid KAppMngr2PluginInterface = { 0x20016BF4 };
-
-
-/**
- * Base class for Application Manager Runtime plug-ins.
- *
- * CAppMngr2Runtime class represents one Runtime plug-in. As it is abstract
- * class plug-in must provide the actual implementation using derived class.
- *
- * Application Manager lists ECom plug-ins implementing KAppMngr2PluginInterface
- * and creates new CAppMngr2Runtime objects. Creating new CAppMngr2Runtime object
- * loads the Runtime plug-in's DLL and instantiates it.
- *
- * After all Runtime plug-ins are loaded, Application Manager calls LoadIconsL()
- * to load plug-in specific icons, GetSupportedDataTypesL() to identify installation
- * files that this plug-in support, and GetAdditionalDirsToScanL() to get plug-in
- * specific directories that may contain installation files. Then Application Manager
- * scans directories and recognizes files in them, and proceeds to get installed
- * applications and installation packages. Installed applications are prompted from
- * each plug-in via GetInstalledAppsL() method. Each plug-in creates CAppMngr2AppInfo
- * derived objects to represent currently installed applications. Installation packages
- * are based on recognized files in scanned directories. Application Manager provides
- * list of files that match the supported data types via GetInstallationFilesL()
- * method, and the plug-in creates CAppMngr2PackageInfo objects representing
- * installation packages.
- *
- * Application Manager monitors changes in scanned directories and known application
- * registeries. When a change is notified, Application Manager gets the latest data
- * using GetInstalledAppsL() and GetInstallationFilesL() methods again. If Application
- * Manager does not listen some specific registry, plug-in can notify change using
- * MAppMngr2RuntimeObserver interface.
- *
- * @lib appmngr2pluginapi.lib
- * @since S60 v5.1
- */
-class CAppMngr2Runtime : public CBase
- {
-public: // constructor and destructor
-
- /**
- * ECom object instantiation.
- *
- * Loads the ECom plug-in DLL and instantiates new Runtime plug-in object.
- *
- * @param aUid Specifices the concrete implementation
- * @param aObserver Observer implementing MAppMngr2RuntimeObserver functions
- * @return CAppMngr2Runtime New Runtime plug-in object
- */
- IMPORT_C static CAppMngr2Runtime* NewL( TUid aImplementationUid,
- MAppMngr2RuntimeObserver &aObserver );
-
- /**
- * Destructs the ECom object and unloads the plug-in DLL.
- */
- IMPORT_C ~CAppMngr2Runtime();
-
-
-public: // new functions
-
- /**
- * Runtime plug-in UID.
- *
- * Returns UID that identifies the runtime plug-in
- *
- * $return TUid Runtime plug-in UID
- */
- IMPORT_C const TUid RuntimeUid() const;
-
- /**
- * Utility function to open resource file.
- *
- * Adds nearest localized resource file to the list maintained by CCoeEnv.
- * Uses DriveInfo::EDefaultRom drive and KDC_RESOURCE_FILES_DIR directory
- * by default, if not defined in aFileName. Nearest extension language code
- * is obtained from BaflUtils::NearestLanguageFile(). Added resource files
- * must be deleted using CCoeEnv::DeleteResourceFile() function.
- *
- * @param aFileName Resource file name
- * @return TInt Offset value for this resource file
- */
- IMPORT_C TInt AddNearestResourceFileL( const TDesC& aFileName );
-
- /**
- * Utility function to construct full bitmap file name.
- *
- * Constructs the file name using DriveInfo::EDefaultRom drive,
- * KDC_APP_BITMAP_DIR directory, and given MBM/MIF file name.
- *
- * The caller of this method is responsible to delete the retuned string.
- *
- * @param aBitmapFile MBM or MIF file name
- * @return HBufC* Full file name for aBitmapFile
- */
- IMPORT_C HBufC* FullBitmapFileNameLC( const TDesC& aBitmapFile );
-
- /**
- * Utility function to return cached CEikonEnv reference.
- *
- * @return CEikonEnv& Reference to cached CEikonEnv::Static() instance
- */
- IMPORT_C CEikonEnv& EikonEnv();
-
- /**
- * Runtime observer.
- *
- * Returns reference to object implementing MAppMngr2RuntimeObserver
- * interface. See appmngr2runtimeobserver.h for more info.
- *
- * @return MAppMngr2RuntimeObserver& Reference to observer
- */
- IMPORT_C MAppMngr2RuntimeObserver& Observer();
-
-public: // new pure virtual functions
-
- /**
- * Load icons for this plug-in.
- *
- * Plug-in specific icons are used when CAppMngr2InfoBase::IconIndex()
- * or CAppMngr2InfoBase::IndicatorIconIndex() return indexes to the
- * returned aIconArray.
- *
- * There are no default icons, so each plug-in must provide implementation
- * for LoadIconsL() method.
- *
- * @param aIconArray Array where to append the loaded icons
- */
- virtual void LoadIconsL( CAknIconArray& aIconArray ) = 0;
-
- /**
- * Supported data types for this plug-in.
- *
- * Return MIME types that this Runtime plug-in supports for creating
- * installation packages (CAppMngr2PackageInfo objects). Application
- * Manager scans installation files and recognizes file types. Files
- * that match to the supported MIME types are provided to the plug-in
- * via GetInstallationFilesL() method.
- *
- * Scanning and recognizing is implemented in Application Manager for
- * performance reasons. Plug-ins should not scan or recognize files as
- * Application Manager has done it already once and it provides list
- * of files and their MIME types to the plug-ins.
- *
- * @param aDataTypeArray Array where to append supported data types
- */
- virtual void GetSupportedDataTypesL( CDataTypeArray& aDataTypeArray ) = 0;
-
- /**
- * Define additional directories for installation file scanning.
- *
- * By default all PathInfo::EInstallsPath directories in all non-remote
- * drives are scanned. Also KSWInstallerPackageFolder directory defined
- * in CenRep is scanned. Use this function to add more directories for
- * scanning. All directory names are checked with RFs::IsValidName() and
- * invalid names are ignored. Wild-cards (like '*') are not allowed in
- * directory names.
- *
- * @param aFsSession File server session
- * @param aDirs Array where to append additional directories to scan
- */
- IMPORT_C virtual void GetAdditionalDirsToScanL( RFs& aFsSession,
- RPointerArray<HBufC>& aDirs );
-
- /**
- * Create package info objects.
- *
- * Package info objects represent installation files in "Installation
- * Files" view. Each package info object is displayed as a separate item.
- * Package info objects should be based on recognized installation files,
- * provided in aFileList array.
- *
- * GetInstallationFilesL() may be called several times. It is called once
- * for each scanned directory that contains recognized files for this Runtime
- * plugin.
- *
- * This asynchronous request must be completed properly using the method
- * User::RequestComplete() even if the GetInstallationFilesL() itself has
- * been implemented in synchronous manner. Outstanding request may be
- * cancelled by calling CancelGetInstallationFiles().
- *
- * @param aPackageInfos Array where to append package info objects
- * @param aFileList List of file names and corresponding MIME types
- * @param aFsSession File server session
- * @param aStatus Request status for the asynchronous request
- */
- virtual void GetInstallationFilesL(
- RPointerArray<CAppMngr2PackageInfo>& aPackageInfos,
- const RPointerArray<CAppMngr2RecognizedFile>& aFileList,
- RFs& aFsSession,
- TRequestStatus& aStatus ) = 0;
-
- /**
- * Cancel pending asynchronous GetInstallationFilesL() request.
- */
- virtual void CancelGetInstallationFiles() = 0;
-
- /**
- * Create application info objects.
- *
- * Application info objects represent installed applications in "Installed"
- * view. Each application info object is displayed as a separate item.
- *
- * This asynchronous request must be completed properly using the method
- * User::RequestComplete() even if the GetInstalledAppsL() itself has
- * been implemented in synchronous manner. Outstanding request may be
- * cancelled by calling CancelGetInstalledApps().
- *
- * @param aApps Array where to add application info objects
- * @param aFsSession File server session
- * @param aStatus Request status for the asynchronous request
- */
- virtual void GetInstalledAppsL(
- RPointerArray<CAppMngr2AppInfo>& aApps,
- RFs& aFsSession,
- TRequestStatus& aStatus ) = 0;
-
- /**
- * Cancel pending asynchronous GetInstalledAppsL() request.
- */
- virtual void CancelGetInstalledApps() = 0;
-
-protected: // new functions
- /**
- * Protected constructor exported for derived classes.
- */
- IMPORT_C CAppMngr2Runtime( MAppMngr2RuntimeObserver &aObserver );
-
-private: // new functions
- void ConstructL( TUid aImplementationUid );
-
-private: // data
- /**
- * ECom instance identifier key.
- */
- TUid iDtorIDKey;
-
- /**
- * Implementation UID that identifies the plugin.
- */
- TUid iRuntimeUid;
-
- /**
- * Application implementing observer interface.
- */
- MAppMngr2RuntimeObserver& iObserver;
-
- /**
- * CEikonEnv pointer, cached from CEikonEnv::Static().
- */
- CEikonEnv* iCachedEikonEnv; // not owned
- };
-
-#endif // C_APPMNGR2RUNTIME_H
-
--- a/appinstall_plat/appmngr2runtimeapi/inc/appmngr2runtimeobserver.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: AppMngr2 Runtime plugin observer interface
-*
-*/
-
-
-#ifndef C_APPMNGR2RUNTIMEOBSERVER_H
-#define C_APPMNGR2RUNTIMEOBSERVER_H
-
-/**
- * Application Manager's change notification interface.
- *
- * Application Manager monitors changes in application list and scanned
- * directories. There may be some plug-in specific changes that are not
- * visible in monitored interfaces, and that require refreshing displayed
- * installed application (or installation packages) list. Runtime plug-in
- * can notify the Application Manager via this interface when needed.
- *
- * @lib appmngr2pluginapi.lib
- * @since S60 v5.1
- */
-class MAppMngr2RuntimeObserver
- {
-public:
- /**
- * Runtime plugin can use RefreshInstalledApps() function to
- * refresh the installed applications list. Refreshing the list
- * makes AppMngr2 to refetch all installed application data.
- * Note that AppMngr2 listens EAppListChanged events via
- * MApaAppListServObserver, so plugins should use this
- * function only if AppMngr2 is not notified otherwise.
- */
- virtual void RefreshInstalledApps() = 0;
-
- /**
- * Runtime plugin can use RefreshInstallationFiles() function
- * to refresh the installation files list. Refreshing the list
- * makes AppMngr2 to rescan install directories and refetch
- * all installation package data. Note that AppMngr2 listens
- * RFs::NotifyChange() events to handle file additions and
- * deletions in defined install directories. Hence, plugins
- * should use this function only if AppMngr2 is not notified
- * otherwise.
- */
- virtual void RefreshInstallationFiles() = 0;
- };
-
-#endif // C_APPMNGR2RUNTIMEOBSERVER_H
-
--- a/appinstall_plat/appmngr2runtimeapi/rom/appmngr2runtime.iby Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Image description file for project AppMngr2
-*
-*/
-
-
-#ifndef APPMNGR2RUNTIME_IBY
-#define APPMNGR2RUNTIME_IBY
-
-file=ABI_DIR\BUILD_DIR\appmngr2pluginapi.dll SHARED_LIB_DIR\appmngr2pluginapi.dll
-
-#endif // APPMNGR2RUNTIME_IBY
--- a/appinstall_plat/appmngr2runtimeapi/src/appmngr2appinfo.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: AppInfo implementation
-*
-*/
-
-
-#include "appmngr2appinfo.h"
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CAppMngr2AppInfo::ConstructL()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CAppMngr2AppInfo::ConstructL()
- {
- CAppMngr2InfoBase::ConstructL();
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2AppInfo::~CAppMngr2AppInfo()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CAppMngr2AppInfo::~CAppMngr2AppInfo()
- {
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2AppInfo::CAppMngr2AppInfo()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CAppMngr2AppInfo::CAppMngr2AppInfo( CAppMngr2Runtime& aRuntime,
- RFs& aFsSession ) : CAppMngr2InfoBase( aRuntime, aFsSession )
- {
- }
-
--- a/appinstall_plat/appmngr2runtimeapi/src/appmngr2driveutils.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,113 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Utility functions for drive and file handling
-*
-*/
-
-
-#include "appmngr2driveutils.h" // TAppMngr2DriveUtils
-#include "appmngr2debugutils.h" // FLOG macros
-#include <driveinfo.h> // DriveInfo
-#include <bautils.h> // BaflUtils
-#include <data_caging_path_literals.hrh> // KDC_* constant strings
-
-_LIT( KDriveFormat, "%c:" );
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// TAppMngr2DriveUtils::LocationFromFileName()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TAppMngr2Location TAppMngr2DriveUtils::LocationFromFileNameL(
- const TDesC& aFileName, RFs& aFs )
- {
- TParsePtrC fileNameParser( aFileName );
- const TChar driveLetter( fileNameParser.Drive()[ 0 ] );
- TInt driveNumber;
- User::LeaveIfError( aFs.CharToDrive( driveLetter, driveNumber ) );
- return LocationFromDriveL( driveNumber, aFs );
- }
-
-// ---------------------------------------------------------------------------
-// TAppMngr2DriveUtils::LocationFromDrive()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TAppMngr2Location TAppMngr2DriveUtils::LocationFromDriveL(
- TInt aDrive, RFs& aFs )
- {
- TUint driveStatus = 0;
- User::LeaveIfError( DriveInfo::GetDriveStatus( aFs, aDrive, driveStatus ) );
- if( driveStatus & DriveInfo::EDriveRemovable )
- {
- return EAppMngr2LocationMemoryCard;
- }
- if( driveStatus & DriveInfo::EDriveExternallyMountable )
- {
- return EAppMngr2LocationMassStorage;
- }
- return EAppMngr2LocationPhone;
- }
-
-// ---------------------------------------------------------------------------
-// TAppMngr2DriveUtils::NearestResourceFileLC()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TFileName* TAppMngr2DriveUtils::NearestResourceFileLC(
- const TDesC& aFileName, RFs& aFs )
- {
- FLOG( "NearestResourceFileLC( %S )", &aFileName );
-
- TInt romDriveNumber = KErrNotFound;
- DriveInfo::GetDefaultDrive( DriveInfo::EDefaultRom, romDriveNumber );
- TChar romDriveLetter;
- User::LeaveIfError( aFs.DriveToChar( romDriveNumber, romDriveLetter ) );
-
- TFileName* fullName = new (ELeave) TFileName;
- CleanupStack::PushL( fullName );
-
- fullName->Format( KDriveFormat, static_cast<TUint>( romDriveLetter ) );
- fullName->Append( KDC_RESOURCE_FILES_DIR );
- fullName->Append( aFileName );
-
- BaflUtils::NearestLanguageFile( aFs, *fullName );
- FLOG( "NearestResourceFileLC, returns %S", fullName );
- return fullName;
- }
-
-// ---------------------------------------------------------------------------
-// TAppMngr2DriveUtils::FullBitmapFileNameLC()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C HBufC* TAppMngr2DriveUtils::FullBitmapFileNameLC(
- const TDesC& aBitmapFile, RFs& aFs )
- {
- FLOG( "FullBitmapFileNameLC( %S )", &aBitmapFile );
- TInt romDriveNumber = KErrNotFound;
- DriveInfo::GetDefaultDrive( DriveInfo::EDefaultRom, romDriveNumber );
- TChar romDriveLetter;
- User::LeaveIfError( aFs.DriveToChar( romDriveNumber, romDriveLetter ) );
-
- HBufC* fullName = HBufC::NewLC( KMaxFileName );
- TPtr fullNameDes = fullName->Des();
-
- fullNameDes.Format( KDriveFormat, static_cast<TUint>( romDriveLetter ) );
- fullNameDes.Append( KDC_APP_BITMAP_DIR );
- fullNameDes.Append( aBitmapFile );
-
- FLOG( "FullBitmapFileNameLC, returns %S", fullName );
- return fullName;
- }
-
--- a/appinstall_plat/appmngr2runtimeapi/src/appmngr2drmutils.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,129 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Utility functions for DRM file handling
-*
-*/
-
-
-#include "appmngr2drmutils.h" // TAppMngr2DRMUtils
-#include "appmngr2debugutils.h" // FLOG macros
-#include <caf/content.h> // ContentAccess::CContent
-#include <DRMHelper.h> // CDRMHelper
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// TAppMngr2DRMUtils::IsDRMProtected()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool TAppMngr2DRMUtils::IsDRMProtected( const TDesC& aFileName )
- {
- FLOG( "TAppMngr2DRMUtils::IsDRMProtected( %S )", &aFileName );
- TInt isProtected = EFalse;
-
- ContentAccess::CContent* content = NULL;
- TRAPD( err, content = ContentAccess::CContent::NewL( aFileName ) );
- FLOG( "TAppMngr2DRMUtils::IsDRMProtected(), CAF err %d", err );
- if( err == KErrNone )
- {
- content->GetAttribute( ContentAccess::EIsProtected, isProtected );
- delete content;
- }
-
- FLOG( "TAppMngr2DRMUtils::IsDRMProtected() returns %d", isProtected );
- return isProtected;
- }
-
-// ---------------------------------------------------------------------------
-// TAppMngr2DRMUtils::IsDRMForwardable()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool TAppMngr2DRMUtils::IsDRMForwardable( const TDesC& aFileName )
- {
- FLOG( "TAppMngr2DRMUtils::IsDRMForwardable( %S )", &aFileName );
- TInt isForwardable = ETrue;
-
- ContentAccess::CContent* content = NULL;
- TRAPD( err, content = ContentAccess::CContent::NewL( aFileName ) );
- FLOG( "TAppMngr2DRMUtils::IsDRMForwardable(), CAF err %d", err );
- if( err == KErrNone )
- {
- content->GetAttribute( ContentAccess::EIsForwardable, isForwardable );
- delete content;
- }
-
- FLOG( "TAppMngr2DRMUtils::IsDRMForwardable() returns %d", isForwardable );
- return isForwardable;
- }
-
-// ---------------------------------------------------------------------------
-// TAppMngr2DRMUtils::IsDRMRightsObjectExpiredOrMissingL()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool TAppMngr2DRMUtils::IsDRMRightsObjectExpiredOrMissingL( const TDesC& aFileName )
- {
- FLOG( "TAppMngr2DRMUtils::IsDRMRightsObjectExpiredOrMissingL( %S )", &aFileName );
- TInt err = KErrNone;
-
- ContentAccess::CContent* content = ContentAccess::CContent::NewLC( aFileName );
- content->GetAttribute( ContentAccess::ECanExecute, err );
- CleanupStack::PopAndDestroy( content );
-
- TBool isRightsObjectExpiredOrMissing = EFalse;
- if( err == KErrCANoRights || err == KErrCANoPermission )
- {
- isRightsObjectExpiredOrMissing = ETrue;
- }
- FLOG( "TAppMngr2DRMUtils::IsDRMRightsObjectExpiredOrMissingL() returns %d",
- isRightsObjectExpiredOrMissing );
- return isRightsObjectExpiredOrMissing;
- }
-
-// ---------------------------------------------------------------------------
-// TAppMngr2DRMUtils::IsDRMRightsObjectMissingL()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool TAppMngr2DRMUtils::IsDRMRightsObjectMissingL( const TDesC& aFileName )
- {
- FLOG( "TAppMngr2DRMUtils::IsDRMRightsObjectMissingL( %S )", &aFileName );
- TUint32 intent = 0;
- TBool isExpired = EFalse;
- TBool isSendingAllowed = EFalse;
-
- CDRMHelperRightsConstraints* rightsPlay = NULL;
- CDRMHelperRightsConstraints* rightsDisplay = NULL;
- CDRMHelperRightsConstraints* rightsExecute = NULL;
- CDRMHelperRightsConstraints* rightsPrint = NULL;
-
- CDRMHelper* drm = CDRMHelper::NewLC( *CCoeEnv::Static() );
- TRAPD( err, drm->GetRightsDetailsL( aFileName, intent, isExpired, isSendingAllowed,
- rightsPlay, rightsDisplay, rightsExecute, rightsPrint ));
- FLOG( "TAppMngr2DRMUtils::IsDRMRightsObjectMissingL(), GetRightsDetailsL err %d", err );
- CleanupStack::PopAndDestroy( drm );
-
- delete rightsPlay;
- delete rightsDisplay;
- delete rightsExecute;
- delete rightsPrint;
-
- TBool isRightsObjectMissing = EFalse;
- if( err == KErrCANoRights )
- {
- isRightsObjectMissing = ETrue;
- }
- FLOG( "TAppMngr2DRMUtils::IsDRMRightsObjectMissingL() returns %d", isRightsObjectMissing );
- return isRightsObjectMissing;
- }
-
--- a/appinstall_plat/appmngr2runtimeapi/src/appmngr2infobase.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,243 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Base class implementation for items displayed in AppMngr2
-*
-*/
-
-
-#include "appmngr2infobase.h" // CAppMngr2InfoBase
-#include "appmngr2runtime.h" // CAppMngr2Runtime
-#include "appmngr2common.hrh" // Default icon indexes
-//#include <appmngr2.rsg> // Resource IDs
-#include <AknUtils.h> // DisplayTextLanguageSpecificNumberConversion
-#include <StringLoader.h> // StringLoader
-#include <barsread.h> // TResourceReader
-#include <e32math.h> // Math::Round
-
-const TUint KKiloByte = KKilo;
-const TUint KMegaByte = KKilo*KKiloByte;
-const TUint KGigaByte = KKilo*KMegaByte;
-const TInt KDecimalPlaces = 0;
-
-
-// ======== LOCAL FUNCTIONS =========
-
-// ---------------------------------------------------------------------------
-// DivideAndReturnRoundedInt()
-// ---------------------------------------------------------------------------
-//
-TInt DivideAndReturnRoundedInt( TInt64 aDivident, TUint aDivisor )
- {
- // Ignored possible math errors returned by Math::Round() and Math::Int().
- TReal rounded = 0;
- Math::Round( rounded, I64REAL( aDivident ) / aDivisor, KDecimalPlaces );
- if( rounded < 1 )
- {
- rounded = 1;
- }
- TInt32 final = 0;
- Math::Int( final, rounded );
- return final;
- }
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InfoBase::ConstructL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2InfoBase::ConstructL()
- {
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InfoBase::~CAppMngr2InfoBase()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2InfoBase::~CAppMngr2InfoBase()
- {
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InfoBase::Runtime()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CAppMngr2Runtime& CAppMngr2InfoBase::Runtime() const
- {
- return iRuntime;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InfoBase::SpecificIconL()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CGulIcon* CAppMngr2InfoBase::SpecificIconL() const
- {
- User::Leave( KErrNotSupported ); // should not get here
- return NULL;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InfoBase::IndicatorIconIndex()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CAppMngr2InfoBase::IndicatorIconIndex() const
- {
- if( iLocation == EAppMngr2LocationMemoryCard )
- {
- return EAppMngr2IconQgnIndiAmInstMmcAdd;
- }
- if( iLocation == EAppMngr2LocationMassStorage )
- {
- return EAppMngr2IconQgnIndiFmgrMsAdd;
- }
- return EAppMngr2NoIndicatorIcon;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InfoBase::SpecificIndicatorIconL()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CGulIcon* CAppMngr2InfoBase::SpecificIndicatorIconL() const
- {
- User::Leave( KErrNotSupported ); // should not get here
- return NULL;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InfoBase::IsShowOnTop()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool CAppMngr2InfoBase::IsShowOnTop() const
- {
- return iShowOnTop;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InfoBase::GetMenuItemsL()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CAppMngr2InfoBase::GetMenuItemsL(
- RPointerArray<CEikMenuPaneItem::SData>& /*aMenuCmds*/ )
- {
- // no item specific menu items by default
- }
-
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InfoBase::SupportsGenericCmd()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool CAppMngr2InfoBase::SupportsGenericCommand( TInt /*aCmdId*/ )
- {
- return EFalse;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InfoBase::GetMiddleSoftkeyCommandL()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CAppMngr2InfoBase::GetMiddleSoftkeyCommandL(
- TInt& /*aResourceId*/, TInt& /*aCommandId*/ )
- {
- // no item specific middle softkey command by default
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InfoBase::SizeStringWithUnitsL()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C HBufC* CAppMngr2InfoBase::SizeStringWithUnitsL( TInt64 aSizeInBytes )
- {
- HBufC* dispString = NULL;
- if( aSizeInBytes <= KMegaByte )
- {
- TInt kiloBytes = DivideAndReturnRoundedInt( aSizeInBytes, KKiloByte );
- // Temporary fix until appmngr2pluginapi is removed
- // dispString = StringLoader::LoadLC( R_SWINS_UNIT_KILOBYTE, kiloBytes );
- _LIT( KKiloByte, "%N kB" );
- dispString = KKiloByte().AllocLC();
- }
- else if( aSizeInBytes <= KGigaByte )
- {
- TInt megaBytes = DivideAndReturnRoundedInt( aSizeInBytes, KMegaByte );
- // Temporary fix until appmngr2pluginapi is removed
- // dispString = StringLoader::LoadLC( R_SWINS_UNIT_MEGABYTE, megaBytes );
- _LIT( KMegaByte, "%N MB" );
- dispString = KMegaByte().AllocLC();
- }
- else // aSizeInBytes > KGigaByte
- {
- TInt gigaBytes = DivideAndReturnRoundedInt( aSizeInBytes, KGigaByte );
- // Temporary fix until appmngr2pluginapi is removed
- // dispString = StringLoader::LoadLC( R_SWINS_UNIT_GIGABYTE, gigaBytes );
- _LIT( KGigaByte, "%N GB" );
- dispString = KGigaByte().AllocLC();
- }
-
- TPtr ptr = dispString->Des();
- AknTextUtils::DisplayTextLanguageSpecificNumberConversion( ptr );
-
- CleanupStack::Pop( dispString );
- return dispString;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InfoBase::ReadMenuItemDataFromResourceL()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CAppMngr2InfoBase::ReadMenuItemDataFromResourceL(
- TInt aResourceId, CEikMenuPaneItem::SData& aMenuItemData )
- {
- TResourceReader reader;
- iRuntime.EikonEnv().CreateResourceReaderLC( reader, aResourceId );
-
- aMenuItemData.iCommandId = reader.ReadInt32();
- aMenuItemData.iCascadeId = reader.ReadInt32();
- aMenuItemData.iFlags = reader.ReadInt32();
- aMenuItemData.iText.Copy( reader.ReadTPtrC() );
- aMenuItemData.iExtraText = reader.ReadTPtrC();
- // bmpfile, bmpid, bmpmask, and extension ignored
-
- CleanupStack::PopAndDestroy(); // resource reader
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InfoBase::Location()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TAppMngr2Location CAppMngr2InfoBase::Location() const
- {
- return iLocation;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InfoBase::LocationDrive()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TDriveUnit CAppMngr2InfoBase::LocationDrive() const
- {
- return iLocationDrive;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InfoBase::CAppMngr2InfoBase()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2InfoBase::CAppMngr2InfoBase( CAppMngr2Runtime& aRuntime,
- RFs& aFsSession ) : iFs( aFsSession ), iRuntime( aRuntime )
- {
- }
-
--- a/appinstall_plat/appmngr2runtimeapi/src/appmngr2infoiterator.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,179 +0,0 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Implements MCUIInfoIterator API for CCUIDetailsDialog
-*
-*/
-
-
-#include "appmngr2infoiterator.h" // CAppMngr2InfoIterator
-#include "appmngr2infobase.h" // CAppMngr2InfoBase
-#include <badesca.h> // CDesC8Array
-#include <StringLoader.h> // StringLoader
-#include <SWInstCommonUI.rsg> // Resource IDs
-
-const TInt KGranularity = 8;
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InfoIterator::CAppMngr2InfoIterator()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CAppMngr2InfoIterator::CAppMngr2InfoIterator( CAppMngr2InfoBase& aInfo,
- TAppMngr2InfoType aInfoType ) : iInfo( aInfo ), iInfoType( aInfoType )
- {
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InfoIterator::BaseConstructL()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CAppMngr2InfoIterator::BaseConstructL()
- {
- iKeys = new ( ELeave ) CDesCArrayFlat( KGranularity );
- iValues = new ( ELeave ) CDesCArrayFlat( KGranularity );
- SetAllFieldsL();
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InfoIterator::~CAppMngr2InfoIterator()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CAppMngr2InfoIterator::~CAppMngr2InfoIterator()
- {
- if( iKeys )
- {
- iKeys->Reset();
- delete iKeys;
- }
- if( iValues )
- {
- iValues->Reset();
- delete iValues;
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InfoIterator::HasNext()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool CAppMngr2InfoIterator::HasNext() const
- {
- TInt keysCount = iKeys->Count();
- return ( keysCount > 0 && keysCount > iCurrentIndex );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InfoIterator::Next()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CAppMngr2InfoIterator::Next( TPtrC& aKey, TPtrC& aValue )
- {
- aKey.Set( ( *iKeys )[ iCurrentIndex ] );
- aValue.Set( ( *iValues )[ iCurrentIndex ] );
- iCurrentIndex++;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InfoIterator::Reset()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CAppMngr2InfoIterator::Reset()
- {
- iCurrentIndex = 0;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InfoIterator::SetFieldL()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CAppMngr2InfoIterator::SetFieldL( TInt aResourceId, const TDesC& aValue )
- {
- HBufC* fieldName = StringLoader::LoadLC( aResourceId );
- iKeys->AppendL( fieldName->Des() );
- CleanupStack::PopAndDestroy( fieldName );
- iValues->AppendL( aValue );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InfoIterator::SetAllFieldsL()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CAppMngr2InfoIterator::SetAllFieldsL()
- {
- SetFieldL( R_SWCOMMON_DETAIL_NAME, iInfo.Name() );
- SetStatusL();
- SetLocationL();
- SetFieldL( R_SWCOMMON_DETAIL_APPSIZE, iInfo.Details() );
- SetOtherFieldsL();
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InfoIterator::SetStatusL()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CAppMngr2InfoIterator::SetStatusL()
- {
- HBufC* status = NULL;
- if( iInfoType == EAppMngr2StatusInstalled )
- {
- status = StringLoader::LoadLC( R_SWCOMMON_DETAIL_VALUE_INSTALLED );
- }
- else // iInfoType is EAppMngr2StatusNotInstalled
- {
- status = StringLoader::LoadLC( R_SWCOMMON_DETAIL_VALUE_NOT_INSTALLED );
- }
- SetFieldL( R_SWCOMMON_DETAIL_STATUS, *status );
- CleanupStack::PopAndDestroy( status );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InfoIterator::SetLocationL()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CAppMngr2InfoIterator::SetLocationL()
- {
- TChar driveChar;
- RFs::DriveToChar( iInfo.LocationDrive(), driveChar );
- const TInt KSingleLetter = 1;
- TBuf<KSingleLetter> driveLetter;
- driveLetter.Append( driveChar );
-
- HBufC* memory = NULL;
- if( iInfo.Location() == EAppMngr2LocationMemoryCard )
- {
- memory = StringLoader::LoadLC( R_SWCOMMON_DETAIL_VALUE_MMC, driveLetter );
- }
- else if( iInfo.Location() == EAppMngr2LocationMassStorage )
- {
- memory = StringLoader::LoadLC( R_SWCOMMON_DETAIL_VALUE_MASS_STORAGE, driveLetter );
- }
- else
- {
- memory = StringLoader::LoadLC( R_SWCOMMON_DETAIL_VALUE_DEVICE, driveLetter );
- }
- SetFieldL( R_SWCOMMON_DETAIL_LOCATION, *memory );
- CleanupStack::PopAndDestroy( memory );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InfoIterator::SetOtherFieldsL()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CAppMngr2InfoIterator::SetOtherFieldsL()
- {
- // empty default implementation
- }
-
--- a/appinstall_plat/appmngr2runtimeapi/src/appmngr2packageinfo.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: PackageInfo implementation
-*
-*/
-
-
-#include "appmngr2packageinfo.h"
-#include <StringLoader.h> // StringLoader
-#include <AknQueryDialog.h> // CAknQueryDialog
-//#include <appmngr2.rsg> // Resource IDs
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CAppMngr2PackageInfo::ConstructL()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CAppMngr2PackageInfo::ConstructL()
- {
- CAppMngr2InfoBase::ConstructL(); // base class
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2PackageInfo::~CAppMngr2PackageInfo()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CAppMngr2PackageInfo::~CAppMngr2PackageInfo()
- {
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2PackageInfo::CAppMngr2PackageInfo()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CAppMngr2PackageInfo::CAppMngr2PackageInfo( CAppMngr2Runtime& aRuntime,
- RFs& aFsSession ) : CAppMngr2InfoBase( aRuntime, aFsSession )
- {
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2PackageInfo::ShowDeleteConfirmationQueryL()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool CAppMngr2PackageInfo::ShowDeleteConfirmationQueryL()
- {
- /* Temporary fix until appmngr2pluginapi is removed
-
- HBufC* deleteQuery = StringLoader::LoadLC( R_AM_DELETEQUERY, Name() );
-
- CAknQueryDialog* dlg = CAknQueryDialog::NewL( CAknQueryDialog::EConfirmationTone );
- TBool okToDelete = dlg->ExecuteLD( R_APPMNGR2_YES_NO_CONFIRMATION_QUERY, *deleteQuery );
- CleanupStack::PopAndDestroy( deleteQuery );
-
- return okToDelete;
- */
- return ETrue;
- }
-
--- a/appinstall_plat/appmngr2runtimeapi/src/appmngr2recognizedfile.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,97 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Class that contains file name and it's MIME type
-*
-*/
-
-
-#include "appmngr2recognizedfile.h" // CAppMngr2RecognizedFile
-#include <apmstd.h> // TDataType
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CAppMngr2RecognizedFile::NewL()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CAppMngr2RecognizedFile* CAppMngr2RecognizedFile::NewL(
- const TDesC& aFileName, const TDataType& aDataType )
- {
- CAppMngr2RecognizedFile* self = new (ELeave) CAppMngr2RecognizedFile;
- CleanupStack::PushL( self );
- self->iFileName = aFileName.AllocL();
- self->iDataType = new (ELeave) TDataType( aDataType );
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2RecognizedFile::NewL()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CAppMngr2RecognizedFile* CAppMngr2RecognizedFile::NewL(
- HBufC* aFileName, HBufC* aMimeType )
- {
- CAppMngr2RecognizedFile* self = new (ELeave) CAppMngr2RecognizedFile;
- CleanupStack::PushL( self );
-
- TBuf8<KMaxDataTypeLength> dataType;
- dataType.Copy( *aMimeType );
- self->iDataType = new (ELeave) TDataType( dataType );
-
- // takes ownership of the parameters, may not leave after this
- self->iFileName = aFileName;
- delete aMimeType;
-
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2RecognizedFile::FileName()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TDesC& CAppMngr2RecognizedFile::FileName()
- {
- return *iFileName;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2RecognizedFile::
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TDataType& CAppMngr2RecognizedFile::DataType()
- {
- return *iDataType;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2RecognizedFile::~CAppMngr2RecognizedFile()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CAppMngr2RecognizedFile::~CAppMngr2RecognizedFile()
- {
- delete iFileName;
- delete iDataType;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2RecognizedFile::CAppMngr2RecognizedFile()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2RecognizedFile::CAppMngr2RecognizedFile()
- {
- }
-
--- a/appinstall_plat/appmngr2runtimeapi/src/appmngr2runtime.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,142 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Base class implementation for AppMngr2 plug-ins
-*
-*/
-
-
-#include "appmngr2runtime.h" // CAppMngr2Runtime
-#include "appmngr2driveutils.h" // TAppMngr2DriveUtils
-#include "appmngr2debugutils.h" // FLOG macros
-#include <ecom/ecom.h> // REComSession
-#include <eikenv.h> // CEikonEnv
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Runtime::NewL()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CAppMngr2Runtime* CAppMngr2Runtime::NewL( TUid aImplementationUid,
- MAppMngr2RuntimeObserver &aObserver )
- {
- FLOG( "CAppMngr2Runtime::NewL( 0x%08x )", aImplementationUid.iUid );
- TUid destructorIDKey;
- TAny* ptr = REComSession::CreateImplementationL( aImplementationUid,
- destructorIDKey, &aObserver );
- CAppMngr2Runtime* self = reinterpret_cast<CAppMngr2Runtime*>( ptr );
- if( self )
- {
- CleanupStack::PushL( self );
- self->iDtorIDKey = destructorIDKey;
- self->ConstructL( aImplementationUid );
- CleanupStack::Pop( self );
- }
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Runtime::~CAppMngr2Runtime()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CAppMngr2Runtime::~CAppMngr2Runtime()
- {
- FLOG( "CAppMngr2Runtime::~CAppMngr2Runtime( 0x%08x )", iRuntimeUid.iUid );
- REComSession::DestroyedImplementation( iDtorIDKey );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Runtime::RuntimeUid()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TUid CAppMngr2Runtime::RuntimeUid() const
- {
- return iRuntimeUid;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Runtime::AddNearestResourceFileL()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CAppMngr2Runtime::AddNearestResourceFileL( const TDesC& aFileName )
- {
- TFileName* fullName = TAppMngr2DriveUtils::NearestResourceFileLC( aFileName,
- EikonEnv().FsSession() );
- TInt resourceId = EikonEnv().AddResourceFileL( *fullName );
- CleanupStack::PopAndDestroy( fullName );
- return resourceId;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Runtime::FullBitmapFileNameLC()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C HBufC* CAppMngr2Runtime::FullBitmapFileNameLC( const TDesC& aBitmapFile )
- {
- HBufC* fullName = TAppMngr2DriveUtils::FullBitmapFileNameLC( aBitmapFile,
- EikonEnv().FsSession() );
- return fullName;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Runtime::EikonEnv()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CEikonEnv& CAppMngr2Runtime::EikonEnv()
- {
- if( !iCachedEikonEnv )
- {
- iCachedEikonEnv = CEikonEnv::Static();
- }
- return *iCachedEikonEnv;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Runtime::Observer()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C MAppMngr2RuntimeObserver& CAppMngr2Runtime::Observer()
- {
- return iObserver;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Runtime::GetAdditionalDirsToScanL()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CAppMngr2Runtime::GetAdditionalDirsToScanL( RFs& /*aFsSession*/,
- RPointerArray<HBufC>& /*aDirs*/ )
- {
- // no additional directories by default
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Runtime::CAppMngr2Runtime()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CAppMngr2Runtime::CAppMngr2Runtime( MAppMngr2RuntimeObserver &aObserver )
- : iObserver( aObserver )
- {
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Runtime::ConstructL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2Runtime::ConstructL( TUid aImplementationUid )
- {
- iRuntimeUid = aImplementationUid;
- }
-
--- a/appinstall_plat/appmngr2runtimeapi/tsrc/bwins/appmngr2runtimeapitestu.def Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
- ?LibEntryL@@YAPAVCScriptBase@@AAVCTestModuleIf@@@Z @ 1 NONAME ; class CScriptBase * LibEntryL(class CTestModuleIf &)
-
--- a/appinstall_plat/appmngr2runtimeapi/tsrc/conf/ui_appmngr2runtimeapitest.cfg Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,171 +0,0 @@
-//
-// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description: AppMngr2 STIF test configuration file
-//
-
-
-// Common definitions to all test cases
-[Define]
-KNumberToRepeatOOMTest 50
-KSisxPluginUid 20016BF6
-KMidletPluginUid 20016BF8
-KWidgetPluginUid 20016BFA
-[Enddefine]
-
-
-// All tests combined into one test case as subroutines for ATS3.
-// This is to make sure that tests are run sequentially. Tests will
-// fail if they are run in parallel (at most one installer instance
-// can be active at a time).
-[Test]
-title AppMngr2 Runtime API Tests
-callsub AppMngr2_OOM_Test
-bringtoforeground
-callsub AppMngr2_SISX_Test
-callsub AppMngr2_Widget_Test
-sendtobackground
-[Endtest]
-
-
-[Sub AppMngr2_OOM_Test]
-print AppMngr2_OOM_Test
-create appmngr2runtimeapitest test
-
-oomignorefailure ON
-loop KNumberToRepeatOOMTest
-oomheapfailnext LOOP_COUNTER
-test LoadAllPlugins
-endloop
-oomignorefailure OFF
-oomheaptonormal
-
-delete test
-[EndSub]
-
-
-[Sub AppMngr2_SISX_Test]
-print AppMngr2_SISX_Test
-create appmngr2runtimeapitest test
-
-test CheckFilesExist e:\testing\data\ sistest.sisx
-
-test LoadPlugin KSisxPluginUid
-test CheckPluginsLoaded KSisxPluginUid
-test LoadIcons
-test GetAdditionalDirsToScan
-
-test GetInstallationFiles e:\testing\data\
-test CheckInstallationFiles sistest.sisx
-
-// Commented out because Details dialog does not get presskey events
-//test ShowInstallationFileDetails sistest.sisx
-//pause 2000
-//presskey global EKeyDevice0 // Ok to close details dialog
-//pause 2000
-//presskey global EKeyDevice0 // Additional press (if the above missed)
-//waittestclass test
-//test CheckShowDetailsEnded
-
-test StartInstallFile sistest.sisx
-pause 2000
-presskey global EKeyDevice0 // Confirm install
-pause 2000
-presskey global EKeyDevice0 // Accept untrusted
-pause 2000
-presskey global EKeyDevice0 // Owerwrite existing (if present)
-pause 2000
-presskey global EKeyDevice0 // Additional press (if some of the above missed)
-waittestclass test
-test CheckInstallEnded
-
-test GetInstalledApps
-test CheckAppInstalled sistest
-
-// Commented out because Details dialog does not get presskey events
-//test ShowInstalledDetails sistest
-//pause 2000
-//presskey global EKeyDevice0 // Ok to close details dialog
-//pause 2000
-//presskey global EKeyDevice0 // Additional press (if the above missed)
-//waittestclass test
-//test CheckShowDetailsEnded
-
-test StartUninstallApp sistest
-pause 2000
-presskey global EKeyDevice0 // Accept uninstall
-pause 2000
-presskey global EKeyDevice0 // Additional press (if the above missed)
-waittestclass test
-test CheckUninstallEnded
-
-delete test
-[EndSub]
-
-
-[Sub AppMngr2_Widget_Test]
-print AppMngr2_Widget_Test
-create appmngr2runtimeapitest test
-
-test CheckFilesExist e:\testing\data\ widgettest.wgz
-
-test LoadPlugin KWidgetPluginUid
-test CheckPluginsLoaded KWidgetPluginUid
-test LoadIcons
-test GetAdditionalDirsToScan
-
-test GetInstallationFiles e:\testing\data\
-test CheckInstallationFiles widgettest.wgz
-
-// Commented out because Details dialog does not get presskey events
-//test ShowInstallationFileDetails widgettest.wgz
-//pause 2000
-//presskey global EKeyDevice0 // Ok to close details dialog
-//pause 2000
-//presskey global EKeyDevice0 // Additional press (if the above missed)
-//waittestclass test
-//test CheckShowDetailsEnded
-
-test StartInstallFile widgettest.wgz
-pause 2000
-presskey global EKeyDevice0 // Confirm install (and overwrite existing if present)
-pause 2000
-presskey global EKeyDevice0 // Select internal memory
-pause 2000
-presskey global EKeyDevice0 // Additional press (if some of the above missed)
-waittestclass test
-test CheckInstallEnded
-
-test GetInstalledApps
-test CheckAppInstalled widgettest
-
-// Commented out because Details dialog does not get presskey events
-//test ShowInstalledDetails widgettest
-//pause 2000
-//presskey global EKeyDevice0 // Ok to close details dialog
-//pause 2000
-//presskey global EKeyDevice0 // Additional press (if the above missed)
-//waittestclass test
-//test CheckShowDetailsEnded
-
-test StartUninstallApp widgettest
-pause 2000
-presskey global EKeyDevice0 // Accept uninstall
-pause 2000
-presskey global EKeyDevice0 // Additional press (if the above missed)
-waittestclass test
-test CheckUninstallEnded
-
-delete test
-[EndSub]
-
--- a/appinstall_plat/appmngr2runtimeapi/tsrc/conf/ui_appmngr2runtimeapitest_winscw.cfg Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,171 +0,0 @@
-//
-// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description: AppMngr2 STIF test configuration file for WINSCW emulator
-//
-
-
-// Common definitions to all test cases
-[Define]
-KNumberToRepeatOOMTest 50
-KSisxPluginUid 20016BF6
-KMidletPluginUid 20016BF8
-KWidgetPluginUid 20016BFA
-[Enddefine]
-
-
-// All tests combined into one test case as subroutines for ATS3.
-// This is to make sure that tests are run sequentially. Tests will
-// fail if they are run in parallel (at most one installer instance
-// can be active at a time).
-[Test]
-title AppMngr2 Runtime API Tests
-callsub AppMngr2_OOM_Test
-bringtoforeground
-callsub AppMngr2_SISX_Test
-callsub AppMngr2_Widget_Test
-sendtobackground
-[Endtest]
-
-
-[Sub AppMngr2_OOM_Test]
-print AppMngr2_OOM_Test
-create appmngr2runtimeapitest test
-
-oomignorefailure ON
-loop KNumberToRepeatOOMTest
-oomheapfailnext LOOP_COUNTER
-test LoadAllPlugins
-endloop
-oomignorefailure OFF
-oomheaptonormal
-
-delete test
-[EndSub]
-
-
-[Sub AppMngr2_SISX_Test]
-print AppMngr2_SISX_Test
-create appmngr2runtimeapitest test
-
-test CheckFilesExist e:\testing\data\ sistest_winscw.sisx
-
-test LoadPlugin KSisxPluginUid
-test CheckPluginsLoaded KSisxPluginUid
-test LoadIcons
-test GetAdditionalDirsToScan
-
-test GetInstallationFiles e:\testing\data\
-test CheckInstallationFiles sistest_winscw.sisx
-
-// Commented out because Details dialog does not get presskey events
-//test ShowInstallationFileDetails sistest_winscw.sisx
-//pause 2000
-//presskey global EKeyDevice0 // Ok to close details dialog
-//pause 2000
-//presskey global EKeyDevice0 // Additional press (if the above missed)
-//waittestclass test
-//test CheckShowDetailsEnded
-
-test StartInstallFile sistest_winscw.sisx
-pause 2000
-presskey global EKeyDevice0 // Confirm install
-pause 2000
-presskey global EKeyDevice0 // Accept untrusted
-pause 2000
-presskey global EKeyDevice0 // Owerwrite existing (if present)
-pause 2000
-presskey global EKeyDevice0 // Additional press (if some of the above missed)
-waittestclass test
-test CheckInstallEnded
-
-test GetInstalledApps
-test CheckAppInstalled sistest
-
-// Commented out because Details dialog does not get presskey events
-//test ShowInstalledDetails sistest
-//pause 2000
-//presskey global EKeyDevice0 // Ok to close details dialog
-//pause 2000
-//presskey global EKeyDevice0 // Additional press (if the above missed)
-//waittestclass test
-//test CheckShowDetailsEnded
-
-test StartUninstallApp sistest
-pause 2000
-presskey global EKeyDevice0 // Accept uninstall
-pause 2000
-presskey global EKeyDevice0 // Additional press (if the above missed)
-waittestclass test
-test CheckUninstallEnded
-
-delete test
-[EndSub]
-
-
-[Sub AppMngr2_Widget_Test]
-print AppMngr2_Widget_Test
-create appmngr2runtimeapitest test
-
-test CheckFilesExist e:\testing\data\ widgettest.wgz
-
-test LoadPlugin KWidgetPluginUid
-test CheckPluginsLoaded KWidgetPluginUid
-test LoadIcons
-test GetAdditionalDirsToScan
-
-test GetInstallationFiles e:\testing\data\
-test CheckInstallationFiles widgettest.wgz
-
-// Commented out because Details dialog does not get presskey events
-//test ShowInstallationFileDetails widgettest.wgz
-//pause 2000
-//presskey global EKeyDevice0 // Ok to close details dialog
-//pause 2000
-//presskey global EKeyDevice0 // Additional press (if the above missed)
-//waittestclass test
-//test CheckShowDetailsEnded
-
-test StartInstallFile widgettest.wgz
-pause 2000
-presskey global EKeyDevice0 // Confirm install (and overwrite existing if present)
-pause 2000
-presskey global EKeyDevice0 // Select internal memory
-pause 2000
-presskey global EKeyDevice0 // Additional press (if some of the above missed)
-waittestclass test
-test CheckInstallEnded
-
-test GetInstalledApps
-test CheckAppInstalled widgettest
-
-// Commented out because Details dialog does not get presskey events
-//test ShowInstalledDetails widgettest
-//pause 2000
-//presskey global EKeyDevice0 // Ok to close details dialog
-//pause 2000
-//presskey global EKeyDevice0 // Additional press (if the above missed)
-//waittestclass test
-//test CheckShowDetailsEnded
-
-test StartUninstallApp widgettest
-pause 2000
-presskey global EKeyDevice0 // Accept uninstall
-pause 2000
-presskey global EKeyDevice0 // Additional press (if the above missed)
-waittestclass test
-test CheckUninstallEnded
-
-delete test
-[EndSub]
-
Binary file appinstall_plat/appmngr2runtimeapi/tsrc/data/mmc/sistest.sisx has changed
Binary file appinstall_plat/appmngr2runtimeapi/tsrc/data/mmc/sistest_winscw.sisx has changed
Binary file appinstall_plat/appmngr2runtimeapi/tsrc/data/mmc/widgettest.wgz has changed
--- a/appinstall_plat/appmngr2runtimeapi/tsrc/data_src/make_all.bat Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-@rem
-@rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-@rem All rights reserved.
-@rem This component and the accompanying materials are made available
-@rem under the terms of "Eclipse Public License v1.0"
-@rem which accompanies this distribution, and is available
-@rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-@rem
-@rem Initial Contributors:
-@rem Nokia Corporation - initial contribution.
-@rem
-@rem Contributors:
-@rem
-@rem Description: Utility script to create test installation files
-@rem
-
-
-
-cd sistest
-call make_sistest_sisx.bat
-cd ..\widgettest
-call make_widgettest_wgz.bat
-cd ..
--- a/appinstall_plat/appmngr2runtimeapi/tsrc/data_src/sistest/bld.inf Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Build information file for sistest
-*
-*/
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_MMPFILES
-sistest.mmp
--- a/appinstall_plat/appmngr2runtimeapi/tsrc/data_src/sistest/make_sistest_sisx.bat Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-@rem
-@rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-@rem All rights reserved.
-@rem This component and the accompanying materials are made available
-@rem under the terms of "Eclipse Public License v1.0"
-@rem which accompanies this distribution, and is available
-@rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-@rem
-@rem Initial Contributors:
-@rem Nokia Corporation - initial contribution.
-@rem
-@rem Contributors:
-@rem
-@rem Description: Utility script to create test sisx files
-@rem
-
-
-call bldmake bldfiles
-call abld build armv5 urel
-call abld build winscw udeb
-makesis sistest.pkg
-makesis sistest_winscw.pkg
-signsis sistest.sis sistest.sisx selfsign.cer selfsign.key
-signsis sistest_winscw.sis sistest_winscw.sisx selfsign.cer selfsign.key
-del /F/Q ..\..\data\mmc\sistest.sisx
-move sistest.sisx ..\..\data\mmc\.
-del /F/Q ..\..\data\mmc\sistest_winscw.sisx
-move sistest_winscw.sisx ..\..\data\mmc\.
-del sistest.sis
-del sistest_winscw.sis
-call abld reallyclean
-call bldmake clean
--- a/appinstall_plat/appmngr2runtimeapi/tsrc/data_src/sistest/selfsign.cer Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIEOzCCA/ugAwIBAgIBATAJBgcqhkjOOAQDMEMxDTALBgNVBAMTBFRlc3QxFTAT
-BgNVBAsTDFM2MCBTZWN1cml0eTEOMAwGA1UEChMFTm9raWExCzAJBgNVBAYTAkZJ
-MB4XDTA4MTAwODEzMDY0MFoXDTE4MTAwNjEzMDY0MFowQzENMAsGA1UEAxMEVGVz
-dDEVMBMGA1UECxMMUzYwIFNlY3VyaXR5MQ4wDAYDVQQKEwVOb2tpYTELMAkGA1UE
-BhMCRkkwggM6MIICLQYHKoZIzjgEATCCAiACggEBANeyGEpY5ifjJHot7yVoQ3sw
-Yz0EOM+M8kVmy1N3IEBqMFedXcq9DRKnGOXcZuTglsBk1qPiqsC3tsfWtnXphqcr
-eaOuFO2+z9P1bZ0Bm1k9qIrLAn+CtCBQqtDvoolu590swbZzdhACWGY+dtqyOfDZ
-bsja+4fi8VmwRPFlmk5EtsCoYSZrM1yXeRiDyALCpHhVfKI6PtIfrRiuJtlMsVG3
-eOLciEuNGK7TuVnLxRrevqXA5YUM+MwQVvQhGp/7VcSM/sqd9e+RDp8bcwNEOCQg
-I8CW7oNnG4yJCTgC6Zbrxg/LUOibSSYfDByRjtTS+NLiLlyVGf7VFsk3GhF4yX8C
-FQCPR3MImAja9ycDhMOa8JdA7rMVcQKCAQAzB7Lcc4Zq4IEwR4zg/UeguuphJfI+
-WHPL4eiYXg1Xw2LviIAdQi2BdnPgB80SR8Rx21J2LmRz3hu33O+pJZl2ctkFxo9c
-UjeCyUfX07E2g2Jdlyq0hT0LSAW2LmZMtcxxbBl77wUrvdsa3OECsNh42rW7xDcZ
-R5AslyoGVZN1N53ygYEUv1159ZMsqQUpVyLQbFpicgdLp5B5DOlZp1k05auzTMdZ
-ywaZJy+oUwBfyvzyC07OVkdGMh/rQhmwcWuREMhXE8B5IMQg/o4qmSQ6spZoIMn2
-vckroWw/IfWu9/uK8IBP6oruApafPJMMYa3ndhfQoosQxaI6DmEB7Qs+A4IBBQAC
-ggEAD94sGJsW9hBGT0zEs7KdopF/rZr4OCTYLQwmT6D8j5u7VZZFePtkjveM7Ejx
-TXzA6L9+gGzCYWaBtaqelNCA4wOBCmKbgna39xwkXRuRVM47JbdUFfQeOzuQlXEk
-R/0fdbuYz8CkPan5qxRqjknixeMPWAQY7hJNcKgZ8TpzpIhRU1k4vlVADbwG32qj
-ZlbRcEbCb6xQNVuMx278NhdabWDgR5PoFowIt8X7cxuD1IcrZyybbymitlhDicUo
-mSVjSU8aAnYNqUvjD/+oxSZth1IwXfZiU/I+/h+bzdg93Y9nNcokr0z1y5Xwh7wm
-rr13hozzWlqi4pnaP6R2pcZRtjAJBgcqhkjOOAQDAy8AMCwCFFXTpn4dVyy/nokP
-x1Sp3NQ/tQxsAhQsnyBB/d0nET/eTAPyiAi/1uswkA==
------END CERTIFICATE-----
--- a/appinstall_plat/appmngr2runtimeapi/tsrc/data_src/sistest/selfsign.key Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
------BEGIN DSA PRIVATE KEY-----
-MIIDPQIBAAKCAQEA17IYSljmJ+Mkei3vJWhDezBjPQQ4z4zyRWbLU3cgQGowV51d
-yr0NEqcY5dxm5OCWwGTWo+KqwLe2x9a2demGpyt5o64U7b7P0/VtnQGbWT2oissC
-f4K0IFCq0O+iiW7n3SzBtnN2EAJYZj522rI58NluyNr7h+LxWbBE8WWaTkS2wKhh
-JmszXJd5GIPIAsKkeFV8ojo+0h+tGK4m2UyxUbd44tyIS40YrtO5WcvFGt6+pcDl
-hQz4zBBW9CEan/tVxIz+yp3175EOnxtzA0Q4JCAjwJbug2cbjIkJOALpluvGD8tQ
-6JtJJh8MHJGO1NL40uIuXJUZ/tUWyTcaEXjJfwIVAI9HcwiYCNr3JwOEw5rwl0Du
-sxVxAoIBADMHstxzhmrggTBHjOD9R6C66mEl8j5Yc8vh6JheDVfDYu+IgB1CLYF2
-c+AHzRJHxHHbUnYuZHPeG7fc76klmXZy2QXGj1xSN4LJR9fTsTaDYl2XKrSFPQtI
-BbYuZky1zHFsGXvvBSu92xrc4QKw2HjatbvENxlHkCyXKgZVk3U3nfKBgRS/XXn1
-kyypBSlXItBsWmJyB0unkHkM6VmnWTTlq7NMx1nLBpknL6hTAF/K/PILTs5WR0Yy
-H+tCGbBxa5EQyFcTwHkgxCD+jiqZJDqylmggyfa9ySuhbD8h9a73+4rwgE/qiu4C
-lp88kwxhred2F9CiixDFojoOYQHtCz4CggEAD94sGJsW9hBGT0zEs7KdopF/rZr4
-OCTYLQwmT6D8j5u7VZZFePtkjveM7EjxTXzA6L9+gGzCYWaBtaqelNCA4wOBCmKb
-gna39xwkXRuRVM47JbdUFfQeOzuQlXEkR/0fdbuYz8CkPan5qxRqjknixeMPWAQY
-7hJNcKgZ8TpzpIhRU1k4vlVADbwG32qjZlbRcEbCb6xQNVuMx278NhdabWDgR5Po
-FowIt8X7cxuD1IcrZyybbymitlhDicUomSVjSU8aAnYNqUvjD/+oxSZth1IwXfZi
-U/I+/h+bzdg93Y9nNcokr0z1y5Xwh7wmrr13hozzWlqi4pnaP6R2pcZRtgIUAv4J
-AwXM+xLc/vFN22iRKI11evw=
------END DSA PRIVATE KEY-----
--- a/appinstall_plat/appmngr2runtimeapi/tsrc/data_src/sistest/sistest.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Basic console application for installation testing
-*
-*/
-
-
-#include "sistest.h"
-#include <e32base.h>
-#include <e32std.h>
-#include <e32cons.h> // Console
-
-_LIT( KTextConsoleTitle, "Console" );
-_LIT( KTextFailed, " failed, leave code = %d" );
-_LIT( KTextPressAnyKey, " [press any key]\n" );
-
-LOCAL_D CConsoleBase* console;
-
-LOCAL_C void MainL()
- {
- console->Write(_L("Hello, world!\n"));
- }
-
-LOCAL_C void DoStartL()
- {
- CActiveScheduler* scheduler = new (ELeave) CActiveScheduler();
- CleanupStack::PushL(scheduler);
- CActiveScheduler::Install(scheduler);
-
- MainL();
-
- CleanupStack::PopAndDestroy(scheduler);
- }
-
-GLDEF_C TInt E32Main()
- {
- __UHEAP_MARK;
- CTrapCleanup* cleanup = CTrapCleanup::New();
-
- TRAPD( createError, console = Console::NewL( KTextConsoleTitle,
- TSize( KConsFullScreen,KConsFullScreen ) ) );
- if( createError )
- {
- return createError;
- }
-
- TRAPD( mainError, DoStartL() );
- if( mainError )
- {
- console->Printf(KTextFailed, mainError);
- }
- console->Printf(KTextPressAnyKey);
- console->Getch();
-
- delete console;
- delete cleanup;
- __UHEAP_MARKEND;
- return KErrNone;
- }
-
--- a/appinstall_plat/appmngr2runtimeapi/tsrc/data_src/sistest/sistest.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Basic console application for installation testing
-*
-*/
-
-
-#ifndef __SISTEST_H__
-#define __SISTEST_H__
-
-#include <e32base.h>
-
-GLDEF_C TInt E32Main();
-
-#endif // __SISTEST_H__
-
--- a/appinstall_plat/appmngr2runtimeapi/tsrc/data_src/sistest/sistest.mmp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Project definition file for sistest
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-TARGET sistest.exe
-TARGETTYPE exe
-UID 0 0xE4F8641B
-
-USERINCLUDE .
-APP_LAYER_SYSTEMINCLUDE
-
-SOURCEPATH .
-SOURCE sistest.cpp
-
-LIBRARY euser.lib
-
-SMPSAFE
-
--- a/appinstall_plat/appmngr2runtimeapi/tsrc/data_src/sistest/sistest.pkg Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-;
-; Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-; All rights reserved.
-; This component and the accompanying materials are made available
-; under the terms of "Eclipse Public License v1.0"
-; which accompanies this distribution, and is available
-; at the URL "http://www.eclipse.org/legal/epl-v10.html".
-;
-; Initial Contributors:
-; Nokia Corporation - initial contribution.
-;
-; Contributors:
-;
-; Description: Installation package file for sistest
-;
-
-
-; UID is the exe's UID
-#{"sistest"},(0xE4F8641B),1,0,0
-
-; S60 platform dependencies for S60 3.0 and 5.0
-[0x101F7961],0,0,0,{"Series60ProductID"}
-[0x1028315F],0,0,0,{"Series60ProductID"}
-
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-; Files
-"\epoc32\release\armv5\urel\sistest.exe" - "c:\sys\bin\sistest.exe"
-
--- a/appinstall_plat/appmngr2runtimeapi/tsrc/data_src/sistest/sistest_winscw.pkg Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-;
-; Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-; All rights reserved.
-; This component and the accompanying materials are made available
-; under the terms of "Eclipse Public License v1.0"
-; which accompanies this distribution, and is available
-; at the URL "http://www.eclipse.org/legal/epl-v10.html".
-;
-; Initial Contributors:
-; Nokia Corporation - initial contribution.
-;
-; Contributors:
-;
-; Description: Installation package file for sistest for WINSCW emulator
-;
-
-
-; UID is the exe's UID
-#{"sistest"},(0xE4F8641B),1,0,0
-
-; S60 platform dependencies for S60 3.0 and 5.0
-[0x101F7961],0,0,0,{"Series60ProductID"}
-[0x1028315F],0,0,0,{"Series60ProductID"}
-
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-; Files
-"\epoc32\release\winscw\udeb\sistest.exe" - "c:\sys\bin\sistest.exe"
-
Binary file appinstall_plat/appmngr2runtimeapi/tsrc/data_src/widgettest/Info.plist has changed
--- a/appinstall_plat/appmngr2runtimeapi/tsrc/data_src/widgettest/make_widgettest_wgz.bat Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-@rem
-@rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-@rem All rights reserved.
-@rem This component and the accompanying materials are made available
-@rem under the terms of "Eclipse Public License v1.0"
-@rem which accompanies this distribution, and is available
-@rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-@rem
-@rem Initial Contributors:
-@rem Nokia Corporation - initial contribution.
-@rem
-@rem Contributors:
-@rem
-@rem Description: Utility script to create test widget file
-@rem
-
-
-cd ..
-zip widgettest.zip widgettest\Info.plist widgettest\widgettest.html widgettest\widgettest.css widgettest\widgettest.js
-ren widgettest.zip widgettest.wgz
-del /F/Q ..\data\mmc\widgettest.wgz
-move widgettest.wgz ..\data\mmc\.
-cd widgettest
--- a/appinstall_plat/appmngr2runtimeapi/tsrc/data_src/widgettest/widgettest.css Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-#mainView {
- font-size: 14px;
- color: blue;
-}
-
-h2 {
- text-align: center;
- color: black;
-}
-
-.button {
- font-size: 14px;
- color: blue;
- background-color: grey;
- margin: 20px 0px 0px 150px;
-}
-
-#resultView {
- text-align: center;
- color: blue;
- font-size: 16pt;
- font-weight: bold;
- display: none;
-}
-
--- a/appinstall_plat/appmngr2runtimeapi/tsrc/data_src/widgettest/widgettest.html Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
- <style type="text/css">@import "widgettest.css";</style>
- <script type="text/javascript" src="widgettest.js" />
- </head>
-
- <body>
- <div id="mainView">
- <h2>WidgetTest</h2>
- <input class="button" type="button" name="hello" value="Hello" onClick="showHelloView();" />
- </div>
- <div id="resultView">
- <p id="output" class="output"></p>
- </div>
- </body>
-</html>
-
--- a/appinstall_plat/appmngr2runtimeapi/tsrc/data_src/widgettest/widgettest.js Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Basic widget for installation testing
-*
-*/
-
-
-function showHelloView()
-{
- // hide the main view and show the result view
- document.getElementById("mainView").style.display = "none";
- document.getElementById("resultView").style.display = "block";
-
- // detect if the output <p> tag has a child
- var child = document.getElementById('output').firstChild;
- // remove the child if exists
- if( child != null )
- document.getElementById('output').removeChild(child);
-
- // create a new text node
- var newText = document.createTextNode( "Hello, World!" );
- // append to the output <p> tag
- document.getElementById('output').appendChild(newText);
-
- // change the right softkey label and assign a custom callback function
- window.menu.setRightSoftKeyLabel('Back', showMainView);
-}
-
-
-function showMainView()
-{
- // hide the result view and show the main view
- document.getElementById("resultView").style.display = "none";
- document.getElementById("mainView").style.display = "block";
-
- // restore the right softkey
- window.menu.setRightSoftKeyLabel('', null);
-}
-
--- a/appinstall_plat/appmngr2runtimeapi/tsrc/eabi/appmngr2runtimeapitestu.def Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-EXPORTS
- _Z9LibEntryLR13CTestModuleIf @ 1 NONAME
- _ZTI20CAppMngr2TestCommand @ 2 NONAME ; #<TI>#
- _ZTV20CAppMngr2TestCommand @ 3 NONAME ; #<VT>#
-
--- a/appinstall_plat/appmngr2runtimeapi/tsrc/group/appmngr2runtimeapitest.mmp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Project definition file for AppMngr2 Runtime API STIF tests
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-TARGET appmngr2runtimeapitest.dll
-TARGETTYPE dll
-UID 0x1000008D 0x101FB3E3
-
-VENDORID VID_DEFAULT
-CAPABILITY ALL -TCB
-
-USERINCLUDE ../inc
-MW_LAYER_SYSTEMINCLUDE
-
-SOURCEPATH ../src
-SOURCE appmngr2runtimeapitest.cpp
-SOURCE appmngr2runtimeapitestmain.cpp
-SOURCE appmngr2testcommand.cpp
-
-LIBRARY euser.lib // Base
-LIBRARY StifTestInterface.lib // STIF Framework
-LIBRARY StifTestEngine.lib // STIF Framework
-LIBRARY appmngr2pluginapi.lib // AppMngr2 Runtime API
-LIBRARY ecom.lib // ECom
-LIBRARY avkon.lib // CAknIconArray
-LIBRARY efsrv.lib // File Server
-LIBRARY caf.lib // Content Access Framework
-LIBRARY apmime.lib // TDataType
-LIBRARY cone.lib // CCoeEnv
-LIBRARY bafl.lib // BaflUtils
-LIBRARY ws32.lib // RWsSession
-
-SMPSAFE
-
--- a/appinstall_plat/appmngr2runtimeapi/tsrc/group/appmngr2runtimeapitest.pkg Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-;
-; Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-; All rights reserved.
-; This component and the accompanying materials are made available
-; under the terms of "Eclipse Public License v1.0"
-; which accompanies this distribution, and is available
-; at the URL "http://www.eclipse.org/legal/epl-v10.html".
-;
-; Initial Contributors:
-; Nokia Corporation - initial contribution.
-;
-; Contributors:
-;
-; Description: Package file for AppMngr2 Runtime API STIF test
-;
-
-
-; Languages
-&EN
-
-; Standard SIS file header
-#{"AppMngr2 Runtime API STIF Test Module"},(0x101FB3E3),1,1,0,TYPE=SA
-
-; Dependencies to S60 3.0 and 5.0 releases
-[0x101F7961],0,0,0,{"Series60ProductID"}
-[0x1028315F],0,0,0,{"Series60ProductID"}
-
-; Unique Vendor name
-:"Nokia"
-
-; Localised Vendor name
-%{"Nokia"}
-
-; Install files
-"\epoc32\release\armv5\urel\appmngr2runtimeapitest.dll"-"c:\sys\bin\appmngr2runtimeapitest.dll"
-"..\conf\ui_appmngr2runtimeapitest.cfg"-"c:\testframework\ui_appmngr2runtimeapitest.cfg"
-"..\init\TestFramework.ini"-"c:\testframework\TestFramework.ini"
-"..\data\mmc\sistest.sisx"-"e:\testing\data\sistest.sisx"
-"..\data\mmc\widgettest.wgz"-"e:\testing\data\widgettest.wgz"
-
--- a/appinstall_plat/appmngr2runtimeapi/tsrc/group/appmngr2runtimeapitest_nrm.mmp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Project definition file for AppMngr2 Runtime API STIF tests
-*
-*/
-
-
-// Same MMP file is used for both "BUILD" and "TEST BUILD" ABLD commands
-#include "appmngr2runtimeapitest.mmp"
-
-SMPSAFE
-
--- a/appinstall_plat/appmngr2runtimeapi/tsrc/group/bld.inf Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Build information file for AppMngr2 Runtime API STIF tests
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-
-PRJ_TESTEXPORTS
-// no exported files needed for automated testing
-
-
-PRJ_EXPORTS
-// for emulator testing
-../conf/ui_appmngr2runtimeapitest_winscw.cfg /epoc32/winscw/c/testframework/ui_appmngr2runtimeapitest_winscw.cfg
-../init/TestFramework_winscw.ini /epoc32/winscw/c/testframework/TestFramework.ini
-
-// for ROM image creation
-../rom/appmngr2runtimeapitest.iby CORE_MW_LAYER_IBY_EXPORT_PATH( appmngr2runtimeapitest.iby )
-../conf/ui_appmngr2runtimeapitest.cfg /epoc32/data/z/testframework/ui_appmngr2runtimeapitest.cfg
-../init/TestFramework.ini /epoc32/data/z/system/data/TestFramework.ini
-
-// Note: data files needs to be copied manually from ../data/mmc to memory card e:/testing/data/
-
-
-PRJ_TESTMMPFILES
-appmngr2runtimeapitest.mmp
-
-
-PRJ_MMPFILES
-appmngr2runtimeapitest_nrm.mmp
-
--- a/appinstall_plat/appmngr2runtimeapi/tsrc/inc/appmngr2runtimeapitest.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,104 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: AppMngr2 Runtime API STIF test module
-*
-*/
-
-
-#ifndef C_APPMNGR2RUNTIMEAPITEST_H
-#define C_APPMNGR2RUNTIMEAPITEST_H
-
-#include <TestScripterInternal.h> // CScriptBase
-#include <appmngr2runtimeobserver.h> // MAppMngr2RuntimeObserver
-#include "appmngr2testcommandobserver.h" // MAppMngr2TestCommandObserver
-#include <f32file.h> // RFs
-
-class CAppMngr2Runtime;
-class CAppMngr2InfoBase;
-class CAppMngr2AppInfo;
-class CAppMngr2PackageInfo;
-class CAppMngr2TestCommand;
-
-#define TEST_CLASS_VERSION_MAJOR 0
-#define TEST_CLASS_VERSION_MINOR 0
-#define TEST_CLASS_VERSION_BUILD 0
-
-_LIT( KAppMngr2RuntimeApiTestModuleName, "appmngr2runtimeapitest.dll" );
-_LIT( KAppMngr2RuntimeApiTestLogPath, "\\logs\\testframework\\appmngr2runtimeapitest\\" );
-_LIT( KAppMngr2RuntimeApiTestLogFile, "appmngr2runtimeapitest.txt" );
-_LIT( KAppMngr2RuntimeApiTestLogFileWithTitle, "appmngr2runtimeapitest_[%S].txt" );
-
-
-NONSHARABLE_CLASS(CAppMngr2RuntimeApiTest) : public CScriptBase,
- public MAppMngr2RuntimeObserver, public MAppMngr2TestCommandObserver
- {
-public: // constructor and destructor
- static CAppMngr2RuntimeApiTest* NewL( CTestModuleIf& aTestModuleIf );
- ~CAppMngr2RuntimeApiTest();
-
-public: // from CScriptBase
- TInt RunMethodL( CStifItemParser& aItem );
-
-public: // from MAppMngr2RuntimeObserver
- void RefreshInstalledApps();
- void RefreshInstallationFiles();
-
-public: // from MAppMngr2TestCommandObserver
- void CommandResult( CAppMngr2TestCommand& aCommand, TInt aCompletionCode );
-
-private: // new functions
- CAppMngr2RuntimeApiTest( CTestModuleIf& aTestModuleIf );
- void ConstructL();
- void SendTestClassVersion();
- void Print( TRefByValue<const TDesC> aFmt, ... );
- void GetUidFromStringL( const TDesC& aString, TUid& aUid );
- CAppMngr2PackageInfo* FindInstallationPackage( const TDesC& aName );
- CAppMngr2AppInfo* FindInstalledApp( const TDesC& aName );
- void CallInfoBaseFunctionsL( CAppMngr2InfoBase& aInfo, const TDesC& aTestName );
-
- // test functions
- TInt CheckFilesExistL( CStifItemParser& aItem );
- TInt LoadAllPluginsL( CStifItemParser& aItem );
- TInt LoadPluginL( CStifItemParser& aItem );
- TInt CheckPluginsLoadedL( CStifItemParser& aItem );
- TInt LoadIconsL( CStifItemParser& aItem );
- TInt GetAdditionalDirsToScanL( CStifItemParser& aItem );
- TInt GetInstallationFilesL( CStifItemParser& aItem );
- TInt CheckInstallationFilesL( CStifItemParser& aItem );
- TInt ShowInstallationFileDetailsL( CStifItemParser& aItem );
- TInt CheckShowDetailsEndedL( CStifItemParser& aItem );
- TInt CheckNoInstallationFilesL( CStifItemParser& aItem );
- TInt StartInstallFileL( CStifItemParser& aItem );
- TInt CheckInstallEndedL( CStifItemParser& aItem );
- TInt GetInstalledAppsL( CStifItemParser& aItem );
- TInt CheckAppInstalledL( CStifItemParser& aItem );
- TInt ShowInstalledDetailsL( CStifItemParser& aItem );
- TInt CheckNoAppsInstalledL( CStifItemParser& aItem );
- TInt StartUninstallAppL( CStifItemParser& aItem );
- TInt CheckUninstallEndedL( CStifItemParser& aItem );
-
-private: // data
- RPointerArray<CAppMngr2Runtime> iPlugins;
- RPointerArray<CAppMngr2AppInfo> iInstalledApps;
- RPointerArray<CAppMngr2PackageInfo> iInstallationPackages;
- CAppMngr2TestCommand* iInstallCommand;
- CAppMngr2TestCommand* iUninstallCommand;
- CAppMngr2TestCommand* iShowDetailsCommand;
- TInt iSWInstCommonResourceFileOffset;
- TInt iAppMngr2ResourceFileOffset;
- RFs iFs;
- };
-
-#endif // C_APPMNGR2RUNTIMEAPITEST_H
-
--- a/appinstall_plat/appmngr2runtimeapi/tsrc/inc/appmngr2testcommand.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Async command handling for AppMngr2 Runtime API STIF tests
-*
-*/
-
-
-#ifndef C_APPMNGR2TESTCOMMAND_H
-#define C_APPMNGR2TESTCOMMAND_H
-
-#include <e32base.h> // CActive
-
-class CAppMngr2InfoBase;
-class MAppMngr2TestCommandObserver;
-
-class CAppMngr2TestCommand : public CActive
- {
-public: // constructor and destructor
- static CAppMngr2TestCommand* NewL( CAppMngr2InfoBase& aInfo,
- MAppMngr2TestCommandObserver& aObs );
- ~CAppMngr2TestCommand();
-
-public: // from CActive
- void DoCancel();
- void RunL();
- TInt RunError( TInt aError );
-
-public: // new functions
- void HandleCommandL( TInt aCommand );
-
-private: // new functions
- CAppMngr2TestCommand( CAppMngr2InfoBase& aInfo,
- MAppMngr2TestCommandObserver& aObs );
-
-private: // data
- CAppMngr2InfoBase& iInfo;
- MAppMngr2TestCommandObserver& iObs;
- };
-
-#endif // C_APPMNGR2TESTCOMMAND_H
-
--- a/appinstall_plat/appmngr2runtimeapi/tsrc/inc/appmngr2testcommandobserver.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-#ifndef C_APPMNGR2TESTCOMMANDOBSERVER_H
-#define C_APPMNGR2TESTCOMMANDOBSERVER_H
-
-class CAppMngr2TestCommand;
-
-class MAppMngr2TestCommandObserver
- {
-public:
- virtual void CommandResult( CAppMngr2TestCommand& aCommand, TInt aCompletionCode ) = 0;
- };
-
-#endif // C_APPMNGR2TESTCOMMANDOBSERVER_H
-
--- a/appinstall_plat/appmngr2runtimeapi/tsrc/init/TestFramework.ini Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-#
-# Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: AppMngr2 STIF test engine initialization file
-#
-#
-
-[Engine_Defaults]
-TestReportMode= FullReport
-CreateTestReport= YES
-TestReportFilePath= C:\LOGS\TestFramework\
-TestReportFileName= TestReport
-TestReportFormat= TXT
-TestReportOutput= FILE
-TestReportFileCreationMode= OVERWRITE
-DeviceResetDllName= StifResetForNokia.dll
-DisableMeasurement= stifmeasurementdisablenone
-Timeout= 0
-UITestingSupport= YES
-SeparateProcesses= NO
-[End_Defaults]
-
-[New_Module]
-ModuleName= testscripter
-TestCaseFile= c:\testframework\ui_appmngr2runtimeapitest.cfg
-[End_Module]
-
--- a/appinstall_plat/appmngr2runtimeapi/tsrc/init/TestFramework_winscw.ini Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-#
-# Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: AppMngr2 STIF test engine initialization file for emulator
-#
-#
-
-[Engine_Defaults]
-TestReportMode= FullReport
-CreateTestReport= YES
-TestReportFilePath= C:\LOGS\TestFramework\
-TestReportFileName= TestReport
-TestReportFormat= TXT
-TestReportOutput= FILE
-TestReportFileCreationMode= OVERWRITE
-DeviceResetDllName= StifResetForNokia.dll
-DisableMeasurement= stifmeasurementdisablenone
-Timeout= 0
-UITestingSupport= YES
-SeparateProcesses= NO
-[End_Defaults]
-
-[New_Module]
-ModuleName= testscripter
-TestCaseFile= c:\testframework\ui_appmngr2runtimeapitest_winscw.cfg
-[End_Module]
-
--- a/appinstall_plat/appmngr2runtimeapi/tsrc/rom/appmngr2runtimeapitest.iby Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Image description file for AppMngr2 Runtime API STIF test
-*
-*/
-
-
-#ifndef APPMNGR2RUNTIMEAPITEST_IBY
-#define APPMNGR2RUNTIMEAPITEST_IBY
-
-data=\epoc32\release\armv5\urel\appmngr2runtimeapitest.dll \sys\bin\appmngr2runtimeapitest.dll
-
-#endif // APPMNGR2RUNTIMEAPITEST_IBY
-
--- a/appinstall_plat/appmngr2runtimeapi/tsrc/src/appmngr2runtimeapitest.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1174 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: AppMngr2 Runtime API STIF test module
-*
-*/
-
-
-#include "appmngr2runtimeapitest.h" // CRuntimeApiTest
-#include "appmngr2testcommand.h" // CAppMngr2TestCommand
-#include <StifLogger.h> // CStifLogger
-#include <SettingServerClient.h> // RSettingServer
-#include <ecom/ecom.h> // REComSession
-#include <appmngr2runtime.h> // AppMngr2 Runtime API
-#include <appmngr2appinfo.h> // AppMngr2 Runtime API
-#include <appmngr2packageinfo.h> // AppMngr2 Runtime API
-#include <appmngr2recognizedfile.h> // AppMngr2 Runtime API
-#include <appmngr2driveutils.h> // AppMngr2 Runtime API
-#include <appmngr2common.hrh> // AppMngr2 Runtime API
-#include <appmngr2cleanuputils.h> // CleanupResetAndDestroyPushL
-#include <apmstd.h> // TDataType
-#include <caf/caf.h> // ContentAccess
-#include <bautils.h> // BaflUtils
-#include <AknIconArray.h> // CAknIconArray
-#include <gulicon.h> // CGulIcon
-#include <data_caging_path_literals.hrh> // KDC_APP_RESOURCE_DIR
-
-const TInt KMaxLineLength = 256;
-const TInt KGranularity = 8;
-
-_LIT( KSWInstCommonUIResourceFileName, "SWInstCommonUI.rsc" );
-_LIT( KAppMngr2UIResourceFileName, "appmngr2.rsc" );
-_LIT( KAppRscFormat, "z:%S%S" );
-
-_LIT( KAppMngr2Tag, "AppMngr2" );
-_LIT( KTestStartFormat, "%S: start" );
-_LIT( KTestDoneFormat, "%S: done (error %d)" );
-_LIT( KResultFormat, "%S: %S, result %d" );
-_LIT( KNotFoundFormat, "%S: %S not found" );
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// -----------------------------------------------------------------------------
-// CAppMngr2RuntimeApiTest::NewL()
-// -----------------------------------------------------------------------------
-//
-CAppMngr2RuntimeApiTest* CAppMngr2RuntimeApiTest::NewL( CTestModuleIf& aTestModuleIf )
- {
- CAppMngr2RuntimeApiTest* self = new (ELeave) CAppMngr2RuntimeApiTest( aTestModuleIf );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop();
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CAppMngr2RuntimeApiTest::~CAppMngr2RuntimeApiTest()
-// -----------------------------------------------------------------------------
-//
-CAppMngr2RuntimeApiTest::~CAppMngr2RuntimeApiTest()
- {
- delete iInstallCommand;
- delete iUninstallCommand;
- delete iShowDetailsCommand;
- iInstalledApps.ResetAndDestroy();
- iInstallationPackages.ResetAndDestroy();
- iPlugins.ResetAndDestroy();
-
- CCoeEnv* coeEnv = CCoeEnv::Static();
- if( coeEnv )
- {
- if( iSWInstCommonResourceFileOffset )
- {
- coeEnv->DeleteResourceFile( iSWInstCommonResourceFileOffset );
- }
- if( iAppMngr2ResourceFileOffset )
- {
- coeEnv->DeleteResourceFile( iAppMngr2ResourceFileOffset );
- }
- }
-
- delete iLog;
- iFs.Close();
- }
-
-// -----------------------------------------------------------------------------
-// CAppMngr2RuntimeApiTest::RunMethodL()
-// -----------------------------------------------------------------------------
-//
-TInt CAppMngr2RuntimeApiTest::RunMethodL( CStifItemParser& aItem )
- {
- static TStifFunctionInfo const KFunctions[] =
- {
- ENTRY( "CheckFilesExist", CAppMngr2RuntimeApiTest::CheckFilesExistL ),
- ENTRY( "LoadAllPlugins", CAppMngr2RuntimeApiTest::LoadAllPluginsL ),
- ENTRY( "LoadPlugin", CAppMngr2RuntimeApiTest::LoadPluginL ),
- ENTRY( "CheckPluginsLoaded", CAppMngr2RuntimeApiTest::CheckPluginsLoadedL ),
- ENTRY( "LoadIcons", CAppMngr2RuntimeApiTest::LoadIconsL ),
- ENTRY( "GetAdditionalDirsToScan", CAppMngr2RuntimeApiTest::GetAdditionalDirsToScanL ),
- ENTRY( "GetInstallationFiles", CAppMngr2RuntimeApiTest::GetInstallationFilesL ),
- ENTRY( "CheckInstallationFiles", CAppMngr2RuntimeApiTest::CheckInstallationFilesL ),
- ENTRY( "ShowInstallationFileDetails", CAppMngr2RuntimeApiTest::ShowInstallationFileDetailsL ),
- ENTRY( "CheckShowDetailsEnded", CAppMngr2RuntimeApiTest::CheckShowDetailsEndedL ),
- ENTRY( "CheckNoInstallationFiles", CAppMngr2RuntimeApiTest::CheckNoInstallationFilesL ),
- ENTRY( "StartInstallFile", CAppMngr2RuntimeApiTest::StartInstallFileL ),
- ENTRY( "CheckInstallEnded", CAppMngr2RuntimeApiTest::CheckInstallEndedL ),
- ENTRY( "GetInstalledApps", CAppMngr2RuntimeApiTest::GetInstalledAppsL ),
- ENTRY( "CheckAppInstalled", CAppMngr2RuntimeApiTest::CheckAppInstalledL ),
- ENTRY( "ShowInstalledDetails", CAppMngr2RuntimeApiTest::ShowInstalledDetailsL ),
- ENTRY( "CheckNoAppsInstalled", CAppMngr2RuntimeApiTest::CheckNoAppsInstalledL ),
- ENTRY( "StartUninstallApp", CAppMngr2RuntimeApiTest::StartUninstallAppL ),
- ENTRY( "CheckUninstallEnded", CAppMngr2RuntimeApiTest::CheckUninstallEndedL )
- };
-
- const TInt count = sizeof( KFunctions ) / sizeof( TStifFunctionInfo );
- return RunInternalL( KFunctions, count, aItem );
- }
-
-// -----------------------------------------------------------------------------
-// CAppMngr2RuntimeApiTest::RefreshInstalledApps()
-// -----------------------------------------------------------------------------
-//
-void CAppMngr2RuntimeApiTest::RefreshInstalledApps()
- {
- _LIT( KFunctionName, "RefreshInstalledApps()" );
- Print( KFunctionName );
- }
-
-// -----------------------------------------------------------------------------
-// CAppMngr2RuntimeApiTest::RefreshInstallationFiles()
-// -----------------------------------------------------------------------------
-//
-void CAppMngr2RuntimeApiTest::RefreshInstallationFiles()
- {
- _LIT( KFunctionName, "RefreshInstallationFiles()" );
- Print( KFunctionName );
- }
-
-// -----------------------------------------------------------------------------
-// CAppMngr2RuntimeApiTest::CommandResult()
-// -----------------------------------------------------------------------------
-//
-void CAppMngr2RuntimeApiTest::CommandResult( CAppMngr2TestCommand& aCommand,
- TInt aCompletionCode )
- {
- _LIT( KCommandResultFormat, "async command completed (%S), result %d" );
- if( &aCommand == iInstallCommand )
- {
- _LIT( KCommandName, "install" );
- Print( KCommandResultFormat, &KCommandName, aCompletionCode );
- }
- else if( &aCommand == iUninstallCommand )
- {
- _LIT( KCommandName, "uninstall" );
- Print( KCommandResultFormat, &KCommandName, aCompletionCode );
- }
- else
- {
- _LIT( KCommandName, "UNKNOWN" );
- Print( KCommandResultFormat, &KCommandName, aCompletionCode );
- }
- Signal(); // releases "waittestclass" command in cfg file
- }
-
-// -----------------------------------------------------------------------------
-// CAppMngr2RuntimeApiTest::CAppMngr2RuntimeApiTest()
-// -----------------------------------------------------------------------------
-//
-CAppMngr2RuntimeApiTest::CAppMngr2RuntimeApiTest( CTestModuleIf& aTestModuleIf )
- : CScriptBase( aTestModuleIf )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CAppMngr2RuntimeApiTest::ConstructL()
-// -----------------------------------------------------------------------------
-//
-void CAppMngr2RuntimeApiTest::ConstructL()
- {
- // Logger settings define if test case name must be appended to log file name
- RSettingServer settingServer;
- User::LeaveIfError( settingServer.Connect() );
- CleanupClosePushL( settingServer );
- TLoggerSettings loggerSettings;
- User::LeaveIfError( settingServer.GetLoggerSettings( loggerSettings ) );
- CleanupStack::PopAndDestroy( &settingServer );
-
- User::LeaveIfError( iFs.Connect() );
-
- TFileName logFileName;
- if( loggerSettings.iAddTestCaseTitle )
- {
- TName title;
- TestModuleIf().GetTestCaseTitleL( title );
- logFileName.Format( KAppMngr2RuntimeApiTestLogFileWithTitle, &title );
- }
- else
- {
- logFileName.Copy( KAppMngr2RuntimeApiTestLogFile );
- }
-
- iLog = CStifLogger::NewL( KAppMngr2RuntimeApiTestLogPath, logFileName,
- CStifLogger::ETxt, CStifLogger::EFile, EFalse );
-
- SendTestClassVersion();
-
- _LIT( KRuntimeApiTest, "CAppMngr2RuntimeApiTest::ConstructL()" );
- Print( KTestStartFormat, &KRuntimeApiTest );
-
- // Ensure that CCoeEnv exists, RuntimeAPI needs it
- CCoeEnv* coeEnv = CCoeEnv::Static();
- _LIT( KRuntimeApiTestCoeEnvFormat, "%S: coeEnv = 0x%08x");
- Print( KRuntimeApiTestCoeEnvFormat, &KRuntimeApiTest, coeEnv );
- User::LeaveIfNull( coeEnv );
-
- // Load resource files used by AppMngr2 Runtime API and plug-ins
- TFileName* fullName = TAppMngr2DriveUtils::NearestResourceFileLC(
- KSWInstCommonUIResourceFileName, iFs );
- _LIT( KRuntimeApiTestResourceFileFormat, "%S: resource file %S");
- Print( KRuntimeApiTestResourceFileFormat, &KRuntimeApiTest, fullName );
- iSWInstCommonResourceFileOffset = coeEnv->AddResourceFileL( *fullName );
- CleanupStack::PopAndDestroy( fullName );
-
- fullName = new (ELeave) TFileName;
- CleanupStack::PushL( fullName );
- fullName->Format( KAppRscFormat, &KDC_APP_RESOURCE_DIR, &KAppMngr2UIResourceFileName );
- BaflUtils::NearestLanguageFile( iFs, *fullName );
- Print( KRuntimeApiTestResourceFileFormat, &KRuntimeApiTest, fullName );
- iAppMngr2ResourceFileOffset = coeEnv->AddResourceFileL( *fullName );
- CleanupStack::PopAndDestroy( fullName );
-
- _LIT( KCompleteFormat, "%S: complete");
- Print( KCompleteFormat, &KRuntimeApiTest );
- }
-
-//-----------------------------------------------------------------------------
-// CAppMngr2RuntimeApiTest::SendTestClassVersion()
-//-----------------------------------------------------------------------------
-//
-void CAppMngr2RuntimeApiTest::SendTestClassVersion()
- {
- TVersion moduleVersion;
- moduleVersion.iMajor = TEST_CLASS_VERSION_MAJOR;
- moduleVersion.iMinor = TEST_CLASS_VERSION_MINOR;
- moduleVersion.iBuild = TEST_CLASS_VERSION_BUILD;
-
- TFileName moduleName;
- moduleName = KAppMngr2RuntimeApiTestModuleName;
-
- TBool newVersionOfMethod = ETrue;
- TestModuleIf().SendTestModuleVersion( moduleVersion, moduleName, newVersionOfMethod );
- }
-
-// -----------------------------------------------------------------------------
-// CAppMngr2RuntimeApiTest::Print()
-// -----------------------------------------------------------------------------
-//
-void CAppMngr2RuntimeApiTest::Print( TRefByValue<const TDesC> aFmt, ... )
- {
- VA_LIST list;
- VA_START( list, aFmt );
- TBuf<KMaxLineLength> buf;
- buf.FormatList( aFmt, list );
- TestModuleIf().Printf( 0, KAppMngr2Tag, buf );
- iLog->Log( buf );
- }
-
-// -----------------------------------------------------------------------------
-// CAppMngr2RuntimeApiTest::GetUidFromStringL()
-// -----------------------------------------------------------------------------
-//
-void CAppMngr2RuntimeApiTest::GetUidFromStringL( const TDesC& aString, TUid& aUid )
- {
- TUint32 uidValue;
- TLex lex( aString );
- User::LeaveIfError( lex.Val( uidValue, EHex ) );
- aUid.iUid = uidValue;
- }
-
-// -----------------------------------------------------------------------------
-// CAppMngr2RuntimeApiTest::FindInstallationPackage()
-// -----------------------------------------------------------------------------
-//
-CAppMngr2PackageInfo* CAppMngr2RuntimeApiTest::FindInstallationPackage(
- const TDesC& aName )
- {
- TInt count = iInstallationPackages.Count();
- for( TInt index = 0; index < count; index++ )
- {
- if( iInstallationPackages[ index ]->Name().CompareC( aName ) == 0 )
- {
- return iInstallationPackages[ index ];
- }
- }
- return NULL;
- }
-
-// -----------------------------------------------------------------------------
-// CAppMngr2RuntimeApiTest::FindInstalledApp()
-// -----------------------------------------------------------------------------
-//
-CAppMngr2AppInfo* CAppMngr2RuntimeApiTest::FindInstalledApp(
- const TDesC& aName )
- {
- TInt count = iInstalledApps.Count();
- for( TInt index = 0; index < count; index++ )
- {
- if( iInstalledApps[ index ]->Name().CompareC( aName ) == 0 )
- {
- return iInstalledApps[ index ];
- }
- }
- return NULL;
- }
-
-// -----------------------------------------------------------------------------
-// CAppMngr2RuntimeApiTest::CallInfoBaseFunctionsL()
-// -----------------------------------------------------------------------------
-//
-void CAppMngr2RuntimeApiTest::CallInfoBaseFunctionsL( CAppMngr2InfoBase& aInfo,
- const TDesC& aTestName )
- {
- // Call CAppMngr2InfoBase and CAppMngr2Runtime members to get better code coverage.
- CAppMngr2Runtime& runtime( aInfo.Runtime() );
- MAppMngr2RuntimeObserver& runtimeObserver( runtime.Observer() );
- TInt testResult = KErrNone;
-
- RPointerArray<CEikMenuPaneItem::SData> menuPaneData;
- CleanupResetAndDestroyPushL( menuPaneData );
- TRAP( testResult, aInfo.GetMenuItemsL( menuPaneData ) );
- _LIT( KGetMenuItemsFormat, "%S: GetMenuItemsL, count %d, result %d" );
- Print( KGetMenuItemsFormat, &aTestName, menuPaneData.Count(), testResult );
- User::LeaveIfError( testResult );
- CleanupStack::PopAndDestroy( &menuPaneData );
-
- TBool isDetailsSupported = aInfo.SupportsGenericCommand( EAppMngr2CmdViewDetails );
- _LIT( KIsDetailsSupportedFormat, "%S: SupportsGenericCommand returned %d" );
- Print( KIsDetailsSupportedFormat, &aTestName, isDetailsSupported );
-
- TInt resourceId;
- TInt commandId;
- TRAP( testResult, aInfo.GetMiddleSoftkeyCommandL( resourceId, commandId ) );
- _LIT( KGetMiddleSoftkeyCmdFormat, "%S: GetMiddleSoftkeyCommandL, result %d" );
- Print( KGetMiddleSoftkeyCmdFormat, &aTestName, testResult );
- User::LeaveIfError( testResult );
-
- TBool isShowOnTop = aInfo.IsShowOnTop();
- _LIT( KIsShowOnTopFormat, "%S: IsShowOnTop returned %d" );
- Print( KIsShowOnTopFormat, &aTestName, isShowOnTop );
-
- TInt iconIndex = aInfo.IconIndex();
- _LIT( KIconIndexFormat, "%S: IconIndex returned %d" );
- Print( KIconIndexFormat, &aTestName, iconIndex );
-
- CGulIcon* icon = NULL;
- TRAP( testResult, icon = aInfo.SpecificIconL() );
- delete icon;
- icon = NULL;
- _LIT( KSpecificIconFormat, "%S: SpecificIcon, result %d" );
- Print( KSpecificIconFormat, &aTestName, testResult );
- if( testResult != KErrNone && testResult != KErrNotSupported )
- {
- User::Leave( testResult );
- }
-
- TInt indIconIndex = aInfo.IndicatorIconIndex();
- _LIT( KIndIconIndexFormat, "%S: IndicatorIconIndex returned %d" );
- Print( KIndIconIndexFormat, &aTestName, indIconIndex );
-
- TRAP( testResult, icon = aInfo.SpecificIndicatorIconL() );
- delete icon;
- icon = NULL;
- _LIT( KSpecificIndIconFormat, "%S: SpecificIndicatorIcon, result %d" );
- Print( KSpecificIndIconFormat, &aTestName, testResult );
- if( testResult != KErrNone && testResult != KErrNotSupported )
- {
- User::Leave( testResult );
- }
-
- TAppMngr2Location location = aInfo.Location();
- _LIT( KLocationFormat, "%S: Location returned %d" );
- Print( KLocationFormat, &aTestName, location );
-
- TDriveUnit driveUnit = aInfo.LocationDrive();
- _LIT( KLocationDriveFormat, "%S: LocationDrive returned %S" );
- TDriveName driveName( driveUnit.Name() );
- Print( KLocationDriveFormat, &aTestName, &driveName );
- }
-
-// -----------------------------------------------------------------------------
-// CAppMngr2RuntimeApiTest::CheckFilesExistL()
-// -----------------------------------------------------------------------------
-//
-TInt CAppMngr2RuntimeApiTest::CheckFilesExistL( CStifItemParser& aItem )
- {
- _LIT( KTestName, "CheckFilesExist" );
- Print( KTestStartFormat, &KTestName );
- TInt testResult = KErrNone;
-
- TPtrC dirName;
- User::LeaveIfError( aItem.GetNextString( dirName ) );
-
- TPtrC fileName;
- while( aItem.GetNextString( fileName ) == KErrNone )
- {
- TParse parse;
- User::LeaveIfError( parse.SetNoWild( fileName, &dirName, NULL ) );
- TPtrC fullName = parse.FullName();
- TEntry entry;
- testResult = iFs.Entry( fullName, entry );
- Print( KResultFormat, &KTestName, &fileName, testResult );
- }
-
- Print( KTestDoneFormat, &KTestName, testResult );
- return testResult;
- }
-
-// -----------------------------------------------------------------------------
-// CAppMngr2RuntimeApiTest::LoadAllPluginsL()
-// -----------------------------------------------------------------------------
-//
-TInt CAppMngr2RuntimeApiTest::LoadAllPluginsL( CStifItemParser& /*aItem*/ )
- {
- _LIT( KTestName, "LoadAllPlugins" );
- Print( KTestStartFormat, &KTestName );
- TInt testResult = KErrNone;
- iPlugins.ResetAndDestroy();
-
- RImplInfoPtrArray implInfoArray;
- CleanupResetAndDestroyPushL( implInfoArray );
- REComSession::ListImplementationsL( KAppMngr2PluginInterface, implInfoArray );
-
- TInt count = implInfoArray.Count();
- _LIT( KPluginCountFormat, "%S: %d plugins found" );
- Print( KPluginCountFormat, &KTestName, count );
-
- for( TInt index = 0; index < count; index++ )
- {
- CImplementationInformation* implInfo = implInfoArray[ index ];
- CAppMngr2Runtime* plugin = NULL;
- TPtrC pluginName = implInfo->DisplayName();
- TUid pluginUid = implInfo->ImplementationUid();
- TRAP( testResult, plugin = CAppMngr2Runtime::NewL( pluginUid, *this ) );
- _LIT( KLoadingFormat, "%S: index %d, loading %S (0x%08x), result %d" );
- Print( KLoadingFormat, &KTestName, index, &pluginName, pluginUid.iUid, testResult );
- if( testResult == KErrNone )
- {
- CleanupStack::PushL( plugin );
- iPlugins.AppendL( plugin );
- CleanupStack::Pop( plugin );
- }
- }
-
- CleanupStack::PopAndDestroy( &implInfoArray );
- REComSession::FinalClose();
-
- Print( KTestDoneFormat, &KTestName, testResult );
- return testResult;
- }
-
-// -----------------------------------------------------------------------------
-// CAppMngr2RuntimeApiTest::LoadPluginL()
-// -----------------------------------------------------------------------------
-//
-TInt CAppMngr2RuntimeApiTest::LoadPluginL( CStifItemParser& aItem )
- {
- _LIT( KTestName, "LoadPlugin" );
- Print( KTestStartFormat, &KTestName );
- TInt testResult = KErrNone;
-
- TPtrC string;
- User::LeaveIfError( aItem.GetNextString ( string ) );
- TUid uid;
- GetUidFromStringL( string, uid );
- _LIT( KPluginCountFormat, "%S: plugin UID 0x%08x" );
- Print( KPluginCountFormat, &KTestName, uid.iUid );
-
- RImplInfoPtrArray implInfoArray;
- CleanupResetAndDestroyPushL( implInfoArray );
- REComSession::ListImplementationsL( KAppMngr2PluginInterface, implInfoArray );
-
- CImplementationInformation* implInfo;
- TInt count = implInfoArray.Count();
- TBool found = EFalse;
- for( TInt index = 0; index < count && !found; index++ )
- {
- implInfo = implInfoArray[ index ];
- if( implInfo->ImplementationUid() == uid )
- {
- CAppMngr2Runtime* plugin = NULL;
- found = ETrue;
-
- _LIT( KLoadingFormat, "%S: loading %S" );
- Print( KLoadingFormat, &KTestName, &( implInfo->DisplayName() ) );
- TRAP( testResult, plugin = CAppMngr2Runtime::NewL(
- implInfo->ImplementationUid(), *this ) );
- if( testResult == KErrNone )
- {
- CleanupStack::PushL( plugin );
- iPlugins.AppendL( plugin );
- CleanupStack::Pop( plugin );
- }
- }
- }
- if( !found )
- {
- _LIT( KPluginNotFound, "%S: plugin not found" );
- Print( KPluginNotFound, &KTestName );
- testResult = KErrNotFound;
- }
-
- CleanupStack::PopAndDestroy( &implInfoArray );
- REComSession::FinalClose();
-
- Print( KTestDoneFormat, &KTestName, testResult );
- return testResult;
- }
-
-// -----------------------------------------------------------------------------
-// CAppMngr2RuntimeApiTest::CheckPluginsLoadedL()
-// -----------------------------------------------------------------------------
-//
-TInt CAppMngr2RuntimeApiTest::CheckPluginsLoadedL( CStifItemParser& aItem )
- {
- _LIT( KTestName, "CheckPluginsLoaded" );
- Print( KTestStartFormat, &KTestName );
- TInt testResult = KErrNone;
-
- TPtrC pluginUidString;
- while( aItem.GetNextString( pluginUidString ) == KErrNone )
- {
- TUid uid;
- GetUidFromStringL( pluginUidString, uid );
-
- TBool found = EFalse;
- for( TInt index = 0; index < iPlugins.Count() && !found; index++ )
- {
- found = ( iPlugins[ index ]->RuntimeUid() == uid );
- }
-
- _LIT( KCheckPluginsLoadedFormat, "%S: 0x%08x, result %d" );
- Print( KCheckPluginsLoadedFormat, &KTestName, uid.iUid, found );
- if( !found )
- {
- testResult = KErrNotFound;
- }
- }
-
- Print( KTestDoneFormat, &KTestName, testResult );
- return testResult;
- }
-
-// -----------------------------------------------------------------------------
-// CAppMngr2RuntimeApiTest::LoadIconsL()
-// -----------------------------------------------------------------------------
-//
-TInt CAppMngr2RuntimeApiTest::LoadIconsL( CStifItemParser& /*aItem*/ )
- {
- _LIT( KTestName, "LoadIcons" );
- Print( KTestStartFormat, &KTestName );
- TInt testResult = KErrNone;
-
- for( TInt pluginIndex = 0; pluginIndex < iPlugins.Count(); pluginIndex++ )
- {
- CAppMngr2Runtime* plugin = iPlugins[ pluginIndex ];
- TInt pluginId = plugin->RuntimeUid().iUid;
-
- CAknIconArray* iconArray = new (ELeave) CAknIconArray( KGranularity );
- CleanupStack::PushL( iconArray );
- TRAP( testResult, plugin->LoadIconsL( *iconArray ) );
- _LIT( KLoadIconsFormat, "%S: plugin 0x%08x, icons count %d, error %d" );
- Print( KLoadIconsFormat, &KTestName, pluginId, iconArray->Count(), testResult );
- CleanupStack::PopAndDestroy( iconArray );
- }
-
- Print( KTestDoneFormat, &KTestName, testResult );
- return testResult;
- }
-
-// -----------------------------------------------------------------------------
-// CAppMngr2RuntimeApiTest::GetAdditionalDirsToScanL()
-// -----------------------------------------------------------------------------
-//
-TInt CAppMngr2RuntimeApiTest::GetAdditionalDirsToScanL( CStifItemParser& /*aItem*/ )
- {
- _LIT( KTestName, "GetAdditionalDirsToScan" );
- Print( KTestStartFormat, &KTestName );
- TInt testResult = KErrNone;
-
- for( TInt pluginIndex = 0; pluginIndex < iPlugins.Count(); pluginIndex++ )
- {
- CAppMngr2Runtime* plugin = iPlugins[ pluginIndex ];
- TInt pluginId = plugin->RuntimeUid().iUid;
-
- RPointerArray<HBufC> dirs;
- CleanupResetAndDestroyPushL( dirs );
- TRAP( testResult, plugin->GetAdditionalDirsToScanL( iFs, dirs ) );
- _LIT( KDirsToScanFormat, "%S: plugin 0x%08x, additional dirs, count %d, error %d" );
- Print( KDirsToScanFormat, &KTestName, pluginId, dirs.Count(), testResult );
- if( testResult == KErrNone )
- {
- for( TInt dirIndex = 0; dirIndex < dirs.Count(); dirIndex++ )
- {
- _LIT( KScanDirFormat, "%S: plugin 0x%08x, dir %S" );
- Print( KScanDirFormat, &KTestName, pluginId, dirs[ dirIndex ] );
- }
- }
- CleanupStack::PopAndDestroy( &dirs );
- }
-
- Print( KTestDoneFormat, &KTestName, testResult );
- return testResult;
- }
-
-// -----------------------------------------------------------------------------
-// CAppMngr2RuntimeApiTest::GetInstallationFilesL()
-// -----------------------------------------------------------------------------
-//
-TInt CAppMngr2RuntimeApiTest::GetInstallationFilesL( CStifItemParser& aItem )
- {
- _LIT( KTestName, "GetInstallationFiles" );
- Print( KTestStartFormat, &KTestName );
- TInt testResult = KErrNone;
- iInstallationPackages.ResetAndDestroy();
-
- TPtrC dirName;
- User::LeaveIfError( aItem.GetNextString( dirName ) );
- _LIT( KParameterFormat, "%S: dir %S" );
- Print( KParameterFormat, &KTestName, &dirName );
-
- RPointerArray<CAppMngr2RecognizedFile> fileArray;
- CleanupResetAndDestroyPushL( fileArray );
-
- // recognize files in given directory
- CDir* dir = NULL;
- User::LeaveIfError( iFs.GetDir( dirName, KEntryAttNormal, ESortNone, dir ) );
- CleanupStack::PushL( dir );
- TInt dirCount = dir->Count();
- for( TInt dirIndex = 0; dirIndex < dirCount; dirIndex++ )
- {
- const TChar KBackslash = '\\';
- const TInt KBackslashLen = 1;
-
- const TEntry& file = ( *dir )[ dirIndex ];
-
- // full file name
- HBufC* fullName = HBufC::NewLC( dirName.Length() + KBackslashLen + file.iName.Length() );
- TPtr namePtr( fullName->Des() );
- namePtr.Copy( dirName );
- if( dirName.LocateReverse( KBackslash ) != ( dirName.Length() - 1 ) )
- {
- namePtr.Append( KBackslash );
- }
- namePtr.Append( file.iName );
-
- // data type
- HBufC* mimeType = HBufC::NewLC( KMaxDataTypeLength );
- ContentAccess::CContent* content = ContentAccess::CContent::NewLC( *fullName,
- ContentAccess::EContentShareReadWrite );
- TPtr mimePtr( mimeType->Des() );
- content->GetStringAttribute( ContentAccess::EMimeType, mimePtr );
-
- _LIT( KFileTypeFormat, "%S: file %S, type %S" );
- Print( KFileTypeFormat, &KTestName, fullName, mimeType );
-
- // create new recognized file
- CAppMngr2RecognizedFile* recFile = CAppMngr2RecognizedFile::NewL( fullName, mimeType );
- CleanupStack::PopAndDestroy( content );
- CleanupStack::Pop( 2, fullName ); // mimeType and fullName now owned by recFile
-
- // append it into array
- CleanupStack::PushL( recFile );
- fileArray.AppendL( recFile );
- CleanupStack::Pop( recFile );
- }
- CleanupStack::PopAndDestroy( dir );
- dir = NULL;
-
- for( TInt pluginIndex = 0; pluginIndex < iPlugins.Count(); pluginIndex++ )
- {
- CAppMngr2Runtime* plugin = iPlugins[ pluginIndex ];
- TInt pluginId = plugin->RuntimeUid().iUid;
-
- CDataTypeArray* dataTypeArray = new (ELeave) CDataTypeArray( KGranularity );
- CleanupStack::PushL( dataTypeArray );
- TRAP( testResult, plugin->GetSupportedDataTypesL( *dataTypeArray ) );
- _LIT( KSuppDataTypeFormat, "%S: plugin 0x%08x, data type count %d, error %d" );
- Print( KSuppDataTypeFormat, &KTestName, pluginId, dataTypeArray->Count(), testResult );
- if( testResult == KErrNone )
- {
- // copy those recognized files that matches plugin data types in pluginFiles
- RPointerArray<CAppMngr2RecognizedFile> pluginFiles;
- CleanupResetAndDestroyPushL( pluginFiles );
- for( TInt dataTypeIndex = 0; dataTypeIndex < dataTypeArray->Count(); dataTypeIndex++ )
- {
- for( TInt fileIndex = 0; fileIndex < fileArray.Count(); fileIndex++ )
- {
- if( fileArray[ fileIndex ]->DataType() == (*dataTypeArray)[ dataTypeIndex ] )
- {
- _LIT( KPluginGetsFileFormat, "%S: plugin 0x%08x, matching file %S" );
- Print( KPluginGetsFileFormat, &KTestName, pluginId,
- &( fileArray[ fileIndex ]->FileName() ) );
-
- CAppMngr2RecognizedFile* recFile = CAppMngr2RecognizedFile::NewL(
- fileArray[ fileIndex ]->FileName(),
- fileArray[ fileIndex ]->DataType() );
- CleanupStack::PushL( recFile );
- pluginFiles.Append( recFile );
- CleanupStack::Pop( recFile );
- }
- }
- }
- _LIT( KPluginFilesFormat, "%S: plugin 0x%08x, total %d files" );
- Print( KPluginFilesFormat, &KTestName, pluginId, pluginFiles.Count() );
-
- // get installation files from plugin
- RPointerArray<CAppMngr2PackageInfo> packageArray;
- CleanupResetAndDestroyPushL( packageArray );
- TRequestStatus status;
- TRAP( testResult, plugin->GetInstallationFilesL( packageArray, pluginFiles, iFs, status ) );
- _LIT( KInstFilesReqFormat, "%S: plugin 0x%08x, inst files req, error %d, status %d" );
- Print( KInstFilesReqFormat, &KTestName, pluginId, testResult, status.Int() );
- if( testResult == KErrNone )
- {
- User::WaitForRequest( status );
- _LIT( KInstFilesCompleteFormat, "%S: plugin 0x%08x, package count %d, status %d" );
- Print( KInstFilesCompleteFormat, &KTestName, pluginId, packageArray.Count(),
- status.Int() );
-
- // move items to iInstallationPackages array
- for( TInt i = packageArray.Count() - 1; i >= 0; i-- )
- {
- CAppMngr2PackageInfo* packageInfo = packageArray[ i ];
- packageArray.Remove( i );
- CleanupStack::PushL( packageInfo );
- iInstallationPackages.AppendL( packageInfo );
- CleanupStack::Pop( packageInfo );
- }
- _LIT( KTotalInstFileCountFormat, "%S: total package count %d" );
- Print( KTotalInstFileCountFormat, &KTestName, iInstallationPackages.Count() );
-
- if( status.Int() )
- {
- testResult = status.Int();
- }
- }
-
- CleanupStack::PopAndDestroy( &packageArray );
- CleanupStack::PopAndDestroy( &pluginFiles );
- }
-
- CleanupStack::PopAndDestroy( dataTypeArray );
- }
-
- CleanupStack::PopAndDestroy( &fileArray );
-
- Print( KTestDoneFormat, &KTestName, testResult );
- return testResult;
- }
-
-// -----------------------------------------------------------------------------
-// CAppMngr2RuntimeApiTest::CheckInstallationFilesL()
-// -----------------------------------------------------------------------------
-//
-TInt CAppMngr2RuntimeApiTest::CheckInstallationFilesL( CStifItemParser& aItem )
- {
- _LIT( KTestName, "CheckInstallationFiles" );
- Print( KTestStartFormat, &KTestName );
- TInt testResult = KErrNone;
-
- TPtrC nameString;
- while( aItem.GetNextString( nameString ) == KErrNone )
- {
- CAppMngr2PackageInfo* info = FindInstallationPackage( nameString );
- TBool found = ( info != NULL );
-
- _LIT( KCheckInstFileFormat, "%S: file %S, result %d" );
- Print( KCheckInstFileFormat, &KTestName, &nameString, found );
- if( found )
- {
- CallInfoBaseFunctionsL( *info, KTestName );
- }
- else
- {
- Print( KNotFoundFormat, &KTestName, &nameString );
- testResult = KErrNotFound;
- }
- }
-
- Print( KTestDoneFormat, &KTestName, testResult );
- return testResult;
- }
-
-// -----------------------------------------------------------------------------
-// CAppMngr2RuntimeApiTest::ShowInstallationFileDetailsL()
-// -----------------------------------------------------------------------------
-//
-TInt CAppMngr2RuntimeApiTest::ShowInstallationFileDetailsL( CStifItemParser& aItem )
- {
- _LIT( KTestName, "ShowInstallationFileDetails" );
- Print( KTestStartFormat, &KTestName );
- TInt testResult = KErrNone;
-
- if( iShowDetailsCommand )
- {
- User::Leave( KErrInUse );
- }
-
- TPtrC nameString;
- while( aItem.GetNextString( nameString ) == KErrNone )
- {
- CAppMngr2PackageInfo* info = FindInstallationPackage( nameString );
- if( info )
- {
- iShowDetailsCommand = CAppMngr2TestCommand::NewL( *info, *this );
- TRAP( testResult, iShowDetailsCommand->HandleCommandL( EAppMngr2CmdViewDetails ) );
- _LIT( KShowInstFileDetailsFormat, "%S: show details request %S, result %d" );
- Print( KShowInstFileDetailsFormat, &KTestName, &nameString, testResult );
- }
- else
- {
- Print( KNotFoundFormat, &KTestName, &nameString );
- testResult = KErrNotFound;
- }
- }
-
- Print( KTestDoneFormat, &KTestName, testResult );
- return testResult;
- }
-
-// -----------------------------------------------------------------------------
-// CAppMngr2RuntimeApiTest::CheckShowDetailsEndedL()
-// -----------------------------------------------------------------------------
-//
-TInt CAppMngr2RuntimeApiTest::CheckShowDetailsEndedL( CStifItemParser& /*aItem*/ )
- {
- _LIT( KTestName, "CheckShowDetailsEnded" );
- Print( KTestStartFormat, &KTestName );
- TInt testResult = KErrNone;
-
- if( !iShowDetailsCommand )
- {
- User::Leave( KErrNotFound );
- }
-
- if( iShowDetailsCommand->IsActive() )
- {
- User::Leave( KErrNotReady );
- }
- testResult = iShowDetailsCommand->iStatus.Int();
- _LIT( KCheckShowDetailsEndedFormat, "%S: show details completed, status %d" );
- Print( KCheckShowDetailsEndedFormat, &KTestName, testResult );
-
- delete iShowDetailsCommand;
- iShowDetailsCommand = NULL;
-
- Print( KTestDoneFormat, &KTestName, testResult );
- return testResult;
- }
-
-// -----------------------------------------------------------------------------
-// CAppMngr2RuntimeApiTest::CheckNoInstallationFilesL()
-// -----------------------------------------------------------------------------
-//
-TInt CAppMngr2RuntimeApiTest::CheckNoInstallationFilesL( CStifItemParser& /*aItem*/ )
- {
- _LIT( KTestName, "CheckNoInstallationFiles" );
- Print( KTestStartFormat, &KTestName );
- TInt testResult = KErrNone;
-
- TInt count = iInstallationPackages.Count();
- if( count != 0 )
- {
- testResult = KErrTooBig;
- }
- _LIT( KInstallationFilesEmptyFormat, "%S: file count %d" );
- Print( KInstallationFilesEmptyFormat, &KTestName, count );
-
- Print( KTestDoneFormat, &KTestName, testResult );
- return testResult;
- }
-
-// -----------------------------------------------------------------------------
-// CAppMngr2RuntimeApiTest::StartInstallFileL()
-// -----------------------------------------------------------------------------
-//
-TInt CAppMngr2RuntimeApiTest::StartInstallFileL( CStifItemParser& aItem )
- {
- _LIT( KTestName, "StartInstallFile" );
- Print( KTestStartFormat, &KTestName );
- TInt testResult = KErrNone;
-
- if( iInstallCommand )
- {
- User::Leave( KErrInUse );
- }
-
- TPtrC nameString;
- while( aItem.GetNextString( nameString ) == KErrNone )
- {
- CAppMngr2PackageInfo* info = FindInstallationPackage( nameString );
- if( info )
- {
- iInstallCommand = CAppMngr2TestCommand::NewL( *info, *this );
- TRAP( testResult, iInstallCommand->HandleCommandL( EAppMngr2CmdInstall ) );
- _LIT( KInstallFileFormat, "%S: install request %S, result %d" );
- Print( KInstallFileFormat, &KTestName, &nameString, testResult );
- }
- else
- {
- Print( KNotFoundFormat, &KTestName, &nameString );
- testResult = KErrNotFound;
- }
- }
-
- Print( KTestDoneFormat, &KTestName, testResult );
- return testResult;
- }
-
-// -----------------------------------------------------------------------------
-// CAppMngr2RuntimeApiTest::CheckInstallEndedL()
-// -----------------------------------------------------------------------------
-//
-TInt CAppMngr2RuntimeApiTest::CheckInstallEndedL( CStifItemParser& /*aItem*/ )
- {
- _LIT( KTestName, "CheckInstallEnded" );
- Print( KTestStartFormat, &KTestName );
- TInt testResult = KErrNone;
-
- if( !iInstallCommand )
- {
- User::Leave( KErrNotFound );
- }
-
- if( iInstallCommand->IsActive() )
- {
- User::Leave( KErrNotReady );
- }
- testResult = iInstallCommand->iStatus.Int();
- _LIT( KCheckInstallEndedFormat, "%S: install completed, status %d" );
- Print( KCheckInstallEndedFormat, &KTestName, testResult );
-
- delete iInstallCommand;
- iInstallCommand = NULL;
-
- Print( KTestDoneFormat, &KTestName, testResult );
- return testResult;
- }
-
-// -----------------------------------------------------------------------------
-// CAppMngr2RuntimeApiTest::GetInstalledAppsL()
-// -----------------------------------------------------------------------------
-//
-TInt CAppMngr2RuntimeApiTest::GetInstalledAppsL( CStifItemParser& /*aItem*/ )
- {
- _LIT( KTestName, "GetInstalledApps" );
- Print( KTestStartFormat, &KTestName );
- TInt testResult = KErrNone;
- iInstalledApps.ResetAndDestroy();
-
- TInt count = iPlugins.Count();
- for( TInt index = 0; index < count; index++ )
- {
- CAppMngr2Runtime* plugin = iPlugins[ index ];
- TInt pluginId = plugin->RuntimeUid().iUid;
-
- RPointerArray<CAppMngr2AppInfo> appArray;
- CleanupResetAndDestroyPushL( appArray );
-
- TRequestStatus status;
- TRAP( testResult, plugin->GetInstalledAppsL( appArray, iFs, status ) );
- _LIT( KRequestedFormat, "%S: plugin 0x%08x, apps requested, error %d, status %d" );
- Print( KRequestedFormat, &KTestName, pluginId, testResult, status.Int() );
- if( testResult == KErrNone )
- {
- User::WaitForRequest( status );
- _LIT( KLoadedFormat, "%S: plugin 0x%08x, apps count %d, status %d" );
- TInt count = appArray.Count();
- Print( KLoadedFormat, &KTestName, pluginId, count, status.Int() );
-
- // move items to iInstalledApps array
- for( TInt i = count - 1; i >= 0; i-- )
- {
- CAppMngr2AppInfo* appInfo = appArray[ i ];
- appArray.Remove( i );
- CleanupStack::PushL( appInfo );
- iInstalledApps.AppendL( appInfo );
- CleanupStack::Pop( appInfo );
- }
- _LIT( KTotalInstAppCountFormat, "%S: total installed apps count %d" );
- Print( KTotalInstAppCountFormat, &KTestName, iInstalledApps.Count() );
-
- if( status.Int() )
- {
- testResult = status.Int();
- }
- }
-
- CleanupStack::PopAndDestroy( &appArray );
- }
-
- Print( KTestDoneFormat, &KTestName, testResult );
- return testResult;
- }
-
-// -----------------------------------------------------------------------------
-// CAppMngr2RuntimeApiTest::CheckAppInstalledL()
-// -----------------------------------------------------------------------------
-//
-TInt CAppMngr2RuntimeApiTest::CheckAppInstalledL( CStifItemParser& aItem )
- {
- _LIT( KTestName, "CheckAppInstalled" );
- Print( KTestStartFormat, &KTestName );
- TInt testResult = KErrNone;
-
- TPtrC nameString;
- while( aItem.GetNextString( nameString ) == KErrNone )
- {
- CAppMngr2AppInfo* info = FindInstalledApp( nameString );
- TBool found = ( info != NULL );
-
- Print( KResultFormat, &KTestName, &nameString, found );
- if( found )
- {
- CallInfoBaseFunctionsL( *info, KTestName );
- }
- else
- {
- Print( KNotFoundFormat, &KTestName, &nameString );
- testResult = KErrNotFound;
- }
- }
-
- Print( KTestDoneFormat, &KTestName, testResult );
- return testResult;
- }
-
-// -----------------------------------------------------------------------------
-// CAppMngr2RuntimeApiTest::ShowInstalledDetailsL()
-// -----------------------------------------------------------------------------
-//
-TInt CAppMngr2RuntimeApiTest::ShowInstalledDetailsL( CStifItemParser& aItem )
- {
- _LIT( KTestName, "ShowInstalledDetails" );
- Print( KTestStartFormat, &KTestName );
- TInt testResult = KErrNone;
-
- if( iShowDetailsCommand )
- {
- User::Leave( KErrInUse );
- }
-
- TPtrC nameString;
- while( aItem.GetNextString( nameString ) == KErrNone )
- {
- CAppMngr2AppInfo* info = FindInstalledApp( nameString );
- if( info )
- {
- iShowDetailsCommand = CAppMngr2TestCommand::NewL( *info, *this );
- TRAP( testResult, iShowDetailsCommand->HandleCommandL( EAppMngr2CmdViewDetails ) );
- _LIT( KShowInstalledDetailsFormat, "%S: show details request %S, result %d" );
- Print( KShowInstalledDetailsFormat, &KTestName, &nameString, testResult );
- }
- else
- {
- Print( KNotFoundFormat, &KTestName, &nameString );
- testResult = KErrNotFound;
- }
- }
-
- Print( KTestDoneFormat, &KTestName, testResult );
- return testResult;
- }
-
-// -----------------------------------------------------------------------------
-// CAppMngr2RuntimeApiTest::CheckNoAppsInstalledL()
-// -----------------------------------------------------------------------------
-//
-TInt CAppMngr2RuntimeApiTest::CheckNoAppsInstalledL( CStifItemParser& /*aItem*/ )
- {
- _LIT( KTestName, "CheckNoAppsInstalled" );
- Print( KTestStartFormat, &KTestName );
- TInt testResult = KErrNone;
-
- TInt count = iInstalledApps.Count();
- if( count != 0 )
- {
- testResult = KErrTooBig;
- }
- _LIT( KInstalledAppsEmptyFormat, "%S: app count %d" );
- Print( KInstalledAppsEmptyFormat, &KTestName, count );
-
- Print( KTestDoneFormat, &KTestName, testResult );
- return testResult;
- }
-
-// -----------------------------------------------------------------------------
-// CAppMngr2RuntimeApiTest::StartUninstallAppL()
-// -----------------------------------------------------------------------------
-//
-TInt CAppMngr2RuntimeApiTest::StartUninstallAppL( CStifItemParser& aItem )
- {
- _LIT( KTestName, "StartUninstallApp" );
- Print( KTestStartFormat, &KTestName );
- TInt testResult = KErrNone;
-
- if( iUninstallCommand )
- {
- User::Leave( KErrInUse );
- }
-
- TPtrC nameString;
- while( aItem.GetNextString( nameString ) == KErrNone )
- {
- CAppMngr2AppInfo* info = FindInstalledApp( nameString );
- if( info )
- {
- iUninstallCommand = CAppMngr2TestCommand::NewL( *info, *this );
- TRAP( testResult, iUninstallCommand->HandleCommandL( EAppMngr2CmdUninstall ) );
- _LIT( KUninstallAppFormat, "%S: uninstall request %S, result %d" );
- Print( KUninstallAppFormat, &KTestName, &nameString, testResult );
- }
- else
- {
- Print( KNotFoundFormat, &KTestName, &nameString );
- testResult = KErrNotFound;
- }
- }
-
- Print( KTestDoneFormat, &KTestName, testResult );
- return testResult;
- }
-
-// -----------------------------------------------------------------------------
-// CAppMngr2RuntimeApiTest::CheckUninstallEndedL()
-// -----------------------------------------------------------------------------
-//
-TInt CAppMngr2RuntimeApiTest::CheckUninstallEndedL( CStifItemParser& /*aItem*/ )
- {
- _LIT( KTestName, "CheckUninstallEnded" );
- Print( KTestStartFormat, &KTestName );
- TInt testResult = KErrNone;
-
- if( !iUninstallCommand )
- {
- User::Leave( KErrNotFound );
- }
-
- if( iUninstallCommand->IsActive() )
- {
- User::Leave( KErrNotReady );
- }
- testResult = iUninstallCommand->iStatus.Int();
- _LIT( KCheckUninstallEndedFormat, "%S: uninstall completed, status %d" );
- Print( KCheckUninstallEndedFormat, &KTestName, testResult );
-
- delete iUninstallCommand;
- iUninstallCommand = NULL;
-
- Print( KTestDoneFormat, &KTestName, testResult );
- return testResult;
- }
-
--- a/appinstall_plat/appmngr2runtimeapi/tsrc/src/appmngr2runtimeapitestmain.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: AppMngr2 Runtime API STIF test module
-*
-*/
-
-
-#include "appmngr2runtimeapitest.h" // CRuntimeApiTest
-
-
-// ======== GLOBAL FUNCTIONS ========
-
-// -----------------------------------------------------------------------------
-// LibEntryL()
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CScriptBase* LibEntryL( CTestModuleIf& aTestModuleIf )
- {
- return static_cast<CScriptBase*>( CAppMngr2RuntimeApiTest::NewL( aTestModuleIf ) );
- }
-
--- a/appinstall_plat/appmngr2runtimeapi/tsrc/src/appmngr2testcommand.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Async command handling for AppMngr2 Runtime API STIF tests
-*
-*/
-
-
-#include "appmngr2testcommand.h" // CAppMngr2TestCommand
-#include "appmngr2testcommandobserver.h" // MAppMngr2TestCommandObserver
-#include <appmngr2infobase.h> // CAppMngr2InfoBase
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// -----------------------------------------------------------------------------
-// CAppMngr2TestCommand::NewL()
-// -----------------------------------------------------------------------------
-//
-CAppMngr2TestCommand* CAppMngr2TestCommand::NewL( CAppMngr2InfoBase& aInfo,
- MAppMngr2TestCommandObserver& aObs )
- {
- CAppMngr2TestCommand* self = new (ELeave) CAppMngr2TestCommand( aInfo, aObs );
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CAppMngr2TestCommand::~CAppMngr2TestCommand()
-// -----------------------------------------------------------------------------
-//
-CAppMngr2TestCommand::~CAppMngr2TestCommand()
- {
- Cancel();
- }
-
-// -----------------------------------------------------------------------------
-// CAppMngr2TestCommand::DoCancel()
-// -----------------------------------------------------------------------------
-//
-void CAppMngr2TestCommand::DoCancel()
- {
- iInfo.CancelCommand();
- }
-
-// -----------------------------------------------------------------------------
-// CAppMngr2TestCommand::RunL()
-// -----------------------------------------------------------------------------
-//
-void CAppMngr2TestCommand::RunL()
- {
- // no need to trap, as RunError calls CommandResult if RunL leaves
- iInfo.HandleCommandResultL( iStatus.Int() );
- iObs.CommandResult( *this, iStatus.Int() );
- }
-
-// -----------------------------------------------------------------------------
-// CAppMngr2TestCommand::RunError()
-// -----------------------------------------------------------------------------
-//
-TInt CAppMngr2TestCommand::RunError( TInt aError )
- {
- iObs.CommandResult( *this, aError );
- return aError;
- }
-
-// -----------------------------------------------------------------------------
-// CAppMngr2TestCommand::HandleCommandL()
-// -----------------------------------------------------------------------------
-//
-void CAppMngr2TestCommand::HandleCommandL( TInt aCommand )
- {
- if( IsActive() )
- {
- User::Leave( KErrInUse );
- }
- iInfo.HandleCommandL( aCommand, iStatus );
- SetActive();
- }
-
-// -----------------------------------------------------------------------------
-// CAppMngr2TestCommand::CAppMngr2TestOperation()
-// -----------------------------------------------------------------------------
-//
-CAppMngr2TestCommand::CAppMngr2TestCommand( CAppMngr2InfoBase& aInfo,
- MAppMngr2TestCommandObserver& aObs ) :
- CActive( CActive::EPriorityStandard ), iInfo( aInfo ), iObs( aObs )
- {
- CActiveScheduler::Add( this );
- }
-
--- a/appinstall_plat/group/bld.inf Thu Oct 14 14:11:30 2010 +0300
+++ b/appinstall_plat/group/bld.inf Wed Oct 20 14:52:56 2010 +0300
@@ -11,19 +11,22 @@
*
* Contributors:
*
-* Description: Includes all the Domain API specific bld.inf files, which
-* export files.
+* Description: Build info file for application install UI domain APIs
*
*/
#include "../iaupdate_api/group/bld.inf"
-#include "../task_plugin_api/group/bld.inf"
-#include "../sw_installer_common_ui_api/group/bld.inf"
-#include "../sw_installer_launcher_api/group/bld.inf"
-#include "../task_management_api/group/bld.inf"
-#include "../sw_installer_ui_plugin_api/group/bld.inf"
-#include "../sw_installer_cr_keys/group/bld.inf"
+#include "../sw_installer_cr_keys/group/bld.inf" // TODO: remove too?
#include "../sw_installer_ps_keys/group/bld.inf"
#include "../sifui_api/group/bld.inf"
+
+// TODO: deprecated, remove when not used any more
+#include "../task_plugin_api/group/bld.inf"
+#include "../task_management_api/group/bld.inf"
+#include "../sw_installer_common_ui_api/group/bld.inf"
+#include "../sw_installer_launcher_api/group/bld.inf"
+#include "../sw_installer_ui_plugin_api/group/bld.inf"
+
+
--- a/appinstaller/AppMngr2/GSInstFilesPlugin/data/10282d8c.rss Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-/*
-* Copyright (c) 1028 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: ECOM resource file for AppMngr2 Installation Files GS plugin
-*
-*/
-
-
-#include <ecom/registryinfo.rh> // REGISTRY_INFO
-
-RESOURCE REGISTRY_INFO theInfo
- {
- dll_uid = 0x10282D8C;
- interfaces =
- {
- INTERFACE_INFO
- {
- interface_uid = 0x10207236; // KGSPluginInterfaceUid
- implementations =
- {
- IMPLEMENTATION_INFO
- {
- implementation_uid = 0x10282D8D;
- version_no = 1;
- display_name = "AppMngr2 Installation Files";
- default_data = "0x10283321"; // parent plugin
- opaque_data = "20"; // order number
- }
- };
- }
- };
- }
-
--- a/appinstaller/AppMngr2/GSInstFilesPlugin/data/appmngr2gsinstfilespluginrsc.rss Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Resource definitions for AppMngr2 GS Installation Files plugin
-*
-*/
-
-
-NAME AMIF
-
-#include <eikon.rh>
-#include <avkon.rsg>
-#include <avkon.rh>
-#include <avkon.loc>
-#include <data_caging_paths_strings.hrh>
-#include <appinfo.rh>
-#include <AiwCommon.rh>
-#include <appmngrinstfilesplugin.loc>
-
-RESOURCE RSS_SIGNATURE { }
-
-RESOURCE TBUF r_cp_folder_not_installed
- {
- buf = qtn_cp_folder_not_installed;
- }
-
--- a/appinstaller/AppMngr2/GSInstFilesPlugin/inc/appmngr2gsinstfilesplugin.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: AppMngr2 GS Installation Files plugin implementation
-*
-*/
-
-
-#ifndef C_APPMNGR2GSINSTFILESPLUGIN_H
-#define C_APPMNGR2GSINSTFILESPLUGIN_H
-
-#include <gsplugininterface.h> // CGSPluginInterface
-#include <AknServerApp.h> // MAknServerAppExitObserver
-#include <ConeResLoader.h> // RConeResourceLoader
-#include <apadoc.h>
-
-class CAknNullService;
-
-const TInt KAppMngr2InstFilesUidValue = 0x10282D8D;
-const TUid KAppMngr2InstFilesPluginUid = { KAppMngr2InstFilesUidValue };
-
-
-/**
- * CAppMngrInstFilesPlugin launches embedded AppMngr2 application to show
- * Installation Files view. It is an EGSItemTypeSettingDialog type GS plug-in
- * and hence the GS framework calls HandleSelection() instead of DoActivate().
- * CAknView functionality is not supported although the base class is derived
- * from CAknView via CGSPluginInterface.
- */
-class CAppMngr2GsInstFilesPlugin : public CGSPluginInterface,
- public MAknServerAppExitObserver
- {
-public: // constructors and destructor
- static CAppMngr2GsInstFilesPlugin* NewL( TAny* aInitParams );
- ~CAppMngr2GsInstFilesPlugin();
-
-public: // from CGSPluginInterface
- void GetCaptionL( TDes& aCaption ) const;
- void HandleSelection( const TGSSelectionTypes aSelectionType );
- TGSListboxItemTypes ItemType();
- CGulIcon* CreateIconL( const TUid aIconType );
- TInt PluginProviderCategory() const;
-
-public: // from CAknView, via CGSPluginInterface
- TUid Id() const;
-
-protected: // from CAknView, via CGSPluginInterface
- void DoActivateL( const TVwsViewId& aPrevViewId, TUid aCustomMessageId,
- const TDesC8& aCustomMessage );
- void DoDeactivate();
-
-private: // new functions
- CAppMngr2GsInstFilesPlugin();
- void ConstructL();
- void OpenLocalizedResourceFileL( const TDesC& aResourceFileName,
- RConeResourceLoader& aResourceLoader );
- void LaunchAppManagerL();
- void EmbedAppL( const TUid& aAppUid );
-
-protected: // data
- RConeResourceLoader iResources;
- CAknNullService* iNullService;
- CApaDocument* iEmbedded;
- };
-
-#endif // C_APPMNGR2GSINSTFILESPLUGIN_H
-
--- a/appinstaller/AppMngr2/GSInstFilesPlugin/src/appmngr2gsinstfilesplugin.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,242 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: AppMngr2 GS Installation Files plugin implementation
-*
-*/
-
-
-#include "appmngr2gsinstfilesplugin.h" // CAppMngr2GsInstFilesPlugin
-#include "appmngr2internalpskeys.h" // KAppManagerApplicationMode
-#include "appmngr2.hrh" // KAppMngr2AppUidValue
-#include <AknNullService.h> // CAknNullService
-#include <e32property.h> // RProperty
-#include <StringLoader.h> // StringLoader
-#include <bautils.h> // BaflUtils
-#include <gsprivatepluginproviderids.h> // KGSPluginProviderInternal
-#include <appmngr2debugutils.h> // FLOG macros
-#include <appmngr2gsinstfilespluginrsc.rsg> // Resource IDs
-#include <appmngr2.mbg> // Bitmap IDs
-
-_LIT( KAppMngr2InstFilesResourceFileName, "z:appmngr2gsinstfilespluginrsc.rsc" );
-_LIT( KAppMngrIconFileNameMif, "appmngr2.mif" );
-_LIT( KDriveZ, "z:" );
-const TUid KAppMngr2AppUid = { KAppMngr2AppUidValue };
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GsInstFilesPlugin::NewL()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2GsInstFilesPlugin* CAppMngr2GsInstFilesPlugin::NewL( TAny* /*aInitParams*/ )
- {
- CAppMngr2GsInstFilesPlugin* self = new( ELeave ) CAppMngr2GsInstFilesPlugin();
- CleanupStack::PushL(self);
- self->ConstructL();
- CleanupStack::Pop(self);
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GsInstFilesPlugin::~CAppMngr2GsInstFilesPlugin()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2GsInstFilesPlugin::~CAppMngr2GsInstFilesPlugin()
- {
- FLOG( "CAppMngr2GsInstFilesPlugin::~CAppMngr2GsInstFilesPlugin" );
- iResources.Close();
- delete iNullService;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GsInstFilesPlugin::GetCaptionL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2GsInstFilesPlugin::GetCaptionL( TDes& aCaption ) const
- {
- HBufC* result = StringLoader::LoadL( R_CP_FOLDER_NOT_INSTALLED );
- aCaption.Copy( *result );
- delete result;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GsInstFilesPlugin::HandleSelection()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2GsInstFilesPlugin::HandleSelection( const TGSSelectionTypes /*aSelectionType*/ )
- {
- TRAP_IGNORE( LaunchAppManagerL() );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GsInstFilesPlugin::ItemType()
-// ---------------------------------------------------------------------------
-//
-TGSListboxItemTypes CAppMngr2GsInstFilesPlugin::ItemType()
- {
- return EGSItemTypeSettingDialog;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GsInstFilesPlugin::CreateIconL()
-// ---------------------------------------------------------------------------
-//
-CGulIcon* CAppMngr2GsInstFilesPlugin::CreateIconL( const TUid aIconType )
- {
- HBufC* iconFilePath = HBufC::NewLC( KDriveZ().Length() +
- KDC_APP_BITMAP_DIR().Length() + KAppMngrIconFileNameMif().Length() );
- TPtr ptr = iconFilePath->Des();
- ptr.Append( KDriveZ );
- ptr.Append( KDC_APP_BITMAP_DIR );
- ptr.Append( KAppMngrIconFileNameMif );
-
- CGulIcon* icon;
- if( aIconType == KGSIconTypeLbxItem )
- {
- icon = AknsUtils::CreateGulIconL( AknsUtils::SkinInstance(),
- KAknsIIDQgnPropCpInstFiles, *iconFilePath,
- EMbmAppmngr2Qgn_prop_cp_inst_files,
- EMbmAppmngr2Qgn_prop_cp_inst_files_mask );
- }
- else
- {
- icon = CGSPluginInterface::CreateIconL( aIconType );
- }
-
- CleanupStack::PopAndDestroy( iconFilePath );
- return icon;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GsInstFilesPlugin::PluginProviderCategory()
-// ---------------------------------------------------------------------------
-//
-TInt CAppMngr2GsInstFilesPlugin::PluginProviderCategory() const
- {
- return KGSPluginProviderInternal;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GsInstFilesPlugin::Id()
-// ---------------------------------------------------------------------------
-//
-TUid CAppMngr2GsInstFilesPlugin::Id() const
- {
- return KAppMngr2InstFilesPluginUid;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GsInstFilesPlugin::DoActivateL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2GsInstFilesPlugin::DoActivateL( const TVwsViewId& /*aPrevViewId*/,
- TUid /*aCustomMessageId*/, const TDesC8& /*aCustomMessage*/ )
- {
- FLOG( "CAppMngr2GsInstFilesPlugin::DoActivateL" ); // not called
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GsInstFilesPlugin::DoDeactivate()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2GsInstFilesPlugin::DoDeactivate()
- {
- FLOG( "CAppMngr2GsInstFilesPlugin::DoDeactivate" ); // not called
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GsInstFilesPlugin::CAppMngr2GsInstFilesPlugin()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2GsInstFilesPlugin::CAppMngr2GsInstFilesPlugin() : iResources( *iCoeEnv )
- {
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GsInstFilesPlugin::ConstructL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2GsInstFilesPlugin::ConstructL()
- {
- FLOG( "CAppMngr2GsInstFilesPlugin::ConstructL" );
- OpenLocalizedResourceFileL( KAppMngr2InstFilesResourceFileName, iResources );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GsInstFilesPlugin::OpenLocalizedResourceFileL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2GsInstFilesPlugin::OpenLocalizedResourceFileL(
- const TDesC& aResourceFileName, RConeResourceLoader& aResourceLoader )
- {
- TParse parse;
- parse.Set( aResourceFileName, &KDC_RESOURCE_FILES_DIR, NULL );
- TFileName fileName( parse.FullName() );
- BaflUtils::NearestLanguageFile( iCoeEnv->FsSession(), fileName );
- aResourceLoader.OpenL( fileName );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GsInstFilesPlugin::LaunchAppManagerL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2GsInstFilesPlugin::LaunchAppManagerL()
- {
- FLOG( "CAppMngr2GsInstFilesPlugin::LaunchAppManagerL" );
-
- _LIT_SECURITY_POLICY_PASS( KPropReadPolicy );
- _LIT_SECURITY_POLICY_C1( KPropWritePolicy, ECapabilityWriteDeviceData );
- TInt err = RProperty::Define( KPSUidAppManagerNotification,
- KAppManagerApplicationMode, RProperty::EInt,
- KPropReadPolicy, KPropWritePolicy );
- if( err != KErrNone && err != KErrAlreadyExists )
- {
- User::Leave( err );
- }
- User::LeaveIfError( RProperty::Set( KPSUidAppManagerNotification,
- KAppManagerApplicationMode, EAppMngr2InstallationFilesView ) );
-
- RWsSession ws;
- User::LeaveIfError( ws.Connect() );
- CleanupClosePushL( ws );
- TApaTaskList taskList( ws );
- TApaTask task = taskList.FindApp( KAppMngr2AppUid );
-
- if( task.Exists() )
- {
- task.BringToForeground();
- }
- else
- {
- EmbedAppL( KAppMngr2AppUid );
- }
-
- CleanupStack::PopAndDestroy( &ws );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GsInstFilesPlugin::EmbedAppL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2GsInstFilesPlugin::EmbedAppL( const TUid& aAppUid )
- {
- if( iNullService )
- {
- delete iNullService;
- iNullService = NULL;
- }
- iNullService = CAknNullService::NewL( aAppUid, this );
- }
-
--- a/appinstaller/AppMngr2/GSInstFilesPlugin/src/appmngr2gsinstfilespluginmain.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: ECOM proxy table for AppMngr2 GS (General Settigns)
-* Installation Files plug-in
-*
-*/
-
-
-#include "appmngr2gsinstfilesplugin.h" // CAppMngr2GsInstFilesPlugin
-#include <ecom/implementationproxy.h> // TImplementationProxy
-
-// ---------------------------------------------------------------------------
-// Local array that maps the ECom implementation UIDs to factory functions
-// ---------------------------------------------------------------------------
-//
-const TImplementationProxy ImplementationTable[] =
- {
- IMPLEMENTATION_PROXY_ENTRY( KAppMngr2InstFilesUidValue, CAppMngr2GsInstFilesPlugin::NewL )
- };
-
-// ---------------------------------------------------------------------------
-// ImplementationGroupProxy
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy( TInt& aTableCount )
- {
- aTableCount = sizeof( ImplementationTable ) / sizeof( TImplementationProxy );
- return ImplementationTable;
- }
-
--- a/appinstaller/AppMngr2/GSInstalledPlugin/data/10282d8e.rss Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-/*
-* Copyright (c) 1028 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: ECOM resource file for AppMngr2 "Installed" GS plugin
-*
-*/
-
-
-#include <ecom/registryinfo.rh> // REGISTRY_INFO
-
-RESOURCE REGISTRY_INFO theInfo
- {
- dll_uid = 0x10282D8E;
- interfaces =
- {
- INTERFACE_INFO
- {
- interface_uid = 0x10207236; // KGSPluginInterfaceUid
- implementations =
- {
- IMPLEMENTATION_INFO
- {
- implementation_uid = 0x10282D8F;
- version_no = 1;
- display_name = "AppMngr2 Installed";
- default_data = "0x10283321"; // parent plugin
- opaque_data = "10"; // order number
- }
- };
- }
- };
- }
-
--- a/appinstaller/AppMngr2/GSInstalledPlugin/data/appmngr2gsinstalledpluginrsc.rss Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Resource definitions for AppMngr2 GS Installed plugin
-*
-*/
-
-
-NAME AMIN
-
-#include <eikon.rh>
-#include <avkon.rsg>
-#include <avkon.rh>
-#include <avkon.loc>
-#include <data_caging_paths_strings.hrh>
-#include <appinfo.rh>
-#include <AiwCommon.rh>
-#include <appmngrinstalledplugin.loc>
-
-RESOURCE RSS_SIGNATURE { }
-
-RESOURCE TBUF r_cp_folder_installed
- {
- buf = qtn_cp_folder_installed;
- }
-
--- a/appinstaller/AppMngr2/GSInstalledPlugin/inc/appmngr2gsinstalledplugin.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: AppMngr2 GS Installed plugin implementation
-*
-*/
-
-
-#ifndef C_APPMNGR2GSINSTALLEDPLUGIN_H
-#define C_APPMNGR2GSINSTALLEDPLUGIN_H
-
-#include <gsplugininterface.h> // CGSPluginInterface
-#include <AknServerApp.h> // MAknServerAppExitObserver
-#include <ConeResLoader.h> // RConeResourceLoader
-#include <apadoc.h>
-
-class CAknNullService;
-
-const TInt KAppMngr2InstalledUidValue = 0x10282D8F;
-const TUid KAppMngr2InstalledPluginUid = { KAppMngr2InstalledUidValue };
-
-
-/**
- * CAppMngrInstalledPlugin launches embedded AppMngr2 application to show
- * Installed Applications view. It is an EGSItemTypeSettingDialog type GS plug-in
- * and hence the GS framework calls HandleSelection() instead of DoActivate().
- * CAknView functionality is not supported although the base class is derived
- * from CAknView via CGSPluginInterface.
- */
-class CAppMngr2GsInstalledPlugin : public CGSPluginInterface,
- public MAknServerAppExitObserver
- {
-public: // constructors and destructor
- static CAppMngr2GsInstalledPlugin* NewL( TAny* aInitParams );
- ~CAppMngr2GsInstalledPlugin();
-
-public: // from CGSPluginInterface
- void GetCaptionL( TDes& aCaption ) const;
- void HandleSelection( const TGSSelectionTypes aSelectionType );
- TGSListboxItemTypes ItemType();
- CGulIcon* CreateIconL( const TUid aIconType );
- TInt PluginProviderCategory() const;
-
-public: // from CAknView, via CGSPluginInterface
- TUid Id() const;
-
-protected: // from CAknView, via CGSPluginInterface
- void DoActivateL( const TVwsViewId& aPrevViewId, TUid aCustomMessageId,
- const TDesC8& aCustomMessage );
- void DoDeactivate();
-
-private: // new functions
- CAppMngr2GsInstalledPlugin();
- void ConstructL();
- void OpenLocalizedResourceFileL( const TDesC& aResourceFileName,
- RConeResourceLoader& aResourceLoader );
- void LaunchAppManagerL();
- void EmbedAppL( const TUid& aAppUid );
-
-protected: // data
- RConeResourceLoader iResources;
- CAknNullService* iNullService;
- CApaDocument* iEmbedded;
- };
-
-#endif // C_APPMNGR2GSINSTALLEDPLUGIN_H
-
--- a/appinstaller/AppMngr2/GSInstalledPlugin/src/appmngr2gsinstalledplugin.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,245 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: AppMngr2 GS Installed plugin implementation
-*
-*/
-
-
-#include "appmngr2gsinstalledplugin.h" // CAppMngr2GsInstalledPlugin
-#include "appmngr2internalpskeys.h" // KAppManagerApplicationMode
-#include "appmngr2.hrh" // KAppMngr2AppUidValue
-#include <AknNullService.h> // CAknNullService
-#include <e32property.h> // RProperty
-#include <StringLoader.h> // StringLoader
-#include <bautils.h> // BaflUtils
-#include <gsprivatepluginproviderids.h> // KGSPluginProviderInternal
-#include <appmngr2debugutils.h> // FLOG macros
-#include <appmngr2gsinstalledpluginrsc.rsg> // Resource IDs
-#include <appmngr2.mbg> // Bitmap IDs
-
-_LIT( KAppMngr2InstalledResourceFileName, "z:appmngr2gsinstalledpluginrsc.rsc" );
-_LIT( KAppMngrIconFileNameMif, "appmngr2.mif" );
-_LIT( KDriveZ, "z:" );
-
-const TUid KAppMngr2AppUid = { KAppMngr2AppUidValue };
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GsInstalledPlugin::NewL()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2GsInstalledPlugin* CAppMngr2GsInstalledPlugin::NewL( TAny* /*aInitParams*/ )
- {
- CAppMngr2GsInstalledPlugin* self = new( ELeave ) CAppMngr2GsInstalledPlugin();
- CleanupStack::PushL(self);
- self->ConstructL();
- CleanupStack::Pop(self);
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GsInstalledPlugin::~CAppMngr2GsInstalledPlugin()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2GsInstalledPlugin::~CAppMngr2GsInstalledPlugin()
- {
- FLOG( "CAppMngr2GsInstalledPlugin::~CAppMngr2GsInstalledPlugin" );
- iResources.Close();
- delete iNullService;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GsInstalledPlugin::GetCaptionL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2GsInstalledPlugin::GetCaptionL( TDes& aCaption ) const
- {
- HBufC* result = StringLoader::LoadL( R_CP_FOLDER_INSTALLED );
- aCaption.Copy( *result );
- delete result;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GsInstalledPlugin::ItemType()
-// ---------------------------------------------------------------------------
-//
-TGSListboxItemTypes CAppMngr2GsInstalledPlugin::ItemType()
- {
- return EGSItemTypeSettingDialog;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GsInstalledPlugin::CreateIconL()
-// ---------------------------------------------------------------------------
-//
-CGulIcon* CAppMngr2GsInstalledPlugin::CreateIconL( const TUid aIconType )
- {
- HBufC* iconFilePath = HBufC::NewLC( KDriveZ().Length() +
- KDC_APP_BITMAP_DIR().Length() + KAppMngrIconFileNameMif().Length() );
- TPtr ptr = iconFilePath->Des();
- ptr.Append( KDriveZ );
- ptr.Append( KDC_APP_BITMAP_DIR );
- ptr.Append( KAppMngrIconFileNameMif );
-
- CGulIcon* icon;
- if( aIconType == KGSIconTypeLbxItem )
- {
- icon = AknsUtils::CreateGulIconL( AknsUtils::SkinInstance(),
- KAknsIIDQgnPropCpInstInstalls, *iconFilePath,
- EMbmAppmngr2Qgn_prop_cp_inst_installs,
- EMbmAppmngr2Qgn_prop_cp_inst_installs_mask );
- }
- else
- {
- icon = CGSPluginInterface::CreateIconL( aIconType );
- }
-
- CleanupStack::PopAndDestroy( iconFilePath );
- return icon;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GsInstalledPlugin::PluginProviderCategory()
-// ---------------------------------------------------------------------------
-//
-TInt CAppMngr2GsInstalledPlugin::PluginProviderCategory() const
- {
- return KGSPluginProviderInternal;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GsInstalledPlugin::Id()
-// ---------------------------------------------------------------------------
-//
-TUid CAppMngr2GsInstalledPlugin::Id() const
- {
- return KAppMngr2InstalledPluginUid;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GsInstalledPlugin::DoActivateL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2GsInstalledPlugin::DoActivateL( const TVwsViewId& /*aPrevViewId*/,
- TUid /*aCustomMessageId*/, const TDesC8& /*aCustomMessage*/ )
- {
- FLOG( "CAppMngr2GsInstalledPlugin::DoActivateL" ); // not called
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GsInstalledPlugin::DoDeactivate()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2GsInstalledPlugin::DoDeactivate()
- {
- FLOG( "CAppMngr2GsInstalledPlugin::DoDeactivate" ); // not called
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GsInstalledPlugin::CAppMngr2GsInstalledPlugin()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2GsInstalledPlugin::CAppMngr2GsInstalledPlugin() : iResources( *iCoeEnv )
- {
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GsInstalledPlugin::ConstructL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2GsInstalledPlugin::ConstructL()
- {
- FLOG( "CAppMngr2GsInstalledPlugin::ConstructL" );
- OpenLocalizedResourceFileL( KAppMngr2InstalledResourceFileName, iResources );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GsInstalledPlugin::HandleSelection()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2GsInstalledPlugin::HandleSelection(
- const TGSSelectionTypes /*aSelectionType*/ )
- {
- TRAP_IGNORE( LaunchAppManagerL() );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GsInstalledPlugin::OpenLocalizedResourceFileL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2GsInstalledPlugin::OpenLocalizedResourceFileL(
- const TDesC& aResourceFileName,
- RConeResourceLoader& aResourceLoader )
- {
- TParse parse;
- parse.Set( aResourceFileName, &KDC_RESOURCE_FILES_DIR, NULL );
- TFileName fileName( parse.FullName() );
- BaflUtils::NearestLanguageFile( iCoeEnv->FsSession(), fileName );
- aResourceLoader.OpenL( fileName );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GsInstalledPlugin::LaunchAppManagerL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2GsInstalledPlugin::LaunchAppManagerL()
- {
- FLOG( "CAppMngr2GsInstalledPlugin::LaunchAppManagerL" );
-
- _LIT_SECURITY_POLICY_PASS( KPropReadPolicy );
- _LIT_SECURITY_POLICY_C1( KPropWritePolicy, ECapabilityWriteDeviceData );
- TInt err = RProperty::Define( KPSUidAppManagerNotification,
- KAppManagerApplicationMode, RProperty::EInt,
- KPropReadPolicy, KPropWritePolicy );
- if( err != KErrNone && err != KErrAlreadyExists )
- {
- User::Leave( err );
- }
- User::LeaveIfError( RProperty::Set( KPSUidAppManagerNotification,
- KAppManagerApplicationMode, EAppMngr2InstalledView ) );
-
- RWsSession ws;
- User::LeaveIfError( ws.Connect() );
- CleanupClosePushL( ws );
- TApaTaskList taskList( ws );
- TApaTask task = taskList.FindApp( KAppMngr2AppUid );
-
- if( task.Exists() )
- {
- task.BringToForeground();
- }
- else
- {
- EmbedAppL( KAppMngr2AppUid );
- }
-
- CleanupStack::PopAndDestroy( &ws );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GsInstalledPlugin::EmbedAppL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2GsInstalledPlugin::EmbedAppL( const TUid& aAppUid )
- {
- if( iNullService )
- {
- delete iNullService;
- iNullService = NULL;
- }
- iNullService = CAknNullService::NewL( aAppUid, this );
- }
-
--- a/appinstaller/AppMngr2/GSInstalledPlugin/src/appmngr2gsinstalledpluginmain.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: ECOM proxy table for AppMngr2 GS (General Settigns) Installed plug-in
-*
-*/
-
-
-#include "appmngr2gsinstalledplugin.h" // CAppMngr2GsInstalledPlugin
-#include <ecom/implementationproxy.h> // TImplementationProxy
-
-// ---------------------------------------------------------------------------
-// Local array that maps the ECom implementation UIDs to factory functions
-// ---------------------------------------------------------------------------
-//
-const TImplementationProxy ImplementationTable[] =
- {
- IMPLEMENTATION_PROXY_ENTRY( KAppMngr2InstalledUidValue, CAppMngr2GsInstalledPlugin::NewL )
- };
-
-// ---------------------------------------------------------------------------
-// ImplementationGroupProxy
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy( TInt& aTableCount )
- {
- aTableCount = sizeof( ImplementationTable ) / sizeof( TImplementationProxy );
- return ImplementationTable;
- }
-
--- a/appinstaller/AppMngr2/GSSettingsPlugin/data/101f9a10.rss Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-/*
-* Copyright (c) 2003-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: ECOM resource file for AppMngr2 "Settings" GS plug-in
-*
-*/
-
-
-#include <ecom/registryinfo.rh> // REGISTRY_INFO
-
-RESOURCE REGISTRY_INFO theInfo
- {
- dll_uid = 0x101F9A10;
- interfaces =
- {
- INTERFACE_INFO
- {
- interface_uid = 0x10207236; // KGSPluginInterfaceUid
- implementations =
- {
- IMPLEMENTATION_INFO
- {
- implementation_uid = 0x101F9A11;
- version_no = 1;
- display_name = "AppMngr2 Settings";
- default_data = "0x10283321"; // parent plugin
- opaque_data = "30"; // order number
- }
- };
- }
- };
- }
-
--- a/appinstaller/AppMngr2/GSSettingsPlugin/data/appmngr2gssettingspluginrsc.rss Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,236 +0,0 @@
-/*
-* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Resource definitions for AppMngr2 GS Settings plugin
-*
-*/
-
-
-NAME AMGS
-
-#include <eikon.rh>
-#include <avkon.rsg>
-#include <avkon.rh>
-#include <data_caging_paths_strings.hrh>
-#include <appinfo.rh>
-#include "appmngr2.hrh" // Command IDs
-#include <appmngr2.loc> // UI strings
-#include <avkon.loc> // UI strings
-#include <appmngrgsplugin.loc>
-
-RESOURCE RSS_SIGNATURE { }
-
-// ---------------------------------------------------------------------------
-// R_APPMNGR2_SETTINGS_VIEW
-// ---------------------------------------------------------------------------
-//
-RESOURCE AVKON_VIEW r_appmngr2_settings_view
- {
- menubar = r_appmngr2_settigs_menubar;
- cba = r_appmngr2_cba_options_back_change;
- }
-
-// ---------------------------------------------------------------------------
-// R_APPMNGR2_SETTIGS_MENUBAR
-// ---------------------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_appmngr2_settigs_menubar
- {
- titles =
- {
- MENU_TITLE { menu_pane = r_appmngr2_settings_menu; }
- };
- }
-
-// ---------------------------------------------------------------------------
-// R_APPMNGR2_SETTINGS_MENU
-// ---------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_appmngr2_settings_menu
- {
- items=
- {
- MENU_ITEM
- {
- command = EAppMngr2CmdChange;
- txt = qtn_options_change;
- flags = EEikMenuItemSpecific;
- },
- MENU_ITEM
- {
- command = EAknCmdHelp;
- txt = qtn_options_help;
- },
- MENU_ITEM
- {
- command = EAknCmdExit;
- txt = qtn_options_exit;
- }
- };
- }
-
-// ---------------------------------------------------------------------------
-// R_APPMNGR2_CBA_OPTIONS_BACK_CHANGE
-// ---------------------------------------------------------------------------
-//
-RESOURCE CBA r_appmngr2_cba_options_back_change
- {
- buttons =
- {
- CBA_BUTTON
- {
- id = EAknSoftkeyOptions;
- txt = text_softkey_option;
- },
- CBA_BUTTON
- {
- id = EAknSoftkeyBack;
- txt = text_softkey_back;
- },
- CBA_BUTTON
- {
- id = EAknSoftkeyChange;
- txt = qtn_msk_change;
- }
- };
- }
-
-// ---------------------------------------------------------------------------
-// R_APPMNGR2_SETTING_ARRAY
-// ---------------------------------------------------------------------------
-//
-RESOURCE ARRAY r_appmngr2_setting_array
- {
- items =
- {
- LBUF { txt = " \t"qtn_am_setting_sw_install"\t\t"; },
- LBUF { txt = " \t"qtn_am_setting_ocsp"\t\t"; },
- LBUF { txt = " \t"qtn_am_setting_ocsp_url"\t\t"; }
- };
- }
-
-// ---------------------------------------------------------------------------
-// R_APPMNGR2_ALLOW_UNTRUSTED_VALUE_ARRAY
-// ---------------------------------------------------------------------------
-//
-RESOURCE ARRAY r_appmngr2_allow_untrusted_value_array
- {
- items =
- {
- LBUF { txt = qtn_am_set_sw_install_signed; },
- LBUF { txt = qtn_am_set_sw_install_all; }
- };
- }
-
-// ---------------------------------------------------------------------------
-// R_APPMNGR2_SET_PAGE_ALLOW_UNTRUSTED
-// ---------------------------------------------------------------------------
-//
-RESOURCE AVKON_SETTING_PAGE r_appmngr2_set_page_allow_untrusted
- {
- label = qtn_am_setting_sw_install;
- softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
- type = EAknSetListBox;
- editor_resource_id = r_appmngr2_ocsp_editor;
- }
-
-// ---------------------------------------------------------------------------
-// R_APPMNGR2_OCSP_CHECK_VALUE_ARRAY
-// ---------------------------------------------------------------------------
-//
-RESOURCE ARRAY r_appmngr2_ocsp_check_value_array
- {
- items =
- {
- LBUF { txt = qtn_am_set_ocsp_must_pass; },
- LBUF { txt = qtn_am_set_ocsp_on; },
- LBUF { txt = qtn_am_set_ocsp_off; }
- };
- }
-
-// ---------------------------------------------------------------------------
-// R_APPMNGR2_OCSP_CHECK_PAGE
-// ---------------------------------------------------------------------------
-//
-RESOURCE AVKON_SETTING_PAGE r_appmngr2_ocsp_check_page
- {
- label = qtn_am_setting_ocsp;
- softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
- type = EAknSetListBox;
- editor_resource_id = r_appmngr2_ocsp_editor;
- }
-
-// ---------------------------------------------------------------------------
-// R_APPMNGR2_OCSP_EDITOR
-// ---------------------------------------------------------------------------
-//
-RESOURCE LISTBOX r_appmngr2_ocsp_editor
- {
- flags = EEikListBoxMultipleSelection;
- }
-
-// ---------------------------------------------------------------------------
-// R_APPMNGR2_OCSP_URL_SETTING_PAGE
-// ---------------------------------------------------------------------------
-//
-RESOURCE AVKON_SETTING_PAGE r_appmngr2_ocsp_url_setting_page
- {
- number = EAknSettingPageNoOrdinalDisplayed;
- label = qtn_am_setting_ocsp_url;
- softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
- type = EEikCtEdwin;
- editor_resource_id = r_appmngr2_url_editor;
- }
-
-// ---------------------------------------------------------------------------
-// R_APPMNGR2_URL_EDITOR
-// ---------------------------------------------------------------------------
-//
-RESOURCE EDWIN r_appmngr2_url_editor
- {
- width = KAppMngr2OcspUrlControlWidth;
- lines = KAppMngr2OcspUrlControlLines;
- maxlength = KAppMngr2MaxOcspUrlLength;
- numeric_keymap = EAknEditorCalculatorNumberModeKeymap;
- allowed_input_modes = EAknEditorTextInputMode | EAknEditorNumericInputMode;
- default_input_mode = EAknEditorTextInputMode;
- special_character_table = R_AVKON_URL_SPECIAL_CHARACTER_TABLE_DIALOG;
- default_case = EAknEditorLowerCase;
- flags = EEikEdwinAutoSelection | EAknEditorLowerCase | EEikEdwinNoLineOrParaBreaks;
- avkon_flags = EAknEditorFlagNoT9 | EAknEditorFlagLatinInputModesOnly;
- }
-
-// ---------------------------------------------------------------------------
-// TBUF resources
-// ---------------------------------------------------------------------------
-//
-RESOURCE TBUF r_set_folder_application_manager
- {
- buf = qtn_cp_folder_installation_settings;
- }
-
-RESOURCE TBUF r_am_installation_settings_title
- {
- buf = qtn_am_installation_settings_title;
- }
-
-RESOURCE TBUF r_am_note_locked_settigs
- {
- buf = qtn_am_note_locked_settings;
- }
-
-RESOURCE TBUF r_am_set_ocsp_none
- {
- buf = qtn_selec_sett_val_field_none;
- }
-
--- a/appinstaller/AppMngr2/GSSettingsPlugin/inc/appmngr2gssettingscontainer.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,83 +0,0 @@
-/*
-* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: AppMngr2 GS (General Settings) Settings plug-in Container
-*
-*/
-
-
-#ifndef C_APPMNGR2GSSETTINGSCONTAINER_H
-#define C_APPMNGR2GSSETTINGSCONTAINER_H
-
-#include <coecntrl.h> // CCoeControl
-#include <badesca.h> // CDesCArray
-#include "appmngr2.hrh" // KAppMngr2AppUidValue
-
-class CEikTextListBox;
-class CAknSettingStyleListBox;
-
-const TUid KAppMngr2AppUid = { KAppMngr2AppUidValue };
-
-// Items in R_APPMNGR2_SETTING_ARRAY resource array
-enum KAppMngr2SettingArrayItems
- {
- EAppMngr2SettingSwInstall = 0,
- EAppMngr2SettingOcsp = 1,
- EAppMngr2SettingOcspUrl = 2
- };
-
-// Items in R_APPMNGR2_OCSP_CHECK_VALUE_ARRAY resource array
-enum KAppMngr2OcspCheckValueArrayItems
- {
- EAppMngr2OcspCheckValueArrayMustPass = 0,
- EAppMngr2OcspCheckValueArrayOn = 1,
- EAppMngr2OcspCheckValueArrayOff = 2
- };
-
-
-class CAppMngr2GSSettingsContainer : public CCoeControl
- {
-public: // constructors and destructor
- static CAppMngr2GSSettingsContainer* NewL( const TRect& aRect );
- ~CAppMngr2GSSettingsContainer();
-
-public: // new functions
- CAknSettingStyleListBox* ListBox() const;
- void UpdateListBoxContentL();
-
-public: // from CCoeControl
- TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType );
-
-private: // new functions
- CAppMngr2GSSettingsContainer();
- void ConstructL( const TRect& aRect );
- void LoadIconsL();
-
-private: // from CCoeControl
- void SizeChanged();
- void FocusChanged( TDrawNow aDrawNow );
- TInt CountComponentControls() const;
- CCoeControl* ComponentControl( TInt aIndex ) const;
- void GetHelpContext( TCoeHelpContext& aContext ) const;
- void HandleResourceChange( TInt aType );
-
-private: // data
- CDesCArray* iItems;
- CDesCArray* iOcspCheckValueArray;
- CDesCArray* iAllowUntrustedValueArray;
- CAknSettingStyleListBox* iListbox;
- };
-
-
-#endif // C_APPMNGR2GSSETTINGSCONTAINER_H
-
--- a/appinstaller/AppMngr2/GSSettingsPlugin/inc/appmngr2gssettingsplugin.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +0,0 @@
-/*
-* Copyright (c) 2003-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: AppMngr2 Settings plug-in for GS (General Settings)
-*
-*/
-
-
-#ifndef C_APPMNGR2GSSETTINGSPLUGIN_H
-#define C_APPMNGR2GSSETTINGSPLUGIN_H
-
-#include <gsplugininterface.h> // CGSPluginInterface
-#include <eiklbo.h> // MEikListBoxObserver
-#include <ConeResLoader.h> // RConeResourceLoader
-
-class CAppMngr2GSSettingsContainer;
-
-const TInt KAppMngr2GSSettingsUidValue = 0x101F9A11;
-const TUid KAppMngr2GSSettingsUid = { KAppMngr2GSSettingsUidValue };
-
-
-class CAppMngr2GSSettingsPlugin : public CGSPluginInterface, public MEikListBoxObserver
- {
-public: // constructors and destructor
- static CAppMngr2GSSettingsPlugin* NewL( TAny* aInitParams );
- ~CAppMngr2GSSettingsPlugin();
-
-public: // from CGSPluginInterface
- void GetCaptionL( TDes& aCaption ) const;
- CGulIcon* CreateIconL( const TUid aIconType );
- TInt PluginProviderCategory() const;
-
-public: // from CAknView, via CGSPluginInterface
- TUid Id() const;
- void HandleCommandL( TInt aCommand );
- void HandleViewRectChange();
- void DynInitMenuPaneL( TInt aResourceId,CEikMenuPane* aMenuPane );
-
-public: // from MEikListBoxObserver
- void HandleListBoxEventL( CEikListBox* aListBox, TListBoxEvent aEventType );
-
-protected: // from CAknView, via CGSPluginInterface
- void DoActivateL( const TVwsViewId& aPrevViewId, TUid aCustomMessageId,
- const TDesC8& aCustomMessage );
- void DoDeactivate();
- void HandleForegroundEventL( TBool aForeground );
-
-private: // new functions
- CAppMngr2GSSettingsPlugin();
- void ConstructL();
-
- void HandleListBoxSelectionL();
- void ShowSettingPageL( TInt aSettingIndex );
- void SetPermissionL( TInt aSettingIndex, TInt aNewValueIndex, TPtrC16 aUrlText );
- TInt MapOCSPIndex( TInt aValue );
-
-private: // data
- CAppMngr2GSSettingsContainer* iContainer;
- RConeResourceLoader iResources;
- TVwsViewId iPrevViewId;
- };
-
-#endif // C_APPMNGR2GSSETTINGSPLUGIN_H
-
--- a/appinstaller/AppMngr2/GSSettingsPlugin/src/appmngr2gssettingscontainer.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,356 +0,0 @@
-/*
-* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: AppMngr2 GS (General Settings) Settings plug-in Container
-*
-*/
-
-
-#include "appmngr2gssettingscontainer.h" // CAppMngr2GSSettingsContainer
-#include <aknlists.h> // CAknSettingStyleListBox
-#include <centralrepository.h> // CRepository
-#include <AknIconArray.h> // CAknIconArray
-#include <featmgr.h> // FeatureManager
-#include <SWInstallerInternalCRKeys.h> // KCRUidSWInstallerSettings
-#include <data_caging_path_literals.hrh> // KDC_RESOURCE_FILES_DIR
-#include <appmngr2gssettingspluginrsc.rsg> // Resource IDs
-#include <appmngr2.mbg> // Bitmap IDs
-#include <csxhelp/am.hlp.hrh> // Help IDs
-
-const TInt KNumStrSize = 1; // Buffer size for string which has one number
-const TInt KGranularity = 1;
-const TInt KMaxSettingsItemLength = 128 + NCentralRepositoryConstants::KMaxUnicodeStringLength;
-
-_LIT( KAppMngrTab, "\t");
-_LIT( KAppMngr2IconFileNameMif, "appmngr2.mif" );
-_LIT( KDriveZ, "z:" );
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GSSettingsContainer::NewL()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2GSSettingsContainer* CAppMngr2GSSettingsContainer::NewL( const TRect& aRect )
- {
- CAppMngr2GSSettingsContainer* self = new ( ELeave ) CAppMngr2GSSettingsContainer();
- CleanupStack::PushL( self );
- self->ConstructL( aRect );
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GSSettingsContainer::~CAppMngr2GSSettingsContainer()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2GSSettingsContainer::~CAppMngr2GSSettingsContainer()
- {
- delete iListbox;
- delete iItems;
- delete iOcspCheckValueArray;
- delete iAllowUntrustedValueArray;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GSSettingsContainer::ListBox()
-// ---------------------------------------------------------------------------
-//
-CAknSettingStyleListBox* CAppMngr2GSSettingsContainer::ListBox() const
- {
- return iListbox;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GSSettingsContainer::UpdateListBoxContentL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2GSSettingsContainer::UpdateListBoxContentL()
- {
- TInt ocsp_check_value = 0;
- HBufC* ocsp_url = HBufC::NewLC( NCentralRepositoryConstants::KMaxUnicodeStringLength );
- TPtr ocsp_url_value( ocsp_url->Des() );
- ocsp_url_value.Zero();
- TInt allowUntrustedValue( 0 );
-
- // Must save listbox indexes because content will be deleted
- TInt lastListBoxPos = iListbox->CurrentItemIndex();
- TInt lastListBoxTopPos = iListbox->TopItemIndex();
-
- MDesCArray* itemList = iListbox->Model()->ItemTextArray();
- CDesCArray* itemArray = static_cast<CDesCArray*>( itemList );
- itemArray->Reset();
-
- // Get data from Central repository
- CRepository* repDB = CRepository::NewLC( KCRUidSWInstallerSettings );
- repDB->Get( KSWInstallerOcspProcedure, ocsp_check_value );
- repDB->Get( KSWInstallerOcspDefaultURL, ocsp_url_value );
- if( ocsp_url_value.Length() == 0 )
- {
- // If OCSP URL is empty string add the default text "none"
- iCoeEnv->ReadResourceAsDes16L( ocsp_url_value, R_AM_SET_OCSP_NONE );
- }
- repDB->Get( KSWInstallerAllowUntrusted, allowUntrustedValue );
- if( allowUntrustedValue )
- {
- allowUntrustedValue = 1;
- }
- CleanupStack::PopAndDestroy( repDB );
-
- switch( ocsp_check_value )
- {
- case ESWInstallerOcspProcedureOff:
- ocsp_check_value = EAppMngr2OcspCheckValueArrayOff;
- break;
- case ESWInstallerOcspProcedureOn:
- ocsp_check_value = EAppMngr2OcspCheckValueArrayOn;
- break;
- case ESWInstallerOcspProcedureMust:
- ocsp_check_value = EAppMngr2OcspCheckValueArrayMustPass;
- break;
- default:
- break;
- }
-
- HBufC* itemValue = HBufC::NewLC( KMaxSettingsItemLength );
- TPtr itemPtr = itemValue->Des();
- itemPtr = ( *iItems )[ EAppMngr2SettingSwInstall ];
-
- // Check variation
- TInt hideAllowUntrusted( 1 );
- CRepository* variationDB = CRepository::NewLC( KCRUidSWInstallerLV );
- variationDB->Get( KSWInstallerHideUntrustedIns, hideAllowUntrusted );
- CleanupStack::PopAndDestroy( variationDB );
-
- if( !hideAllowUntrusted )
- {
- itemPtr.Zero();
- itemPtr = ( *iItems )[ EAppMngr2SettingSwInstall ];
- itemPtr += ( *iAllowUntrustedValueArray )[ allowUntrustedValue ];
- itemArray->AppendL( itemPtr );
- }
-
- if( !FeatureManager::FeatureSupported( KFeatureIdOCSP ) )
- {
- // If OCSP feature is not supported, OCSP settings can not be changed
- // --> lock icon is added
- TBuf<KNumStrSize> strNum;
- strNum.Num( 0 );
-
- // If lock icon is wanted to be shown, the string format must be:
- // " \tSetting label\t\tSetting value\t\t\t0"
-
- itemPtr.Zero();
- itemPtr = ( *iItems )[ EAppMngr2SettingOcsp ];
- itemPtr += ( *iOcspCheckValueArray )[ ocsp_check_value ];
- itemPtr += KAppMngrTab;
- itemPtr += KAppMngrTab;
- itemPtr += KAppMngrTab;
- itemPtr.Append( strNum );
- itemArray->AppendL( itemPtr );
-
- itemPtr.Zero();
- itemPtr = ( *iItems )[ EAppMngr2SettingOcspUrl ];
- itemPtr += ocsp_url_value;
- itemPtr += KAppMngrTab;
- itemPtr += KAppMngrTab;
- itemPtr += KAppMngrTab;
- itemPtr.Append( strNum );
- itemArray->AppendL( itemPtr );
- }
- else
- {
- itemPtr.Zero();
- itemPtr = ( *iItems )[ EAppMngr2SettingOcsp ];
- itemPtr += ( *iOcspCheckValueArray )[ ocsp_check_value ];
- itemArray->AppendL( itemPtr );
-
- itemPtr.Zero();
- itemPtr = ( *iItems )[ EAppMngr2SettingOcspUrl ];
- itemPtr += ocsp_url_value;
- itemArray->AppendL( itemPtr );
- }
-
- CleanupStack::PopAndDestroy( itemValue );
- // Handle content changes
- iListbox->Reset();
- // Listbox might not have index
- if( lastListBoxPos != -1 )
- {
- iListbox->SetCurrentItemIndex( lastListBoxPos );
- iListbox->SetTopItemIndex( lastListBoxTopPos );
- }
-
- CleanupStack::PopAndDestroy( ocsp_url );
-
- // Call after addition to ensure that the list dialog is updated correctly.
- iListbox->HandleItemAdditionL();
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GSSettingsContainer::OfferKeyEventL()
-// ---------------------------------------------------------------------------
-//
-TKeyResponse CAppMngr2GSSettingsContainer::OfferKeyEventL(
- const TKeyEvent& aKeyEvent, TEventCode aType )
- {
- return iListbox->OfferKeyEventL(aKeyEvent, aType);
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GSSettingsContainer::CAppMngr2GSSettingsContainer()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2GSSettingsContainer::CAppMngr2GSSettingsContainer()
- {
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GSSettingsContainer::ConstructL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2GSSettingsContainer::ConstructL( const TRect& aRect )
- {
- CreateWindowL();
-
- iListbox = new( ELeave ) CAknSettingStyleListBox;
-
- iListbox->SetContainerWindowL( *this );
- iListbox->ConstructL( this, EAknListBoxSelectionList );
-
- // Read the setting items array (contains first lines of the setting items)
- iItems = iCoeEnv->ReadDesC16ArrayResourceL( R_APPMNGR2_SETTING_ARRAY );
- iOcspCheckValueArray = iCoeEnv->ReadDesC16ArrayResourceL(
- R_APPMNGR2_OCSP_CHECK_VALUE_ARRAY );
- iAllowUntrustedValueArray = iCoeEnv->ReadDesC16ArrayResourceL(
- R_APPMNGR2_ALLOW_UNTRUSTED_VALUE_ARRAY );
-
- iListbox->CreateScrollBarFrameL( ETrue );
- iListbox->ScrollBarFrame()->SetScrollBarVisibilityL( CEikScrollBarFrame::EOn,
- CEikScrollBarFrame::EAuto );
- iListbox->SetRect( aRect.Size() );
- iListbox->ActivateL();
- SetRect( aRect );
- ActivateL();
-
- iListbox->SetCurrentItemIndex( EAppMngr2SettingSwInstall );
- if( !FeatureManager::FeatureSupported( KFeatureIdOCSP ) )
- {
- LoadIconsL();
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GSSettingsContainer::LoadIconsL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2GSSettingsContainer::LoadIconsL()
- {
- HBufC* iconFilePath = HBufC::NewL( KDriveZ().Length() +
- KDC_APP_BITMAP_DIR().Length() + KAppMngr2IconFileNameMif().Length() );
- CleanupStack::PushL( iconFilePath );
-
- TPtr ptr = iconFilePath->Des();
- ptr.Append( KDriveZ );
- ptr.Append( KDC_APP_BITMAP_DIR );
- ptr.Append( KAppMngr2IconFileNameMif );
-
- CArrayPtr<CGulIcon>* icons = new ( ELeave ) CAknIconArray( KGranularity );
- CleanupStack::PushL( icons );
-
- MAknsSkinInstance* skinInstance = AknsUtils::SkinInstance();
- CGulIcon* icon = AknsUtils::CreateGulIconL( skinInstance,
- KAknsIIDQgnIndiSettProtectedAdd, *iconFilePath,
- EMbmAppmngr2Qgn_indi_sett_protected_add,
- EMbmAppmngr2Qgn_indi_sett_protected_add_mask );
- CleanupStack::PushL( icon );
- icons->AppendL( icon );
-
- iListbox->ItemDrawer()->FormattedCellData()->SetIconArrayL( icons );
-
- CleanupStack::Pop( icon );
- CleanupStack::Pop( icons );
- CleanupStack::PopAndDestroy( iconFilePath );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GSSettingsContainer::SizeChanged()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2GSSettingsContainer::SizeChanged()
- {
- iListbox->SetRect( Rect() );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GSSettingsContainer::FocusChanged()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2GSSettingsContainer::FocusChanged( TDrawNow aDrawNow )
- {
- if( iListbox )
- {
- iListbox->SetFocus( IsFocused(), aDrawNow );
- }
- }
-// ---------------------------------------------------------------------------
-// CAppMngr2GSSettingsContainer::CountComponentControls()
-// ---------------------------------------------------------------------------
-//
-TInt CAppMngr2GSSettingsContainer::CountComponentControls() const
- {
- return iListbox ? 1 : 0;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GSSettingsContainer::ComponentControl()
-// ---------------------------------------------------------------------------
-//
-CCoeControl* CAppMngr2GSSettingsContainer::ComponentControl( TInt aIndex ) const
- {
- switch ( aIndex )
- {
- case 0:
- return iListbox;
- default:
- return NULL;
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GSSettingsContainer::GetHelpContext()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2GSSettingsContainer::GetHelpContext( TCoeHelpContext& aContext ) const
- {
- aContext.iMajor = KAppMngr2AppUid;
- aContext.iContext = KAM_HLP_GENERAL_SETTINGS;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GSSettingsContainer::HandleResourceChange()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2GSSettingsContainer::HandleResourceChange( TInt aType )
- {
- CCoeControl::HandleResourceChange( aType );
-
- if( aType == KEikDynamicLayoutVariantSwitch ) //Handle change in layout orientation
- {
- TRect mainPaneRect;
- AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane, mainPaneRect );
- SetRect( mainPaneRect );
- DrawNow();
- }
- }
-
--- a/appinstaller/AppMngr2/GSSettingsPlugin/src/appmngr2gssettingsplugin.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,490 +0,0 @@
-/*
-* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: AppMngr2 Settings plug-in for GS (General Settings)
-*
-*/
-
-
-#include "appmngr2gssettingsplugin.h" // CAppMngrGSSettingsPlugin
-#include "appmngr2gssettingscontainer.h" // CAppMngr2GSSettingsContainer
-#include "appmngr2.hrh" // KAppMngr2AppUidValue
-#include <gsprivatepluginproviderids.h> // KGSPluginProviderInternal
-#include <appmngr2debugutils.h> // FLOG macros
-#include <appmngr2driveutils.h> // TAppMngr2DriveUtils
-#include <aknradiobuttonsettingpage.h> // CAknRadioButtonSettingPage
-#include <akntextsettingpage.h> // CAknTextSettingPage
-#include <SWInstallerInternalCRKeys.h> // KCRUidSWInstallerSettings
-#include <centralrepository.h> // CRepository
-#include <StringLoader.h> // StringLoader
-#include <akntitle.h> // CAknTitlePane
-#include <aknnotewrappers.h> // CAknInformationNote
-#include <hlplch.h> // HlpLauncher
-#include <featmgr.h> // FeatureManager
-#include <csxhelp/am.hlp.hrh> // Help IDs
-#include <appmngr2gssettingspluginrsc.rsg> // Resource IDs
-#include <appmngr2.mbg> // Bitmap IDs
-
-_LIT( KAppMngr2GsSettingsPluginResourceFileName, "appmngr2gssettingspluginrsc.rsc" );
-_LIT( KAppMngr2IconFileNameMif, "appmngr2.mif" );
-_LIT( KDriveZ, "z:" );
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GSSettingsPlugin::NewL()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2GSSettingsPlugin* CAppMngr2GSSettingsPlugin::NewL( TAny* /*aInitParams*/ )
- {
- CAppMngr2GSSettingsPlugin* self = new( ELeave ) CAppMngr2GSSettingsPlugin;
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GSSettingsPlugin::~CAppMngr2GSSettingsPlugin()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2GSSettingsPlugin::~CAppMngr2GSSettingsPlugin()
- {
- if( iContainer )
- {
- AppUi()->RemoveFromViewStack( *this, iContainer );
- delete iContainer;
- iContainer = NULL;
- }
- iResources.Close();
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GSSettingsPlugin::GetCaptionL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2GSSettingsPlugin::GetCaptionL( TDes& aCaption ) const
- {
- // the resource file is already opened.
- HBufC* result = StringLoader::LoadL( R_SET_FOLDER_APPLICATION_MANAGER );
- aCaption.Copy( *result );
- delete result;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GSSettingsPlugin::CreateIconL()
-// ---------------------------------------------------------------------------
-//
-CGulIcon* CAppMngr2GSSettingsPlugin::CreateIconL( const TUid aIconType )
- {
- HBufC* iconFilePath = HBufC::NewLC( KDriveZ().Length() +
- KDC_APP_BITMAP_DIR().Length() + KAppMngr2IconFileNameMif().Length() );
- TPtr ptr = iconFilePath->Des();
- ptr.Append( KDriveZ );
- ptr.Append( KDC_APP_BITMAP_DIR );
- ptr.Append( KAppMngr2IconFileNameMif );
-
- CGulIcon* icon;
- TInt iconId = EMbmAppmngr2Qgn_prop_cp_inst_settings;
- TInt maskId = EMbmAppmngr2Qgn_prop_cp_inst_settings_mask;
- if( aIconType == KGSIconTypeLbxItem )
- {
- icon = AknsUtils::CreateGulIconL( AknsUtils::SkinInstance(),
- KAknsIIDQgnPropCpInstSettings, *iconFilePath,
- iconId, maskId );
- }
- else
- {
- icon = CGSPluginInterface::CreateIconL( aIconType );
- }
-
- CleanupStack::PopAndDestroy( iconFilePath );
- return icon;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GSSettingsPlugin::PluginProviderCategory()
-// ---------------------------------------------------------------------------
-//
-TInt CAppMngr2GSSettingsPlugin::PluginProviderCategory() const
- {
- return KGSPluginProviderInternal;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GSSettingsPlugin::Id()
-// ---------------------------------------------------------------------------
-//
-TUid CAppMngr2GSSettingsPlugin::Id() const
- {
- return KAppMngr2GSSettingsUid;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GSSettingsPlugin::HandleCommandL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2GSSettingsPlugin::HandleCommandL( TInt aCommand )
- {
- switch ( aCommand )
- {
- case EAppMngr2CmdChange:
- case EAknSoftkeyChange:
- {
- HandleListBoxSelectionL();
- break;
- }
- case EAknSoftkeyBack:
- {
- AppUi()->ActivateLocalViewL( iPrevViewId.iViewUid );
- break;
- }
- case EAknSoftkeyExit:
- {
- static_cast<MEikCommandObserver*>( AppUi() )->ProcessCommandL( EAknCmdExit );
- break;
- }
- case EAknCmdHelp:
- case EEikCmdHelpContents:
- {
- if( FeatureManager::FeatureSupported( KFeatureIdHelp ) )
- {
- CArrayFix<TCoeHelpContext>* contexts =
- new( ELeave ) CArrayFixFlat<TCoeHelpContext>( 1 );
- CleanupStack::PushL( contexts );
- TCoeHelpContext context;
- context.iMajor = KAppMngr2AppUid;
- context.iContext = KAM_HLP_GENERAL_SETTINGS;
- contexts->AppendL( context );
- CleanupStack::Pop( contexts );
- HlpLauncher::LaunchHelpApplicationL( iEikonEnv->WsSession(), contexts );
- }
- break;
- }
- default:
- {
- AppUi()->HandleCommandL( aCommand );
- break;
- }
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GSSettingsPlugin::HandleViewRectChange()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2GSSettingsPlugin::HandleViewRectChange()
- {
- if( iContainer )
- {
- iContainer->SetRect( ClientRect() );
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GSSettingsPlugin::DynInitMenuPaneL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2GSSettingsPlugin::DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane )
- {
- switch( aResourceId )
- {
- case R_APPMNGR2_SETTINGS_MENU:
- if( !FeatureManager::FeatureSupported( KFeatureIdHelp ) )
- {
- aMenuPane->SetItemDimmed( EAknCmdHelp, ETrue );
- }
- break;
- default:
- break;
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GSSettingsPlugin::HandleListBoxEventL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2GSSettingsPlugin::HandleListBoxEventL( CEikListBox* /*aListBox*/,
- TListBoxEvent aEventType )
- {
- switch ( aEventType )
- {
- case EEventEnterKeyPressed:
- case EEventItemSingleClicked:
- HandleListBoxSelectionL();
- break;
- default:
- break;
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GSSettingsPlugin::DoActivateL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2GSSettingsPlugin::DoActivateL( const TVwsViewId& aPrevViewId,
- TUid /*aCustomMessageId*/, const TDesC8& /*aCustomMessage*/ )
- {
- iPrevViewId = aPrevViewId;
- if( iContainer )
- {
- AppUi()->RemoveFromViewStack( *this, iContainer );
- delete iContainer;
- iContainer = NULL;
- }
- HBufC* jamSetTitle = StringLoader::LoadLC( R_AM_INSTALLATION_SETTINGS_TITLE );
- CEikStatusPane* statusPane = StatusPane();
- CAknTitlePane* titlePane;
- titlePane = ( CAknTitlePane* ) statusPane->ControlL( TUid::Uid( EEikStatusPaneUidTitle ) );
- titlePane->SetTextL( jamSetTitle->Des() );
- CleanupStack::PopAndDestroy( jamSetTitle );
- jamSetTitle = NULL;
-
- iContainer = CAppMngr2GSSettingsContainer::NewL( ClientRect() );
- iContainer->SetMopParent( this );
- iContainer->MakeVisible( ETrue );
- iContainer->SetRect( ClientRect() );
- iContainer->ActivateL();
- AppUi()->AddToStackL( *this, iContainer );
- iContainer->ListBox()->SetListBoxObserver( this );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GSSettingsPlugin::DoDeactivate()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2GSSettingsPlugin::DoDeactivate()
- {
- if( iContainer )
- {
- iContainer->MakeVisible( EFalse );
- AppUi()->RemoveFromViewStack( *this, iContainer );
- delete iContainer;
- iContainer = NULL;
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GSSettingsPlugin::HandleForegroundEventL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2GSSettingsPlugin::HandleForegroundEventL( TBool aForeground )
- {
- if( aForeground )
- {
- iContainer->UpdateListBoxContentL();
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GSSettingsPlugin::CAppMngr2GSSettingsPlugin()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2GSSettingsPlugin::CAppMngr2GSSettingsPlugin() : iResources( *CCoeEnv::Static() )
- {
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GSSettingsPlugin::ConstructL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2GSSettingsPlugin::ConstructL()
- {
- TFileName* fileName = TAppMngr2DriveUtils::NearestResourceFileLC(
- KAppMngr2GsSettingsPluginResourceFileName, iCoeEnv->FsSession() );
-
- iResources.OpenL( *fileName );
- BaseConstructL( R_APPMNGR2_SETTINGS_VIEW );
-
- CleanupStack::PopAndDestroy( fileName );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GSSettingsPlugin::HandleListBoxSelectionL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2GSSettingsPlugin::HandleListBoxSelectionL()
- {
- TInt currentIndex = iContainer->ListBox()->CurrentItemIndex();
- ShowSettingPageL( currentIndex );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GSSettingsPlugin::ShowSettingPageL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2GSSettingsPlugin::ShowSettingPageL( TInt aSettingIndex )
- {
- FLOG( "CAppMngr2GSSettingsPlugin: ShowSettingPageL( %d )", aSettingIndex );
-
- // Variation flag may be used to hide "allow untrusted" option
- TInt hideAllowUntrusted = 1;
- CRepository* variationDB = CRepository::NewLC( KCRUidSWInstallerLV );
- variationDB->Get( KSWInstallerHideUntrustedIns, hideAllowUntrusted );
- CleanupStack::PopAndDestroy( variationDB );
- if( hideAllowUntrusted )
- {
- // Increase the setting index so that allow untrusted is not taken into account
- aSettingIndex++;
- }
-
- if( aSettingIndex == EAppMngr2SettingOcsp || aSettingIndex == EAppMngr2SettingOcspUrl )
- {
- if( !FeatureManager::FeatureSupported( KFeatureIdOCSP ) )
- {
- // If OCSP feature is not supported, it's not allowed to change values
- HBufC* p = StringLoader::LoadLC( R_AM_NOTE_LOCKED_SETTIGS );
- CAknInformationNote* note = new ( ELeave ) CAknInformationNote( ETrue );
- note->ExecuteLD( p->Des() );
- CleanupStack::PopAndDestroy( p );
- return;
- }
- }
-
- HBufC* urlTextStr = HBufC::NewLC( NCentralRepositoryConstants::KMaxUnicodeStringLength );
- TPtr urlText( urlTextStr->Des() );
- urlText.Zero();
- TInt newIndex = 0;
-
- if( aSettingIndex == EAppMngr2SettingSwInstall || aSettingIndex == EAppMngr2SettingOcsp )
- {
- CRepository* repDB = CRepository::NewLC( KCRUidSWInstallerSettings );
- CAknSettingPage* dlg = NULL;
- CDesCArrayFlat* itemArray = NULL;
-
- if( aSettingIndex == EAppMngr2SettingSwInstall )
- {
- // Install software
- itemArray = iCoeEnv->ReadDesC16ArrayResourceL(
- R_APPMNGR2_ALLOW_UNTRUSTED_VALUE_ARRAY );
- repDB->Get( KSWInstallerAllowUntrusted, newIndex );
- if( newIndex )
- {
- newIndex = 1;
- }
- dlg = new ( ELeave ) CAknRadioButtonSettingPage(
- R_APPMNGR2_SET_PAGE_ALLOW_UNTRUSTED,
- newIndex, itemArray );
- }
- else
- {
- // OCSP check
- repDB->Get( KSWInstallerOcspProcedure, newIndex );
- newIndex = MapOCSPIndex( newIndex );
- itemArray = iCoeEnv->ReadDesC16ArrayResourceL(
- R_APPMNGR2_OCSP_CHECK_VALUE_ARRAY );
- dlg = new ( ELeave ) CAknRadioButtonSettingPage(
- R_APPMNGR2_OCSP_CHECK_PAGE, newIndex, itemArray );
- }
- CleanupStack::PopAndDestroy( repDB );
- CleanupStack::PushL( itemArray );
-
- if( dlg->ExecuteLD( CAknSettingPage::EUpdateWhenChanged ) )
- {
- SetPermissionL( aSettingIndex, newIndex, urlText );
- }
- CleanupStack::PopAndDestroy( itemArray );
- }
- else if( aSettingIndex == EAppMngr2SettingOcspUrl )
- {
- CRepository* repDB = CRepository::NewLC( KCRUidSWInstallerSettings );
- repDB->Get( KSWInstallerOcspDefaultURL, urlText );
- CAknTextSettingPage* textDlg = new ( ELeave ) CAknTextSettingPage(
- R_APPMNGR2_OCSP_URL_SETTING_PAGE, urlText,
- CAknTextSettingPage::EZeroLengthAllowed );
- CleanupStack::PushL( textDlg );
- textDlg->ConstructL();
- textDlg->TextControl()->SetTextLimit( KAppMngr2MaxOcspUrlLength );
-
- CleanupStack::Pop( textDlg );
- CleanupStack::PopAndDestroy( repDB );
-
- if( textDlg->ExecuteLD( CAknSettingPage::EUpdateWhenChanged ) )
- {
- // Remove spaces from URL text
- for( TInt pos = urlText.Length() - 1; pos >= 0; --pos ) {
- if( TChar( urlText[pos] ).IsSpace() ) {
- urlText.Delete( pos, 1 );
- }
- }
- SetPermissionL( aSettingIndex, newIndex, urlText );
- }
- }
- else
- {
- ASSERT( EFalse );
- }
-
- CleanupStack::PopAndDestroy( urlTextStr );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GSSettingsPlugin::SetPermissionL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2GSSettingsPlugin::SetPermissionL( TInt aSettingIndex,
- TInt aNewValueIndex,
- TPtrC16 aUrlText )
- {
- FLOG( "CAppMngr2GSSettingsPlugin::SetPermissionL( %d, %d, %S )",
- aSettingIndex, aNewValueIndex, &aUrlText );
-
- // Write the setting value to Central repository
- CRepository* repDB = CRepository::NewLC( KCRUidSWInstallerSettings );
- switch( aSettingIndex )
- {
- case EAppMngr2SettingSwInstall:
- repDB->Set( KSWInstallerAllowUntrusted, aNewValueIndex );
- break;
- case EAppMngr2SettingOcsp:
- aNewValueIndex = MapOCSPIndex( aNewValueIndex );
- repDB->Set( KSWInstallerOcspProcedure, aNewValueIndex );
- break;
- case EAppMngr2SettingOcspUrl:
- repDB->Set( KSWInstallerOcspDefaultURL, aUrlText );
- break;
- default:
- ASSERT( EFalse );
- break;
- }
- CleanupStack::PopAndDestroy( repDB );
-
- iContainer->UpdateListBoxContentL();
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GSSettingsPlugin::MapOCSPIndex()
-// ---------------------------------------------------------------------------
-//
-TInt CAppMngr2GSSettingsPlugin::MapOCSPIndex( TInt aValue )
- {
- TInt result = 0;
-
- switch( aValue )
- {
- case ESWInstallerOcspProcedureOff:
- result = EAppMngr2OcspCheckValueArrayOff;
- break;
- case ESWInstallerOcspProcedureOn:
- result = EAppMngr2OcspCheckValueArrayOn;
- break;
- case ESWInstallerOcspProcedureMust:
- result = EAppMngr2OcspCheckValueArrayMustPass;
- break;
- default:
- break;
- }
-
- return result;
- }
-
--- a/appinstaller/AppMngr2/GSSettingsPlugin/src/appmngr2gssettingspluginmain.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
-* Copyright (c) 2003-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: ECOM proxy table for AppMngr2 GS (General Settigns) Settings plug-in
-*
-*/
-
-
-#include "appmngr2gssettingsplugin.h" // CAppMngr2GSSettingsPlugin
-#include <ecom/implementationproxy.h> // TImplementationProxy
-
-
-// ---------------------------------------------------------------------------
-// Local array that maps the ECom implementation UIDs to factory functions
-// ---------------------------------------------------------------------------
-//
-const TImplementationProxy ImplementationTable[] =
- {
- IMPLEMENTATION_PROXY_ENTRY( KAppMngr2GSSettingsUidValue, CAppMngr2GSSettingsPlugin::NewL )
- };
-
-// ---------------------------------------------------------------------------
-// ImplementationGroupProxy
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
- {
- aTableCount = sizeof( ImplementationTable ) / sizeof( TImplementationProxy );
- return ImplementationTable;
- }
-
--- a/appinstaller/AppMngr2/SWInstAdapter/data/swinstadapter.rss Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
-* Copyright (c) 2005-2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Registery info for the SW Installer DM Adapter.
-*
-*/
-
-
-#include <ecom/registryinfo.rh> // REGISTRY_INFO
-#include "../inc/swinstadapteruids.hrh"
-
-RESOURCE REGISTRY_INFO theRegistryInfo
- {
- dll_uid = KSWInstAdapterDllUid3; // The DLL's 3rd UID.
- interfaces =
- {
- INTERFACE_INFO
- {
- interface_uid = 0x102018B4; // KSmlDMInterfaceUid
- implementations =
- {
- IMPLEMENTATION_INFO
- {
- implementation_uid = KSWInstAdapterImplUid;
- version_no = 1;
- display_name = "SW Installer DM Adapter";
- default_data = "";
- opaque_data = "";
- }
- };
- }
- };
- }
-
-
--- a/appinstaller/AppMngr2/SWInstAdapter/inc/cswinstadapter.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,417 +0,0 @@
-/*
-* Copyright (c) 2006-2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: OMA DM adapter for SW Installer configuration
-*
-*/
-
-
-#ifndef C_CSWINSTADAPTER_H
-#define C_CSWINSTADAPTER_H
-
-#include <e32base.h>
-#include <smldmadapter.h>
-#include <centralrepository.h>
-
-/**
-* SW Installer DM Adapter
-* This adapter implements remote configuration for SW Installer settings.
-* @since S60 v3.2
-*/
-class CSWInstAdapter : public CSmlDmAdapter
- {
- public: // Constructors, destructor
- /**
- * Create instance of CSWInstAdapter
- * @param aDmCallBack
- * @return Instance of CSWInstAdapter
- */
- static CSWInstAdapter* NewL( MSmlDmCallback* aDmCallback );
-
- /**
- * Create instance of CSWInstAdapter
- * @param aDmCallBack
- * @return Instance of CSWInstAdapter
- */
- static CSWInstAdapter* NewLC( MSmlDmCallback* aDmCallback );
-
- /**
- * C++ Destructor
- */
- virtual ~CSWInstAdapter();
-
- public:
- /**
- * The function returns current version of the DDF.
- * By asking current DDF versions from adapters DM Module can control
- * possible changes in the data structure and send the changed DDF
- * description to a management server.
- * This function is always called after DDFStructureL.
- * @param aVersion DDF version of the adapter. (filled by the adapter)
- * @publishedPartner
- * @prototype
- */
- void DDFVersionL( CBufBase& aVersion );
-
- /**
- * The function for filling the DDF structure of the adapter
- * This function is only called once, immediately after the adapter is created.
- * @param aDDFObject Reference to root object. A DM adapter starts filling
- the data structure by calling AddChildObjectL to the root object and
- so describes the DDF of the adapter.
- * @publishedPartner
- * @prototype
- */
- void DDFStructureL( MSmlDmDDFObject& aDDF );
-
- /**
- * The function creates new leaf objects, or replaces data in existing leaf
- * objects. The information about the success of the command should be
- * returned by calling SetStatusL function of MSmlDmCallback callback
- * interface. This makes it possible to buffer the commands. However, all
- * the status codes for buffered commands must be returned at the latest when
- * the adapter's CompleteOutstandingCmdsL() is called.
- * @param aURI URI of the object
- * @param aLUID LUID of the object (if the adapter has earlier returned a
- LUID to the DM Module). For new objects, this is the LUID
- inherited through the parent node.
- * @param aObject Data of the object.
- * @param aType MIME type of the object
- * @param aStatus Ref Reference to correct command, i.e. this reference
- must be used when calling the SetStatusL of this command
- * @publishedPartner
- * @prototype
- */
- void UpdateLeafObjectL( const TDesC8& aURI,
- const TDesC8& aLUID,
- const TDesC8& aObject,
- const TDesC8& aType,
- TInt aStatusRef
- );
-
- /**
- * The function creates new leaf objects, or replaces data in existing leaf
- * objects, in the case where data is large enough to be streamed. The
- * information about the success of the command should be returned by calling
- * SetStatusL function of MSmlDmCallback callback interface. This makes it
- * possible to buffer the commands. However, all the status codes for buffered
- * commands must be returned at the latest when the CompleteOutstandingCmdsL()
- * of adapter is called.
- * @param aURI URI of the object
- * @param aLUID LUID of the object (if the adapter has earlier returned a
- LUID to the DM Module). For new objects, this is the LUID
- inherited through the parent node.
- * @param aStream Data of the object. Adapter should create write stream
- and return, when data is written to stream by DM agent,
- StreamCommittedL() is called by DM engine
- * @param aType MIME type of the object
- * @param aStatusRef Reference to correct command, i.e. this reference
- must be used when calling the SetStatusL of this
- command.
- * @publishedPartner
- * @prototype
- */
- void UpdateLeafObjectL( const TDesC8& aURI,
- const TDesC8& aLUID,
- RWriteStream*& aStream,
- const TDesC8& aType,
- TInt aStatusRef
- );
-
- /**
- * The function deletes an object and its child objects. The SetStatusL
- * should be used as described in UpdateLeafObjectL()
- * @param aURI URI of the object
- * @param aLUID LUID of the object (if the adapter have earlier returned
- LUID to the DM Module).
- * @param aStatusRef Reference to correct command, i.e. this reference must
- be used when calling the SetStatusL of this command.
- * @publishedPartner
- * @prototype
- */
- void DeleteObjectL( const TDesC8& aURI,
- const TDesC8& aLUID,
- TInt aStatusRef
- );
-
- /**
- * The function fetches data of a leaf object. The SetStatusL should be used
- * as described in UpdateLeafObjectL(). The data is returned by using the
- * SetResultsL function of MSmlCallback callback interface, and may be streamed.
- * @param aURI URI of the object
- * @param aLUID LUID of the object (if the adapter have earlier
- returned LUID to the DM Module).
- * @param aType MIME type of the object
- * @param aResultsRef Reference to correct results, i.e. this reference
- must be used when returning the result by calling
- the SetResultsL.
- * @param aStatusRef Reference to correct command, i.e. this reference
- must be used when calling the SetStatusL of this
- command.
- * @publishedPartner
- * @prototype
- */
- void FetchLeafObjectL( const TDesC8& aURI,
- const TDesC8& aLUID,
- const TDesC8& aType,
- TInt aResultsRef,
- TInt aStatusRef
- );
-
- /**
- * The function fetches the size of the data of a leaf object. The size is
- * in bytes, and must reflect the number of bytes that will be transferred
- * when the framework calls FetchLeafObjectL. The SetStatusL should be used
- * as described in FetchLeafObjectL(). The size value is returned by using
- * the SetResultsL function of MSmlCallback callback interface, and must be
- * a decimal integer expressed as a string, eg. "1234".
- * Results from this call MUST NOT be streamed.
- * @param aURI URI of the object
- * @param aLUID LUID of the object (if the adapter have earlier
- returned LUID to the DM Module).
- * @param aType MIME type of the object
- * @param aResultsRef Reference to correct results, i.e. this reference
- must be used when returning the result by calling
- the SetResultsL.
- * @param aStatusRef Reference to correct command, i.e. this reference
- must be used when calling the SetStatusL of this
- command.
- * @publishedPartner
- * @prototype
- */
- void FetchLeafObjectSizeL( const TDesC8& aURI,
- const TDesC8& aLUID,
- const TDesC8& aType,
- TInt aResultsRef,
- TInt aStatusRef
- );
- /**
- * The function fetches URI list. An adapter returns the list of URI segments
- * under the given URI be separated by slash ("/"). The URI segment names for
- * new objects must be given by the adapter.
- * The list is returned by calling the SetResultsL function of MSmlCallback
- * callback interface. Results from this call MUST NOT be streamed.
- * @param aParentURI URI of the parent object
- * @param aParentLUID LUID of the parent object (if the
- adapter have earlier returned LUID to
- the DM Module).
- * @param aPreviousURISegmentList URI list with mapping LUID information,
- which is known by DM engine. An adapter
- can use this information when verifying
- if old objects still exists. An adapter
- also knows what objects are new to DM
- engine and can provide LUID mapping for
- them. aPreviousURISegmentList parameter
- (see above) helps to recognise new
- objects.
- * @param aResultsRef Reference to correct results, i.e. this
- reference must be used when returning
- the result by calling the SetResultsL.
- * @param aStatusRef Reference to correct command, i.e. this
- reference must be used when calling the
- SetStatusL of this command.
- * @publishedPartner
- * @prototype
- */
- void ChildURIListL( const TDesC8& aURI,
- const TDesC8& aLUID,
- const CArrayFix<TSmlDmMappingInfo>& aPreviousURISegmentList,
- TInt aResultsRef,
- TInt aStatusRef
- );
-
- /**
- * The function adds node object. In some cases an implementation of the
- * function may be empty function, if the node object does not need concrete
- * database update. Still this function may be helpful to an adapter, i.e. in
- * passing mapping LUID of the node to DM Module. The SetStatusL should be
- * used as described in UpdateLeafObjectL()
- * @param aURI URI of the object
- * @param aParentLUID LUID of the parent object (if the adapter have
- earlier returned LUID to the DM Module).
- * @param aStatusRef Reference to correct command, i.e. this reference
- must be used when calling the SetStatusL of this
- command.
- * @publishedPartner
- * @prototype
- */
- void AddNodeObjectL( const TDesC8& aURI,
- const TDesC8& aParentLUID,
- TInt aStatusRef
- );
-
- /**
- * The function implements execute command. The information about the success
- * of the command should be returned by calling SetStatusL function of
- * MSmlDmCallback callback interface. This makes it possible to buffer the
- * commands.
- * However, all the status codes for buffered commands must be returned at
- * the latest when the CompleteOutstandingCmdsL() of adapter is called.
- * @param aURI URI of the command
- * @param aLUID LUID of the object (if the adapter have earlier
- returned LUID to the DM Module).
- * @param aArgument Argument for the command
- * @param aType MIME type of the object
- * @param aStatusRef Reference to correct command, i.e. this reference
- must be used when calling the SetStatusL of this
- command.
- * @publishedPartner
- * @prototype
- */
- void ExecuteCommandL( const TDesC8& aURI,
- const TDesC8& aLUID,
- const TDesC8& aArgument,
- const TDesC8& aType,
- TInt aStatusRef
- );
-
- /**
- * The function implements execute command. The information about the
- * success of the command should be returned by calling SetStatusL function
- * of MSmlDmCallback callback interface. This makes it possible to buffer the
- * commands.
- * However, all the status codes for buffered commands must be returned at
- * the latest when the CompleteOutstandingCmdsL() of adapter is called.
- * @param aURI URI of the command
- * @param aLUID LUID of the object (if the adapter have earlier
- returned LUID to the DM Module).
- * @param aStream Argument for the command. Adapter should create
- write stream and return, when data is written to
- stream by DM agent, StreamCommittedL() is called by
- DM engine
- * @param aType MIME type of the object
- * @param aStatusRef Reference to correct command, i.e. this reference
- must be used when calling the SetStatusL of this
- command.
- * @publishedPartner
- * @prototype
- */
- void ExecuteCommandL( const TDesC8& aURI,
- const TDesC8& aLUID,
- RWriteStream*& aStream,
- const TDesC8& aType,
- TInt aStatusRef
- );
-
- /**
- * The function implements copy command. The information about the success of
- * the command should be returned by calling SetStatusL function of
- * MSmlDmCallback callback interface. This makes it possible to buffer the
- * commands.
- * However, all the status codes for buffered commands must be returned at
- * the latest when the CompleteOutstandingCmdsL() of adapter is called.
- * @param aTargetURI Target URI for the command
- * @param aSourceLUID LUID of the target object (if one exists, and if the adapter
- has earlier returned a LUID to the DM Module).
- * @param aSourceURI Source URI for the command
- * @param aSourceLUID LUID of the source object (if the adapter has
- earlier returned a LUID to the DM Module).
- * @param aType MIME type of the objects
- * @param aStatusRef Reference to correct command, i.e. this reference
- must be used when calling the SetStatusL of this
- command.
- * @publishedPartner
- * @prototype
- */
- void CopyCommandL( const TDesC8& aTargetURI,
- const TDesC8& aTargetLUID,
- const TDesC8& aSourceURI,
- const TDesC8& aSourceLUID,
- const TDesC8& aType,
- TInt aStatusRef
- );
-
- /**
- * The function indicates start of Atomic command.
- * @publishedPartner
- * @prototype
- */
- void StartAtomicL();
-
- /**
- * The function indicates successful end of Atomic command. The adapter
- * should commit all changes issued between StartAtomicL() and
- * CommitAtomicL()
- * @publishedPartner
- * @prototype
- */
- void CommitAtomicL();
-
- /**
- * The function indicates unsuccessful end of Atomic command. The adapter
- * should rollback all changes issued between StartAtomicL() and
- * RollbackAtomicL(). If rollback fails for a command, adapter should use
- * SetStatusL() to indicate it.
- * @publishedPartner
- * @prototype
- */
- void RollbackAtomicL();
-
- /**
- * Returns ETrue if adapter supports streaming otherwise EFalse.
- * @param aItemSize size limit for stream usage
- * @return TBool ETrue for streaming support
- * @publishedPartner
- * @prototype
- */
- TBool StreamingSupport( TInt& aItemSize );
-
- /**
- * Called when stream returned from UpdateLeafObjectL or ExecuteCommandL has
- * been written to and committed. Not called when fetching item.
- * @publishedPartner
- * @prototype
- */
- void StreamCommittedL();
-
- /**
- * The function tells the adapter that all the commands of the message that
- * can be passed to the adapter have now been passed. This indicates that
- * the adapter must supply status codes and results to any buffered commands.
- * This must be done at latest by the time this function returns.
- * This function is used at the end of SyncML messages, and during processing
- * of Atomic. In the case of Atomic processing, the function will be
- * followed by a call to CommitAtomicL or RollbackAtomicL.
- * @publishedPartner
- * @prototype
- */
- void CompleteOutstandingCmdsL();
-
- private: // New methods
- void CSWInstAdapter::FillNodeInfoL( MSmlDmDDFObject& aDDFObject,
- TSmlDmAccessTypes& aAccessTypes,
- MSmlDmDDFObject::TScope aScope,
- MSmlDmDDFObject::TDFFormat aFormat,
- MSmlDmDDFObject::TOccurence aOccurence,
- const TDesC8& aDescription,
- const TDesC8& aMIMEType );
- private: // Constructor
- /**
- * Symbian 2nd phase constructor
- */
- void ConstructL();
-
- /**
- * C++ Constructor
- */
- CSWInstAdapter( TAny* aEcomArguments );
-
- private: // Data
- CRepository* iSettingsCenRep;
- CRepository* iLocalVarCenRep;
- };
-
-#endif // C_CSWINSTADAPTER_H
-
-// End Of File
-
--- a/appinstaller/AppMngr2/SWInstAdapter/inc/swinstadapteruids.hrh Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-/*
-* Copyright (c) 2005-2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Resource headers for SW Installer DM Adapter
-*
-*/
-
-
-#ifndef SWINSTADAPTERUIDS_HRH
-#define SWINSTADAPTERUIDS_HRH
-
-#define KSWInstAdapterDllUid3 0x20002537
-#define KSWInstAdapterImplUid 0x20002538
-
-#endif // SWINSTADAPTERUIDS_HRH
-
--- a/appinstaller/AppMngr2/SWInstAdapter/src/swinstadapter.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,491 +0,0 @@
-/*
-* Copyright (c) 2006-2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Implementation of OMA DM adapter, allows to configure SW Installer
-*
-*/
-
-
-#include <smldmadapter.h>
-#include <data_caging_path_literals.hrh>
-#include <centralrepository.h>
-#include <SWInstallerInternalCRKeys.h>
-#include "cswinstadapter.h"
-
-_LIT8( KIntType, "int" ); // Leaf inputs
-_LIT8( KTextType, "text/plain" ); // Leaf inputs
-_LIT8( KSWInstDMAdapterVersion, "1.0" ); // Adapter version
-_LIT8( KSWInstRootNode, "SWInstaller" ); // root URI
-_LIT8( KSWInstRootURI, "SWInstaller" );
-_LIT8( KAllowUnsignedNode, "AllowUnsigned" ); // URI postfix
-_LIT8( KAllowUnsignedURI, "SWInstaller/AllowUnsigned" );
-_LIT8( KAllowUnsignedDescription, "This node tells whether unsigned \
- applications are allowed to be installed" ); // Description
-static const TUint32 KSizeOfSettingId = 0x8; // Contanst size declaration
-
-
-// ============================= LOCAL FUNCTIONS =============================
-
-#ifdef _DEBUG
-#define DEBUG( x ) x
-#else
-#define DEBUG( x )
-#endif
-
-
-// ============================= MEMBER FUNCTIONS =============================
-
-// ----------------------------------------------------------------------------
-// CSWInstAdapter::NewL
-// Symbian 1st phase contructor
-// ----------------------------------------------------------------------------
-//
-CSWInstAdapter* CSWInstAdapter::NewL( MSmlDmCallback* aCallback )
- {
- CSWInstAdapter* self = NewLC( aCallback );
- CleanupStack::Pop( self );
- return self;
- }
-
-// ----------------------------------------------------------------------------
-// CSWInstAdapter::NewLC
-// Symbian 1st phase contructor. Push object to cleanup-stack
-// ----------------------------------------------------------------------------
-//
-CSWInstAdapter* CSWInstAdapter::NewLC( MSmlDmCallback* aCallback )
- {
- CSWInstAdapter* self = new ( ELeave ) CSWInstAdapter( aCallback );
- CleanupStack::PushL( self );
- self->ConstructL();
- return self;
- }
-
-// ----------------------------------------------------------------------------
-// CSWInstAdapter::CSWInstAdapter()
-// C++ Constructor
-// ----------------------------------------------------------------------------
-CSWInstAdapter::CSWInstAdapter( TAny* aEcomArguments )
- : CSmlDmAdapter::CSmlDmAdapter( aEcomArguments )
- {
- DEBUG( RDebug::Print( _L( "CSWInstAdapter Constructor" ) ) );
- }
-
-// ----------------------------------------------------------------------------
-// CSWInstAdapter::ConstructL
-// 2nd phase contructor
-// ----------------------------------------------------------------------------
-//
-void CSWInstAdapter::ConstructL()
- {
- DEBUG( RDebug::Print( _L( "CSWInstAdapter::ConstructL" ) ) );
- iSettingsCenRep = CRepository::NewL( KCRUidSWInstallerSettings );
- iLocalVarCenRep = CRepository::NewL( KCRUidSWInstallerLV );
- }
-
-// ----------------------------------------------------------------------------
-// CSWInstAdapter::~CSWInstAdapter()
-// C++ Destructor
-// ----------------------------------------------------------------------------
-//
-CSWInstAdapter::~CSWInstAdapter()
- {
- DEBUG( RDebug::Print( _L( "CSWInstAdapter Destructor" ) ) );
- delete iSettingsCenRep;
- delete iLocalVarCenRep;
- }
-
-// ----------------------------------------------------------------------------
-// CSWInstAdapter::DDFVersionL
-// Return DM plug-in version
-// ----------------------------------------------------------------------------
-//
-void CSWInstAdapter::DDFVersionL( CBufBase& aDDFVersion )
- {
- // Insert version information
- DEBUG( RDebug::Print( _L( "CSWInstAdapter::DDFVersionL" ) ) );
- aDDFVersion.InsertL( 0, KSWInstDMAdapterVersion );
- }
-
-// ----------------------------------------------------------------------------
-// CSWInstAdapter::DDFStructureL
-// Return DM plug-in structure
-// ----------------------------------------------------------------------------
-//
-void CSWInstAdapter::DDFStructureL( MSmlDmDDFObject& aDDF )
- {
- // Declare accesses
- DEBUG( RDebug::Print( _L( "CSWInstAdapter::DDFStructureL" ) ) );
- TSmlDmAccessTypes accessTypes;
- accessTypes.SetGet();
-
- // Create root node
- MSmlDmDDFObject& root = aDDF.AddChildObjectL( KSWInstRootNode );
- FillNodeInfoL( root,
- accessTypes,
- MSmlDmDDFObject::EPermanent,
- MSmlDmDDFObject::ENode,
- MSmlDmDDFObject::EOne,
- KNullDesC8(),
- KTextType );
-
- accessTypes.SetReplace();
-
- MSmlDmDDFObject& allowUnsignedNode = root.AddChildObjectL( KAllowUnsignedNode );
- FillNodeInfoL( allowUnsignedNode,
- accessTypes,
- MSmlDmDDFObject::EPermanent,
- MSmlDmDDFObject::EChr,
- MSmlDmDDFObject::EOne,
- KAllowUnsignedDescription,
- KTextType );
-
- DEBUG( RDebug::Print( _L( "CSWInstAdapter::DDFStructureL done" ) ) );
- }
-
-// ----------------------------------------------------------------------------
-// CSWInstAdapter::StreamingSupport
-// Return streaming support status, set supported item size
-// ----------------------------------------------------------------------------
-//
-TBool CSWInstAdapter::StreamingSupport( TInt& /* aItemSize */ )
- {
- // Not supported
- DEBUG( RDebug::Print( _L( "CSWInstAdapter::StreamingSupport" ) ) );
- return EFalse;
- }
-
-// ----------------------------------------------------------------------------
-// CSWInstAdapter::StreamCommittedL
-// Commit stream buffer
-// ----------------------------------------------------------------------------
-//
-void CSWInstAdapter::StreamCommittedL()
- {
- DEBUG( RDebug::Print( _L( "CSWInstAdapter::StreamCommitted" ) ) );
- // Intentionally left empty
- }
-
-// ----------------------------------------------------------------------------
-// CSWInstAdapter::CompleteOutstandingCmdsL
-// Complete outstanding commands
-// ----------------------------------------------------------------------------
-//
-void CSWInstAdapter::CompleteOutstandingCmdsL()
- {
- DEBUG( RDebug::Print( _L( "CSWInstAdapter::CompleteOutstandingCmdsL" ) ) );
- }
-
-// ----------------------------------------------------------------------------
-// CSWInstAdapter::FillNodeInfoL
-// Fill node info
-// ----------------------------------------------------------------------------
-//
-void CSWInstAdapter::FillNodeInfoL( MSmlDmDDFObject& aDDFObject,
- TSmlDmAccessTypes& aAccessTypes,
- MSmlDmDDFObject::TScope aScope,
- MSmlDmDDFObject::TDFFormat aFormat,
- MSmlDmDDFObject::TOccurence aOccurence,
- const TDesC8& aDescription,
- const TDesC8& aMIMEType )
- {
- DEBUG( RDebug::Print( _L( "CSWInstAdapter::FillNodeInfoL" ) ) );
- aDDFObject.SetAccessTypesL( aAccessTypes );
- aDDFObject.SetScopeL( aScope );
- aDDFObject.SetOccurenceL( aOccurence );
- aDDFObject.SetDFFormatL( aFormat );
- aDDFObject.SetDescriptionL( aDescription );
- if ( aFormat != MSmlDmDDFObject::ENode )
- {
- aDDFObject.AddDFTypeMimeTypeL( aMIMEType );
- }
- DEBUG( RDebug::Print( _L( "CSWInstAdapter::FillNodeInfoL done" ) ) );
- }
-
-// ----------------------------------------------------------------------------
-// CSWInstAdapter::CopyCommandL
-// Copy object
-// ----------------------------------------------------------------------------
-//
-void CSWInstAdapter::CopyCommandL( const TDesC8& /*aTargetURI*/,
- const TDesC8& /*aTargetLUID*/,
- const TDesC8& /*aSourceURI*/,
- const TDesC8& /*aSourceLUID*/,
- const TDesC8& /*aType*/,
- TInt aStatusRef )
- {
- // Not supported
- DEBUG( RDebug::Print( _L( "CSWInstAdapter::CopyCommandL" ) ) );
- Callback().SetStatusL( aStatusRef, CSmlDmAdapter::EError );
- }
-
-// ----------------------------------------------------------------------------
-// DeleteObjectL
-// Delete object
-// ----------------------------------------------------------------------------
-//
-void CSWInstAdapter::DeleteObjectL( const TDesC8& /* aURI */,
- const TDesC8& /* aLUID */,
- TInt aStatusRef )
-
- {
- // Not supported
- DEBUG( RDebug::Print( _L( "CSWInstAdapter::DeleteObjectL" ) ) );
- Callback().SetStatusL( aStatusRef, CSmlDmAdapter::EError );
- }
-
-// ----------------------------------------------------------------------------
-// CSWInstAdapter::FetchLeafObjectL
-// Fetch leaf
-// ----------------------------------------------------------------------------
-//
-void CSWInstAdapter::FetchLeafObjectL( const TDesC8& aURI,
- const TDesC8& /* aLUID */,
- const TDesC8& aType,
- TInt aResultsRef,
- TInt aStatusRef )
- {
- DEBUG( RDebug::Print( _L( "CSWInstAdapter::FetchLeafObjectL" ) ) );
- MSmlDmAdapter::TError retValue = CSmlDmAdapter::EOk;
-
- if ( aURI.Compare( KAllowUnsignedURI ) == 0 )
- {
- TInt cenRepValue;
- TInt ret = iLocalVarCenRep->Get( KSWInstallerHideUntrustedIns, cenRepValue );
- DEBUG( RDebug::Print( _L("CSWInstAdapter: CenRep ret = %d, val = %d" ), ret, !cenRepValue ) );
- if ( ret == KErrNone )
- {
- TBuf8<KSizeOfSettingId> buf;
- buf.AppendNum( !cenRepValue );
- CBufBase* bufBase = CBufFlat::NewL( 1 );
- CleanupStack::PushL( bufBase );
- bufBase->InsertL( 0, buf );
- Callback().SetResultsL( aResultsRef, *bufBase, aType );
- CleanupStack::PopAndDestroy( bufBase );
- }
- else
- {
- retValue = CSmlDmAdapter::EError;
- }
- }
- else
- {
- retValue = CSmlDmAdapter::EError;
- }
- // Respond
- Callback().SetStatusL( aStatusRef, retValue );
- DEBUG( RDebug::Print( _L( "CSWInstAdapter::FetchLeafObjectL done" ) ) );
- }
-
-// ----------------------------------------------------------------------------
-// CSWInstAdapter::FetchLeafObjectSizeL
-// Calculate leaf object size
-// ----------------------------------------------------------------------------
-//
-void CSWInstAdapter::FetchLeafObjectSizeL( const TDesC8& aURI,
- const TDesC8& /* aLUID */,
- const TDesC8& /* aType */,
- TInt aResultsRef,
- TInt aStatusRef )
- {
- DEBUG( RDebug::Print( _L( "CSWInstAdapter::FetchLeafObjectSizeL" ) ) );
- MSmlDmAdapter::TError retValue = CSmlDmAdapter::EOk;
-
- if ( aURI.Compare( KAllowUnsignedURI ) == 0 )
- {
- TBuf8<KSizeOfSettingId> buf;
- CBufBase* bufBase = CBufFlat::NewL( KSizeOfSettingId );
- CleanupStack::PushL( bufBase );
- buf.AppendNum( sizeof(TInt) );
- bufBase->InsertL( 0, buf );
- Callback().SetResultsL( aResultsRef, *bufBase, KIntType );
- CleanupStack::PopAndDestroy( bufBase );
- }
- else
- {
- retValue = CSmlDmAdapter::ENotFound;
- }
- // Respond
- Callback().SetStatusL( aStatusRef, retValue );
- DEBUG( RDebug::Print( _L( "CSWInstAdapter::FetchLeafObjectSizeL done" ) ) );
- }
-
-// ----------------------------------------------------------------------------
-// CSWInstAdapter::ChildURIListL
-// Create child URI list
-// ----------------------------------------------------------------------------
-//
-void CSWInstAdapter::ChildURIListL( const TDesC8& aURI,
- const TDesC8& /* aLUID */,
- const CArrayFix<TSmlDmMappingInfo>& /* aPreviousURISegmentList */,
- TInt aResultsRef,
- TInt aStatusRef )
- {
- DEBUG( RDebug::Print( _L( "CSWInstAdapter::ChildURIListL" ) ) );
- MSmlDmAdapter::TError retValue = CSmlDmAdapter::EOk;
-
- if ( aURI.Compare( KSWInstRootURI ) == 0)
- {
- CBufBase* buf = CBufFlat::NewL( 1 );
- CleanupStack::PushL( buf );
- buf->InsertL( 0, KAllowUnsignedNode );
- Callback().SetResultsL( aResultsRef, *buf, KNullDesC8 );
- CleanupStack::PopAndDestroy( buf );
- }
- else
- {
- retValue = CSmlDmAdapter::ENotFound;
- }
-
- // Respond
- Callback().SetStatusL( aStatusRef, retValue );
- DEBUG( RDebug::Print( _L( "CSWInstAdapter::ChildURIListL done" ) ) );
- }
-
-// ----------------------------------------------------------------------------
-// CSWInstAdapter::AddNodeObjectL
-// Add node
-// ----------------------------------------------------------------------------
-//
-void CSWInstAdapter::AddNodeObjectL( const TDesC8& /* aURI */,
- const TDesC8& /* aParentLUID */,
- TInt aStatusRef )
- {
- // Not supported
- DEBUG( RDebug::Print( _L( "CSWInstAdapter::AddNodeObjectL" ) ) );
- Callback().SetStatusL( aStatusRef, CSmlDmAdapter::EError );
- }
-
-// ----------------------------------------------------------------------------
-// CSWInstAdapter::ExecuteCommandL
-// Execute command
-// ----------------------------------------------------------------------------
-//
-void CSWInstAdapter::ExecuteCommandL( const TDesC8& /* aURI */,
- const TDesC8& /* aLUID */,
- const TDesC8& /* aArgument */,
- const TDesC8& /* aType */,
- TInt aStatusRef )
- {
- // Not supported
- DEBUG( RDebug::Print( _L( "CSWInstAdapter::ExecuteCommandL" ) ) );
- Callback().SetStatusL( aStatusRef, CSmlDmAdapter::EError );
- }
-
-// ----------------------------------------------------------------------------
-// CSWInstAdapter::ExecuteCommandL
-// Execute command, streaming enabled
-// ----------------------------------------------------------------------------
-//
-void CSWInstAdapter::ExecuteCommandL( const TDesC8& /* aURI */,
- const TDesC8& /* aLUID */,
- RWriteStream*& /* aStream */,
- const TDesC8& /* aType */,
- TInt aStatusRef )
- {
- // Not supported
- DEBUG( RDebug::Print( _L( "CSWInstAdapter::ExecuteCommandL (streaming)" ) ) );
- Callback().SetStatusL( aStatusRef, CSmlDmAdapter::EError );
- }
-
-// ----------------------------------------------------------------------------
-// CSWInstAdapter::UpdateLeafObjectL
-// Update leaf object
-// ----------------------------------------------------------------------------
-//
-void CSWInstAdapter::UpdateLeafObjectL( const TDesC8& aURI,
- const TDesC8& /* aLUID */,
- const TDesC8& aObject,
- const TDesC8& /* aType */,
- TInt aStatusRef )
- {
- DEBUG( RDebug::Print( _L( "CSWInstAdapter::UpdateLeafObjectL" ) ) );
- MSmlDmAdapter::TError retValue = CSmlDmAdapter::EOk;
-
- if ( aURI.Compare( KAllowUnsignedURI ) == 0 )
- {
- TLex8 lex( aObject );
- TInt value;
- TInt ret;
- if ( lex.Val( value ) != KErrNone )
- {
- DEBUG( RDebug::Print( _L( "CSWInstAdapter: lex.Val failed" ) ) );
- retValue = CSmlDmAdapter::EInvalidObject;
- }
- else
- {
- TInt allow = !!value; // make sure it's 0 or 1
- TInt hide = !value;
- ret = iSettingsCenRep->Set( KSWInstallerAllowUntrusted, allow );
- DEBUG( RDebug::Print( _L( "CSWInstAdapter: KSWInstallerAllowUntrusted set to %d, ret %d" ), allow, ret ) );
- ret |= iLocalVarCenRep->Set( KSWInstallerHideUntrustedIns, hide );
- DEBUG( RDebug::Print( _L( "CSWInstAdapter: KSWInstallerHideUntrustedIns set to %d, ret %d" ), hide, ret ) );
- if ( ret != KErrNone )
- {
- retValue = CSmlDmAdapter::EError;
- }
- }
- }
- else
- {
- retValue = CSmlDmAdapter::ENotFound;
- }
- // Respond
- Callback().SetStatusL( aStatusRef, retValue );
- DEBUG( RDebug::Print( _L( "CSWInstAdapter::UpdateLeafObjectL done" ) ) );
- }
-
-// ----------------------------------------------------------------------------
-// CSWInstAdapter::UpdateLeafObjectL
-// Update leaf object, streaming enabled
-// ----------------------------------------------------------------------------
-//
-void CSWInstAdapter::UpdateLeafObjectL( const TDesC8& /* aURI */,
- const TDesC8& /* aLUID */,
- RWriteStream*& /* aStream */,
- const TDesC8& /* aType */,
- TInt aStatusRef
- )
- {
- // Not supported
- DEBUG( RDebug::Print( _L( "CSWInstAdapter::UpdateLeafObjectL (streaming)" ) ) );
- Callback().SetStatusL( aStatusRef, CSmlDmAdapter::EError );
- }
-
-// ----------------------------------------------------------------------------
-// CSWInstAdapter::StartAtomicL
-// Start atomic
-// ----------------------------------------------------------------------------
-//
-void CSWInstAdapter::StartAtomicL()
- {
- }
-
-// ----------------------------------------------------------------------------
-// CSWInstAdapter::CommitAtomicL
-// Commit atomic commands
-// ----------------------------------------------------------------------------
-//
-void CSWInstAdapter::CommitAtomicL()
- {
- }
-
-// ----------------------------------------------------------------------------
-// CSWInstAdapter::RollbackAtomicL
-// Lose all modifications after 'StartAtomicL' command
-// ----------------------------------------------------------------------------
-//
-void CSWInstAdapter::RollbackAtomicL()
- {
- }
-
-// End of File
--- a/appinstaller/AppMngr2/SWInstAdapter/src/swinstadaptermain.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
-* Copyright (c) 2002-2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: ECom interface implementation
-*
-*/
-
-
-#include "cswinstadapter.h" // CSWInstAdapter
-#include "swinstadapteruids.hrh" // KSWInstAdapterImplUid
-#include <ecom/implementationproxy.h> // TImplementationProxy
-
-// ----------------------------------------------------------------------------
-// ImplementationTable
-// Ecom plug-in implementation table
-// ----------------------------------------------------------------------------
-//
-const TImplementationProxy ImplementationTable[] =
- {
-#ifdef __EABI__
- IMPLEMENTATION_PROXY_ENTRY( KSWInstAdapterImplUid, CSWInstAdapter::NewL )
-#else // __EABI__
- { { KSWInstAdapterImplUid }, CSWInstAdapter::NewL }
-#endif // __EABI__
- };
-
-// ----------------------------------------------------------------------------
-// ImplementationGroupProxy
-// Instance of implementation proxy
-// ----------------------------------------------------------------------------
-//
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy( TInt& aTableCount )
- {
- aTableCount = sizeof( ImplementationTable ) / sizeof( TImplementationProxy );
-
- return ImplementationTable;
- }
-
-// End Of File
--- a/appinstaller/AppMngr2/Sisx/data/20016bf5.rss Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-/*
-* Copyright (c) 2001 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: ECom registrition file for Sisx Runtime plugin
-*
-*/
-
-
-#include <ecom/registryinfo.rh> // REGISTRY_INFO
-
-RESOURCE REGISTRY_INFO theInfo
- {
- dll_uid = 0x20016BF5;
- interfaces =
- {
- INTERFACE_INFO
- {
- interface_uid = 0x20016BF4;
- implementations =
- {
- IMPLEMENTATION_INFO
- {
- implementation_uid = 0x20016BF6;
- version_no = 1;
- display_name = "Sisx plugin";
- default_data = "";
- opaque_data = "";
- }
- };
- }
- };
- }
-
--- a/appinstaller/AppMngr2/Sisx/group/appmngr2sisxruntime.mmp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Sisx Runtime plugin for AppMngr2
-*
-*/
-
-
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-
-TARGET appmngr2sisxplugin.dll
-TARGETTYPE PLUGIN
-UID 0x10009d8d 0x20016BF5
-
-CAPABILITY CAP_GENERAL_DLL
-VENDORID VID_DEFAULT
-
-SOURCEPATH ../src
-SOURCE appmngr2sisxmain.cpp
-SOURCE appmngr2sisxruntime.cpp
-SOURCE appmngr2sisxappinfo.cpp
-SOURCE appmngr2sisxpackageinfo.cpp
-SOURCE appmngr2sisxinfoiterator.cpp
-SOURCE appmngr2sisxunknownlist.cpp
-SOURCE appmngr2sisxswimonitor.cpp
-
-START RESOURCE ../data/20016bf5.rss
-TARGET appmngr2sisxplugin.rsc
-END
-
-USERINCLUDE ../inc
-
-MW_LAYER_SYSTEMINCLUDE
-
-LIBRARY euser.lib // Base
-LIBRARY appmngr2pluginapi.lib // CAppMngr2Runtime
-LIBRARY sisregistryclient.lib // RSisRegistryEntry
-LIBRARY swinstcli.lib // SwiUI::RSWInstLauncher
-LIBRARY pkgremover.lib // Swi::UninstalledSisPackages
-LIBRARY swinstcommonui.lib // CUIDetailsDialog
-LIBRARY aknskins.lib // AknsUtils
-LIBRARY cone.lib // CCoeEnv
-LIBRARY eikcore.lib // CEikonEnv
-LIBRARY bafl.lib // CDesCArray
-LIBRARY commonengine.lib // StringLoader
-LIBRARY efsrv.lib // RFs
-LIBRARY platformenv.lib // DriveInfo
-LIBRARY apmime.lib // TDataType
-LIBRARY avkon.lib // AknTextUtils
-LIBRARY x509.lib // CX509Certificate
-LIBRARY egul.lib // CGulIcon
-
-DEBUGLIBRARY flogger.lib // RFileLogger
-
-SMPSAFE
-
--- a/appinstaller/AppMngr2/Sisx/group/bld.inf Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Build information file for AppMngr2 Sisx Runtime Plugin
-*
-*/
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXTENSIONS
-START EXTENSION s60/mifconv
- OPTION TARGETFILE appmngr2sisx.mif
- OPTION HEADERFILE appmngr2sisx.mbg
- OPTION SOURCES \
- -c8,1 qgn_menu_am_sis -c8,8 qgn_prop_drm_exp_large -c8,1 qgn_indi_am_inst_no_add
-END
-
-PRJ_MMPFILES
-appmngr2sisxruntime.mmp
-
--- a/appinstaller/AppMngr2/Sisx/inc/appmngr2sisx.hrh Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Resource headers for SISX plugin in AppMngr2 project
-*
-*/
-
-
-#ifndef APPMNGR2SISX_HRH
-#define APPMNGR2SISX_HRH
-
-#include <appmngr2common.hrh> // KAppMngr2FirstFreePluginSpecificCmd
-
-// Note that icon loading order in CAppMngr2SisxRuntime::LoadIconsL() must be
-// the same in which SISX icons are defined in TAppMngr2SisxIcons enum below.
-enum TAppMngr2SisxIcons
- {
- EQgnMenuAmSis,
- EQgnPropDrmExpLarge,
- EQgnIndiAmInstNoAdd
- };
-
-enum {
- KFirstTestCmdId = KAppMngr2FirstFreePluginSpecificCmd,
- KSecondTestCmdId,
- KThirdTestCmdId
- };
-
-#endif // APPMNGR2SISX_HRH
-
--- a/appinstaller/AppMngr2/Sisx/inc/appmngr2sisxappinfo.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,79 +0,0 @@
-/*
-* Copyright (c) 2002-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: SisxAppInfo represents installed native/SISX applications
-*
-*/
-
-
-#ifndef C_APPMNGR2SISXAPPINFO_H
-#define C_APPMNGR2SISXAPPINFO_H
-
-#include <appmngr2appinfo.h> // CAppMngr2AppInfo
-#include <swi/sisregistryentry.h> // RSisRegistryEntry
-#include <SWInstApi.h> // SwiUI::RSWInstLauncher
-#include <CUIDetailsDialog.h> // SwiUI::CommonUI::CCUICertificateInfo
-#include <f32file.h> // TDriveUnit
-
-
-class CAppMngr2SisxAppInfo : public CAppMngr2AppInfo
- {
-public: // constructor and destructor
- static CAppMngr2SisxAppInfo* NewL( CAppMngr2Runtime& aRuntime,
- Swi::RSisRegistryEntry& aEntry, RFs& aFsSession );
- ~CAppMngr2SisxAppInfo();
-
-public: // from CAppMngr2InfoBase
- TInt IconIndex() const;
- const TDesC& Name() const;
- const TDesC& Details() const;
- TBool SupportsGenericCommand( TInt aCmdId );
- void HandleCommandL( TInt aCommandId, TRequestStatus& aStatus );
- void HandleCommandResultL( TInt aStatus );
- void CancelCommand();
-
-public: // new functions
- TVersion Version() const;
- const TDesC& Vendor() const;
- TBool IsTrusted() const;
-
-protected: // new functions
- CAppMngr2SisxAppInfo( CAppMngr2Runtime& aRuntime, RFs& aFsSession );
- void ConstructL( Swi::RSisRegistryEntry& aEntry );
-
-private: // new functions
- void ShowDetailsL();
- void ReadCertificatesL();
- void HandleUninstallL( TRequestStatus& aStatus );
-
-private: // data
- TUid iAppUid;
- HBufC* iName;
- HBufC* iDetails;
- TVersion iVersion;
- HBufC* iVendor;
- TBool iIsAugmentation;
- TInt iAugmentationIndex;
- TBool iIsTrusted;
- TBool iIsDRMProtected;
- TBool iIsRightsObjectMissingOrExpired;
- HBufC* iProtectedFile;
- SwiUI::RSWInstLauncher* iSWInstLauncher;
- HBufC8* iSWInstLauncherCustomUninstallParams;
- RPointerArray<SwiUI::CommonUI::CCUICertificateInfo> iCertificates;
- TBool iCertsRead;
- TInt iCommandId;
- };
-
-#endif // C_APPMNGR2SISXAPPINFO_H
-
--- a/appinstaller/AppMngr2/Sisx/inc/appmngr2sisxinfoiterator.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Implements MCUIInfoIterator for SISX to use CCUIDetailsDialog
-*
-*/
-
-
-#ifndef C_APPMNGR2SISXINFOITERATOR_H
-#define C_APPMNGR2SISXINFOITERATOR_H
-
-#include <appmngr2infoiterator.h> // CAppMngr2InfoIterator
-
-
-class CAppMngr2SisxInfoIterator : public CAppMngr2InfoIterator
- {
-public: // constructors and destructor
- static CAppMngr2SisxInfoIterator* NewL( CAppMngr2InfoBase& aSisx,
- TAppMngr2InfoType aInfoType );
- ~CAppMngr2SisxInfoIterator();
-
-protected: // new functions
- void ConstructL();
- void SetAllFieldsL();
- void SetVersionL();
- void SetSupplierL();
- void SetTypeL();
-
-private: // new functions
- CAppMngr2SisxInfoIterator( CAppMngr2InfoBase& aSisx,
- TAppMngr2InfoType aInfoType );
- };
-
-#endif // C_APPMNGR2SISXINFOITERATOR_H
-
--- a/appinstaller/AppMngr2/Sisx/inc/appmngr2sisxpackageinfo.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Sisx PackageInfo represents installable SISX file
-*
-*/
-
-
-#ifndef C_APPMNGR2SISXPACKAGEINFO_H
-#define C_APPMNGR2SISXPACKAGEINFO_H
-
-#include <appmngr2packageinfo.h> // CAppMngr2PackageInfo
-#include <SWInstApi.h> // SwiUI::RSWInstLauncher
-
-
-class CAppMngr2SisxPackageInfo : public CAppMngr2PackageInfo
- {
-public: // constructor and destructor
- static CAppMngr2SisxPackageInfo* NewL( CAppMngr2Runtime& aRuntime,
- const TDesC& aFileName, RFs& aFs );
- ~CAppMngr2SisxPackageInfo();
-
-public: // from CAppMngr2InfoBase
- TInt IconIndex() const;
- const TDesC& Name() const;
- const TDesC& Details() const;
- TInt IndicatorIconIndex() const;
- TBool SupportsGenericCommand( TInt aCmdId );
- void HandleCommandL( TInt aCommandId, TRequestStatus& aStatus );
- void HandleCommandResultL( TInt aStatus );
- void CancelCommand();
-
-private: // new functions
- CAppMngr2SisxPackageInfo( CAppMngr2Runtime& aRuntime, RFs& aFs );
- void ConstructL( const TDesC& aFileName );
- void HandleDeleteL();
- void ShowDetailsL();
-
-private: // data
- HBufC* iName;
- HBufC* iDetails;
- HBufC* iFileName;
- SwiUI::RSWInstLauncher* iSWInstLauncher;
- };
-
-#endif // C_APPMNGR2SISXPACKAGEINFO_H
-
--- a/appinstaller/AppMngr2/Sisx/inc/appmngr2sisxruntime.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Native SISX runtime type for AppMngr2
-*
-*/
-
-
-#ifndef C_APPMNGR2SISXRUNTIME_H
-#define C_APPMNGR2SISXRUNTIME_H
-
-#include <appmngr2runtime.h> // CAppMngr2Runtime
-#include <swi/sisregistrysession.h> // RSisRegistrySession
-
-class MAppMngr2RuntimeObserver;
-class CAppMngr2PackageInfo;
-class CAppMngr2SisxSwiMonitor;
-class CAknIconArray;
-
-const TInt KAppMngr2SisxUidValue = 0x20016BF6;
-const TUid KAppMngr2SisxUid = { KAppMngr2SisxUidValue };
-
-// Private folder of installer daemon, contains SIS files for untrusted apps
-_LIT( KAppMngr2DaemonPrivateFolder, "\\private\\10202dce\\" );
-
-
-class CAppMngr2SisxRuntime : public CAppMngr2Runtime
- {
-public: // constructor and destructor
- static CAppMngr2SisxRuntime* NewL( MAppMngr2RuntimeObserver& aObserver );
- ~CAppMngr2SisxRuntime();
-
-public: // from CAppMngr2Runtime
- void LoadIconsL( CAknIconArray& aIconArray );
- void GetSupportedDataTypesL( CDataTypeArray& aDataTypeArray );
- void GetAdditionalDirsToScanL( RFs& aFsSession, RPointerArray<HBufC>& aDirs );
- void GetInstallationFilesL( RPointerArray<CAppMngr2PackageInfo>& aPackageInfos,
- const RPointerArray<CAppMngr2RecognizedFile>& aFileList,
- RFs& aFsSession, TRequestStatus& aStatus );
- void CancelGetInstallationFiles();
- void GetInstalledAppsL( RPointerArray<CAppMngr2AppInfo>& aApps,
- RFs& aFsSession, TRequestStatus& aStatus );
- void CancelGetInstalledApps();
-
-private: // new functions
- CAppMngr2SisxRuntime( MAppMngr2RuntimeObserver& aObserver );
- void ConstructL( MAppMngr2RuntimeObserver& aObserver );
- void CreateNewPackageL( const TDesC& aFileName,
- RPointerArray<CAppMngr2PackageInfo>& aPackageInfos, RFs& aFs );
-
-private: // data
- Swi::RSisRegistrySession iSisRegistrySession;
- CAppMngr2SisxSwiMonitor* iSwiMonitor;
- };
-
-#endif // C_APPMNGR2SISXRUNTIME_H
-
--- a/appinstaller/AppMngr2/Sisx/inc/appmngr2sisxswimonitor.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Utility class to listen SWI operations.
-*
-*/
-
-
-#ifndef C_APPMNGR2SISXSWIMONITOR_H
-#define C_APPMNGR2SISXSWIMONITOR_H
-
-#include <e32base.h> // CActive
-#include <e32property.h> // RProperty
-#include <appmngr2runtimeobserver.h> // MAppMngr2RuntimeObserver
-
-
-/**
- * Class for listening SWI operations. When a software install operation
- * (installation, uninstallation or backup restore) completes successfully,
- * this class calls MAppMngr2RuntimeObserver::RefreshInstalledApps() to
- * refresh the displayed list of installed applications.
- */
-class CAppMngr2SisxSwiMonitor : public CActive
- {
-public: // constructors and destructor
- static CAppMngr2SisxSwiMonitor* NewL( MAppMngr2RuntimeObserver& aObs );
- ~CAppMngr2SisxSwiMonitor();
-
-protected: // from CActive
- void DoCancel();
- void RunL();
-
-private: // new functions
- CAppMngr2SisxSwiMonitor( MAppMngr2RuntimeObserver& aObs );
- void ConstructL();
-
-private: // data
- MAppMngr2RuntimeObserver& iObs;
- RProperty iSwInstallKey;
- };
-
-#endif // C_APPMNGR2SISXSWIMONITOR_H
-
--- a/appinstaller/AppMngr2/Sisx/inc/appmngr2sisxunknownlist.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Utility class to list and remove unknown (not installed)
-* sisx packages from removable media.
-*
-*/
-
-
-#ifndef C_APPMNGR2SISXUNKNOWNLIST_H
-#define C_APPMNGR2SISXUNKNOWNLIST_H
-
-#include <e32base.h> // CBase
-#include <swi/pkgremover.h> // Swi::CUninstalledPackageEntry
-
-// Private folder path containing pre-installed applications
-_LIT( KAppMngr2PreInstalledPath, ":\\private\\10202dce\\" );
-
-
-/**
- * Class for listing and removing uninstalled PA and PP type sisx packages
- * from removable media. Unknown (not installed) sisx packages are read using
- * Swi::UninstalledSisPackages::ListL() funtion. Basically this is just a
- * container class for unknown package list array.
- */
-class CAppMngr2SisxUnknownList : public CBase
- {
-public: // constructors and destructor
- static CAppMngr2SisxUnknownList* NewL( TInt aDriveNumber );
- static CAppMngr2SisxUnknownList* NewLC( TInt aDriveNumber );
- ~CAppMngr2SisxUnknownList();
-
-public: // new functions
- TInt PkgCount() const;
- Swi::CUninstalledPackageEntry& PkgEntry( TInt aIndex );
- TInt FindPkgWithUID( const TUid& aUid );
- TInt FindPkgWithUIDName( const TDesC& aUIDName ); // aUIDName can be e.g. "20001234.SISX"
- void RemovePkgL( TInt aIndex );
-
-private: // new functions
- void ConstructL( TInt aDriveNumber );
-
-private: // data
- RPointerArray<Swi::CUninstalledPackageEntry> iUnknownPackages;
- };
-
-#endif // C_APPMNGR2SISXUNKNOWNLIST_H
-
--- a/appinstaller/AppMngr2/Sisx/src/appmngr2sisxappinfo.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,455 +0,0 @@
-/*
-* Copyright (c) 2003-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: SisxAppInfo implementation
-*
-*/
-
-
-#include "appmngr2sisxappinfo.h" // CAppMngr2SisxAppInfo
-#include "appmngr2sisxruntime.h" // KAppMngr2SisxUid
-#include "appmngr2sisxinfoiterator.h" // CAppMngr2SisxInfoIterator
-#include "appmngr2sisx.hrh" // SISX command IDs
-#include <eikmenup.h> // CEikMenuPaneItem
-#include <appmngr2runtimeobserver.h> // RefreshInstalledApps
-#include <appmngr2driveutils.h> // TAppMngr2DriveUtils
-#include <appmngr2drmutils.h> // TAppMngr2DRMUtils
-#include <appmngr2cleanuputils.h> // CleanupResetAndDestroyPushL
-#include <appmngr2debugutils.h> // FLOG macros
-#include <x509cert.h> // CX509Certificate
-#include <swi/sisregistrypackage.h> // CSisRegistryPackage
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxAppInfo::NewL()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2SisxAppInfo* CAppMngr2SisxAppInfo::NewL( CAppMngr2Runtime& aRuntime,
- Swi::RSisRegistryEntry& aEntry, RFs& aFsSession )
- {
- CAppMngr2SisxAppInfo* self = new (ELeave) CAppMngr2SisxAppInfo( aRuntime,
- aFsSession );
- CleanupStack::PushL( self );
- self->ConstructL( aEntry );
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxAppInfo::~CAppMngr2SisxAppInfo()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2SisxAppInfo::~CAppMngr2SisxAppInfo()
- {
- CancelCommand();
- delete iProtectedFile;
- delete iSWInstLauncherCustomUninstallParams;
- delete iName;
- delete iDetails;
- delete iVendor;
- iCertificates.ResetAndDestroy();
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxAppInfo::IconIndex()
-// ---------------------------------------------------------------------------
-//
-TInt CAppMngr2SisxAppInfo::IconIndex() const
- {
- if( iIsDRMProtected && iIsRightsObjectMissingOrExpired )
- {
- return EQgnPropDrmExpLarge;
- }
- return EQgnMenuAmSis;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxAppInfo::Name()
-// ---------------------------------------------------------------------------
-//
-const TDesC& CAppMngr2SisxAppInfo::Name() const
- {
- if( iName )
- {
- return *iName;
- }
- return KNullDesC;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxAppInfo::Details()
-// ---------------------------------------------------------------------------
-//
-const TDesC& CAppMngr2SisxAppInfo::Details() const
- {
- if( iDetails )
- {
- return *iDetails;
- }
- return KNullDesC;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxAppInfo::SupportsGenericCommand()
-// ---------------------------------------------------------------------------
-//
-TBool CAppMngr2SisxAppInfo::SupportsGenericCommand( TInt /*aCmdId*/ )
- {
- return ETrue;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxAppInfo::HandleCommandL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2SisxAppInfo::HandleCommandL( TInt aCommandId, TRequestStatus& aStatus )
- {
- FLOG( "CAppMngr2SisxAppInfo::HandleCommandL( %d )", aCommandId );
- iCommandId = aCommandId;
- switch( aCommandId )
- {
- case EAppMngr2CmdViewDetails:
- ShowDetailsL();
- break;
-
- case EAppMngr2CmdUninstall:
- HandleUninstallL( aStatus );
- return; // async operation started
-
- default:
- break;
- }
-
- // sync operation done, complete aStatus
- TRequestStatus* statusPtr = &aStatus;
- User::RequestComplete( statusPtr, KErrNone );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxAppInfo::HandleCommandResultL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2SisxAppInfo::HandleCommandResultL( TInt aStatus )
- {
- FLOG( "CAppMngr2SisxAppInfo::HandleCommandResultL( %d ), cmd = %d", aStatus, iCommandId );
- if( iSWInstLauncher )
- {
- iSWInstLauncher->Close();
- delete iSWInstLauncher;
- iSWInstLauncher = NULL;
- delete iSWInstLauncherCustomUninstallParams;
- iSWInstLauncherCustomUninstallParams = NULL;
- }
- if( aStatus != SwiUI::KSWInstErrUserCancel && aStatus != KErrCancel )
- {
- User::LeaveIfError( aStatus );
- }
- if( iIsAugmentation && iCommandId == EAppMngr2CmdUninstall )
- {
- Runtime().Observer().RefreshInstalledApps();
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxAppInfo::CancelCommand()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2SisxAppInfo::CancelCommand()
- {
- FLOG( "CAppMngr2SisxAppInfo::CancelCommand(), cmd = %d", iCommandId );
- if( iSWInstLauncher )
- {
- if( iIsAugmentation )
- {
- iSWInstLauncher->CancelAsyncRequest( SwiUI::ERequestCustomUninstall );
- }
- else
- {
- iSWInstLauncher->CancelAsyncRequest( SwiUI::ERequestUninstall );
- }
- iSWInstLauncher->Close();
- delete iSWInstLauncher;
- iSWInstLauncher = NULL;
- delete iSWInstLauncherCustomUninstallParams;
- iSWInstLauncherCustomUninstallParams = NULL;
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxAppInfo::Version()
-// ---------------------------------------------------------------------------
-//
-TVersion CAppMngr2SisxAppInfo::Version() const
- {
- return iVersion;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxAppInfo::Vendor()
-// ---------------------------------------------------------------------------
-//
-const TDesC& CAppMngr2SisxAppInfo::Vendor() const
- {
- if( iVendor )
- {
- return *iVendor;
- }
- return KNullDesC;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxAppInfo::IsTrusted()
-// ---------------------------------------------------------------------------
-//
-TBool CAppMngr2SisxAppInfo::IsTrusted() const
- {
- return iIsTrusted;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxAppInfo::CAppMngr2SisxAppInfo()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2SisxAppInfo::CAppMngr2SisxAppInfo( CAppMngr2Runtime& aRuntime,
- RFs& aFsSession ) : CAppMngr2AppInfo( aRuntime, aFsSession )
- {
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxAppInfo::ConstructL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2SisxAppInfo::ConstructL( Swi::RSisRegistryEntry& aEntry )
- {
- FLOG( "CAppMngr2SisxAppInfo::ConstructL()" );
- CAppMngr2AppInfo::ConstructL(); // base construct
-
- iAppUid = aEntry.UidL();
- FLOG( "CAppMngr2SisxAppInfo::ConstructL, iAppUid = 0x%08x", iAppUid.iUid );
- iName = aEntry.PackageNameL();
- FLOG( "CAppMngr2SisxAppInfo::ConstructL, iName = %S", iName );
- iDetails = SizeStringWithUnitsL( aEntry.SizeL() );
- FLOG( "CAppMngr2SisxAppInfo::ConstructL, iDetails = %S", iDetails );
-
- TUint drivesMask = aEntry.InstalledDrivesL();
- if( drivesMask )
- {
- // Select the highest drive as location drive
- TInt drive = EDriveA;
- while( drivesMask >>= 1 )
- {
- drive++;
- }
- iLocationDrive = drive;
- }
- else
- {
- // No installed files, select C: as location drive
- iLocationDrive = EDriveC;
- }
- iLocation = TAppMngr2DriveUtils::LocationFromDriveL( iLocationDrive, iFs );
-
- iVersion = aEntry.VersionL();
- iVendor = aEntry.LocalizedVendorNameL();
-
- iIsAugmentation = aEntry.IsAugmentationL();
- if( iIsAugmentation )
- {
- Swi::CSisRegistryPackage* pkg = aEntry.PackageL();
- iAugmentationIndex = pkg->Index();
- delete pkg;
- }
-
- Swi::TSisPackageTrust trustLevel = aEntry.TrustL();
- if( trustLevel >= Swi::ESisPackageCertificateChainValidatedToTrustAnchor )
- {
- iIsTrusted = ETrue;
- }
-
- // If installed SIS package is DRM protected, find the protected file and
- // save it's full name in iProtectedFile member variable for later use.
- // Full name of the protected file is needed in ShowDetailsL() function
- // to show the licence information.
- RPointerArray<HBufC> files;
- TRAPD( err, aEntry.FilesL( files ) );
- if( err == KErrNone )
- {
- CleanupResetAndDestroyPushL( files );
- for( TInt fileIndex = 0; fileIndex < files.Count() && !iIsDRMProtected; fileIndex++ )
- {
- HBufC* fileName = files[ fileIndex ];
- iIsDRMProtected = TAppMngr2DRMUtils::IsDRMProtected( *fileName );
- if( iIsDRMProtected )
- {
- FLOG( "CAppMngr2SisxAppInfo::ConstructL, protected file %S", fileName );
- iProtectedFile = fileName; // takes ownership
- files.Remove( fileIndex );
- iIsRightsObjectMissingOrExpired =
- TAppMngr2DRMUtils::IsDRMRightsObjectExpiredOrMissingL( *fileName );
- }
- }
- CleanupStack::PopAndDestroy( &files );
- }
-
- FLOG( "CAppMngr2SisxAppInfo::ConstructL, loc=%d, aug=%d, trust=%d, drm=%d, RO=%d",
- iLocation, iIsAugmentation, iIsTrusted, iIsDRMProtected,
- iIsRightsObjectMissingOrExpired );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxAppInfo::ShowDetailsL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2SisxAppInfo::ShowDetailsL()
- {
- FLOG( "CAppMngr2SisxAppInfo::ShowDetailsL()" );
- TRAP_IGNORE( ReadCertificatesL() );
-
- CAppMngr2SisxInfoIterator* iterator = CAppMngr2SisxInfoIterator::NewL( *this,
- EAppMngr2StatusInstalled );
- CleanupStack::PushL( iterator );
-
- SwiUI::CommonUI::CCUIDetailsDialog* details = SwiUI::CommonUI::CCUIDetailsDialog::NewL();
- FLOG( "CAppMngr2SisxAppInfo::ShowDetailsL, isDRM %d, noRightsObj %d, CertCount %d",
- iIsDRMProtected, iIsRightsObjectMissingOrExpired, iCertificates.Count() );
-
- if( iIsDRMProtected && !iIsRightsObjectMissingOrExpired )
- {
- RFile fileHandle;
- TInt err = fileHandle.Open( iFs, *iProtectedFile, EFileShareReadersOnly | EFileRead );
- CleanupClosePushL( fileHandle );
-
- if( iCertificates.Count() )
- {
- details->ExecuteLD( *iterator, iCertificates, fileHandle );
- }
- else
- {
- details->ExecuteLD( *iterator, fileHandle );
- }
-
- CleanupStack::PopAndDestroy( &fileHandle );
- }
- else
- {
- if( iCertificates.Count() )
- {
- details->ExecuteLD( *iterator, iCertificates );
- }
- else
- {
- details->ExecuteLD( *iterator );
- }
- }
-
- CleanupStack::PopAndDestroy( iterator );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxAppInfo::ReadCertificatesL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2SisxAppInfo::ReadCertificatesL()
- {
- if( !iCertsRead )
- {
- FLOG_PERF_STATIC_BEGIN( SisxAppInfo_ReadCerts );
-
- Swi::RSisRegistrySession regSession;
- CleanupClosePushL( regSession );
- User::LeaveIfError( regSession.Connect() );
-
- Swi::RSisRegistryEntry entry;
- CleanupClosePushL( entry );
- TInt err = entry.Open( regSession, iAppUid );
- if( err != KErrNotFound )
- {
- User::LeaveIfError( err );
- }
- RPointerArray<HBufC8> certificateChain;
- CleanupResetAndDestroyPushL( certificateChain );
- if( err == KErrNone )
- {
- entry.CertificateChainsL( certificateChain );
- }
-
- TInt certCount = certificateChain.Count();
- for( TInt index = 0; index < certCount; index++ )
- {
- CX509Certificate* cert = CX509Certificate::NewL( *certificateChain[ index ] );
- CleanupStack::PushL( cert );
- SwiUI::CommonUI::CCUICertificateInfo* certInfo =
- SwiUI::CommonUI::CCUICertificateInfo::NewL( *cert );
- CleanupStack::PopAndDestroy( cert );
- iCertificates.AppendL( certInfo );
- }
-
- CleanupStack::PopAndDestroy( &certificateChain );
- CleanupStack::PopAndDestroy( &entry );
- CleanupStack::PopAndDestroy( ®Session );
- iCertsRead = ETrue;
-
- FLOG_PERF_STATIC_END( SisxAppInfo_ReadCerts )
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxAppInfo::HandleUninstallL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2SisxAppInfo::HandleUninstallL( TRequestStatus& aStatus )
- {
- FLOG( "CAppMngr2SisxAppInfo::HandleUninstallL()" );
- if( !iSWInstLauncher )
- {
- SwiUI::RSWInstLauncher* swInstLauncher = new (ELeave) SwiUI::RSWInstLauncher;
- CleanupStack::PushL( swInstLauncher );
- User::LeaveIfError( swInstLauncher->Connect() );
- CleanupStack::Pop( swInstLauncher );
- iSWInstLauncher = swInstLauncher;
- }
- else
- {
- User::Leave( KErrInUse );
- }
-
- if( iIsAugmentation )
- {
- FLOG( "CAppMngr2SisxAppInfo::HandleUninstallL, is augmentation" );
- SwiUI::TOpUninstallIndexParam params;
- params.iUid = iAppUid;
- params.iIndex = iAugmentationIndex;
-
- SwiUI::TOpUninstallIndexParamPckg pckg( params );
- if( iSWInstLauncherCustomUninstallParams )
- {
- delete iSWInstLauncherCustomUninstallParams;
- iSWInstLauncherCustomUninstallParams = NULL;
- }
- TInt length = pckg.Length();
- iSWInstLauncherCustomUninstallParams = HBufC8::NewL( length );
- *iSWInstLauncherCustomUninstallParams = pckg;
-
- FLOG( "CAppMngr2SisxAppInfo::HandleUninstallL, calling CustomUninstall" );
- iSWInstLauncher->CustomUninstall( aStatus, SwiUI::EOperationUninstallIndex,
- *iSWInstLauncherCustomUninstallParams, SwiUI::KSisxMimeType() );
- }
- else
- {
- FLOG( "CAppMngr2SisxAppInfo::HandleUninstallL, calling Uninstall" );
- iSWInstLauncher->Uninstall( aStatus, iAppUid, SwiUI::KSisxMimeType() );
- }
- }
-
--- a/appinstaller/AppMngr2/Sisx/src/appmngr2sisxinfoiterator.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,164 +0,0 @@
-/*
-* Copyright (c) 2002-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Implementation of CAppMngr2SisxInfoIterator
-*
-*/
-
-
-#include "appmngr2sisxinfoiterator.h" // CAppMngr2SisxInfoIterator
-#include "appmngr2sisxappinfo.h" // CAppMngr2SisxAppInfo
-#include <StringLoader.h> // StringLoader
-#include <SWInstCommonUI.rsg> // Resource IDs
-#include <AknUtils.h> // AknTextUtils
-
-_LIT( KSymbian, "Symbian OS\x2122" );
-_LIT( KLRE, "\x202A" );
-_LIT( KPDF, "\x202C" );
-_LIT( KLeftParenthes, "(" );
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxInfoIterator::NewL()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2SisxInfoIterator* CAppMngr2SisxInfoIterator::NewL(
- CAppMngr2InfoBase& aSisx, TAppMngr2InfoType aInfoType )
- {
- CAppMngr2SisxInfoIterator* self =
- new ( ELeave ) CAppMngr2SisxInfoIterator( aSisx, aInfoType );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxInfoIterator::~CAppMngr2SisxInfoIterator()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2SisxInfoIterator::~CAppMngr2SisxInfoIterator()
- {
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxInfoIterator::ConstructL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2SisxInfoIterator::ConstructL()
- {
- BaseConstructL();
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxInfoIterator::SetAllFieldsL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2SisxInfoIterator::SetAllFieldsL()
- {
- SetFieldL( R_SWCOMMON_DETAIL_NAME, iInfo.Name() );
-
- if( iInfoType == EAppMngr2StatusInstalled )
- {
- SetVersionL();
- SetSupplierL();
- }
-
- SetStatusL();
- SetLocationL();
- SetFieldL( R_SWCOMMON_DETAIL_APPSIZE, iInfo.Details() );
-
- // Technology
- HBufC* tmpBuf = HBufC::NewLC( KLRE().Length() + KSymbian().Length() + KPDF().Length() );
- tmpBuf->Des() = KLRE();
- tmpBuf->Des() += KSymbian();
- tmpBuf->Des() += KPDF();
- SetFieldL( R_SWCOMMON_DETAIL_TECHNOLOGY, *tmpBuf );
- CleanupStack::PopAndDestroy( tmpBuf );
-
- SetTypeL();
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxInfoIterator::SetVersionL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2SisxInfoIterator::SetVersionL()
- {
- CAppMngr2SisxAppInfo* sisxInfo = reinterpret_cast<CAppMngr2SisxAppInfo*>( &iInfo );
- HBufC* version = sisxInfo->Version().Name().AllocLC();
-
- TPtr versionPtr = version->Des();
- AknTextUtils::DisplayTextLanguageSpecificNumberConversion( versionPtr );
- HBufC* tmpBuf = HBufC::NewLC( KLRE().Length() + version->Length() + KPDF().Length() );
- TInt position = version->Find( KLeftParenthes() );
- if( position >= 0 )
- {
- TPtr bufferPtr = tmpBuf->Des();
- bufferPtr.Copy( version->Mid( 0, position ) );
- bufferPtr.Append( KLRE() );
- bufferPtr.Append( version->Mid( position, version->Length() - position ) );
- bufferPtr.Append( KPDF() );
- }
- else
- {
- tmpBuf->Des() = *version;
- }
- SetFieldL( R_SWCOMMON_DETAIL_VERSION, *tmpBuf );
-
- CleanupStack::PopAndDestroy( 2, version );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxInfoIterator::SetSupplierL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2SisxInfoIterator::SetSupplierL()
- {
- CAppMngr2SisxAppInfo* sisxInfo = reinterpret_cast<CAppMngr2SisxAppInfo*>( &iInfo );
- if( sisxInfo->IsTrusted() )
- {
- SetFieldL( R_SWCOMMON_DETAIL_SUPPLIER, sisxInfo->Vendor() );
- }
- else
- {
- HBufC* unknown = StringLoader::LoadLC( R_SWCOMMON_DETAIL_VALUE_UNKNOWN_SUPPLIER );
- SetFieldL( R_SWCOMMON_DETAIL_SUPPLIER, *unknown );
- CleanupStack::PopAndDestroy( unknown );
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxInfoIterator::SetTypeL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2SisxInfoIterator::SetTypeL()
- {
- HBufC* type = NULL;
- type = StringLoader::LoadLC( R_SWCOMMON_DETAIL_VALUE_APPLICATION );
- SetFieldL( R_SWCOMMON_DETAIL_TYPE , *type);
- CleanupStack::PopAndDestroy( type );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxInfoIterator::CAppMngr2SisxInfoIterator()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2SisxInfoIterator::CAppMngr2SisxInfoIterator(
- CAppMngr2InfoBase& aSisx, TAppMngr2InfoType aInfoType ) :
- CAppMngr2InfoIterator( aSisx, aInfoType )
- {
- }
-
--- a/appinstaller/AppMngr2/Sisx/src/appmngr2sisxmain.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: ECom implementation
-*
-*/
-
-
-#include "appmngr2sisxruntime.h" // CAppMngr2SisxRuntime
-#include <ecom/implementationproxy.h> // TImplementationProxy
-
-
-// ---------------------------------------------------------------------------
-// Array that maps the ECom implementation UIDs to factory functions
-// ---------------------------------------------------------------------------
-//
-const TImplementationProxy ImplementationTable[] =
- {
- IMPLEMENTATION_PROXY_ENTRY( KAppMngr2SisxUidValue, CAppMngr2SisxRuntime::NewL )
- };
-
-// ---------------------------------------------------------------------------
-// ImplementationGroupProxy()
-// Exported proxy for instantiation method resolution
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy( TInt& aTableCount )
- {
- aTableCount = sizeof( ImplementationTable ) / sizeof( TImplementationProxy );
- return ImplementationTable;
- }
-
--- a/appinstaller/AppMngr2/Sisx/src/appmngr2sisxpackageinfo.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,318 +0,0 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: SisxPackageInfo implementation
-*
-*/
-
-
-#include "appmngr2sisxpackageinfo.h" // CAppMngr2SisxPackageInfo
-#include "appmngr2sisxruntime.h" // KAppMngr2SisxUid
-#include "appmngr2sisxinfoiterator.h" // CAppMngr2SisxInfoIterator
-#include "appmngr2sisxunknownlist.h" // CAppMngr2SisxUnknownList
-#include "appmngr2sisx.hrh" // Icon IDs
-#include <appmngr2driveutils.h> // TAppMngr2DriveUtils
-#include <appmngr2debugutils.h> // FLOG macros
-#include <appmngr2common.hrh> // Command IDs
-#include <appmngr2.rsg> // Resource IDs
-#include <eikenv.h> // CEikonEnv
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxPackageInfo::NewL()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2SisxPackageInfo* CAppMngr2SisxPackageInfo::NewL(
- CAppMngr2Runtime& aRuntime, const TDesC& aFileName, RFs& aFs )
- {
- CAppMngr2SisxPackageInfo* self = new (ELeave) CAppMngr2SisxPackageInfo(
- aRuntime, aFs );
- CleanupStack::PushL( self );
- self->ConstructL( aFileName );
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxPackageInfo::~CAppMngr2SisxPackageInfo()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2SisxPackageInfo::~CAppMngr2SisxPackageInfo()
- {
- CancelCommand();
- delete iName;
- delete iDetails;
- delete iFileName;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxPackageInfo::IconIndex()
-// ---------------------------------------------------------------------------
-//
-TInt CAppMngr2SisxPackageInfo::IconIndex() const
- {
- return EQgnMenuAmSis;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxPackageInfo::Name()
-// ---------------------------------------------------------------------------
-//
-const TDesC& CAppMngr2SisxPackageInfo::Name() const
- {
- if( iName )
- {
- return *iName;
- }
- return KNullDesC;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxPackageInfo::Details()
-// ---------------------------------------------------------------------------
-//
-const TDesC& CAppMngr2SisxPackageInfo::Details() const
- {
- if( iDetails )
- {
- return *iDetails;
- }
- return KNullDesC;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxPackageInfo::IndicatorIconIndex()
-// ---------------------------------------------------------------------------
-//
-TInt CAppMngr2SisxPackageInfo::IndicatorIconIndex() const
- {
- if( IsShowOnTop() )
- {
- return EQgnIndiAmInstNoAdd;
- }
- return CAppMngr2InfoBase::IndicatorIconIndex();
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxPackageInfo::SupportsGenericCommand()
-// ---------------------------------------------------------------------------
-//
-TBool CAppMngr2SisxPackageInfo::SupportsGenericCommand( TInt /*aCmdId*/ )
- {
- return ETrue;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxPackageInfo::HandleCommandL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2SisxPackageInfo::HandleCommandL( TInt aCommandId, TRequestStatus& aStatus )
- {
- FLOG( "CAppMngr2SisxPackageInfo::HandleCommandL( %d )", aCommandId );
- switch( aCommandId )
- {
- case EAppMngr2CmdViewDetails:
- ShowDetailsL();
- break;
-
- case EAppMngr2CmdInstall:
- if( !iSWInstLauncher )
- {
- SwiUI::RSWInstLauncher* swInstLauncher = new (ELeave) SwiUI::RSWInstLauncher;
- CleanupStack::PushL( swInstLauncher );
- User::LeaveIfError( swInstLauncher->Connect() );
- CleanupStack::Pop( swInstLauncher );
- iSWInstLauncher = swInstLauncher;
- }
- iSWInstLauncher->Install( aStatus, *iFileName );
- return; // async operation started
-
- case EAppMngr2CmdRemove:
- if( ShowDeleteConfirmationQueryL() )
- {
- HandleDeleteL();
- }
- else
- {
- User::Leave( KErrCancel );
- }
- break;
-
- default:
- break;
- }
-
- // sync operation done, complete aStatus
- TRequestStatus* statusPtr = &aStatus;
- User::RequestComplete( statusPtr, KErrNone );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxPackageInfo::HandleCommandResultL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2SisxPackageInfo::HandleCommandResultL( TInt aStatus )
- {
- FLOG( "CAppMngr2SisxPackageInfo::HandleCommandResultL( %d )", aStatus );
- if( iSWInstLauncher )
- {
- iSWInstLauncher->Close();
- delete iSWInstLauncher;
- iSWInstLauncher = NULL;
- }
- if( aStatus != SwiUI::KSWInstErrUserCancel && aStatus != KErrCancel )
- {
- User::LeaveIfError( aStatus );
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxPackageInfo::CancelCommand()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2SisxPackageInfo::CancelCommand()
- {
- FLOG( "CAppMngr2SisxPackageInfo::CancelCommand()" );
- if( iSWInstLauncher )
- {
- iSWInstLauncher->CancelAsyncRequest( SwiUI::ERequestUninstall );
- iSWInstLauncher->Close();
- delete iSWInstLauncher;
- iSWInstLauncher = NULL;
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxPackageInfo::CAppMngr2SisxPackageInfo()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2SisxPackageInfo::CAppMngr2SisxPackageInfo( CAppMngr2Runtime& aRuntime,
- RFs& aFs ) : CAppMngr2PackageInfo( aRuntime, aFs )
- {
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxPackageInfo::ConstructL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2SisxPackageInfo::ConstructL( const TDesC& aFileName )
- {
- FLOG( "CAppMngr2SisxPackageInfo::ConstructL( %S )", &aFileName );
- CAppMngr2PackageInfo::ConstructL(); // base class
-
- TEntry fileEntry;
- User::LeaveIfError( iFs.Entry( aFileName, fileEntry ) );
-
- if( aFileName.Find( KAppMngr2DaemonPrivateFolder ) != KErrNotFound )
- {
- // untrusted application, display on top of others
- iShowOnTop = ETrue;
-
- // Installer generates untrusted app SISX files using UID names
- // (e.g. "20001234.SIS"). Get the real package name and use it
- // as the name of the untrusted application SISX item in UI.
- TInt drive;
- User::LeaveIfError( RFs::CharToDrive( aFileName[ 0 ], drive ) );
- CAppMngr2SisxUnknownList* unknownList = CAppMngr2SisxUnknownList::NewLC( drive );
-
- TInt index = unknownList->FindPkgWithUIDName( fileEntry.iName );
- if( index > 0 && index < unknownList->PkgCount() )
- {
- // display package name instead of UID name
- Swi::CUninstalledPackageEntry& pkgEntry = unknownList->PkgEntry( index );
- iName = pkgEntry.Name().AllocL();
- }
- else
- {
- // package name not found, display file name anyway
- iName = fileEntry.iName.AllocL();
- }
- CleanupStack::PopAndDestroy( unknownList );
-
- iDetails = Runtime().EikonEnv().AllocReadResourceL( R_SWINS_UNIT_UNTRUSTED );
- }
- else
- {
- // normal SIS file, use file name
- iName = fileEntry.iName.AllocL();
- iDetails = SizeStringWithUnitsL( fileEntry.iSize );
- }
- FLOG( "CAppMngr2SisxPackageInfo::ConstructL, iName = %S", iName );
- FLOG( "CAppMngr2SisxPackageInfo::ConstructL, iDetails = %S", iDetails );
-
- iFileName = aFileName.AllocL();
- iLocation = TAppMngr2DriveUtils::LocationFromFileNameL( aFileName, iFs );
- iLocationDrive = TDriveUnit( aFileName );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxPackageInfo::HandleDeleteL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2SisxPackageInfo::HandleDeleteL()
- {
- FLOG( "CAppMngr2SisxPackageInfo::HandleDeleteL()" );
- // CAppMngr2SisxUnknownList must be used to delete pre-installed SISX files,
- // which are located in SWI daemon's private folder and that are listed in
- // the CAppMngr2SisxUnknownList (i.e. in the Swi::UninstalledSisPackages).
- // These SISX files are applications that have been installed in memory
- // card (using some other device), and that were not installed in this device
- // when the memory card was inserted (e.g. because of security reasons).
- if( iFileName )
- {
- if( iFileName->Find( KAppMngr2PreInstalledPath ) != KErrNotFound )
- {
- TParsePtrC parser( *iFileName );
- TInt drive;
- User::LeaveIfError( RFs::CharToDrive( parser.Drive()[ 0 ], drive ) );
- CAppMngr2SisxUnknownList* unknownList = CAppMngr2SisxUnknownList::NewLC( drive );
-
- TInt index = unknownList->FindPkgWithUIDName( parser.NameAndExt() );
- if( index >= 0 && index < unknownList->PkgCount() )
- {
- // found in "unknown" list, remove using Swi::UninstalledSisPackages
- unknownList->RemovePkgL( index );
- }
- else
- {
- // some other sisx package, try to delete using RFs
- User::LeaveIfError( iFs.Delete( *iFileName ) );
- }
-
- CleanupStack::PopAndDestroy( unknownList );
- }
- else
- {
- // normal sisx package, delete using RFs
- User::LeaveIfError( iFs.Delete( *iFileName ) );
- }
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxPackageInfo::ShowDetailsL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2SisxPackageInfo::ShowDetailsL()
- {
- FLOG( "CAppMngr2SisxPackageInfo::ShowDetailsL()" );
- CAppMngr2SisxInfoIterator* iterator = CAppMngr2SisxInfoIterator::NewL(
- *this, EAppMngr2StatusNotInstalled );
- CleanupStack::PushL( iterator );
- SwiUI::CommonUI::CCUIDetailsDialog* details = SwiUI::CommonUI::CCUIDetailsDialog::NewL();
- details->ExecuteLD( *iterator );
- CleanupStack::PopAndDestroy( iterator );
- }
-
--- a/appinstaller/AppMngr2/Sisx/src/appmngr2sisxruntime.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,411 +0,0 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Native SISX runtime type for AppMngr2
-*
-*/
-
-
-#include "appmngr2sisxruntime.h" // CAppMngr2SisxRuntime
-#include "appmngr2sisxappinfo.h" // CAppMngr2SisxAppInfo
-#include "appmngr2sisxpackageinfo.h" // CAppMngr2SisxPackageInfo
-#include "appmngr2sisxunknownlist.h" // CAppMngr2SisxUnknownList
-#include "appmngr2sisxswimonitor.h" // CAppMngr2SisxSwiMonitor
-#include <appmngr2runtimeobserver.h> // MAppMngr2RuntimeObserver
-#include <appmngr2recognizedfile.h> // CAppMngr2RecognizedFile
-#include <appmngr2cleanuputils.h> // CleanupResetAndDestroyPushL
-#include <appmngr2debugutils.h> // FLOG macros
-#include <swi/sisregistryentry.h> // RSisRegistryEntry
-#include <swi/sisregistrypackage.h> // CSisRegistryPackage
-#include <data_caging_path_literals.hrh> // KDC_APP_BITMAP_DIR
-#include <AknIconArray.h> // CAknIconArray
-#include <AknsUtils.h> // AknsUtils
-#include <gulicon.h> // CGulIcon
-#include <eikenv.h> // CEikonEnv
-#include <driveinfo.h> // DriveInfo
-#include <f32file.h> // RFs
-#include <SWInstDefs.h> // MIME types
-#include <appmngr2sisx.mbg> // icon IDs
-
-_LIT( KAppMngr2SisxIconFileNameMif, "AppMngr2Sisx.mif" );
-_LIT( KDriveSpec, "%c:" );
-_LIT8( KSisInstallerUidType, "x-epoc/x-app268436505" );
-
-const TInt KUidLength = 8;
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxRuntime::NewL()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2SisxRuntime* CAppMngr2SisxRuntime::NewL( MAppMngr2RuntimeObserver &aObserver )
- {
- CAppMngr2SisxRuntime* self = new (ELeave) CAppMngr2SisxRuntime( aObserver );
- CleanupStack::PushL( self );
- self->ConstructL( aObserver );
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxRuntime::~CAppMngr2SisxRuntime()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2SisxRuntime::~CAppMngr2SisxRuntime()
- {
- delete iSwiMonitor;
- iSisRegistrySession.Close();
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxRuntime::LoadIconsL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2SisxRuntime::LoadIconsL( CAknIconArray& aIconArray )
- {
- MAknsSkinInstance* skinInstance = AknsUtils::SkinInstance();
- HBufC* iconFilePath = NULL;
-
- iconFilePath = FullBitmapFileNameLC( KAppMngr2SisxIconFileNameMif );
-
- // Icon loading order in must be the same in which SISX icons
- // are defined in TAppMngr2SisxIcons enum in appmngr2sisx.hrh.
-
- // Icon 0: SIS application icon, EQgnMenuAmSis
- CGulIcon* icon = AknsUtils::CreateGulIconL( skinInstance,
- KAknsIIDQgnMenuAmSis, *iconFilePath,
- EMbmAppmngr2sisxQgn_menu_am_sis,
- EMbmAppmngr2sisxQgn_menu_am_sis_mask );
- CleanupStack::PushL( icon );
- aIconArray.AppendL( icon );
- CleanupStack::Pop( icon );
-
- // Icon 1: DRM expired rights icon, EQgnPropDrmExpLarge
- icon = AknsUtils::CreateGulIconL( skinInstance,
- KAknsIIDQgnPropDrmRightsExpLarge, *iconFilePath,
- EMbmAppmngr2sisxQgn_prop_drm_exp_large,
- EMbmAppmngr2sisxQgn_prop_drm_exp_large_mask );
- CleanupStack::PushL( icon );
- aIconArray.AppendL( icon );
- CleanupStack::Pop( icon );
-
- // Icon 2: untrusted SIS application, EQgnIndiAmInstNoAdd
- // Indicator icons are color-skinned as normal icons are
- // graphically-skinned. CreateColorIconL() must be used to
- // create color-skinned icon.
- CFbsBitmap* bitmap = NULL;
- CFbsBitmap* mask = NULL;
- AknsUtils::CreateColorIconLC( skinInstance,
- KAknsIIDQgnIndiAmInstNoAdd,
- KAknsIIDQsnIconColors, EAknsCIQsnIconColorsCG13,
- bitmap, mask, *iconFilePath,
- EMbmAppmngr2sisxQgn_indi_am_inst_no_add,
- EMbmAppmngr2sisxQgn_indi_am_inst_no_add_mask,
- KRgbBlack );
- icon = CGulIcon::NewL( bitmap, mask );
- icon->SetBitmapsOwnedExternally( EFalse );
- CleanupStack::Pop( 2 ); // bitmap and mask, order may vary
- CleanupStack::PushL( icon );
- aIconArray.AppendL( icon );
- CleanupStack::Pop( icon );
-
- CleanupStack::PopAndDestroy( iconFilePath );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxRuntime::GetSupportedDataTypesL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2SisxRuntime::GetSupportedDataTypesL(
- CDataTypeArray& aDataTypeArray )
- {
- TDataType sisxType( SwiUI::KSisxMimeType );
- aDataTypeArray.AppendL( sisxType );
- TDataType sisType( SwiUI::KSisMimeType );
- aDataTypeArray.AppendL( sisType );
- TDataType pipType( SwiUI::KPipMimeType );
- aDataTypeArray.AppendL( pipType );
- TDataType installedUidType( KSisInstallerUidType );
- aDataTypeArray.AppendL( installedUidType );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxRuntime::GetAdditionalDirsToScanL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2SisxRuntime::GetAdditionalDirsToScanL( RFs& aFsSession,
- RPointerArray<HBufC>& aDirs )
- {
- // Return KAppMngr2DaemonPrivateFolder directories that may contain
- // untrusted applications. Untrusted application is partially installed
- // and user needs to install it's SISX from KAppMngr2DaemonPrivateFolder
- // to complete it's installation. For example, when memory card is inserted
- // in mobile phone, installer processes applications installed in the memory
- // card. If some memory card application requires user-granted capabilities,
- // installer creates SISX in KAppMngr2DaemonPrivateFolder. The SISX must be
- // installed to grant the capabilities to the application.
- TDriveList driveList;
- TInt driveCount = 0;
- User::LeaveIfError( DriveInfo::GetUserVisibleDrives( aFsSession, driveList, driveCount ) );
-
- TInt driveListLength = driveList.Length();
- for( TInt driveNumber = 0; driveNumber < driveListLength; driveNumber++ )
- {
- if( driveList[ driveNumber ] )
- {
- // Internal and remote drives are not listed. Internal drives cannot
- // be removed/replaced, so there are no untrusted applications either.
- // Remote drives cannot be used to install applications at all.
- TUint driveStatus = 0;
- TInt err = DriveInfo::GetDriveStatus( aFsSession, driveNumber, driveStatus );
- if( err == KErrNone && !( driveStatus & DriveInfo::EDriveRemote ) &&
- !( driveStatus & DriveInfo::EDriveInternal ) )
- {
- TChar driveLetter;
- if( RFs::DriveToChar( driveNumber, driveLetter ) == KErrNone )
- {
- const TInt dirLength = KDriveSpec().Length() +
- KAppMngr2DaemonPrivateFolder().Length();
- HBufC* dir = HBufC::NewLC( dirLength );
- TPtr dirPtr = dir->Des();
- dirPtr.Format( KDriveSpec, static_cast<TUint>( driveLetter ) );
- dirPtr.Append( KAppMngr2DaemonPrivateFolder );
- aDirs.AppendL( dir );
- FLOG( "CAppMngr2SisxRuntime::GetAdditionalDirsToScanL: adding %S", dir );
- CleanupStack::Pop( dir );
- }
- }
- }
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxRuntime::GetInstallationFilesL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2SisxRuntime::GetInstallationFilesL(
- RPointerArray<CAppMngr2PackageInfo>& aPackageInfos,
- const RPointerArray<CAppMngr2RecognizedFile>& aFileList,
- RFs& aFsSession, TRequestStatus& aStatus )
- {
- TInt fileCount = aFileList.Count();
- FLOG( "CAppMngr2SisxRuntime::GetInstallationFilesL: fileCount = %d", fileCount );
- if( fileCount )
- {
- // Check if this is the memory card installer daemon private folder.
- // All files are from the same directory,
- CAppMngr2RecognizedFile* firstFile = aFileList[ 0 ];
- if( firstFile->FileName().Find( KAppMngr2DaemonPrivateFolder ) == KErrNotFound )
- {
- // No, it isn't. Process all files in aFileList and create package info objects.
- FLOG( "CAppMngr2SisxRuntime::GetInstallationFilesL: normal folder" );
- for( TInt index = 0; index < fileCount; index++ )
- {
- CAppMngr2RecognizedFile* file = aFileList[ index ];
-
- TPtrC fileName = file->FileName();
- FLOG( "CAppMngr2SisxRuntime::GetInstallationFilesL: file %S", &fileName );
- CreateNewPackageL( fileName, aPackageInfos, aFsSession );
- }
- }
- else
- {
- // It is. Process only those files that are not installed.
- FLOG( "CAppMngr2SisxRuntime::GetInstallationFilesL: swidaemon private folder" );
- RArray<TUid> uids;
- CleanupClosePushL( uids );
- iSisRegistrySession.InstalledUidsL( uids );
-
- for( TInt index = 0; index < fileCount; index++ )
- {
- CAppMngr2RecognizedFile* recFile = aFileList[ index ];
-
- TPtrC fileName = recFile->FileName();
- FLOG( "CAppMngr2SisxRuntime::GetInstallationFilesL: file %S", &fileName );
-
- // extract UID name from full path name
- TParsePtrC parse( fileName );
- TPtrC uidName = parse.Name().Left( KUidLength );
- FLOG( "CAppMngr2SisxRuntime::GetInstallationFilesL: uidName %S", &uidName );
-
- // convert UID name to numerical form
- TLex lex( uidName );
- TUint32 uidValue;
- TInt lexError = lex.Val( uidValue, EHex );
- if( lexError == KErrNone )
- {
- // It's an UID name, try to display package name instead
- FLOG( "CAppMngr2SisxRuntime::GetInstallationFilesL: value %08x", uidValue );
-
- // check if this UID is already installed
- TUid fileUid;
- fileUid.iUid = uidValue;
- if( uids.Find( fileUid ) == KErrNotFound )
- {
- FLOG( "CAppMngr2SisxRuntime::GetInstallationFilesL: not installed" );
- // Not installed, must be displayed.
- CreateNewPackageL( fileName, aPackageInfos, aFsSession );
- }
- else
- {
- FLOG( "CAppMngr2SisxRuntime::GetInstallationFilesL: is installed" );
- // Installed, two possible cases here. The package is in the
- // SWI daemon private folder in memory card because:
- // 1) memory card application is installed in use normally, or
- // 2) the same application is already in ROM/internal drive.
- // In case 1) this item MAY NOT be displayed here as it is already
- // displayed in "Installed apps" side. In case of 2) it MUST be
- // displayed, so that user can remove it from memory card. Cases
- // 1) and 2) can be identified by checking the memory card's
- // "unknown" list. If the sis package is unknown, it is case 2),
- // as applications that are installed in use, are always known.
- TChar driveLetter = parse.Drive()[ 0 ];
- TInt driveNumber = 0;
- User::LeaveIfError( RFs::CharToDrive( driveLetter, driveNumber ) );
- CAppMngr2SisxUnknownList* unknownSisx = CAppMngr2SisxUnknownList::NewLC(
- driveNumber );
- TInt unknownIndex = unknownSisx->FindPkgWithUID( fileUid );
- FLOG( "CAppMngr2SisxRuntime::GetInstallationFilesL: unknownIndex %d",
- unknownIndex );
- if( unknownIndex >= 0 && unknownIndex < unknownSisx->PkgCount() )
- {
- // It is unknown package after all, add it to the list.
- CreateNewPackageL( fileName, aPackageInfos, aFsSession );
- }
- CleanupStack::PopAndDestroy( unknownSisx );
- }
- }
- else
- {
- // Not an UID name, must be displayed.
- FLOG( "CAppMngr2SisxRuntime::GetInstallationFilesL: not UID name (lexErr %d)",
- lexError );
- CreateNewPackageL( fileName, aPackageInfos, aFsSession );
- }
- }
-
- CleanupStack::PopAndDestroy( &uids );
- }
- }
- TRequestStatus* status = &aStatus;
- User::RequestComplete( status, KErrNone );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxRuntime::CancelGetInstallationFiles()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2SisxRuntime::CancelGetInstallationFiles()
- {
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxRuntime::GetInstalledAppsL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2SisxRuntime::GetInstalledAppsL(
- RPointerArray<CAppMngr2AppInfo>& aApps,
- RFs& aFsSession, TRequestStatus& aStatus )
- {
- FLOG( "CAppMngr2SisxRuntime::GetInstalledAppsL" );
-
- RPointerArray<Swi::CSisRegistryPackage> removablePackages;
- CleanupResetAndDestroyPushL( removablePackages );
- iSisRegistrySession.RemovablePackagesL( removablePackages );
-
- TInt appCount = removablePackages.Count();
- FLOG( "CAppMngr2SisxRuntime::GetInstalledAppsL, appCount %d", appCount );
- for( TInt index = 0; index < appCount; index++ )
- {
- Swi::RSisRegistryEntry entry;
- CleanupClosePushL( entry );
- FLOG( "CAppMngr2SisxRuntime::GetInstalledAppsL, uid 0x%08x, name %S",
- removablePackages[ index ]->Uid().Uid,
- &( removablePackages[ index ]->Name() ) );
- entry.OpenL( iSisRegistrySession, *( removablePackages[ index ] ) );
-
- FLOG( "CAppMngr2SisxRuntime::GetInstalledAppsL, IsPresentL = %d",
- entry.IsPresentL() );
- // Check that sis entry is present. We should not show applications
- // installed to memory card if card is not found.
- if ( entry.IsPresentL() )
- {
- FLOG( "CAppMngr2SisxRuntime::GetInstalledAppsL, Sis is present." );
-
- CAppMngr2SisxAppInfo* appObj = NULL;
- TRAPD( err, appObj = CAppMngr2SisxAppInfo::NewL( *this, entry, aFsSession ) );
- FLOG( "CAppMngr2SisxRuntime::GetInstalledAppsL, err %d", err );
- if( err == KErrNone )
- {
- CleanupStack::PushL( appObj );
- aApps.AppendL( appObj );
- CleanupStack::Pop( appObj );
- }
- }
-
- CleanupStack::PopAndDestroy( &entry );
- }
-
- CleanupStack::PopAndDestroy( &removablePackages );
-
- TRequestStatus* status = &aStatus;
- User::RequestComplete( status, KErrNone );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxRuntime::CancelGetInstalledApps()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2SisxRuntime::CancelGetInstalledApps()
- {
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxRuntime::CAppMngr2SisxRuntime()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2SisxRuntime::CAppMngr2SisxRuntime( MAppMngr2RuntimeObserver &aObserver )
- : CAppMngr2Runtime( aObserver )
- {
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxRuntime::ConstructL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2SisxRuntime::ConstructL( MAppMngr2RuntimeObserver& aObserver )
- {
- User::LeaveIfError( iSisRegistrySession.Connect() );
- iSwiMonitor = CAppMngr2SisxSwiMonitor::NewL( aObserver );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxRuntime::ConstructL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2SisxRuntime::CreateNewPackageL( const TDesC& aFileName,
- RPointerArray<CAppMngr2PackageInfo>& aPackageInfos, RFs& aFs )
- {
- CAppMngr2SisxPackageInfo* packageInfo = NULL;
- TRAPD( err, packageInfo = CAppMngr2SisxPackageInfo::NewL( *this, aFileName, aFs ) );
- FLOG( "CAppMngr2SisxRuntime::CreateNewPackageL: file %S, err %d", &aFileName, err );
- if( err == KErrNone )
- {
- CleanupStack::PushL( packageInfo );
- aPackageInfos.AppendL( packageInfo );
- CleanupStack::Pop( packageInfo );
- }
- }
-
--- a/appinstaller/AppMngr2/Sisx/src/appmngr2sisxswimonitor.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,107 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Utility class to listen SWI operations.
-*
-*/
-
-
-#include "appmngr2sisxswimonitor.h" // CAppMngr2SisxSwiMonitor
-#include <swi/swispubsubdefs.h> // KUidSoftwareInstallKey
-#include <appmngr2debugutils.h> // FLOG macros
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxSwiMonitor::NewL()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2SisxSwiMonitor* CAppMngr2SisxSwiMonitor::NewL( MAppMngr2RuntimeObserver& aObs )
- {
- CAppMngr2SisxSwiMonitor* self = new( ELeave ) CAppMngr2SisxSwiMonitor( aObs );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxSwiMonitor::~CAppMngr2SisxSwiMonitor()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2SisxSwiMonitor::~CAppMngr2SisxSwiMonitor()
- {
- Cancel();
- iSwInstallKey.Close();
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxSwiMonitor::DoCancel()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2SisxSwiMonitor::DoCancel()
- {
- iSwInstallKey.Cancel();
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxSwiMonitor::RunL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2SisxSwiMonitor::RunL()
- {
- iSwInstallKey.Subscribe( iStatus );
- SetActive();
-
- TInt value = 0;
- if( iSwInstallKey.Get( value ) == KErrNone )
- {
- TInt operation( value & Swi::KSwisOperationMask );
- TInt operationStatus( value & Swi::KSwisOperationStatusMask );
- FLOG( "CAppMngr2SisxSwiMonitor::RunL(): operation %d, status %d",
- operation, operationStatus );
-
- if( operationStatus == Swi::ESwisStatusSuccess && (
- operation == Swi::ESwisInstall ||
- operation == Swi::ESwisUninstall ||
- operation == Swi::ESwisRestore ) )
- {
- iObs.RefreshInstalledApps();
- }
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxSwiMonitor::CAppMngr2SisxSwiMonitor()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2SisxSwiMonitor::CAppMngr2SisxSwiMonitor( MAppMngr2RuntimeObserver& aObs )
- : CActive( CActive::EPriorityStandard ), iObs( aObs )
- {
- CActiveScheduler::Add( this );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxSwiMonitor::ConstructL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2SisxSwiMonitor::ConstructL()
- {
- User::LeaveIfError( iSwInstallKey.Attach( KUidSystemCategory, Swi::KUidSoftwareInstallKey ) );
- iSwInstallKey.Subscribe( iStatus );
- SetActive();
-
- FLOG( "CAppMngr2SisxSwiMonitor::ConstructL(): subscribed to Swi::KUidSoftwareInstallKey" );
- }
-
--- a/appinstaller/AppMngr2/Sisx/src/appmngr2sisxunknownlist.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,157 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Implementation of CAppMngr2SisxUnknownList class
-*
-*/
-
-
-#include "appmngr2sisxunknownlist.h" // CAppMngr2SisxUnknownList
-#include <appmngr2debugutils.h> // FLOG macros
-
-const TInt KUIDLength = 8;
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxUnknownList::NewL()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2SisxUnknownList* CAppMngr2SisxUnknownList::NewL( TInt aDriveNumber )
- {
- CAppMngr2SisxUnknownList* self = NewLC( aDriveNumber );
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxUnknownList::NewLC()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2SisxUnknownList* CAppMngr2SisxUnknownList::NewLC( TInt aDriveNumber )
- {
- CAppMngr2SisxUnknownList* self = new (ELeave) CAppMngr2SisxUnknownList;
- CleanupStack::PushL( self );
- self->ConstructL( aDriveNumber );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxUnknownList::~CAppMngr2SisxUnknownList()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2SisxUnknownList::~CAppMngr2SisxUnknownList()
- {
- iUnknownPackages.ResetAndDestroy();
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxUnknownList::PkgCount()
-// ---------------------------------------------------------------------------
-//
-TInt CAppMngr2SisxUnknownList::PkgCount() const
- {
- return iUnknownPackages.Count();
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxUnknownList::PkgEntry()
-// ---------------------------------------------------------------------------
-//
-Swi::CUninstalledPackageEntry& CAppMngr2SisxUnknownList::PkgEntry( TInt aIndex )
- {
- return *iUnknownPackages[ aIndex ]; // panics if aIndex out of range
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxUnknownList::FindPkgWithUID()
-// ---------------------------------------------------------------------------
-//
-TInt CAppMngr2SisxUnknownList::FindPkgWithUID( const TUid& aUid )
- {
- FLOG( "CAppMngr2SisxUnknownList::FindPkgWithUID( 0x%08x )", aUid.iUid );
-
- TInt count = iUnknownPackages.Count();
- FLOG( "CAppMngr2SisxUnknownList::FindPkgWithUIDName, count = %d", count );
- for( TInt index = 0; index < count; index++ )
- {
- if( iUnknownPackages[ index ]->Uid() == aUid )
- {
- return index;
- }
- }
- return KErrNotFound;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxUnknownList::FindPkgWithUIDName()
-// ---------------------------------------------------------------------------
-//
-TInt CAppMngr2SisxUnknownList::FindPkgWithUIDName( const TDesC& aUIDName )
- {
- FLOG( "CAppMngr2SisxUnknownList::FindPkgWithUIDName( %S )", &aUIDName );
-
- TInt count = iUnknownPackages.Count();
- FLOG( "CAppMngr2SisxUnknownList::FindPkgWithUIDName, count = %d", count );
- if( count && aUIDName.Length() >= KUIDLength )
- {
- // Take first 8 characters from the given UID name -> 12345678
- TPtrC name = aUIDName.Mid( 0, KUIDLength );
- FLOG( "CAppMngr2SisxUnknownList::FindPkgWithUIDName: name = %S", &name );
-
- // Find sis package that has matching UID
- for( TInt index = 0; index < count; index++ )
- {
- TUid packageUID = iUnknownPackages[ index ]->Uid();
-
- // UID name is returned as "[12345678]"
- TBuf<KMaxUidName> packageUIDName = packageUID.Name();
- FLOG( "CAppMngr2SisxUnknownList::FindPkgWithUIDName: %d 0x%08x %S",
- index, packageUID.iUid, &packageUIDName );
-
- // Remove square brackets from UID name -> 12345678
- TPtrC uidName = packageUIDName.Mid( 1, KUIDLength );
-
- // If UID name is same we have a match
- if( name.Compare( uidName ) == KErrNone )
- {
- FLOG( "CAppMngr2SisxUnknownList::FindPkgWithUIDName: match, return %d",
- index );
- return index;
- }
- }
- }
- FLOG( "CAppMngr2SisxUnknownList::FindPkgWithUIDName: return KErrNotFound" );
- return KErrNotFound;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxUnknownList::RemovePkgL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2SisxUnknownList::RemovePkgL( TInt aPkgListIndex )
- {
- Swi::UninstalledSisPackages::RemoveL( *iUnknownPackages[ aPkgListIndex ] );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2SisxUnknownList::ConstructL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2SisxUnknownList::ConstructL( TInt aDriveNumber )
- {
- Swi::UninstalledSisPackages::ListL( static_cast< TDriveNumber >( aDriveNumber ),
- iUnknownPackages );
- }
-
--- a/appinstaller/AppMngr2/Widget/data/20016bf9.rss Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-/*
-* Copyright (c) 2001 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: ECom registrition file for Widget Runtime plugin
-*
-*/
-
-
-#include <ecom/registryinfo.rh> // REGISTRY_INFO
-
-RESOURCE REGISTRY_INFO theInfo
- {
- dll_uid = 0x20016BF9;
- interfaces =
- {
- INTERFACE_INFO
- {
- interface_uid = 0x20016BF4;
- implementations =
- {
- IMPLEMENTATION_INFO
- {
- implementation_uid = 0x20016BFA;
- version_no = 1;
- display_name = "Widget plugin";
- default_data = "";
- opaque_data = "";
- }
- };
- }
- };
- }
-
--- a/appinstaller/AppMngr2/Widget/group/appmngr2widgetruntime.mmp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Widget Runtime plugin for AppMngr2
-*
-*/
-
-
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-
-TARGET appmngr2widgetplugin.dll
-TARGETTYPE PLUGIN
-UID 0x10009d8d 0x20016BF9
-
-CAPABILITY CAP_GENERAL_DLL
-VENDORID VID_DEFAULT
-
-SOURCEPATH ../src
-SOURCE appmngr2widgetmain.cpp
-SOURCE appmngr2widgetruntime.cpp
-SOURCE appmngr2widgetappinfo.cpp
-SOURCE appmngr2widgetpackageinfo.cpp
-SOURCE appmngr2widgetinfoiterator.cpp
-
-START RESOURCE ../data/20016bf9.rss
-TARGET appmngr2widgetplugin.rss
-END
-
-USERINCLUDE ../inc
-
-MW_LAYER_SYSTEMINCLUDE
-
-LIBRARY euser.lib // Base
-LIBRARY appmngr2pluginapi.lib // CAppMngr2Runtime
-LIBRARY widgetregistryclient.lib // RWidgetRegistryClientSession
-LIBRARY swinstcli.lib // SwiUI::RSWInstLauncher
-LIBRARY swinstcommonui.lib // CUIDetailsDialog
-LIBRARY cone.lib // CCoeEnv
-LIBRARY eikcore.lib // CEikonEnv
-LIBRARY aknskins.lib // AknsUtils
-LIBRARY efsrv.lib // RFs
-LIBRARY apmime.lib // TDataType
-LIBRARY commonengine.lib // StringLoader
-
-DEBUGLIBRARY flogger.lib // RFileLogger
-
-SMPSAFE
-
--- a/appinstaller/AppMngr2/Widget/group/bld.inf Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Build information file for AppMngr2 Widget Runtime Plugin
-*
-*/
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXTENSIONS
-START EXTENSION s60/mifconv
- OPTION TARGETFILE appmngr2widget.mif
- OPTION HEADERFILE appmngr2widget.mbg
- OPTION SOURCES \
- -c8,1 qgn_menu_am_widget
-END
-
-PRJ_MMPFILES
-appmngr2widgetruntime.mmp
-
--- a/appinstaller/AppMngr2/Widget/inc/appmngr2widget.hrh Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Resource headers for Widget plugin in AppMngr2 project
-*
-*/
-
-
-#ifndef APPMNGR2WIDGET_HRH
-#define APPMNGR2WIDGET_HRH
-
-#include <appmngr2common.hrh> // KAppMngr2FirstFreePluginSpecificCmd
-
-enum {
- KFirstTestCmdId = KAppMngr2FirstFreePluginSpecificCmd,
- KSecondTestCmdId,
- KThirdTestCmdId
- };
-
-#endif // APPMNGR2WIDGET_HRH
-
--- a/appinstaller/AppMngr2/Widget/inc/appmngr2widgetappinfo.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: WidgetAppInfo represents installed Java applications
-*
-*/
-
-
-#ifndef C_APPMNGR2WIDGETAPPINFO_H
-#define C_APPMNGR2WIDGETAPPINFO_H
-
-#include <appmngr2appinfo.h> // CAppMngr2AppInfo
-#include <SWInstApi.h> // SwiUI::RSWInstLauncher
-
-class CWidgetInfo;
-
-
-class CAppMngr2WidgetAppInfo : public CAppMngr2AppInfo
- {
-public: // constructor and destructor
- static CAppMngr2WidgetAppInfo* NewL( CAppMngr2Runtime& aRuntime,
- const CWidgetInfo& aWidget, RFs& aFsSession );
- ~CAppMngr2WidgetAppInfo();
-
-public: // from CAppMngr2InfoBase
- TInt IconIndex() const;
- const TDesC& Name() const;
- const TDesC& Details() const;
- TBool SupportsGenericCommand( TInt aCmdId );
- void HandleCommandL( TInt aCommandId, TRequestStatus& aStatus );
- void HandleCommandResultL( TInt aStatus );
- void CancelCommand();
-
-protected: // new functions
- CAppMngr2WidgetAppInfo( CAppMngr2Runtime& aRuntime, RFs& aFsSession );
- void ConstructL( const CWidgetInfo& aWidget );
-
-private: // new functions
- void ShowDetailsL();
-
-private: // data
- TUid iWidgetUid;
- HBufC* iName;
- HBufC* iDetails;
- SwiUI::RSWInstLauncher* iSWInstLauncher;
- };
-
-#endif // C_APPMNGR2WIDGETAPPINFO_H
-
--- a/appinstaller/AppMngr2/Widget/inc/appmngr2widgetinfoiterator.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Implements MCUIInfoIterator for Widgets to use CCUIDetailsDialog
-*
-*/
-
-
-#ifndef C_APPMNGR2WIDGETINFOITERATOR_H
-#define C_APPMNGR2WIDGETINFOITERATOR_H
-
-#include <appmngr2infoiterator.h> // CAppMngr2InfoIterator
-
-
-class CAppMngr2WidgetInfoIterator : public CAppMngr2InfoIterator
- {
-public: // constructors and destructor
- static CAppMngr2WidgetInfoIterator* NewL( CAppMngr2InfoBase& aWidget,
- TAppMngr2InfoType aInfoType );
- ~CAppMngr2WidgetInfoIterator();
-
-protected: // new functions
- void ConstructL();
- void SetOtherFieldsL();
-
-private: // new functions
- CAppMngr2WidgetInfoIterator( CAppMngr2InfoBase& aWidget,
- TAppMngr2InfoType aInfoType );
- };
-
-#endif // C_APPMNGR2WIDGETINFOITERATOR_H
-
--- a/appinstaller/AppMngr2/Widget/inc/appmngr2widgetpackageinfo.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Widget PackageInfo represents installable ZIP files
-*
-*/
-
-
-#ifndef C_APPMNGR2WIDGETPACKAGEINFO_H
-#define C_APPMNGR2WIDGETPACKAGEINFO_H
-
-#include <appmngr2packageinfo.h> // CAppMngr2PackageInfo
-#include <SWInstApi.h> // SwiUI::RSWInstLauncher
-
-
-class CAppMngr2WidgetPackageInfo : public CAppMngr2PackageInfo
- {
-public: // constructor and destructor
- static CAppMngr2WidgetPackageInfo* NewL( CAppMngr2Runtime& aRuntime,
- const TDesC& aFileName, RFs& aFs );
- ~CAppMngr2WidgetPackageInfo();
-
-public: // from CAppMngr2PackageInfo
- TInt IconIndex() const;
- const TDesC& Name() const;
- const TDesC& Details() const;
- TBool SupportsGenericCommand( TInt aCmdId );
- void HandleCommandL( TInt aCommandId, TRequestStatus& aStatus );
- void HandleCommandResultL( TInt aStatus );
- void CancelCommand();
-
-private: // new functions
- CAppMngr2WidgetPackageInfo( CAppMngr2Runtime& aRuntime, RFs& aFs );
- void ConstructL( const TDesC& aFileName );
-
-private: // new functions
- void ShowDetailsL();
-
-private: // data
- HBufC* iName;
- HBufC* iDetails;
- HBufC* iFileName;
- SwiUI::RSWInstLauncher* iSWInstLauncher;
- };
-
-#endif // C_APPMNGR2WIDGETPACKAGEINFO_H
-
--- a/appinstaller/AppMngr2/Widget/inc/appmngr2widgetruntime.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Widget runtime type for AppMngr2
-*
-*/
-
-
-#ifndef C_APPMNGR2WIDGETRUNTIME_H
-#define C_APPMNGR2WIDGETRUNTIME_H
-
-#include <appmngr2runtime.h> // CAppMngr2Runtime
-#include <WidgetRegistryClient.h> // RWidgetRegistryClientSession
-
-class CAppMngr2PackageInfo;
-class CAknIconArray;
-
-const TInt KAppMngr2WidgetUidValue = 0x20016BFA;
-const TUid KAppMngr2WidgetUid = { KAppMngr2WidgetUidValue };
-
-_LIT8( KDataTypeWidget, "application/x-nokia-widget" );
-
-
-class CAppMngr2WidgetRuntime : public CAppMngr2Runtime
- {
-public: // constructor and destructor
- static CAppMngr2WidgetRuntime* NewL( MAppMngr2RuntimeObserver& aObserver );
- ~CAppMngr2WidgetRuntime();
-
-public: // new CAppMngr2Runtime
- void LoadIconsL( CAknIconArray& aIconArray );
- void GetSupportedDataTypesL( CDataTypeArray& aDataTypeArray );
- void GetInstallationFilesL( RPointerArray<CAppMngr2PackageInfo>& aPackageInfos,
- const RPointerArray<CAppMngr2RecognizedFile>& aFileList,
- RFs& aFsSession, TRequestStatus& aStatus );
- void CancelGetInstallationFiles();
- void GetInstalledAppsL( RPointerArray<CAppMngr2AppInfo>& aApps,
- RFs& aFsSession, TRequestStatus& aStatus );
- void CancelGetInstalledApps();
-
-private: // new functions
- CAppMngr2WidgetRuntime( MAppMngr2RuntimeObserver& aObserver );
- void ConstructL();
-
-private: // data
- TInt iIconCount;
- TInt iIconOffset;
- RWidgetRegistryClientSession iWidgetRegistry;
- };
-
-#endif // C_APPMNGR2WIDGETRUNTIME_H
-
--- a/appinstaller/AppMngr2/Widget/src/appmngr2widgetappinfo.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,202 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: WidgetAppInfo implementation
-*
-*/
-
-
-#include "appmngr2widgetappinfo.h" // CAppMngr2WidgetAppInfo
-#include "appmngr2widgetruntime.h" // KAppMngr2WidgetUid
-#include "appmngr2widgetinfoiterator.h" // CAppMngr2WidgetInfoIterator
-#include "appmngr2widget.hrh" // Widget command IDs
-#include <WidgetRegistryData.h> // CWidgetInfo
-#include <appmngr2driveutils.h> // TAppMngr2DriveUtils
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CAppMngr2WidgetAppInfo::NewL()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2WidgetAppInfo* CAppMngr2WidgetAppInfo::NewL(
- CAppMngr2Runtime& aRuntime, const CWidgetInfo& aWidget, RFs& aFsSession )
- {
- CAppMngr2WidgetAppInfo* self = new (ELeave) CAppMngr2WidgetAppInfo( aRuntime, aFsSession );
- CleanupStack::PushL( self );
- self->ConstructL( aWidget );
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2WidgetAppInfo::~CAppMngr2WidgetAppInfo()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2WidgetAppInfo::~CAppMngr2WidgetAppInfo()
- {
- CancelCommand();
- delete iName;
- delete iDetails;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2WidgetAppInfo::IconIndex()
-// ---------------------------------------------------------------------------
-//
-TInt CAppMngr2WidgetAppInfo::IconIndex() const
- {
- return 0;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2WidgetAppInfo::Name()
-// ---------------------------------------------------------------------------
-//
-const TDesC& CAppMngr2WidgetAppInfo::Name() const
- {
- if( iName )
- {
- return *iName;
- }
- return KNullDesC;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2WidgetAppInfo::Details()
-// ---------------------------------------------------------------------------
-//
-const TDesC& CAppMngr2WidgetAppInfo::Details() const
- {
- if( iDetails )
- {
- return *iDetails;
- }
- return KNullDesC;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2WidgetAppInfo::SupportsGenericCommand()
-// ---------------------------------------------------------------------------
-//
-TBool CAppMngr2WidgetAppInfo::SupportsGenericCommand( TInt /*aCmdId*/ )
- {
- return ETrue;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2WidgetAppInfo::HandleCommandL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2WidgetAppInfo::HandleCommandL( TInt aCommandId, TRequestStatus& aStatus )
- {
- switch( aCommandId )
- {
- case EAppMngr2CmdViewDetails:
- ShowDetailsL();
- break;
-
- case EAppMngr2CmdUninstall:
- if( !iSWInstLauncher )
- {
- SwiUI::RSWInstLauncher* swInstLauncher = new (ELeave) SwiUI::RSWInstLauncher;
- CleanupStack::PushL( swInstLauncher );
- User::LeaveIfError( swInstLauncher->Connect() );
- CleanupStack::Pop( swInstLauncher );
- iSWInstLauncher = swInstLauncher;
- }
- iSWInstLauncher->Uninstall( aStatus, iWidgetUid, KDataTypeWidget );
- return; // async operation started
-
- default:
- break;
- }
-
- // sync operation done, complete aStatus
- TRequestStatus* statusPtr = &aStatus;
- User::RequestComplete( statusPtr, KErrNone );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2WidgetAppInfo::HandleCommandResultL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2WidgetAppInfo::HandleCommandResultL( TInt aStatus )
- {
- if( iSWInstLauncher )
- {
- iSWInstLauncher->Close();
- delete iSWInstLauncher;
- iSWInstLauncher = NULL;
- }
- if( aStatus != SwiUI::KSWInstErrUserCancel && aStatus != KErrCancel )
- {
- User::LeaveIfError( aStatus );
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2WidgetAppInfo::CancelCommand()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2WidgetAppInfo::CancelCommand()
- {
- if( iSWInstLauncher )
- {
- iSWInstLauncher->CancelAsyncRequest( SwiUI::ERequestUninstall );
- iSWInstLauncher->Close();
- delete iSWInstLauncher;
- iSWInstLauncher = NULL;
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2WidgetAppInfo::CAppMngr2WidgetAppInfo()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2WidgetAppInfo::CAppMngr2WidgetAppInfo( CAppMngr2Runtime& aRuntime,
- RFs& aFsSession ) : CAppMngr2AppInfo( aRuntime, aFsSession )
- {
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2WidgetAppInfo::ConstructL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2WidgetAppInfo::ConstructL( const CWidgetInfo& aWidget )
- {
- CAppMngr2AppInfo::ConstructL();
-
- iWidgetUid = aWidget.iUid;
- iName = aWidget.iBundleName->AllocL();
- iDetails = SizeStringWithUnitsL( aWidget.iFileSize );
-
- iLocationDrive = TDriveUnit( *aWidget.iDriveName );
- iLocation = TAppMngr2DriveUtils::LocationFromDriveL( iLocationDrive, iFs );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2WidgetAppInfo::ShowDetailsL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2WidgetAppInfo::ShowDetailsL()
- {
- CAppMngr2WidgetInfoIterator* iterator = CAppMngr2WidgetInfoIterator::NewL(
- *this, EAppMngr2StatusInstalled );
- CleanupStack::PushL( iterator );
- SwiUI::CommonUI::CCUIDetailsDialog* details = SwiUI::CommonUI::CCUIDetailsDialog::NewL();
- details->ExecuteLD( *iterator );
- CleanupStack::PopAndDestroy( iterator );
- }
-
--- a/appinstaller/AppMngr2/Widget/src/appmngr2widgetinfoiterator.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +0,0 @@
-/*
-* Copyright (c) 2002-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Implementation of CAppMngr2WidgetInfoIterator
-*
-*/
-
-
-#include "appmngr2widgetinfoiterator.h" // CAppMngr2WidgetInfoIterator
-#include "appmngr2widgetappinfo.h" // CAppMngr2WidgetAppInfo
-#include <StringLoader.h> // StringLoader
-#include <SWInstCommonUI.rsg> // R_SWCOMMON_DETAIL_VALUE_WIDGET
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CAppMngr2WidgetInfoIterator::NewL()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2WidgetInfoIterator* CAppMngr2WidgetInfoIterator::NewL(
- CAppMngr2InfoBase& aWidget, TAppMngr2InfoType aInfoType )
- {
- CAppMngr2WidgetInfoIterator* self =
- new ( ELeave ) CAppMngr2WidgetInfoIterator( aWidget, aInfoType );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2WidgetInfoIterator::~CAppMngr2WidgetInfoIterator()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2WidgetInfoIterator::~CAppMngr2WidgetInfoIterator()
- {
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2WidgetInfoIterator::ConstructL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2WidgetInfoIterator::ConstructL()
- {
- BaseConstructL();
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2WidgetInfoIterator::SetOtherFieldsL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2WidgetInfoIterator::SetOtherFieldsL()
- {
- HBufC* type = NULL;
- type = StringLoader::LoadLC( R_SWCOMMON_DETAIL_VALUE_WIDGET );
- SetFieldL( R_SWCOMMON_DETAIL_TYPE , *type);
- CleanupStack::PopAndDestroy( type );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2WidgetInfoIterator::CAppMngr2WidgetInfoIterator()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2WidgetInfoIterator::CAppMngr2WidgetInfoIterator(
- CAppMngr2InfoBase& aWidget, TAppMngr2InfoType aInfoType ) :
- CAppMngr2InfoIterator( aWidget, aInfoType )
- {
- }
-
--- a/appinstaller/AppMngr2/Widget/src/appmngr2widgetmain.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: ECom implementation
-*
-*/
-
-
-#include "appmngr2widgetruntime.h" // CAppMngr2WidgetRuntime
-#include <ecom/implementationproxy.h> // TImplementationProxy
-
-
-// ---------------------------------------------------------------------------
-// Array that maps the ECom implementation UIDs to factory functions
-// ---------------------------------------------------------------------------
-//
-const TImplementationProxy ImplementationTable[] =
- {
- IMPLEMENTATION_PROXY_ENTRY( KAppMngr2WidgetUidValue, CAppMngr2WidgetRuntime::NewL )
- };
-
-// ---------------------------------------------------------------------------
-// ImplementationGroupProxy()
-// Exported proxy for instantiation method resolution
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy( TInt& aTableCount )
- {
- aTableCount = sizeof( ImplementationTable ) / sizeof( TImplementationProxy );
- return ImplementationTable;
- }
-
--- a/appinstaller/AppMngr2/Widget/src/appmngr2widgetpackageinfo.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,215 +0,0 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: WidgetPackageInfo implementation
-*
-*/
-
-
-#include "appmngr2widgetpackageinfo.h" // CAppMngr2WidgetPackageInfo
-#include "appmngr2widgetruntime.h" // KAppMngr2WidgetUid
-#include "appmngr2widgetinfoiterator.h" // CAppMngr2WidgetInfoIterator
-#include "appmngr2widget.hrh" // Widget command IDs
-#include <appmngr2driveutils.h> // TAppMngr2DriveUtils
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CAppMngr2WidgetPackageInfo::NewL()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2WidgetPackageInfo* CAppMngr2WidgetPackageInfo::NewL(
- CAppMngr2Runtime& aRuntime, const TDesC& aFileName, RFs& aFs )
- {
- CAppMngr2WidgetPackageInfo* self = new (ELeave) CAppMngr2WidgetPackageInfo( aRuntime, aFs );
- CleanupStack::PushL( self );
- self->ConstructL( aFileName );
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2WidgetPackageInfo::~CAppMngr2WidgetPackageInfo()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2WidgetPackageInfo::~CAppMngr2WidgetPackageInfo()
- {
- CancelCommand();
- delete iName;
- delete iDetails;
- delete iFileName;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2WidgetPackageInfo::IconIndex()
-// ---------------------------------------------------------------------------
-//
-TInt CAppMngr2WidgetPackageInfo::IconIndex() const
- {
- return 0; // Icon 0: qgn_menu_am_widget
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2WidgetPackageInfo::Name()
-// ---------------------------------------------------------------------------
-//
-const TDesC& CAppMngr2WidgetPackageInfo::Name() const
- {
- if( iName )
- {
- return *iName;
- }
- return KNullDesC;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2WidgetPackageInfo::Details()
-// ---------------------------------------------------------------------------
-//
-const TDesC& CAppMngr2WidgetPackageInfo::Details() const
- {
- if( iDetails )
- {
- return *iDetails;
- }
- return KNullDesC;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2WidgetPackageInfo::SupportsGenericCommand()
-// ---------------------------------------------------------------------------
-//
-TBool CAppMngr2WidgetPackageInfo::SupportsGenericCommand( TInt /*aCmdId*/ )
- {
- return ETrue;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2WidgetPackageInfo::HandleCommandL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2WidgetPackageInfo::HandleCommandL( TInt aCommandId, TRequestStatus& aStatus )
- {
- switch( aCommandId )
- {
- case EAppMngr2CmdViewDetails:
- ShowDetailsL();
- break;
-
- case EAppMngr2CmdInstall:
- if( !iSWInstLauncher )
- {
- SwiUI::RSWInstLauncher* swInstLauncher = new (ELeave) SwiUI::RSWInstLauncher;
- CleanupStack::PushL( swInstLauncher );
- User::LeaveIfError( swInstLauncher->Connect() );
- CleanupStack::Pop( swInstLauncher );
- iSWInstLauncher = swInstLauncher;
- }
- iSWInstLauncher->Install( aStatus, *iFileName );
- return; // async operation started
-
- case EAppMngr2CmdRemove:
- if( ShowDeleteConfirmationQueryL() )
- {
- User::LeaveIfError( iFs.Delete( *iFileName ) );
- }
- else
- {
- User::Leave( KErrCancel );
- }
- break;
-
- default:
- break;
- }
-
- // sync operation done, complete aStatus
- TRequestStatus* statusPtr = &aStatus;
- User::RequestComplete( statusPtr, KErrNone );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2WidgetPackageInfo::HandleCommandResultL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2WidgetPackageInfo::HandleCommandResultL( TInt aStatus )
- {
- if( iSWInstLauncher )
- {
- iSWInstLauncher->Close();
- delete iSWInstLauncher;
- iSWInstLauncher = NULL;
- }
- if( aStatus != SwiUI::KSWInstErrUserCancel && aStatus != KErrCancel )
- {
- User::LeaveIfError( aStatus );
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2WidgetPackageInfo::CancelCommand()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2WidgetPackageInfo::CancelCommand()
- {
- if( iSWInstLauncher )
- {
- iSWInstLauncher->CancelAsyncRequest( SwiUI::ERequestInstall );
- iSWInstLauncher->Close();
- delete iSWInstLauncher;
- iSWInstLauncher = NULL;
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2WidgetPackageInfo::CAppMngr2WidgetPackageInfo()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2WidgetPackageInfo::CAppMngr2WidgetPackageInfo( CAppMngr2Runtime& aRuntime,
- RFs& aFs ) : CAppMngr2PackageInfo( aRuntime, aFs )
- {
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2WidgetPackageInfo::ConstructL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2WidgetPackageInfo::ConstructL( const TDesC& aFileName )
- {
- CAppMngr2PackageInfo::ConstructL(); // base class
-
- iFileName = aFileName.AllocL();
- iLocation = TAppMngr2DriveUtils::LocationFromFileNameL( aFileName, iFs );
- iLocationDrive = TDriveUnit( aFileName );
-
- TEntry fileEntry;
- User::LeaveIfError( iFs.Entry( aFileName, fileEntry ) );
- iName = fileEntry.iName.AllocL();
- iDetails = SizeStringWithUnitsL( fileEntry.iSize );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2WidgetPackageInfo::ShowDetailsL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2WidgetPackageInfo::ShowDetailsL()
- {
- CAppMngr2WidgetInfoIterator* iterator = CAppMngr2WidgetInfoIterator::NewL(
- *this, EAppMngr2StatusNotInstalled );
- CleanupStack::PushL( iterator );
- SwiUI::CommonUI::CCUIDetailsDialog* details = SwiUI::CommonUI::CCUIDetailsDialog::NewL();
- details->ExecuteLD( *iterator );
- CleanupStack::PopAndDestroy( iterator );
- }
-
--- a/appinstaller/AppMngr2/Widget/src/appmngr2widgetruntime.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,185 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Widget runtime type for AppMngr2
-*
-*/
-
-
-#include "appmngr2widgetruntime.h" // CAppMngr2WidgetRuntime
-#include "appmngr2widgetappinfo.h" // CAppMngr2WidgetAppInfo
-#include "appmngr2widgetpackageinfo.h" // CAppMngr2WidgetPackageInfo
-#include "appmngr2recognizedfile.h" // CAppMngr2RecognizedFile
-#include <appmngr2cleanuputils.h> // CleanupResetAndDestroyPushL
-#include <data_caging_path_literals.hrh> // KDC_APP_BITMAP_DIR
-#include <apmrec.h> // CDataTypeArray
-#include <AknIconArray.h> // CAknIconArray
-#include <AknsUtils.h> // AknsUtils
-#include <gulicon.h> // CGulIcon
-#include <eikenv.h> // CEikonEnv
-#include <appmngr2widget.mbg> // icon IDs
-
-_LIT( KAppMngr2WidgetIconFileNameMif, "AppMngr2Widget.mif" );
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CAppMngr2WidgetRuntime::NewL()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2WidgetRuntime* CAppMngr2WidgetRuntime::NewL( MAppMngr2RuntimeObserver& aObserver )
- {
- CAppMngr2WidgetRuntime* self = new (ELeave) CAppMngr2WidgetRuntime( aObserver );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2WidgetRuntime::~CAppMngr2WidgetRuntime()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2WidgetRuntime::~CAppMngr2WidgetRuntime()
- {
- iWidgetRegistry.Disconnect();
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2WidgetRuntime::LoadIconsL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2WidgetRuntime::LoadIconsL( CAknIconArray& aIconArray )
- {
- MAknsSkinInstance* skinInstance = AknsUtils::SkinInstance();
- HBufC* iconFilePath = NULL;
-
- iconFilePath = FullBitmapFileNameLC( KAppMngr2WidgetIconFileNameMif );
-
- // Icon 0: Widget application icon, qgn_menu_am_widget
- CGulIcon* icon = AknsUtils::CreateGulIconL( skinInstance,
- KAknsIIDQgnMenuAmWidget, *iconFilePath,
- EMbmAppmngr2widgetQgn_menu_am_widget,
- EMbmAppmngr2widgetQgn_menu_am_widget_mask );
- CleanupStack::PushL( icon );
- aIconArray.AppendL( icon );
- CleanupStack::Pop( icon );
-
- CleanupStack::PopAndDestroy( iconFilePath );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2WidgetRuntime::GetSupportedDataTypesL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2WidgetRuntime::GetSupportedDataTypesL(
- CDataTypeArray& aDataTypeArray )
- {
- TDataType zipFile( KDataTypeWidget );
- aDataTypeArray.AppendL( zipFile );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2WidgetRuntime::GetInstallationFilesL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2WidgetRuntime::GetInstallationFilesL(
- RPointerArray<CAppMngr2PackageInfo>& aPackageInfos,
- const RPointerArray<CAppMngr2RecognizedFile>& aFileList,
- RFs& aFsSession, TRequestStatus& aStatus )
- {
- TInt fileCount = aFileList.Count();
- for( TInt index = 0; index < fileCount; index++ )
- {
- CAppMngr2RecognizedFile* file = aFileList[ index ];
- CAppMngr2WidgetPackageInfo* packageInfo = NULL;
- TRAPD( err, packageInfo = CAppMngr2WidgetPackageInfo::NewL( *this,
- file->FileName(), aFsSession ) );
- if( err == KErrNone )
- {
- CleanupStack::PushL( packageInfo );
- aPackageInfos.AppendL( packageInfo );
- CleanupStack::Pop( packageInfo );
- }
- }
-
- TRequestStatus* status = &aStatus;
- User::RequestComplete( status, KErrNone );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2WidgetRuntime::CancelGetInstallationFiles()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2WidgetRuntime::CancelGetInstallationFiles()
- {
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2WidgetRuntime::GetInstalledAppsL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2WidgetRuntime::GetInstalledAppsL(
- RPointerArray<CAppMngr2AppInfo>& aApps,
- RFs& aFsSession, TRequestStatus& aStatus )
- {
- RWidgetInfoArray widgetInfoArray;
- CleanupResetAndDestroyPushL( widgetInfoArray );
- iWidgetRegistry.InstalledWidgetsL( widgetInfoArray );
-
- for( TInt index = 0; index < widgetInfoArray.Count(); index++ )
- {
- CAppMngr2WidgetAppInfo* appObj = NULL;
- TRAPD( err, appObj = CAppMngr2WidgetAppInfo::NewL( *this,
- *( widgetInfoArray[ index ] ), aFsSession ) );
- if( err == KErrNone )
- {
- CleanupStack::PushL( appObj );
- aApps.Append( appObj );
- CleanupStack::Pop( appObj );
- }
- }
-
- CleanupStack::PopAndDestroy( &widgetInfoArray );
-
- TRequestStatus* status = &aStatus;
- User::RequestComplete( status, KErrNone );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2WidgetRuntime::CancelGetInstalledApps()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2WidgetRuntime::CancelGetInstalledApps()
- {
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2WidgetRuntime::CAppMngr2WidgetRuntime()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2WidgetRuntime::CAppMngr2WidgetRuntime( MAppMngr2RuntimeObserver& aObserver )
- : CAppMngr2Runtime( aObserver )
- {
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2WidgetRuntime::ConstructL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2WidgetRuntime::ConstructL()
- {
- User::LeaveIfError( iWidgetRegistry.Connect() );
- }
-
--- a/appinstaller/AppMngr2/aif/appmngr2_reg.rss Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-/*
-* Copyright (c) 2004-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Resource definitions for project AppMngr2
-*
-*/
-
-
-#include <appinfo.rh>
-#include <appmngr2.rsg>
-#include <data_caging_paths_strings.hrh>
-#include <appmngr2common.hrh> // KAppMngr2AppUidValue
-
-UID2 KUidAppRegistrationResourceFile
-UID3 KAppMngr2AppUidValue
-
-RESOURCE APP_REGISTRATION_INFO
- {
- app_file = "AppMngr2";
- localisable_resource_file = APP_RESOURCE_DIR"\\appmngr2";
- localisable_resource_id = R_APPMNGR_LOCALISABLE_APP_INFO;
- hidden = KAppIsHidden;
- embeddability = KAppEmbeddable;
- newfile = KAppDoesNotSupportNewFile;
- }
-
--- a/appinstaller/AppMngr2/data/appmngr2.rss Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,227 +0,0 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Resource definitions for project AppMngr2
-*
-*/
-
-
-NAME APM2
-
-#include "appmngr2.hrh" // Command IDs
-#include <eikon.hrh> // EEikMenuItemDimmed
-#include <data_caging_paths_strings.hrh> // APP_BITMAP_DIR
-#include <eikon.rh> // Resource structs
-#include <avkon.rh> // Resource structs
-#include <appinfo.rh> // Resource structs
-#include <avkon.rsg> // Avkon resources
-#include <avkon.loc> // UI strings
-#include <appmngr2.loc> // UI strings
-
-
-// ---------------------------------------------------------------------------
-// RSS_SIGNATURE, TBUF, and EIK_APP_INFO
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE RSS_SIGNATURE { }
-RESOURCE TBUF { buf = ""; }
-
-RESOURCE EIK_APP_INFO
- {
- status_pane = r_appmngr2_status_pane;
- }
-
-// ---------------------------------------------------------------------------
-// R_APPMNGR2_STATUS_PANE
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE STATUS_PANE_APP_MODEL r_appmngr2_status_pane
- {
- layout = R_AVKON_STATUS_PANE_LAYOUT_USUAL;
- panes =
- {
- SPANE_PANE
- {
- id = EEikStatusPaneUidTitle;
- type = EAknCtTitlePane;
- resource = r_appmngr2_title_pane_text;
- }
- };
- }
-
-// ---------------------------------------------------------------------------
-// R_APPMNGR2_TITLE_PANE_TEXT
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE TITLE_PANE r_appmngr2_title_pane_text
- {
- txt = qtn_am_title;
- }
-
-// ---------------------------------------------------------------------------
-// R_APPMNGR2_INSTALLED_VIEW
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE AVKON_VIEW r_appmngr2_installed_view
- {
- menubar = r_appmngr2_menubar_installed_view;
- cba = R_AVKON_SOFTKEYS_OPTIONS_BACK;
- }
-
-// ---------------------------------------------------------------------------
-// R_APPMNGR2_MENUBAR_INSTALLED_VIEW
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_appmngr2_menubar_installed_view
- {
- titles =
- {
- MENU_TITLE { menu_pane = r_appmngr2_installed_menu; }
- };
- }
-
-// ---------------------------------------------------------------------------
-// R_APPMNGR2_INSTALLED_MENU
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_appmngr2_installed_menu
- {
- items =
- {
- MENU_ITEM { command = EAppMngr2CmdViewDetails; txt = qtn_swins_om_comp_details;
- flags = EEikMenuItemSpecific; },
- MENU_ITEM { command = EAppMngr2CmdUninstall; txt = qtn_swins_om_uninstall;
- flags = EEikMenuItemSpecific; },
- MENU_ITEM { command = EAppMngr2PlaceForPluginSpecificCmds; flags = EEikMenuItemDimmed; },
- MENU_ITEM { command = EAppMngr2CmdLog; txt = qtn_swins_om_view_inst_log; },
- MENU_ITEM { command = EAknCmdHelp; txt = qtn_options_help; },
- MENU_ITEM { command = EAknCmdExit; txt = qtn_options_exit; }
- };
- }
-
-// ---------------------------------------------------------------------------
-// R_APPMNGR2_PACKAGES_VIEW
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE AVKON_VIEW r_appmngr2_packages_view
- {
- menubar = r_appmngr2_menubar_packages_view;
- cba = R_AVKON_SOFTKEYS_OPTIONS_BACK;
- }
-
-// ---------------------------------------------------------------------------
-// R_APPMNGR2_MENUBAR_PACKAGES_VIEW
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_appmngr2_menubar_packages_view
- {
- titles =
- {
- MENU_TITLE { menu_pane = r_appmngr2_packages_menu; }
- };
- }
-
-// ---------------------------------------------------------------------------
-// R_APPMNGR2_PACKAGES_MENU
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_appmngr2_packages_menu
- {
- items =
- {
- MENU_ITEM { command = EAppMngr2CmdInstall; txt = qtn_swins_om_install;
- flags = EEikMenuItemSpecific; },
- MENU_ITEM { command = EAppMngr2CmdViewDetails; txt = qtn_swins_om_comp_details;
- flags = EEikMenuItemSpecific; },
- MENU_ITEM { command = EAppMngr2PlaceForPluginSpecificCmds; flags = EEikMenuItemDimmed; },
- MENU_ITEM { command = EAppMngr2CmdRemove; txt = qtn_am_opt_remove;
- flags = EEikMenuItemSpecific; },
- MENU_ITEM { command = EAppMngr2CmdLog; txt = qtn_swins_om_view_inst_log; },
- MENU_ITEM { command = EAknCmdHelp; txt = qtn_options_help; },
- MENU_ITEM { command = EAknCmdExit; txt = qtn_options_exit; }
- };
- }
-
-// ---------------------------------------------------------------------------
-// R_APPMNGR2_YES_NO_CONFIRMATION_QUERY
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_appmngr2_yes_no_confirmation_query
- {
- flags = EGeneralQueryFlags;
- buttons = R_AVKON_SOFTKEYS_YES_NO__YES;
- items =
- {
- DLG_LINE
- {
- type = EAknCtQuery;
- id = EGeneralQuery;
- control = AVKON_CONFIRMATION_QUERY
- {
- layout = EConfirmationQueryLayout;
- };
- }
- };
- }
-
-// ---------------------------------------------------------------------------
-// UI Strings
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE TBUF r_swins_unit_byte { buf = qtn_swins_lsh2_byte; }
-RESOURCE TBUF r_swins_unit_kilobyte { buf = qtn_swins_lsh2_kilobyte; }
-RESOURCE TBUF r_swins_unit_megabyte { buf = qtn_swins_lsh2_megabyte; }
-RESOURCE TBUF r_swins_unit_gigabyte { buf = qtn_swins_lsh2_gigabyte; }
-RESOURCE TBUF r_swins_unit_untrusted { buf = qtn_swins_lsh2_untrusted; }
-RESOURCE TBUF r_am_installed_view_empty { buf = qtn_am_empty_installed; }
-RESOURCE TBUF r_am_packages_view_empty { buf = qtn_am_empty_not_installed; }
-RESOURCE TBUF r_am_deletequery { buf = qtn_query_common_conf_delete; }
-RESOURCE TBUF r_am_msk_view_log { buf = qtn_msk_view_log; }
-RESOURCE TBUF r_am_msk_view_details { buf = qtn_msk_view_details; }
-RESOURCE TBUF r_am_msk_install { buf = qtn_msk_install; }
-RESOURCE TBUF r_inst_log_header { buf = qtn_swins_lsh2_log_header; }
-RESOURCE TBUF r_inst_install_event { buf = qtn_swins_logstatus1; }
-RESOURCE TBUF r_inst_partial_install_event { buf = qtn_swins_logstatus2; } // not used
-RESOURCE TBUF r_inst_remove_event { buf = qtn_swins_logstatus3; }
-RESOURCE TBUF r_am_title_installed { buf = qtn_am_title_installed; }
-RESOURCE TBUF r_am_title_not_installed { buf = qtn_am_title_not_installed; }
-RESOURCE TBUF r_qtn_swins_log_empty { buf = qtn_swins_log_empty; }
-RESOURCE TBUF r_qtn_am_scanning_memory { buf = qtn_am_scanning_memory; }
-
-// ---------------------------------------------------------------------------
-// R_APPMNGR_LOCALISABLE_APP_INFO
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE LOCALISABLE_APP_INFO r_appmngr_localisable_app_info
- {
- short_caption = qtn_apps_appmngr_grid;
- caption_and_icon = CAPTION_AND_ICON_INFO
- {
- caption = qtn_apps_appmngr_list;
- number_of_icons = 1;
- icon_file = APP_BITMAP_DIR"\\appmngr2_aif.mif";
- };
- }
-
--- a/appinstaller/AppMngr2/group/appmngr2.mmp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,98 +0,0 @@
-/*
-* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Project specification for AppMngr2
-*
-*/
-
-
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-
-TARGET appmngr2.exe
-EPOCSTACKSIZE 0x5000
-TARGETTYPE exe
-UID 0x100039CE 0x101F8512
-
-CAPABILITY CAP_APPLICATION AllFiles ProtServ TrustedUI
-VENDORID VID_DEFAULT
-
-SOURCEPATH ../src
-SOURCE appmngr2app.cpp
-SOURCE appmngr2appui.cpp
-SOURCE appmngr2document.cpp
-SOURCE appmngr2model.cpp
-SOURCE appmngr2pluginholder.cpp
-SOURCE appmngr2listview.cpp
-SOURCE appmngr2installedview.cpp
-SOURCE appmngr2packagesview.cpp
-SOURCE appmngr2listcontainer.cpp
-SOURCE appmngr2installedcontainer.cpp
-SOURCE appmngr2packagescontainer.cpp
-SOURCE appmngr2scanner.cpp
-SOURCE appmngr2scannerdir.cpp
-SOURCE appmngr2filerecognizer.cpp
-SOURCE appmngr2infoarray.cpp
-SOURCE appmngr2appinfoarray.cpp
-SOURCE appmngr2packageinfoarray.cpp
-SOURCE appmngr2infomaker.cpp
-SOURCE appmngr2appinfomaker.cpp
-SOURCE appmngr2packageinfomaker.cpp
-SOURCE appmngr2log.cpp
-SOURCE appmngr2logpopuplist.cpp
-SOURCE appmngr2logdatabase.cpp
-SOURCE appmngr2logdatabaseentry.cpp
-
-START RESOURCE ../data/appmngr2.rss
-HEADER
-TARGETPATH APP_RESOURCE_DIR
-LANGUAGE_IDS
-END
-
-START RESOURCE ../aif/appmngr2_reg.rss
-DEPENDS AppMngr2.rsg
-TARGETPATH /private/10003a3f/apps
-END
-
-USERINCLUDE ../inc
-
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY euser.lib // Base
-LIBRARY apparc.lib // App Framework
-LIBRARY cone.lib // App Framework
-LIBRARY apgrfx.lib // App Framework
-LIBRARY apmime.lib // App Framework (TDataType)
-LIBRARY avkon.lib // S60 UI Framework
-LIBRARY eikcore.lib // S60 UI Framework
-LIBRARY eikcoctl.lib // S60 UI Framework
-LIBRARY eikctl.lib // S60 UI Framework
-LIBRARY efsrv.lib // File Server
-LIBRARY ws32.lib // Window Server
-LIBRARY bafl.lib // Descriptor arrays
-LIBRARY commonengine.lib // StringLoader
-LIBRARY featmgr.lib // FeatureManager
-LIBRARY hlplch.lib // HlpLauncher
-LIBRARY aknskins.lib // AknsUtils
-LIBRARY egul.lib // CGulIcon
-LIBRARY centralrepository.lib // CRepository
-LIBRARY edbms.lib // DBMS Database (for log)
-LIBRARY platformenv.lib // DriveInfo
-LIBRARY appmngr2pluginapi.lib // AppMngr2 Runtime API
-LIBRARY ecom.lib // ECom
-LIBRARY caf.lib // Content Access Framework
-
-DEBUGLIBRARY flogger.lib // RFileLogger
-
-SMPSAFE
-
--- a/appinstaller/AppMngr2/group/appmngr2gsinstalledplugin.mmp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-/*
-* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Project specification file for AppMngr2 GS Installed plugin
-*
-*/
-
-
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-
-TARGET appmngr2gsinstalledplugin.dll
-TARGETTYPE PLUGIN
-UID 0x10009D8D 0x10282D8E
-
-CAPABILITY CAP_ECOM_PLUGIN
-VENDORID VID_DEFAULT
-
-SOURCEPATH ../GSInstalledPlugin/src
-SOURCE appmngr2gsinstalledplugin.cpp
-SOURCE appmngr2gsinstalledpluginmain.cpp
-
-START RESOURCE ../data/10282d8e.rss
-TARGET appmngr2gsinstalledplugin.rsc
-TARGETPATH ECOM_RESOURCE_DIR
-END
-
-START RESOURCE ../data/appmngr2gsinstalledpluginrsc.rss
-HEADER
-TARGETPATH RESOURCE_FILES_DIR
-LANGUAGE_IDS
-END
-
-USERINCLUDE ../inc
-USERINCLUDE ../GSInstalledPlugin/inc
-
-MW_LAYER_SYSTEMINCLUDE
-
-LIBRARY euser.lib // Base
-LIBRARY ecom.lib // ECom
-LIBRARY gsecomplugin.lib // CGSPluginInterface
-LIBRARY apparc.lib // App Framework
-LIBRARY cone.lib // App Framework
-LIBRARY apgrfx.lib // App Framework (RApaLsSession)
-LIBRARY avkon.lib // S60 UI Framework
-LIBRARY eikcoctl.lib // S60 UI Framework
-LIBRARY eikcore.lib // S60 UI Framework
-LIBRARY efsrv.lib // File Server
-LIBRARY ws32.lib // Window Server
-LIBRARY bafl.lib // BaflUtils
-LIBRARY commonengine.lib // RConeResourceLoader
-LIBRARY aknskins.lib // AknsUtils
-
-DEBUGLIBRARY flogger.lib // RFileLogger
-
-SMPSAFE
-
--- a/appinstaller/AppMngr2/group/appmngr2gsinstfilesplugin.mmp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-/*
-* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Project specification file for AppMngr2 GS Installed Files plugin
-*
-*/
-
-
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-
-TARGET appmngr2gsinstfilesplugin.dll
-TARGETTYPE PLUGIN
-UID 0x10009D8D 0x10282D8C
-
-CAPABILITY CAP_ECOM_PLUGIN
-VENDORID VID_DEFAULT
-
-SOURCEPATH ../GSInstFilesPlugin/src
-SOURCE appmngr2gsinstfilesplugin.cpp
-SOURCE appmngr2gsinstfilespluginmain.cpp
-
-START RESOURCE ../data/10282d8c.rss
-TARGET appmngr2gsinstfilesplugin.rsc
-TARGETPATH ECOM_RESOURCE_DIR
-END
-
-START RESOURCE ../data/appmngr2gsinstfilespluginrsc.rss
-HEADER
-TARGETPATH RESOURCE_FILES_DIR
-LANGUAGE_IDS
-END
-
-USERINCLUDE ../inc
-USERINCLUDE ../GSInstFilesPlugin/inc
-
-MW_LAYER_SYSTEMINCLUDE
-
-LIBRARY euser.lib // Base
-LIBRARY ecom.lib // ECom
-LIBRARY gsecomplugin.lib // CGSPluginInterface
-LIBRARY apparc.lib // App Framework
-LIBRARY cone.lib // App Framework
-LIBRARY apgrfx.lib // App Framework (RApaLsSession)
-LIBRARY avkon.lib // S60 UI Framework
-LIBRARY eikcoctl.lib // S60 UI Framework
-LIBRARY eikcore.lib // S60 UI Framework
-LIBRARY efsrv.lib // File Server
-LIBRARY ws32.lib // Window Server
-LIBRARY bafl.lib // BaflUtils
-LIBRARY commonengine.lib // RConeResourceLoader
-LIBRARY aknskins.lib // AknsUtils
-
-DEBUGLIBRARY flogger.lib // RFileLogger
-
-SMPSAFE
-
--- a/appinstaller/AppMngr2/group/appmngr2gssettingsplugin.mmp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-/*
-* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Project specification file for AppMngr2 GS Settings plugin
-*
-*/
-
-
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-#include <bldvariant.hrh>
-
-TARGET appmngr2gssettingsplugin.dll
-TARGETTYPE PLUGIN
-UID 0x10009D8D 0x101F9A10
-
-CAPABILITY CAP_ECOM_PLUGIN
-VENDORID VID_DEFAULT
-
-SOURCEPATH ../GSSettingsPlugin/src
-SOURCE appmngr2gssettingsplugin.cpp
-SOURCE appmngr2gssettingscontainer.cpp
-SOURCE appmngr2gssettingspluginmain.cpp
-
-START RESOURCE ../data/101f9a10.rss
-TARGET appmngr2gssettingsplugin.rsc
-TARGETPATH ECOM_RESOURCE_DIR
-END
-
-START RESOURCE ../data/appmngr2gssettingspluginrsc.rss
-HEADER
-TARGETPATH RESOURCE_FILES_DIR
-LANGUAGE_IDS
-END
-
-USERINCLUDE ../inc
-USERINCLUDE ../GSSettingsPlugin/inc
-
-APP_LAYER_SYSTEMINCLUDE // For \epoc32\include\app\hlplch.h
-
-LIBRARY euser.lib // Base
-LIBRARY ecom.lib // ECom
-LIBRARY gsecomplugin.lib // CGSPluginInterface
-LIBRARY cone.lib // App Framework
-LIBRARY avkon.lib // S60 UI Framework
-LIBRARY eikcoctl.lib // S60 UI Framework
-LIBRARY eikcore.lib // S60 UI Framework
-LIBRARY bafl.lib // CDesC16Array
-LIBRARY commonengine.lib // RConeResourceLoader
-LIBRARY aknskins.lib // AknsUtils
-LIBRARY featmgr.lib // FeatureManager
-LIBRARY hlplch.lib // HlpLauncher
-LIBRARY centralrepository.lib // CRepository
-LIBRARY appmngr2pluginapi.lib // TAppMngr2DriveUtils
-
-DEBUGLIBRARY flogger.lib // RFileLogger
-
-SMPSAFE
-
--- a/appinstaller/AppMngr2/group/bld.inf Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +0,0 @@
-/*
-* Copyright (c) 2003-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Build information file for project AppMngr2
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-#include "../Sisx/group/bld.inf"
-#include "../Widget/group/bld.inf"
-
-
-PRJ_EXPORTS
-// export localised loc file
-../loc/appmngr2.loc MW_LAYER_LOC_EXPORT_PATH( appmngr2.loc )
-../loc/appmngrgsplugin.loc MW_LAYER_LOC_EXPORT_PATH( appmngrgsplugin.loc )
-../loc/appmngrinstalledplugin.loc MW_LAYER_LOC_EXPORT_PATH( appmngrinstalledplugin.loc )
-../loc/appmngrinstfilesplugin.loc MW_LAYER_LOC_EXPORT_PATH( appmngrinstfilesplugin.loc )
-
-// export iby files
-../rom/appmngr2.iby CORE_MW_LAYER_IBY_EXPORT_PATH( appmngr2.iby )
-../rom/appmngr2sisxplugin.iby CORE_MW_LAYER_IBY_EXPORT_PATH( appmngr2sisxplugin.iby )
-../rom/appmngr2widgetplugin.iby CORE_MW_LAYER_IBY_EXPORT_PATH( appmngr2widgetplugin.iby )
-../rom/appmngr2gssettingsplugin.iby CORE_MW_LAYER_IBY_EXPORT_PATH( appmngr2gssettingsplugin.iby )
-../rom/appmngr2gsinstalledplugin.iby CORE_MW_LAYER_IBY_EXPORT_PATH( appmngr2gsinstalledplugin.iby )
-../rom/appmngr2gsinstfilesplugin.iby CORE_MW_LAYER_IBY_EXPORT_PATH( appmngr2gsinstfilesplugin.iby )
-../rom/swinstadapter.iby CORE_MW_LAYER_IBY_EXPORT_PATH( swinstadapter.iby )
-../rom/appmngr2resources.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH( appmngr2resources.iby )
-../rom/appmngr2gssettingspluginresources.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH( appmngr2gssettingspluginresources.iby )
-../rom/appmngr2gsinstalledpluginresources.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH( appmngr2gsinstalledpluginresources.iby )
-../rom/appmngr2gsinstfilespluginresources.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH( appmngr2gsinstfilespluginresources.iby )
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-#include "../help/group/bld.inf" // Help exports
-
-PRJ_EXTENSIONS
-START EXTENSION s60/mifconv
- OPTION TARGETFILE appmngr2.mif
- OPTION HEADERFILE appmngr2.mbg
- OPTION SOURCES \
- -c8,8 qgn_prop_cp_inst_installs -c8,8 qgn_prop_cp_inst_files \
- -c8,8 qgn_prop_cp_inst_settings -c8,8 qgn_prop_drm_exp_large \
- -c8,1 qgn_indi_sett_protected_add -c8,1 qgn_indi_am_inst_mmc_add \
- -c8,8 qgn_indi_mmc_add -c8,8 qgn_indi_fmgr_ms_add -c8,8 qgn_prop_unknown
-END
-START EXTENSION s60/mifconv
- OPTION TARGETFILE appmngr2_aif.mif
- OPTION SOURCES -c8,8 qgn_menu_am
-END
-
-
-PRJ_MMPFILES
-appmngr2.mmp
-appmngr2gssettingsplugin.mmp
-appmngr2gsinstalledplugin.mmp
-appmngr2gsinstfilesplugin.mmp
-swinstadapter.mmp
-
--- a/appinstaller/AppMngr2/group/swinstadapter.mmp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
-* Copyright (c) 2005-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: OMA DM adapter that allows to configure SW Installer settings
-*
-*/
-
-
-#include <platform_paths.hrh>
-#include "../SWInstAdapter/inc/swinstadapteruids.hrh"
-
-TARGET SWInstAdapter.dll
-TARGETTYPE PLUGIN
-UID 0x10009D8D KSWInstAdapterDllUid3
-
-CAPABILITY CAP_ECOM_PLUGIN CAP_GENERAL_DLL
-VENDORID VID_DEFAULT
-
-SOURCEPATH ../SWInstAdapter/src
-SOURCE swinstadapter.cpp
-SOURCE swinstadaptermain.cpp
-
-USERINCLUDE ../SWInstAdapter/inc
-
-MW_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE /epoc32/include/ecom // smldmadapter.h needs this
-
-SOURCEPATH ../SWInstAdapter/data
-START RESOURCE ./swinstadapter.rss
-TARGET swinstadapter.rsc
-END
-
-LIBRARY euser.lib
-LIBRARY ecom.lib
-LIBRARY centralrepository.lib
-LIBRARY charconv.lib
-
-SMPSAFE
-
Binary file appinstaller/AppMngr2/help/data/xhtml.zip has changed
--- a/appinstaller/AppMngr2/help/group/bld.inf Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Export help related files.
-*
-*/
-
-#include <platform_paths.hrh>
-
-PRJ_EXPORTS
-:zip ../data/xhtml.zip /epoc32/data/z/resource/ overwrite
-:zip ../data/xhtml.zip /epoc32/winscw/c/resource/ overwrite
-
-../inc/am.hlp.hrh MW_LAYER_PLATFORM_EXPORT_PATH(csxhelp/am.hlp.hrh)
-../rom/appmngr2helps_variant.iby CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(appmngr2helps_variant.iby)
-
--- a/appinstaller/AppMngr2/help/inc/am.hlp.hrh Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-//
-// am.hlp.hrh generated by CSXHelp Utilities.
-//
-
-#ifndef __AM_HLP_HRH__
-#define __AM_HLP_HRH__
-
-_LIT(KAM_HLP_GENERAL_SETTINGS, "AM_HLP_GENERAL_SETTINGS"); //
-_LIT(KAM_HLP_NOT_INSTALLED, "AM_HLP_NOT_INSTALLED"); //
-_LIT(KAM_HLP_INSTALLED, "AM_HLP_INSTALLED"); //
-_LIT(KAM_HLP_APPLICATION, "AM_HLP_APPLICATION"); //
-_LIT(KAM_HLP_INSTALL_CAPAB, "AM_HLP_INSTALL_CAPAB"); //
-_LIT(KAM_HLP_INSTALL_UNTRUSTED, "AM_HLP_INSTALL_UNTRUSTED"); //
-
-#endif
\ No newline at end of file
--- a/appinstaller/AppMngr2/help/rom/appmngr2helps_variant.iby Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Image description file for AppMngr2 helps
-*
-*/
-
-#ifndef __APPMNGR2HELPS_VARIANT_IBY__
-#define __APPMNGR2HELPS_VARIANT_IBY__
-
-#if defined(FF_S60_HELPS_IN_USE)
- data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x101F8512\contents.zip, RESOURCE_FILES_DIR\xhtml\%02d\0x101F8512\contents.zip)
- data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x101F8512\index.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x101F8512\index.xml)
- data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x101F8512\keywords.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x101F8512\keywords.xml)
- data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x101F8512\meta.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x101F8512\meta.xml)
-#endif
-
-#endif // __APPMNGR2HELPS_VARIANT_IBY__
-
--- a/appinstaller/AppMngr2/inc/appmngr2.hrh Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
-* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Resource headers for project AppMngr2
-*
-*/
-
-
-#ifndef APPMNGR2_HRH
-#define APPMNGR2_HRH
-
-#include <appmngr2common.hrh> // EAppMngr2ReservedForOtherGenericCommand
-
-#define KAppMngr2OcspUrlControlWidth 10
-#define KAppMngr2OcspUrlControlLines 2
-#define KAppMngr2MaxOcspUrlLength 256 // less than NCentralRepositoryConstants::
- // KMaxUnicodeStringLength
-
-enum TAppMngr2Commands
- {
- EAppMngr2CmdOpenView = EAppMngr2ReservedForOtherGenericCommands,
- EAppMngr2CmdSettings,
- EAppMngr2CmdChange
- };
-
-// Default icon indexes defined in appmngr2common.hrh must be in the same order,
-// see CAppMngr2ListContainer::PopulateItemArrayL() for more details. Also icon
-// loading order in CAppMngr2Model::LoadDefaultIconsL() must be the same in which
-// TAppMngr2DefaultIcons are listed below.
-enum TAppMngr2DefaultIcons
- {
- EAppMngr2IconIndex_QgnIndiAmInstMmcAdd,
- EAppMngr2IconIndex_QgnIndiFmgrMsAdd,
- EAppMngr2IconIndex_QgnPropUnknown
- };
-
-enum TApplicationMode
- {
- ENotInstalled,
- EInstalled
- };
-
-#endif // APPMNGR2_HRH
-
--- a/appinstaller/AppMngr2/inc/appmngr2app.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Declares main application class
-*
-*/
-
-
-#ifndef C_APPMNGR2APP_H
-#define C_APPMNGR2APP_H
-
-#include <aknapp.h> // CAknApplication
-
-
-class CAppMngr2App : public CAknApplication
- {
-private: // from CAknApplication
- CApaDocument* CreateDocumentL();
- TUid AppDllUid() const;
- };
-
-#endif // C_APPMNGR2APP_H
-
--- a/appinstaller/AppMngr2/inc/appmngr2appinfoarray.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: AppInfo array used in Model
-*
-*/
-
-
-#ifndef C_APPMNGR2APPINFOARRAY_H
-#define C_APPMNGR2APPINFOARRAY_H
-
-#include "appmngr2infoarray.h" // CAppMngr2InfoArray
-#include <appmngr2appinfo.h> // CAppMngr2AppInfo
-
-
-class CAppMngr2AppInfoArray : public CAppMngr2InfoArray
- {
-public: // constructor and destructor
- static CAppMngr2AppInfoArray* NewL( MAppMngr2InfoArrayObserver& aObserver );
- ~CAppMngr2AppInfoArray();
-
-public: // new functions
- void AddItemsInOrderL( RPointerArray<CAppMngr2AppInfo>& aAppInfos );
-
-private: // new functions
- CAppMngr2AppInfoArray( MAppMngr2InfoArrayObserver& aObserver );
- };
-
-#endif // C_APPMNGR2APPINFOARRAY_H
-
--- a/appinstaller/AppMngr2/inc/appmngr2appinfomaker.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Creates AppInfo objects asynchronously
-*
-*/
-
-
-#ifndef C_APPMNGR2APPINFOMAKER_H
-#define C_APPMNGR2APPINFOMAKER_H
-
-#include "appmngr2infomaker.h" // CAppMngr2InfoMaker
-
-class CAppMngr2Runtime;
-class CAppMngr2AppInfo;
-
-
-class CAppMngr2AppInfoMaker : public CAppMngr2InfoMaker
- {
-public: // constructor and destructor
- static CAppMngr2AppInfoMaker* NewL( CAppMngr2Runtime& aPlugin,
- MAppMngr2InfoMakerObserver& aObserver, RFs& aFs );
- static CAppMngr2AppInfoMaker* NewLC( CAppMngr2Runtime& aPlugin,
- MAppMngr2InfoMakerObserver& aObserver, RFs& aFs );
- ~CAppMngr2AppInfoMaker();
-
-public: // from CActive, via CAppMngr2InfoMaker
- void DoCancel();
- void RunL();
-
-public: // new functions
- void StartGettingInstalledAppsL();
-
-private: // new functions
- CAppMngr2AppInfoMaker( CAppMngr2Runtime& aPlugin,
- MAppMngr2InfoMakerObserver& aObserver, RFs& aFs );
- void ConstructL();
-
-private: // data
- RPointerArray<CAppMngr2AppInfo> iAppInfos;
- };
-
-#endif // C_APPMNGR2APPINFOMAKER_H
-
--- a/appinstaller/AppMngr2/inc/appmngr2appui.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Declares UI class for application
-*
-*/
-
-
-#ifndef C_APPMNGR2APPUI_H
-#define C_APPMNGR2APPUI_H
-
-#include <aknViewAppUi.h> // CAknViewAppUi
-#include "appmngr2modelobserver.h" // MAppMngr2ModelObserver
-
-class CAppMngr2Model;
-class CIdle;
-
-
-class CAppMngr2AppUi : public CAknViewAppUi, public MAppMngr2ModelObserver
- {
-public: // constructor and destructor
- void ConstructL();
- ~CAppMngr2AppUi();
-
-public: // new functions
- CAppMngr2Model& Model() const;
-
-public: // from MAppMngr2ModelObserver
- void InstalledAppsChanged( TInt aMoreRefreshesExpected );
- void InstallationFilesChanged( TInt aMoreRefreshesExpected );
- TBool InstalledAppsDisplayed();
- TBool InstallationFilesDisplayed();
-
-private: // new functions
- static TInt DelayedConstructL( TAny* aSelf );
-
-private: // from CAknViewAppUi
- void HandleCommandL( TInt aCommand );
-
-private: // data
- CAppMngr2Model* iModel;
- TInt iResourceFileOffset;
- CIdle* iIdle;
- enum TDelayedConstructionStep
- {
- EFirstStep,
- ESecondStep,
- EAllDone
- } iDelayedConstructionStep;
- TBool iConstructInstallationFilesFirst;
- };
-
-#endif // C_APPMNGR2APPUI_H
-
--- a/appinstaller/AppMngr2/inc/appmngr2document.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Declares document for application
-*
-*/
-
-
-#ifndef C_APPMNGR2DOCUMENT_H
-#define C_APPMNGR2DOCUMENT_H
-
-#include <AknDoc.h> // CAknDocument
-
-class CEikAppUi;
-
-
-class CAppMngr2Document : public CAknDocument
- {
-public: // constructor and destructor
- static CAppMngr2Document* NewL( CEikApplication& aApp );
- ~CAppMngr2Document();
-
-private: // new functions
- CAppMngr2Document( CEikApplication& aApp );
- void ConstructL();
-
-private: // from CEikDocument
- CEikAppUi* CreateAppUiL();
- };
-
-#endif // C_APPMNGR2DOCUMENT_H
-
--- a/appinstaller/AppMngr2/inc/appmngr2filerecognizer.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Recognizes files to get corresponding MIME types
-*
-*/
-
-
-#ifndef C_APPMNGR2FILERECOGNIZER_H
-#define C_APPMNGR2FILERECOGNIZER_H
-
-#include <e32base.h> // CActive
-
-class CAppMngr2RecognizedFile;
-class CDir;
-class RFs;
-
-
-class CAppMngr2FileRecognizer : public CActive
- {
-public: // constructor and destructor
- static CAppMngr2FileRecognizer* NewL( RFs& aFs );
- ~CAppMngr2FileRecognizer();
-
-public: // new functions
- /**
- * Gets the data (MIME) type for files in a specified directory.
- * Works like RApaLsSession::RecognizeFilesL() except that can be used to
- * recognize files in private directories too (with AllFiles capability).
- * @param aPath A valid path. Note that the path must end with a backslash.
- * @param aStatus A request status object.
- */
- void RecognizeFilesL( const TDesC& aPath, TRequestStatus& aStatus );
-
- /**
- * Cancels ongoing file recognition.
- */
- void CancelRecognizeFiles();
-
- /**
- * Returns file recognition results in array. Items can be removed
- * from the array. Next call to RecognizeFilesL() resets the array.
- * @return RPointerArray<CAppMngr2RecognizedFile>& Recognized files
- */
- RPointerArray<CAppMngr2RecognizedFile>& Results();
-
-protected: // from CActive
- void DoCancel();
- void RunL();
- TInt RunError( TInt aError );
-
-private: // new functions
- CAppMngr2FileRecognizer( RFs& aFs );
- void RecognizeNextFileL();
-
-private: // data
- RFs& iFs;
- TRequestStatus* iDirStatus;
- HBufC* iDirPath;
- CDir* iDirEntries;
- TInt iIndex;
- RPointerArray<CAppMngr2RecognizedFile> iResultArray;
- enum TState
- {
- EIdle,
- ERecognizing
- } iState;
- };
-
-#endif // C_APPMNGR2FILERECOGNIZER_H
-
--- a/appinstaller/AppMngr2/inc/appmngr2infoarray.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,94 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Base class for AppInfo and PackageInfo arrays
-*
-*/
-
-
-#ifndef C_APPMNGR2INFOARRAY_H
-#define C_APPMNGR2INFOARRAY_H
-
-#include <e32base.h> // CBase
-#include <appmngr2infobase.h> // CAppMngr2InfoBase
-#include "appmngr2infoarrayobserver.h" // MAppMngr2InfoArrayObserver
-
-
-/**
- * CAppMngr2InfoArray contains list of installation files or installed apps.
- * CAppMngr2Model uses these arrays to hold data received from scanning
- * installation directories or application registeries. Application UI uses
- * these arrays (via CAppMngr2Model) to get info about displayed items.
- * Functions At() and Count() are used for this purpose. Changes in array
- * content are notified using interface MAppMngr2InfoArrayObserver, and
- * makes the Application UI to refresh displayed lists.
- *
- * A "cache" buffer is used to maintain old data while new data is collected.
- * For example, new installation files found in scanning are stored in iArray,
- * and old content is used from iCache while the scanning is on-going and more
- * items are added to iArray. When the scanning completes, new content in
- * iArray is taken in use (old content in iCache is discarded) and UI is
- * notified about the change.
- *
- * Notifications can be disabled temporarily, which means that cache is
- * locked in use temporarily. When notifications are disabled, new content
- * may be received to iArray as usual, but no notifications are sent to
- * observer until notifications are enabled again. CAppMngr2Model disables
- * the notifications while a plugin specific command is running, as it needs
- * to call CommandComplete() when the running command completes. Plugin
- * specific commands (like delete or uninstall) may launch new scanning that
- * change the array content. CAppMngr2Model maintains pointer iActiveItem
- * to the item that is running the plugin specific command, and this item
- * is actually stored in iArray or iCache. If array content could change
- * while the command is run, iActiveItem might not be valid any more after
- * the command is complete and calling iActiveItem->CommandComplete()
- * might raise a KERN-EXEC panic.
- */
-
-class CAppMngr2InfoArray : public CBase
- {
-public: // constructor and destructor
- CAppMngr2InfoArray( MAppMngr2InfoArrayObserver& aObserver );
- ~CAppMngr2InfoArray();
-
-public: // new functions
- CAppMngr2InfoBase* At( TInt aIndex ) const;
- TInt Count() const;
- void IncrementCacheUseL();
- void IncrementCacheUseStartingNewRoundL();
- void DecrementCacheUse();
- void DisableRefreshNotificationsL();
- void EnableRefreshNotificationsL();
- void AddItemInOrderL( CAppMngr2InfoBase* aInfo );
- void ImmediateDelete( CAppMngr2InfoBase* aInfo );
-
-private: // new functions
- void MoveItemsToCacheMaintainingOrderL();
- void MoveCachedItemsToArrayInOrderL();
- void NotifyObserver();
- TBool IsCacheUsed() const;
-
-protected: // data
- MAppMngr2InfoArrayObserver& iObserver;
- RPointerArray<CAppMngr2InfoBase> iArray;
- RPointerArray<CAppMngr2InfoBase> iCache;
- TLinearOrder<CAppMngr2InfoBase> iAlphabeticalOrder;
- TBool iForceCacheUse;
- TBool iForceCacheUseWhenAddingComplete;
- TBool iQuickRefreshes;
- TBool iArrayChangedObserverNeedsNotification;
- TInt iUseCache;
- };
-
-#endif // C_APPMNGR2INFOARRAY_H
-
--- a/appinstaller/AppMngr2/inc/appmngr2infoarrayobserver.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Notifies when InfoArray is refreshed
-*
-*/
-
-
-#ifndef C_APPMNGR2INFOARRAYOBSERVER_H
-#define C_APPMNGR2INFOARRAYOBSERVER_H
-
-class CAppMngr2InfoArray;
-
-
-class MAppMngr2InfoArrayObserver
- {
-public:
- virtual void ArrayContentChanged( CAppMngr2InfoArray* aArray,
- TInt aMoreRefreshesExpected ) = 0;
- };
-
-#endif // C_APPMNGR2INFOARRAYOBSERVER_H
-
--- a/appinstaller/AppMngr2/inc/appmngr2infomaker.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Creates info objects asynchronously
-*
-*/
-
-
-#ifndef C_APPMNGR2INFOMAKER_H
-#define C_APPMNGR2INFOMAKER_H
-
-#include <e32base.h> // CActive
-
-class CAppMngr2Runtime;
-class MAppMngr2InfoMakerObserver;
-class RFs;
-
-
-class CAppMngr2InfoMaker : public CActive
- {
-public: // constructor and destructor
- CAppMngr2InfoMaker( CAppMngr2Runtime& aPlugin, MAppMngr2InfoMakerObserver& aObserver,
- RFs& aFs );
- ~CAppMngr2InfoMaker();
-
-public: // new functions
- const TUid RuntimeUid() const;
-
-protected: // data
- CAppMngr2Runtime& iPlugin;
- MAppMngr2InfoMakerObserver& iObserver;
- RFs& iFs;
- };
-
-#endif // C_APPMNGR2INFOMAKER_H
-
--- a/appinstaller/AppMngr2/inc/appmngr2infomakerobserver.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Creates info objects asynchronously
-*
-*/
-
-
-#ifndef C_APPMNGR2INFOMAKEROBSERVER_H
-#define C_APPMNGR2INFOMAKEROBSERVER_H
-
-class CAppMngr2InfoMaker;
-class CAppMngr2AppInfo;
-class CAppMngr2PackageInfo;
-
-
-class MAppMngr2InfoMakerObserver
- {
-public:
- virtual void NewAppsCreatedL( const CAppMngr2InfoMaker& aMaker,
- RPointerArray<CAppMngr2AppInfo>& aAppInfos ) = 0;
- virtual void ErrorInCreatingAppsL( const CAppMngr2InfoMaker& aMaker,
- TInt aError ) = 0;
- virtual void NewPackagesCreatedL( const CAppMngr2InfoMaker& aMaker,
- RPointerArray<CAppMngr2PackageInfo>& aPackageInfos ) = 0;
- virtual void ErrorInCreatingPackagesL( const CAppMngr2InfoMaker& aMaker,
- TInt aError ) = 0;
- };
-
-#endif // C_APPMNGR2INFOMAKEROBSERVER_H
-
--- a/appinstaller/AppMngr2/inc/appmngr2installedcontainer.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Container for list view that shows installed applications
-*
-*/
-
-
-#ifndef C_APPMNGR2INSTALLEDCONTAINER_H
-#define C_APPMNGR2INSTALLEDCONTAINER_H
-
-#include "appmngr2listcontainer.h" // CAppMngr2ListContainer
-
-class CAppMngr2InstalledView;
-
-
-class CAppMngr2InstalledContainer : public CAppMngr2ListContainer
- {
-public: // constructor and destructor
- static CAppMngr2InstalledContainer* NewL( CAppMngr2InstalledView& aView );
- ~CAppMngr2InstalledContainer();
-
-public: // from CCoeControl (via CAppMngr2ListContainer)
- TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType );
- void GetHelpContext( TCoeHelpContext& aContext ) const;
-
-public: // from MEikListBoxObserver (via CAppMngr2ListContainer)
- void HandleListBoxEventL( CEikListBox* aListBox, TListBoxEvent aEventType );
-
-public: // from CAppMngr2ListContainer
- CAppMngr2InfoBase& CurrentItem() const;
- TInt ListEmptyTextResourceId() const;
-
-protected: // from CAppMngr2ListContainer
- TInt ItemCount() const;
- CAppMngr2InfoBase& ItemInfo( TInt aIndex );
-
-private: // new functions
- CAppMngr2InstalledContainer( CAppMngr2InstalledView& aView );
- void ConstructL( CAppMngr2InstalledView& aView );
- };
-
-#endif // C_APPMNGR2INSTALLEDCONTAINER_H
-
--- a/appinstaller/AppMngr2/inc/appmngr2installedview.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: List view that shows installed applications
-*
-*/
-
-
-#ifndef C_APPMNGR2INSTALLEDVIEW_H
-#define C_APPMNGR2INSTALLEDVIEW_H
-
-#include "appmngr2listview.h" // CAppMngr2ListView
-#include <appmngr2common.hrh> // KAppMngr2InstalledViewIdValue
-
-class CAppMngr2ListContainer;
-
-const TUid KInstalledViewId = { KAppMngr2InstalledViewIdValue };
-
-
-class CAppMngr2InstalledView : public CAppMngr2ListView
- {
-public: // constructor and destructor
- static CAppMngr2InstalledView* NewL();
- ~CAppMngr2InstalledView();
-
-public: // from CAknView
- TUid Id() const;
- void HandleCommandL( TInt aCommand );
- void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane );
-
-protected: // from CAppMngr2ListView
- CAppMngr2ListContainer* CreateContainerL();
- void SetDefaultMiddleSoftkeyCommandL();
- void SetTitleL( CAknTitlePane& aTitlePane );
-
-private: // new functions
- CAppMngr2InstalledView();
- void ConstructL();
- };
-
-#endif // C_APPMNGR2INSTALLEDVIEW_H
-
--- a/appinstaller/AppMngr2/inc/appmngr2internalpskeys.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Internal Publish & Subscribe keys
-*
-*/
-
-
-#ifndef _APPMNGR2INTERNALPSKEYS_H
-#define _APPMNGR2INTERNALPSKEYS_H
-
-
-/**
-* App Manager notification
-*/
-const TUid KPSUidAppManagerNotification = { 0x101F8512 };
-
-/**
-* KAppManagerViewMode
-* Indicates what view to be shown in AppManager
-*
-* Possible values:
-* 0: Installation Files view
-* 1: Installed view
-*/
-const TUint32 KAppManagerApplicationMode = 0x00000001;
-
-enum TAppManagerApplicationModeValues {
- EAppMngr2InstallationFilesView = 0,
- EAppMngr2InstalledView = 1
-};
-
-
-#endif // _APPMNGR2INTERNALPSKEYS_H
-
--- a/appinstaller/AppMngr2/inc/appmngr2listcontainer.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Base class definitions for AppMng2 list view containers
-*
-*/
-
-
-#ifndef C_APPMNGR2LISTCONTAINER_H
-#define C_APPMNGR2LISTCONTAINER_H
-
-#include <coecntrl.h> // CCoeControl
-#include <eiklbo.h> // MEikListBoxObserver
-
-class CAppMngr2Model;
-class CAppMngr2InfoBase;
-class CAppMngr2ListView;
-class CAknDoubleLargeStyleListBox;
-class CTextListBoxModel;
-class CGulIcon;
-
-
-class CAppMngr2ListContainer : public CCoeControl, public MEikListBoxObserver
- {
-public: // constructor and destructor
- CAppMngr2ListContainer( CAppMngr2ListView& aView );
- ~CAppMngr2ListContainer();
-
-public: // from CCoeControl
- TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType );
- void HandleResourceChange( TInt aType );
- void SizeChanged();
- TInt CountComponentControls() const;
- CCoeControl* ComponentControl( TInt aIndex ) const;
-
-public: // from MEikListBoxObserver
- void HandleListBoxEventL( CEikListBox* aListBox, TListBoxEvent aEventType );
-
-public: // new functions
- TBool IsListEmpty() const;
- void HandleGenericCommandL( TInt aCommand );
- void RefreshL( TBool aPreserveSelectedItem, TBool& aSelectedItemChanged,
- TInt aMoreRefreshesExpected );
- virtual CAppMngr2InfoBase& CurrentItem() const = 0;
- virtual TInt ListEmptyTextResourceId() const = 0;
-
-protected: // new functions
- virtual TInt ItemCount() const = 0;
- virtual CAppMngr2InfoBase& ItemInfo( TInt aIndex ) = 0;
- void ConstructL( const TRect& aRect );
- CAppMngr2Model& Model() const;
-
-private: // new functions
- void LoadIconsL();
- void CreateItemArrayL();
- void PopulateItemArrayL();
- void DeleteItemSpecificIcons( CArrayPtr<CGulIcon>& aIconArray );
- void SetEmptyTextL( TInt aMoreRefreshesExpected );
-
-protected: // data
- CAppMngr2ListView& iView;
- CAknDoubleLargeStyleListBox* iListBox;
- CDesCArrayFlat* iItemArray;
- TInt iItemSpecificIcons;
- };
-
-#endif // C_APPMNGR2LISTCONTAINER_H
-
--- a/appinstaller/AppMngr2/inc/appmngr2listview.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Base class definitions for different AppMngr2 list views
-*
-*/
-
-
-#ifndef C_APPMNGR2LISTVIEW_H
-#define C_APPMNGR2LISTVIEW_H
-
-#include <aknview.h> // CAknView
-
-class CAppMngr2ListContainer;
-class CAppMngr2Model;
-class CAppMngr2InfoBase;
-class CAknTitlePane;
-class CAknWaitDialog;
-class CAknInfoPopupNoteController;
-
-
-class CAppMngr2ListView : public CAknView
- {
-public: // constructor and destructor
- void ConstructL( TInt aResourceId );
- ~CAppMngr2ListView();
-
-public: // new functions
- void RefreshL( TInt aMoreRefreshesExpected );
- void UpdateMiddleSoftkeyCommandL();
- void CurrentItemSelectedByUser( TBool aMaintainFocus );
-
-public: // from CAknView
- void HandleViewRectChange();
- void HandleCommandL( TInt aCommand );
- void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane );
-
-protected: // from CAknView
- void DoActivateL( const TVwsViewId& aPrevViewId,
- TUid aCustomMessageId,
- const TDesC8& aCustomMessage );
- void DoDeactivate();
-
-protected: // new functions
- virtual CAppMngr2ListContainer* CreateContainerL() = 0;
- virtual void SetDefaultMiddleSoftkeyCommandL() = 0;
- virtual void SetTitleL( CAknTitlePane& aTitlePane ) = 0;
-
-protected: // new functions
- CAppMngr2Model& Model() const;
- void AddDynamicMenuItemsL( CAppMngr2InfoBase& aCurrentItem,
- CEikMenuPane* aMenuPane );
- void SetMiddleSoftkeyCommandL( TInt aResourceId, TInt aCommandId );
-
-protected: // constructor
- CAppMngr2ListView();
-
-protected: // data
- CAppMngr2ListContainer* iContainer;
-
-private: // data
- TInt iMiddleSoftkeyCommandId;
- CAknInfoPopupNoteController* iInfoPopup;
- TBool iMaintainFocus;
- };
-
-#endif // C_APPMNGR2LISTVIEW_H
-
--- a/appinstaller/AppMngr2/inc/appmngr2log.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
-* Copyright (c) 2002-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Shows installation log in a popup list dialog
-*
-*/
-
-
-#ifndef C_APPMNGR2LOG_H
-#define C_APPMNGR2LOG_H
-
-#include <e32base.h> // CBase
-#include <badesca.h> // CDesCArray
-#include <SWInstLogTaskParam.h> // SwiUI::TLogTaskAction
-
-class CEikonEnv;
-
-
-class CAppMngr2Log : public CBase
- {
-public: // constructor and destructor
- static CAppMngr2Log* NewLC();
- ~CAppMngr2Log();
-
-public: // new functions
- void ShowInstallationLogL();
-
-private: // new functions
- CAppMngr2Log( CEikonEnv& aEikEnv );
- void ConstructLogArrayL( CDesCArray* aItemArray );
- void SetLogActionTextColumnL( TDes& aListboxLine, const SwiUI::TLogTaskAction& aAction );
- void SetLogDateTimeColumnL( TDes& aListboxLine, const TTime& aDateTime );
-
-private: // data
- CEikonEnv& iEikEnv;
- };
-
-#endif // C_APPMNGR2LOG_H
-
--- a/appinstaller/AppMngr2/inc/appmngr2logdatabase.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Defines CAppMngr2LogDatabase class to access installation log
-*
-*/
-
-
-#ifndef C_APPMNGR2LOGDATABASE_H
-#define C_APPMNGR2LOGDATABASE_H
-
-#include <e32base.h> // CBase
-#include <d32dbms.h> // RDbs, RDbNamedDatabase
-
-class CAppMngr2LogDatabaseEntry;
-
-
-class CAppMngr2LogDatabase : public CBase
- {
-public: // constructors and destructor
- static CAppMngr2LogDatabase* NewL();
- ~CAppMngr2LogDatabase();
-
-public: // new functions
- const RPointerArray<CAppMngr2LogDatabaseEntry>& Entries() const;
-
-private: // new functions
- CAppMngr2LogDatabase();
- void ConstructL();
-
-private: // data
- RPointerArray<CAppMngr2LogDatabaseEntry> iEntries;
- RDbNamedDatabase iLogDb;
- RDbs iDbSession;
- };
-
-#endif // C_APPMNGR2LOGDATABASE_H
-
--- a/appinstaller/AppMngr2/inc/appmngr2logdatabaseentry.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Defines CAppMngr2LogDatabaseEntry to access installation log
-*
-*/
-
-
-#ifndef C_APPMNGR2LOGDATABASEENTRY_H
-#define C_APPMNGR2LOGDATABASEENTRY_H
-
-#include <e32base.h> // CBase
-#include <d32dbms.h> // RDbView
-#include <SWInstLogTaskParam.h> // SwiUI::KMaxLogNameLength
-
-
-class CAppMngr2LogDatabaseEntry : public CBase
- {
-public: // constructors and destructor
- static CAppMngr2LogDatabaseEntry* NewL( RDbView& aView );
- ~CAppMngr2LogDatabaseEntry();
-
-public: // new functions
- inline const TDesC& Name() const;
- inline const TTime Time() const;
- inline const SwiUI::TLogTaskAction Action() const;
- inline const TDesC& Version() const;
- inline const TDesC& Vendor() const;
-
-private: // new functions
- CAppMngr2LogDatabaseEntry();
- void ConstructL( RDbView& aView );
-
-private: // data
- HBufC* iName;
- TTime iTime;
- SwiUI::TLogTaskAction iAction;
- HBufC* iVersion;
- HBufC* iVendor;
- };
-
-#include "appmngr2logdatabaseentry.inl"
-
-#endif // C_APPMNGR2LOGDATABASEENTRY_H
-
--- a/appinstaller/AppMngr2/inc/appmngr2logdatabaseentry.inl Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Inline functions defined in CAppMngr2LogDatabaseEntry
-*
-*/
-
-
-// -----------------------------------------------------------------------------
-// CAppMngr2LogDatabaseEntry::Name()
-// -----------------------------------------------------------------------------
-//
-inline const TDesC& CAppMngr2LogDatabaseEntry::Name() const
- {
- if( iName )
- {
- return *iName;
- }
- return KNullDesC;
- }
-
-// -----------------------------------------------------------------------------
-// CAppMngr2LogDatabaseEntry::Time()
-// -----------------------------------------------------------------------------
-//
-inline const TTime CAppMngr2LogDatabaseEntry::Time() const
- {
- return iTime;
- }
-
-// -----------------------------------------------------------------------------
-// CAppMngr2LogDatabaseEntry::Action()
-// -----------------------------------------------------------------------------
-//
-inline const SwiUI::TLogTaskAction CAppMngr2LogDatabaseEntry::Action() const
- {
- return iAction;
- }
-
-// -----------------------------------------------------------------------------
-// CAppMngr2LogDatabaseEntry::Version()
-// -----------------------------------------------------------------------------
-//
-inline const TDesC& CAppMngr2LogDatabaseEntry::Version() const
- {
- if( iVersion )
- {
- return *iVersion;
- }
- return KNullDesC;
- }
-
-// -----------------------------------------------------------------------------
-// CAppMngr2LogDatabaseEntry::Vendor()
-// -----------------------------------------------------------------------------
-//
-inline const TDesC& CAppMngr2LogDatabaseEntry::Vendor() const
- {
- if( iVendor )
- {
- return *iVendor;
- }
- return KNullDesC;
- }
-
--- a/appinstaller/AppMngr2/inc/appmngr2logpopuplist.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Shows installation log in a popup list dialog
-*
-*/
-
-
-#ifndef C_APPMNGR2LOGPOPUPLIST_H
-#define C_APPMNGR2LOGPOPUPLIST_H
-
-#include <aknPopup.h> // CAknPopupList
-
-/**
- * Popup List for Installation Log
- * CAppMngr2LogPopupList is actually a CAknPopupList that
- * does not close when tapped outside the list area.
- */
-class CAppMngr2LogPopupList : public CAknPopupList
- {
-public: // constructor and destructor
- static CAppMngr2LogPopupList* NewL( CEikListBox* aListBox,
- TInt aCbaResource, AknPopupLayouts::TAknPopupLayouts aType );
- ~CAppMngr2LogPopupList();
-
-protected: // from CAknPopupList
- /**
- * Overrides HandlePointerEventL function in base class.
- * Eats pointer events that would close the dialog.
- */
- void HandlePointerEventL( const TPointerEvent& aPointerEvent );
- };
-
-#endif // C_APPMNGR2LOGPOPUPLIST_H
-
--- a/appinstaller/AppMngr2/inc/appmngr2model.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,119 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Engine part of the Application Manager
-*
-*/
-
-
-#ifndef C_APPMNGR2MODEL_H
-#define C_APPMNGR2MODEL_H
-
-#include <e32base.h> // CActive
-#include <bamdesca.h> // MDesCArray
-#include <apgnotif.h> // MApaAppListServObserver
-#include <appmngr2debugutils.h> // FLOG macros
-#include <appmngr2runtimeobserver.h> // MAppMngr2RuntimeObserver
-#include "appmngr2scannerobserver.h" // MAppMngr2ScannerObserver
-#include "appmngr2infomakerobserver.h" // MAppMngr2InfoMakerObserver
-#include "appmngr2infoarrayobserver.h" // MAppMngr2InfoArrayObserver
-
-class CAppMngr2Runtime;
-class CAppMngr2InfoBase;
-class CAppMngr2AppInfo;
-class CAppMngr2PackageInfo;
-class CAppMngr2Scanner;
-class MAppMngr2ModelObserver;
-class CAppMngr2InfoMaker;
-class CAppMngr2AppInfoArray;
-class CAppMngr2PackageInfoArray;
-class CAppMngr2PluginHolder;
-class CAknIconArray;
-class RFs;
-
-
-class CAppMngr2Model : public CActive, public MAppMngr2RuntimeObserver,
- public MAppMngr2ScannerObserver, public MApaAppListServObserver,
- public MAppMngr2InfoMakerObserver, public MAppMngr2InfoArrayObserver
- {
-public: // constructor and destructor
- static CAppMngr2Model* NewL( RFs& aFsSession, MAppMngr2ModelObserver& aObserver );
- ~CAppMngr2Model();
-
-public: // new functions
- TInt AppInfoCount() const;
- CAppMngr2AppInfo& AppInfo( TInt aIndex ) const;
- TInt PackageInfoCount() const;
- CAppMngr2PackageInfo& PackageInfo( TInt aIndex ) const;
- void LoadIconsL( CAknIconArray& aIconArray );
- void GetIconIndexesL( TUid aUid, TInt& aIconIndexBase, TInt& aIconIndexMax ) const;
- void HandleCommandL( CAppMngr2InfoBase& aInfo, TInt aCommand );
- void StartFetchingInstallationFilesL();
- void StartFetchingInstalledAppsL();
-
-protected: // from CActive
- void DoCancel();
- void RunL();
-
-public: // from MAppMngr2RuntimeObserver
- void RefreshInstalledApps();
- void RefreshInstallationFiles();
-
-public: // from MAppMngr2ScannerObserver
- void ScanningResultL( RPointerArray<CAppMngr2RecognizedFile>& aResult );
- void ScanningComplete();
- void DirectoryChangedL( const TDesC& aChangedDir );
-
-public: // from MApaAppListServObserver
- void HandleAppListEvent( TInt aEvent );
-
-public: // from MAppMngr2InfoMakerObserver
- void NewAppsCreatedL( const CAppMngr2InfoMaker& aMaker,
- RPointerArray<CAppMngr2AppInfo>& aAppInfos );
- void ErrorInCreatingAppsL( const CAppMngr2InfoMaker& aMaker, TInt aError );
- void NewPackagesCreatedL( const CAppMngr2InfoMaker& aMaker,
- RPointerArray<CAppMngr2PackageInfo>& aPackageInfos );
- void ErrorInCreatingPackagesL( const CAppMngr2InfoMaker& aMaker, TInt aError );
-
-public: // from MAppMngr2InfoArrayObserver
- void ArrayContentChanged( CAppMngr2InfoArray* aArray, TInt aMoreRefreshesExpected );
-
-private: // new functions
- CAppMngr2Model( RFs& aFsSession, MAppMngr2ModelObserver& aObserver );
- void ConstructL();
- void LoadDefaultIconsL( CAknIconArray& aIconArray );
- void LoadPluginsL();
- CAppMngr2PluginHolder* DoLoadPluginL( TUid aUid );
- void CreateScannerL();
- void FetchDataTypesL();
- void CloseInfoMaker( const CAppMngr2InfoMaker& aMaker );
-
-private: // data
- RFs& iFs;
- MAppMngr2ModelObserver& iObs;
- RPointerArray<CAppMngr2PluginHolder> iPlugins;
- CAppMngr2Scanner* iScanner;
- CApaAppListNotifier* iApaAppListNotifier;
- RPointerArray<CAppMngr2InfoMaker> iInfoMakers;
- CAppMngr2AppInfoArray* iInstalledApps;
- CAppMngr2PackageInfoArray* iInstallationFiles;
- CAppMngr2InfoBase* iActiveItem; // not owned
- TInt iActiveCommand;
- TBool iClosing;
-
- FLOG_PERF_DEFINE( FetchInstallationFiles )
- FLOG_PERF_DEFINE( FetchInstalledApps )
- };
-
-#endif // C_APPMNGR2MODEL_H
-
--- a/appinstaller/AppMngr2/inc/appmngr2modelobserver.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Observer interface to indicate when data has been changed
-*
-*/
-
-
-#ifndef C_APPMNGR2MODELOBSERVER_H
-#define C_APPMNGR2MODELOBSERVER_H
-
-
-class MAppMngr2ModelObserver
- {
-public:
- virtual void InstalledAppsChanged( TInt aMoreRefreshesExpected ) = 0;
- virtual void InstallationFilesChanged( TInt aMoreRefreshesExpected ) = 0;
- virtual TBool InstalledAppsDisplayed() = 0;
- virtual TBool InstallationFilesDisplayed() = 0;
- };
-
-
-#endif // C_APPMNGR2MODELOBSERVER_H
-
--- a/appinstaller/AppMngr2/inc/appmngr2packageinfoarray.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: PackageInfo array used in Model
-*
-*/
-
-
-#ifndef C_APPMNGR2PACKAGEINFOARRAY_H
-#define C_APPMNGR2PACKAGEINFOARRAY_H
-
-#include "appmngr2infoarray.h" // CAppMngr2InfoArray
-#include <appmngr2packageinfo.h> // CAppMngr2PackageInfo
-
-
-class CAppMngr2PackageInfoArray : public CAppMngr2InfoArray
- {
-public: // constructor and destructor
- static CAppMngr2PackageInfoArray* NewL( MAppMngr2InfoArrayObserver& aObserver );
- ~CAppMngr2PackageInfoArray();
-
-public: // new functions
- void AddItemsInOrderL( RPointerArray<CAppMngr2PackageInfo>& aPackageInfos );
-
-private: // new functions
- CAppMngr2PackageInfoArray( MAppMngr2InfoArrayObserver& aObserver );
- };
-
-#endif // C_APPMNGR2PACKAGEINFOARRAY_H
-
--- a/appinstaller/AppMngr2/inc/appmngr2packageinfomaker.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Creates PackageInfo objects asynchronously
-*
-*/
-
-
-#ifndef C_APPMNGR2PACKAGEINFOMAKER_H
-#define C_APPMNGR2PACKAGEINFOMAKER_H
-
-#include "appmngr2infomaker.h" // CAppMngr2InfoMaker
-
-class CAppMngr2Runtime;
-class CAppMngr2PackageInfo;
-class CAppMngr2RecognizedFile;
-
-
-class CAppMngr2PackageInfoMaker : public CAppMngr2InfoMaker
- {
-public: // constructor and destructor
- static CAppMngr2PackageInfoMaker* NewL( CAppMngr2Runtime& aPlugin,
- MAppMngr2InfoMakerObserver& aObserver, RFs& aFs );
- static CAppMngr2PackageInfoMaker* NewLC( CAppMngr2Runtime& aPlugin,
- MAppMngr2InfoMakerObserver& aObserver, RFs& aFs );
- ~CAppMngr2PackageInfoMaker();
-
-public: // from CActive, via CAppMngr2InfoMaker
- void DoCancel();
- void RunL();
-
-public: // new functions
- void AddFileL( CAppMngr2RecognizedFile* aFile ); // takes ownership
- void StartGettingInstallationFilesL();
-
-private: // new functions
- CAppMngr2PackageInfoMaker( CAppMngr2Runtime& aPlugin,
- MAppMngr2InfoMakerObserver& aObserver, RFs& aFs );
- void ConstructL();
-
-private: // data
- RPointerArray<CAppMngr2RecognizedFile> iFiles;
- RPointerArray<CAppMngr2PackageInfo> iPackageInfos;
- };
-
-#endif // C_APPMNGR2PACKAGEINFOMAKER_H
-
--- a/appinstaller/AppMngr2/inc/appmngr2packagescontainer.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Container for list view that shows installation files
-*
-*/
-
-
-#ifndef C_APPMNGR2PACKAGESCONTAINER_H
-#define C_APPMNGR2PACKAGESCONTAINER_H
-
-#include "appmngr2listcontainer.h" // CAppMngr2ListContainer
-
-class CAppMngr2PackagesView;
-
-
-class CAppMngr2PackagesContainer : public CAppMngr2ListContainer
- {
-public: // constructor and destructor
- static CAppMngr2PackagesContainer* NewL( CAppMngr2PackagesView& aView );
- ~CAppMngr2PackagesContainer();
-
-public: // from CCoeControl (via CAppMngr2ListContainer)
- TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType );
- void GetHelpContext( TCoeHelpContext& aContext ) const;
-
-public: // from MEikListBoxObserver (via CAppMngr2ListContainer)
- void HandleListBoxEventL( CEikListBox* aListBox, TListBoxEvent aEventType );
-
-public: // from CAppMngr2ListContainer
- CAppMngr2InfoBase& CurrentItem() const;
- TInt ListEmptyTextResourceId() const;
-
-protected: // from CAppMngr2ListContainer
- TInt ItemCount() const;
- CAppMngr2InfoBase& ItemInfo( TInt aIndex );
-
-private: // new functions
- CAppMngr2PackagesContainer( CAppMngr2PackagesView& aView );
- void ConstructL( CAppMngr2PackagesView& aView );
- };
-
-#endif // C_APPMNGR2PACKAGESCONTAINER_H
-
--- a/appinstaller/AppMngr2/inc/appmngr2packagesview.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: List view that shows installation files
-*
-*/
-
-
-#ifndef C_APPMNGR2PACKAGESVIEW_H
-#define C_APPMNGR2PACKAGESVIEW_H
-
-#include "appmngr2listview.h" // CAppMngr2ListView
-#include <appmngr2common.hrh> // KAppMngr2PackagesViewIdValue
-
-const TUid KPackagesViewId = { KAppMngr2PackagesViewIdValue };
-
-
-class CAppMngr2PackagesView : public CAppMngr2ListView
- {
-public: // constructor and destructor
- static CAppMngr2PackagesView* NewL();
- ~CAppMngr2PackagesView();
-
-public: // from CAknView
- TUid Id() const;
- void HandleCommandL( TInt aCommand );
- void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane );
-
-protected: // from CAppMngr2ListView
- CAppMngr2ListContainer* CreateContainerL();
- void SetDefaultMiddleSoftkeyCommandL();
- void SetTitleL( CAknTitlePane& aTitlePane );
-
-private: // new functions
- CAppMngr2PackagesView();
- void ConstructL();
- };
-
-#endif // C_APPMNGR2PACKAGESVIEW_H
-
--- a/appinstaller/AppMngr2/inc/appmngr2pluginholder.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Container class to hold Runtime plugin and related data
-*
-*/
-
-
-#ifndef C_APPMNGR2PLUGINHOLDER_H
-#define C_APPMNGR2PLUGINHOLDER_H
-
-#include <e32base.h> // CBase
-#include <apmrec.h> // CDataTypeArray
-
-class CAppMngr2Runtime;
-class CAknIconArray;
-
-
-class CAppMngr2PluginHolder : public CBase
- {
-public: // constructor and destructor
- CAppMngr2PluginHolder( CAppMngr2Runtime* aRuntime ); // takes ownership
- ~CAppMngr2PluginHolder();
-
-public: // new functions
- CAppMngr2Runtime& Runtime();
- CDataTypeArray& DataTypes();
- void LoadIconsL( CAknIconArray& aIconArray );
- void FetchDataTypesL();
- TInt IconIndexBase();
- TInt IconIndexMax();
-
-private: // data
- CAppMngr2Runtime* iRuntime;
- CDataTypeArray* iDataTypes;
- TInt iIconIndexBase;
- TInt iIconCount;
- };
-
-#endif // C_APPMNGR2PLUGINHOLDER_H
-
--- a/appinstaller/AppMngr2/inc/appmngr2scanner.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Directory scanner
-*
-*/
-
-
-#ifndef C_APPMNGR2SCANNER_H
-#define C_APPMNGR2SCANNER_H
-
-#include <e32base.h> // CActive
-#include <f32file.h> // RFs
-#include "appmngr2scannerdirobserver.h" // MAppMngr2ScannerDirObserver
-
-class CAppMngr2ScannerDir;
-class MAppMngr2ScannerObserver;
-class CAppMngr2FileRecognizer;
-
-
-class CAppMngr2Scanner : public CActive, public MAppMngr2ScannerDirObserver
- {
-public: // constructor and destructor
- static CAppMngr2Scanner* NewL( MAppMngr2ScannerObserver& aObs );
- ~CAppMngr2Scanner();
-
-public: // from CActive
- void DoCancel();
- void RunL();
- TInt RunError( TInt aError );
-
-public: // from MAppMngr2ScannerDirObserver
- void DirectoryChangedL( const TDesC& aDirName );
-
-public: // new functions
- void AddDirectoryL( const TDesC& aPath );
- void StartScanningL();
-
-private: // new functions
- CAppMngr2Scanner( MAppMngr2ScannerObserver& aObs );
- void ConstructL();
- void NextValidScanningIndex();
- void HandleScanningResultsL();
- void StartMonitoringL();
- void GetPresentDrivesL( TDriveList& aDriveList );
- void HandleMonitoringEventL();
-
-private: // data
- MAppMngr2ScannerObserver& iObserver;
- RPointerArray<CAppMngr2ScannerDir> iDirs;
- CAppMngr2FileRecognizer* iRecognizer;
- RFs iFs;
- TInt iScanningIndex;
- enum TScannerState
- {
- EIdle,
- EScanning,
- } iState;
- };
-
-#endif // C_APPMNGR2SCANNER_H
-
--- a/appinstaller/AppMngr2/inc/appmngr2scannerdir.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Manages and watches one directory in CAppMngr2DirScanner
-*
-*/
-
-
-#ifndef C_APPMNGR2SCANNERDIR_H
-#define C_APPMNGR2SCANNERDIR_H
-
-#include <e32base.h> // CActive
-#include <f32file.h> // RFs
-#include "appmngr2scannerdirobserver.h" // MAppMngr2ScannerDirObserver
-
-
-class CAppMngr2ScannerDir : public CActive
- {
-public: // constructor and destructor
- static CAppMngr2ScannerDir* NewL( RFs& aFs, const TDesC& aDir,
- MAppMngr2ScannerDirObserver& aObs );
- ~CAppMngr2ScannerDir();
-
-public: // new functions
- const TDesC& DirName() const;
- void StartWatchingChanges();
- void StopWatchingChanges();
-
-protected: // from CActive
- void DoCancel();
- void RunL();
-
-private: // new functions
- CAppMngr2ScannerDir( RFs& aFs, MAppMngr2ScannerDirObserver& aObs );
- void ConstructL( const TDesC& aDir );
- TPtrC ChopTrailingString( const TDesC& aString, const TDesC& aTrailing );
-
-private: // data
- MAppMngr2ScannerDirObserver& iObserver;
- RFs& iFs;
- HBufC* iDir;
- };
-
-#endif // C_APPMNGR2SCANNERDIR_H
-
--- a/appinstaller/AppMngr2/inc/appmngr2scannerdirobserver.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Gets notifications of changes in one directory
-*
-*/
-
-
-#ifndef C_APPMNGR2SCANNERDIROBSERVER_H
-#define C_APPMNGR2SCANNERDIROBSERVER_H
-
-
-class MAppMngr2ScannerDirObserver
- {
-public:
- virtual void DirectoryChangedL( const TDesC& aDirName ) = 0;
- };
-
-#endif // C_APPMNGR2SCANNERDIROBSERVER_H
-
--- a/appinstaller/AppMngr2/inc/appmngr2scannerobserver.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Directory scanner
-*
-*/
-
-
-#ifndef C_APPMNGR2SCANNEROBSERVER_H
-#define C_APPMNGR2SCANNEROBSERVER_H
-
-class CAppMngr2RecognizedFile;
-
-
-class MAppMngr2ScannerObserver
- {
-public:
- // ScanningResultL() passes ownership of items in aResult array
- virtual void ScanningResultL( RPointerArray<CAppMngr2RecognizedFile>& aResult ) = 0;
- virtual void ScanningComplete() = 0;
- virtual void DirectoryChangedL( const TDesC& aChangedDir ) = 0;
- };
-
-#endif // C_APPMNGR2SCANNEROBSERVER_H
-
--- a/appinstaller/AppMngr2/loc/appmngr2.loc Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,239 +0,0 @@
-/*
-* Copyright (c) 2003-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Localization strings for project AppMngr2
-*
-*/
-
-
-// MENU OPTIONS
-
-// d: Command in options list.
-// d: Opens the Details dialog for selected file
-// l: list_single_pane_t1_cp2
-#define qtn_swins_om_comp_details "View details"
-
-// d: Command in options list.
-// d: Starts the installation process
-// l: list_single_pane_t1_cp2
-#define qtn_swins_om_install "Install"
-
-// d: Command in options list.
-// d: Starts the removal process
-// l: list_single_pane_t1_cp2
-// r: 3.0
-#define qtn_swins_om_uninstall "Uninstall"
-
-// d: Command in options menu
-// d: Opens the installation log.
-// l: list_single_pane_t1_cp2
-#define qtn_swins_om_view_inst_log "View log"
-
-// d: Command in options list.
-// d: Removes installation package
-// l: list_single_pane_t1_cp2
-#define qtn_am_opt_remove "Remove"
-
-
-// CAPTION STRINGS
-
-// d: Application title for listview
-// l: list_single_large_graphic_pane_t1
-#define qtn_apps_appmngr_list "Application Manager"
-
-// d: Application title for grid
-// l: cell_app_pane_t1
-#define qtn_apps_appmngr_grid "AppMngr"
-
-// d: Status pane title for main view
-// l: title_pane_t2/opt9
-//
-#define qtn_am_title "Application Manager"
-
-// d: Status pane title for installed view
-// l: title_pane_t2/opt9
-// r: 3.2
-#define qtn_am_title_installed "Installed"
-
-// d: Status pane title for Installation packages view
-// l: title_pane_t2/opt9
-// r: 3.2
-#define qtn_am_title_not_installed "Installation packages"
-
-
-// MEMORY AMOUNT STRINGS
-
-// d: Memory amount in bytes + abbreviation for byte.
-// d: (for example 1012B) Max. 4 digits.
-// l: list_single_heading_pane_t2
-#define qtn_swins_lsh2_byte "%N B"
-
-// d: Memory amount in kilobytes + abbreviation for kilobyte.
-// d: (for example 23kB) Max. 4 digits.
-// l: list_single_heading_pane_t2
-#define qtn_swins_lsh2_kilobyte "%N kB"
-
-// d: Memory amount in megabytes + abbreviation for megabyte.
-// d: (for example 4MB) Max. 4 digits.
-// l: list_single_heading_pane_t2
-#define qtn_swins_lsh2_megabyte "%N MB"
-
-// d: Memory amount in gigabytes + abbreviation for gigabyte.
-// d: (for example 2GB) Max. 4 digits.
-// l: list_single_heading_pane_t2
-#define qtn_swins_lsh2_gigabyte "%N GB"
-
-
-// SETTINGS
-
-// d: Title of general application manager settings.
-// l: title_pane_t2/opt9
-#define qtn_am_settings_title "Settings"
-
-// d: A setting in application manager's general settings.
-// d: Indicates how to deal with online certificate checking.
-// l: list_setting_pane_t1
-#define qtn_am_setting_ocsp "Online certificate check"
-
-// d: Value for qtn_am_setting_ocsp
-// l: list_set_graphic_pane_t1
-#define qtn_am_set_ocsp_must_pass "Must be passed"
-
-// d: Value for qtn_am_setting_ocsp
-// l: list_set_graphic_pane_t1
-#define qtn_am_set_ocsp_on "On"
-
-// d: Value for qtn_am_setting_ocsp
-// l: list_set_graphic_pane_t1
-#define qtn_am_set_ocsp_off "Off"
-
-// d: A setting in application manager's general settings.
-// d: An URL for online certificate checking.
-// l: list_setting_pane_t1
-#define qtn_am_setting_ocsp_url "Default OCSP URL"
-
-// d: A setting in application manager's general settings.
-// d: Indicates how to deal with software installation.
-// d: This setting is only valid for native Symbian app installation, not for Java
-// l: list_setting_pane_t1
-#define qtn_am_setting_sw_install "Install software"
-
-// d: Value for qtn_am_setting_sw_install
-// d: This value indicates that it is possible to install any native software
-// l: list_set_graphic_pane_t1
-#define qtn_am_set_sw_install_all "On"
-
-// d: Value for qtn_am_setting_sw_install
-// d: This value indicates that it is only possible to install certified software
-// l: list_set_graphic_pane_t1
-#define qtn_am_set_sw_install_signed "Only signed"
-
-
-// INSTALLATION LOG
-
-//d: Installation log - dialog header
-//l: heading_pane_t1
-#define qtn_swins_lsh2_log_header "Installation log"
-
-//d: Status "Installed" in the installation log.
-//d: Status text is shown after date (R_QTN_DATE_USUAL_WITH_ZERO)
-//d: and a separator, which is " - ".
-//d: Example "04/04/2001 - Installed"
-//l: list_double_large_graphic_pane_t2
-#define qtn_swins_logstatus1 "Installed"
-
-//d: Status "Partially installed" in the installation log.
-//d: Status text is shown after date (R_QTN_DATE_USUAL_WITH_ZERO)
-//d: and a separator, which is " - ".
-//d: Example "04/04/2001 - Partial inst."
-//l: list_double_large_graphic_pane_t2
-#define qtn_swins_logstatus2 "Partial inst."
-
-//d: Status "Removed" in the installation log.
-//d: Status text is shown after date (R_QTN_DATE_USUAL_WITH_ZERO)
-//d: and a separator, which is " - ".
-//d: Example "04/04/2001 - Removed"
-//l: list_double_large_graphic_pane_t2
-#define qtn_swins_logstatus3 "Removed"
-
-//d: If the installation log is empty, display
-//d: this text instead
-//l: list_double_large_graphic_pane_t2
-#define qtn_swins_log_empty "No data"
-
-// d: Text in an info note in appmngr.
-// d: Indicates that settings are locked and can not be edited by user
-// l: popup_note_window
-// r: 3.0
-#define qtn_am_note_locked_settings "Cannot edit locked setting items"
-
-
-// MIDDLE SOFTKEY LABELS
-
-// d: Middle softkey label for uninstalled files.
-// l: control_pane_t3/opt7
-// r: 3.2
-#define qtn_msk_uninstall "Uninstall"
-
-// d: Middle softkey label for Installed applications.
-// l: control_pane_t3/opt7
-// r: 3.2
-#define qtn_msk_install "Install"
-
-// d: Middle softkey label for empty view.
-// l: control_pane_t3/opt7
-// r: 3.2
-#define qtn_msk_view_log "View log"
-
-// d: Middle softkey label for Installed view.
-// l: control_pane_t3/opt7
-// r: 5.0
-#define qtn_msk_view_details "View details"
-
-
-// EMPTY LIST LABELS
-
-// d: If the installed view is empty, display
-// d: this text instead
-// l: main_list_empty_pane
-// r: 3.2
-#define qtn_am_empty_installed "No installed applications"
-
-// d: If the not installed view is empty, display
-// d: this text instead
-// l: main_list_empty_pane
-// r: 3.2
-#define qtn_am_empty_not_installed "No applications to install"
-
-
-// OTHER STRINGS
-
-// d: Text displayed while scanning memory. Text is displayed in
-// d: a small non-blocking info popup on the top-right corner. It
-// d: indicates that the displayed application list (or installation
-// d: file list) is updating and more items may appear shortly.
-// d: Those items that are already available in the list can be used.
-// l: popup_preview_text_window/opt1
-// r: 5.1
-#define qtn_am_scanning_memory "Scanning memory"
-
-// d: Indicates untrusted application contained in memory card.
-// d: This string is displayed in second line (instead of size) in
-// d: installation files list. When a new memory card is inserted and
-// d: it contains untrusted appliactions, qtn_swins_preinst_untrusted
-// d: popup note is displayed. This string marks those untrusted apps,
-// d: hence it should match qtn_swins_preinst_untrusted content.
-// l: list_double_large_graphic_pane_t2_cp2
-// r: 5.1
-#define qtn_swins_lsh2_untrusted "Untrusted"
-
--- a/appinstaller/AppMngr2/loc/appmngrgsplugin.loc Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-/*
-* Copyright (c) 2003-2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This is a localisation file for AppMngrGSPlugin
-*
-*/
-
-
-// MENU OPTIONS
-
-// CAPTION STRINGS
-
-// d: Application plugin title for general settings
-// l: list_single_large_graphic_pane_t1
-// w:
-// r: 3.1
-#define qtn_set_folder_application_manager "Application Manager"
-
-// d: Application plugin title for control panel list
-// l: list_single_large_graphic_pane_t1
-// w:
-// r: 5.0
-#define qtn_cp_folder_installation_settings "Installation Settings"
-
-// d: Title of installation settings in status pane.
-// r: 5.0
-// l: title_pane_t2/opt9
-#define qtn_am_installation_settings_title "Installation Settings"
-
-// End of File
--- a/appinstaller/AppMngr2/loc/appmngrinstalledplugin.loc Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This is a localisation file for AppMngrInstalledPlugin
-*
-*/
-
-
-// MENU OPTIONS
-
-// CAPTION STRINGS
-
-// d: Application plugin title for control panel
-// l: list_single_large_graphic_pane_t1
-// w:
-// r: 5.0
-#define qtn_cp_folder_installed "Installed"
-
-// End of File
--- a/appinstaller/AppMngr2/loc/appmngrinstfilesplugin.loc Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This is a localisation file for AppMngr Installation files plugin
-*
-*/
-
-
-// MENU OPTIONS
-
-// CAPTION STRINGS
-
-// d: Application plugin title for control panel
-// l: list_single_large_graphic_pane_t1
-// w:
-// r: 5.0
-#define qtn_cp_folder_not_installed "Installation Files"
-
-// End of File
--- a/appinstaller/AppMngr2/rom/appmngr2.iby Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
-* Copyright (c) 2006-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Image description file for project AppMngr2
-*
-*/
-
-
-#ifndef APPMNGR2_IBY
-#define APPMNGR2_IBY
-
-#include <data_caging_paths_for_iby.hrh>
-
-S60_APP_EXE( appmngr2 )
-S60_APP_AIF_ICONS( appmngr2 )
-S60_APP_AIF_RSC( appmngr2 )
-SCALABLE_IMAGE( APP_BITMAP_DIR, APP_BITMAP_DIR, appmngr2 )
-
-#endif // APPMNGR2_IBY
-
--- a/appinstaller/AppMngr2/rom/appmngr2gsinstalledplugin.iby Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Image description file for AppMngr2 GS Installed plugin
-*
-*/
-
-
-#ifndef APPMNGR2GSINSTALLEDPLUGIN_IBY
-#define APPMNGR2GSINSTALLEDPLUGIN_IBY
-
-ECOM_PLUGIN( appmngr2gsinstalledplugin.dll, 10282D8E.rsc )
-
-#endif // APPMNGR2GSINSTALLEDPLUGIN_IBY
-
--- a/appinstaller/AppMngr2/rom/appmngr2gsinstalledpluginresources.iby Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Image description file for AppMngr2 GS Installed plugin resources
-*
-*/
-
-
-#ifndef APPMNGR2GSINSTALLEDPLUGINRESOURCES_IBY
-#define APPMNGR2GSINSTALLEDPLUGINRESOURCES_IBY
-
-data=DATAZ_\RESOURCE_FILES_DIR\appmngr2gsinstalledpluginrsc.rsc RESOURCE_FILES_DIR\appmngr2gsinstalledpluginrsc.rsc
-
-#endif // APPMNGR2GSINSTALLEDPLUGINRESOURCES_IBY
-
--- a/appinstaller/AppMngr2/rom/appmngr2gsinstfilesplugin.iby Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Image description file for AppMngr2 GS Installation Files plugin
-*
-*/
-
-
-#ifndef APPMNGR2GSINSTFILESPLUGIN_IBY
-#define APPMNGR2GSINSTFILESPLUGIN_IBY
-
-ECOM_PLUGIN( appmngr2gsinstfilesplugin.dll, 10282D8C.rsc )
-
-#endif // APPMNGR2GSINSTFILESPLUGIN_IBY
-
--- a/appinstaller/AppMngr2/rom/appmngr2gsinstfilespluginresources.iby Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Image description file for AppMngr2 GS Installation Files plugin resources
-*
-*/
-
-
-#ifndef APPMNGR2GSINSTFILESPLUGINRESOURCES_IBY
-#define APPMNGR2GSINSTFILESPLUGINRESOURCES_IBY
-
-data=DATAZ_\RESOURCE_FILES_DIR\appmngr2gsinstfilespluginrsc.rsc RESOURCE_FILES_DIR\appmngr2gsinstfilespluginrsc.rsc
-
-#endif // APPMNGR2GSINSTFILESPLUGINRESOURCES_IBY
-
--- a/appinstaller/AppMngr2/rom/appmngr2gssettingsplugin.iby Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Image description file for AppMngr2 GS Settings plugin
-*
-*/
-
-
-#ifndef APPMNGR2GSSETTINGSPLUGIN_IBY
-#define APPMNGR2GSSETTINGSPLUGIN_IBY
-
-ECOM_PLUGIN( appmngr2gssettingsplugin.dll, 101F9A10.rsc )
-
-#endif // APPMNGR2GSSETTINGSPLUGIN_IBY
-
--- a/appinstaller/AppMngr2/rom/appmngr2gssettingspluginresources.iby Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Image description file for AppMngr2 GS Settings plugin resources
-*
-*/
-
-
-#ifndef APPMNGR2GSSETTINGSPLUGINRESOURCES_IBY
-#define APPMNGR2GSSETTINGSPLUGINRESOURCES_IBY
-
-data=DATAZ_\RESOURCE_FILES_DIR\appmngr2gssettingspluginrsc.rsc RESOURCE_FILES_DIR\appmngr2gssettingspluginrsc.rsc
-
-#endif // APPMNGR2GSSETTINGSPLUGINRESOURCES_IBY
-
--- a/appinstaller/AppMngr2/rom/appmngr2resources.iby Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-/*
-* Copyright (c) 2006-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Image description file for project AppMngr2
-*
-*/
-
-
-#ifndef APPMNGR2RESOURCES_IBY
-#define APPMNGR2RESOURCES_IBY
-
-S60_APP_RESOURCE( appmngr2 )
-
-#endif // APPMNGR2RESOURCES_IBY
--- a/appinstaller/AppMngr2/rom/appmngr2sisxplugin.iby Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Image description file for AppMngr2 SISX plugin
-*
-*/
-
-
-#ifndef APPMNGR2SISXPLUGIN_IBY
-#define APPMNGR2SISXPLUGIN_IBY
-
-ECOM_PLUGIN( appmngr2sisxplugin.dll, appmngr2sisxplugin.rsc )
-SCALABLE_IMAGE( BITMAP_DIR, BITMAP_DIR, appmngr2sisx )
-
-#endif // APPMNGR2SISXPLUGIN_IBY
-
--- a/appinstaller/AppMngr2/rom/appmngr2widgetplugin.iby Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Image description file for AppMngr2 Widget plugin
-*
-*/
-
-
-#ifndef APPMNGR2WIDGETPLUGIN_IBY
-#define APPMNGR2WIDGETPLUGIN_IBY
-
-ECOM_PLUGIN( appmngr2widgetplugin.dll, appmngr2widgetplugin.rsc )
-SCALABLE_IMAGE( BITMAP_DIR, BITMAP_DIR, appmngr2widget )
-
-#endif // APPMNGR2WIDGETPLUGIN_IBY
-
--- a/appinstaller/AppMngr2/rom/swinstadapter.iby Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
-* Copyright (c) 2005-2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: OMA DM adapter for SW Installer configuration
-*
-*/
-
-
-#ifndef SWINSTADAPTER_IBY
-#define SWINSTADAPTER_IBY
-
-
-#ifdef FF_DM_INSTALL_SECURITY
-
-ECOM_PLUGIN( SWInstAdapter.dll, SWInstAdapter.rsc )
-
-#endif // FF_DM_INSTALL_SECURITY
-
-
-#endif // SWINSTADAPTER_IBY
--- a/appinstaller/AppMngr2/src/appmngr2app.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Implementation of CAppMngr2App class
-*
-*/
-
-
-#include <eikstart.h> // EikStart
-#include "appmngr2app.h" // CAppMngr2App
-#include "appmngr2document.h" // CAppMngr2Document
-#include <appmngr2common.hrh> // KAppMngr2AppUidValue
-
-const TUid KAppMngr2AppUid = { KAppMngr2AppUidValue };
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CAppMngr2App::AppDllUid()
-// ---------------------------------------------------------------------------
-//
-TUid CAppMngr2App::AppDllUid() const
- {
- return KAppMngr2AppUid;
- }
-
-
-// ---------------------------------------------------------------------------
-// CAppMngrApp::CreateDocumentL()
-// ---------------------------------------------------------------------------
-//
-CApaDocument* CAppMngr2App::CreateDocumentL()
- {
- return CAppMngr2Document::NewL( *this );
- }
-
-
-// ======== GLOBAL FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructs and returns an application object.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CApaApplication* NewApplication()
- {
- return new CAppMngr2App;
- }
-
-// ---------------------------------------------------------------------------
-// Main function of the application executable.
-// ---------------------------------------------------------------------------
-//
-GLDEF_C TInt E32Main()
- {
- return EikStart::RunApplication( NewApplication );
- }
-
--- a/appinstaller/AppMngr2/src/appmngr2appinfoarray.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: AppInfo array used in Model
-*
-*/
-
-
-#include "appmngr2appinfoarray.h" // CAppMngr2AppInfoArray
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CAppMngr2AppInfoArray::NewL()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2AppInfoArray* CAppMngr2AppInfoArray::NewL( MAppMngr2InfoArrayObserver& aObserver )
- {
- CAppMngr2AppInfoArray* self = new (ELeave) CAppMngr2AppInfoArray( aObserver );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2AppInfoArray::~CAppMngr2AppInfoArray()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2AppInfoArray::~CAppMngr2AppInfoArray()
- {
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2AppInfoArray::AddItemsInOrderL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2AppInfoArray::AddItemsInOrderL(
- RPointerArray<CAppMngr2AppInfo>& aAppInfos )
- {
- // move items from aAppInfos to iArray using alphabetical order
- TInt count = aAppInfos.Count();
- for( TInt index = count - 1; index >= 0; index-- )
- {
- AddItemInOrderL( aAppInfos[ index ] ); // takes ownership
- aAppInfos.Remove( index );
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2AppInfoArray::CAppMngr2AppInfoArray()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2AppInfoArray::CAppMngr2AppInfoArray(
- MAppMngr2InfoArrayObserver& aObserver ) : CAppMngr2InfoArray( aObserver )
- {
- }
-
--- a/appinstaller/AppMngr2/src/appmngr2appinfomaker.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,127 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Creates AppInfo objects asynchronously
-*
-*/
-
-
-#include "appmngr2appinfomaker.h" // CAppMngr2AppInfoMaker
-#include "appmngr2infomakerobserver.h" // MAppMngr2InfoMakerObserver
-#include <appmngr2runtime.h> // CAppMngr2Runtime
-#include <appmngr2appinfo.h> // CAppMngr2AppInfo
-#include <appmngr2debugutils.h> // FLOG macros
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CAppMngr2AppInfoMaker::NewL()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2AppInfoMaker* CAppMngr2AppInfoMaker::NewL( CAppMngr2Runtime& aPlugin,
- MAppMngr2InfoMakerObserver& aObserver, RFs& aFs )
- {
- CAppMngr2AppInfoMaker* self = CAppMngr2AppInfoMaker::NewLC( aPlugin,
- aObserver, aFs );
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2AppInfoMaker::NewLC()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2AppInfoMaker* CAppMngr2AppInfoMaker::NewLC( CAppMngr2Runtime& aPlugin,
- MAppMngr2InfoMakerObserver& aObserver, RFs& aFs )
- {
- CAppMngr2AppInfoMaker* self = new (ELeave) CAppMngr2AppInfoMaker( aPlugin,
- aObserver, aFs );
- CleanupStack::PushL( self );
- self->ConstructL();
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2AppInfoMaker::~CAppMngr2AppInfoMaker()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2AppInfoMaker::~CAppMngr2AppInfoMaker()
- {
- Cancel();
- iAppInfos.ResetAndDestroy();
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2AppInfoMaker::DoCancel()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2AppInfoMaker::DoCancel()
- {
- iPlugin.CancelGetInstalledApps();
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2AppInfoMaker::RunL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2AppInfoMaker::RunL()
- {
- if( iStatus.Int() == KErrNone )
- {
- iObserver.NewAppsCreatedL( *this, iAppInfos );
- }
- else
- {
- iObserver.ErrorInCreatingAppsL( *this, iStatus.Int() );
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2AppInfoMaker::StartGettingInstalledAppsL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2AppInfoMaker::StartGettingInstalledAppsL()
- {
- if( !IsActive() )
- {
- TRAPD( err, iPlugin.GetInstalledAppsL( iAppInfos, iFs, iStatus ) );
- SetActive();
-
- // Complete immediately if there was some error
- if( err != KErrNone )
- {
- TRequestStatus* status = &iStatus;
- User::RequestComplete( status, err );
- }
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2AppInfoMaker::CAppMngr2AppInfoMaker()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2AppInfoMaker::CAppMngr2AppInfoMaker( CAppMngr2Runtime& aPlugin,
- MAppMngr2InfoMakerObserver& aObserver, RFs& aFs ) :
- CAppMngr2InfoMaker( aPlugin , aObserver, aFs )
- {
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2AppInfoMaker::ConstructL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2AppInfoMaker::ConstructL()
- {
- }
-
--- a/appinstaller/AppMngr2/src/appmngr2appui.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,244 +0,0 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: CAppMngr2AppUi implementation
-*
-*/
-
-
-#include "appmngr2appui.h" // CAppMngr2AppUi
-#include "appmngr2model.h" // CAppMngr2Model
-#include "appmngr2internalpskeys.h" // KAppManagerApplicationMode
-#include "appmngr2installedview.h" // CAppMngr2InstalledView
-#include "appmngr2packagesview.h" // CAppMngr2PackagesView
-#include "appmngr2.hrh" // Command IDs
-#include <appmngr2runtime.h> // CAppMngr2Runtime
-#include <appmngr2driveutils.h> // TAppMngr2DriveUtils
-#include <appmngr2debugutils.h> // FLOG macros
-#include <eikdoc.h> // CEikDocument
-#include <appmngr2.rsg> // Resource IDs
-#include <featmgr.h> // FeatureManager
-#include <e32property.h> // RProperty
-#include <hlplch.h> // HlpLauncher
-
-_LIT( KSWInstCommonUIResourceFileName, "SWInstCommonUI.rsc" );
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CAppMngr2AppUi::ConstructL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2AppUi::ConstructL()
- {
- FLOG( "CAppMngr2AppUi::ConstructL" );
- BaseConstructL( EAknEnableSkin | EAknEnableMSK | EAknSingleClickCompatible );
-
- RWsSession& wsSession = iEikonEnv->WsSession();
- wsSession.ComputeMode( RWsSession::EPriorityControlDisabled );
-
- FeatureManager::InitializeLibL();
-
- TFileName* fullName = TAppMngr2DriveUtils::NearestResourceFileLC(
- KSWInstCommonUIResourceFileName, iEikonEnv->FsSession() );
- FLOG( "CAppMngr2AppUi::ConstructL, opening %S", fullName );
- iResourceFileOffset = iEikonEnv->AddResourceFileL( *fullName );
- CleanupStack::PopAndDestroy( fullName );
-
- FLOG( "CAppMngr2AppUi::ConstructL, creting model" );
- iModel = CAppMngr2Model::NewL( iEikonEnv->FsSession(), *this );
-
- FLOG( "CAppMngr2AppUi::ConstructL, creting views" );
- CAppMngr2InstalledView* installedView = CAppMngr2InstalledView::NewL();
- AddViewL( installedView ); // takes ownership
- CAppMngr2PackagesView* packagesView = CAppMngr2PackagesView::NewL();
- AddViewL( packagesView ); // takes ownership
-
- if( iEikonEnv->StartedAsServerApp() )
- {
- TInt appMode;
- TInt err = RProperty::Get( KPSUidAppManagerNotification,
- KAppManagerApplicationMode, appMode );
- FLOG( "CAppMngr2AppUi::ConstructL, appMode = %d, err = %d", appMode, err );
- if( err == KErrNone )
- {
- if( appMode == EInstalled )
- {
- ActivateLocalViewL( KInstalledViewId );
- }
- else
- {
- ActivateLocalViewL( KPackagesViewId );
- iConstructInstallationFilesFirst = ETrue;
- }
- }
- else
- {
- ActivateLocalViewL( KInstalledViewId );
- }
- }
- else
- {
- ActivateLocalViewL( KInstalledViewId );
- }
-
- FLOG( "CAppMngr2AppUi::ConstructL, starting delayed construct" );
- iIdle = CIdle::NewL( CActive::EPriorityStandard );
- iIdle->Start( TCallBack( &CAppMngr2AppUi::DelayedConstructL, this ) );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2AppUi::~CAppMngr2AppUi()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2AppUi::~CAppMngr2AppUi()
- {
- FLOG( "CAppMngr2AppUi::~CAppMngr2AppUi" );
- delete iIdle;
- delete iModel;
- if( iResourceFileOffset > 0 )
- {
- iEikonEnv->DeleteResourceFile( iResourceFileOffset );
- }
- FeatureManager::UnInitializeLib();
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2AppUi::Model()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2Model& CAppMngr2AppUi::Model() const
- {
- return *iModel;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2AppUi::InstalledAppsChanged()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2AppUi::InstalledAppsChanged( TInt aMoreRefreshesExpected )
- {
- FLOG( "CAppMngr2AppUi::InstalledAppsChanged( %d )", aMoreRefreshesExpected );
- if( iView == View( KInstalledViewId ) )
- {
- CAppMngr2ListView* view = static_cast<CAppMngr2ListView*>( iView );
- TRAP_IGNORE( view->RefreshL( aMoreRefreshesExpected ) );
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2AppUi::InstallationFilesChanged()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2AppUi::InstallationFilesChanged( TInt aMoreRefreshesExpected )
- {
- FLOG( "CAppMngr2AppUi::InstallationFilesChanged( %d )", aMoreRefreshesExpected );
- if( iView == View( KPackagesViewId ) )
- {
- CAppMngr2ListView* view = static_cast<CAppMngr2ListView*>( iView );
- TRAP_IGNORE( view->RefreshL( aMoreRefreshesExpected ) );
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2AppUi::InstalledAppsDisplayed()
-// ---------------------------------------------------------------------------
-//
-TBool CAppMngr2AppUi::InstalledAppsDisplayed()
- {
- return ( iView == View( KInstalledViewId ) );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2AppUi::InstallationFilesDisplayed()
-// ---------------------------------------------------------------------------
-//
-TBool CAppMngr2AppUi::InstallationFilesDisplayed()
- {
- return ( iView == View( KPackagesViewId ) );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2AppUi::DelayedConstructL()
-// ---------------------------------------------------------------------------
-//
-TInt CAppMngr2AppUi::DelayedConstructL( TAny* aSelf )
- {
- if( aSelf )
- {
- CAppMngr2AppUi* self = static_cast<CAppMngr2AppUi*>( aSelf );
- FLOG( "CAppMngr2AppUi::DelayedConstructL, step %d",
- self->iDelayedConstructionStep );
- switch( self->iDelayedConstructionStep )
- {
- case EFirstStep:
- if( self->iConstructInstallationFilesFirst )
- {
- self->iModel->StartFetchingInstallationFilesL();
- }
- else
- {
- self->iModel->StartFetchingInstalledAppsL();
- }
- self->iDelayedConstructionStep = ESecondStep;
- return ETrue; // call DelayedConstruct again
-
- case ESecondStep:
- if( self->iConstructInstallationFilesFirst )
- {
- self->iModel->StartFetchingInstalledAppsL();
- }
- else
- {
- self->iModel->StartFetchingInstallationFilesL();
- }
- self->iDelayedConstructionStep = EAllDone;
- break;
-
- default:
- break;
- }
- }
- return EFalse; // all done
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2AppUi::HandleCommandL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2AppUi::HandleCommandL( TInt aCommand )
- {
- FLOG( "CAppMngr2AppUi::HandleCommandL( %d )", aCommand );
- switch ( aCommand )
- {
- case EEikCmdExit:
- case EAknCmdExit:
- case EAknSoftkeyExit:
- Exit();
- break;
-
- case EAknCmdHelp:
- case EEikCmdHelpContents:
- if( FeatureManager::FeatureSupported( KFeatureIdHelp ) )
- {
- HlpLauncher::LaunchHelpApplicationL(
- iEikonEnv->WsSession(), AppHelpContextL() );
- }
- break;
-
- default:
- break;
- }
- }
-
--- a/appinstaller/AppMngr2/src/appmngr2document.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Implementation of CAppMngr2Document class
-*
-*/
-
-
-#include "appmngr2document.h" // CAppMngr2Document
-#include "appmngr2appui.h" // CAppMngr2AppUi
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Document::CAppMngr2Document()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2Document::CAppMngr2Document( CEikApplication& aApp )
- : CAknDocument( aApp )
- {
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Document::~CAppMngr2Document()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2Document::~CAppMngr2Document()
- {
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Document::ConstructL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2Document::ConstructL()
- {
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Document::NewL
-// ---------------------------------------------------------------------------
-//
-CAppMngr2Document* CAppMngr2Document::NewL( CEikApplication& aApp )
- {
- CAppMngr2Document* self = new (ELeave) CAppMngr2Document( aApp );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-// ----------------------------------------------------
-// CAppMngr2Document::CreateAppUiL()
-// ----------------------------------------------------
-//
-CEikAppUi* CAppMngr2Document::CreateAppUiL()
- {
- return new (ELeave) CAppMngr2AppUi;
- }
-
--- a/appinstaller/AppMngr2/src/appmngr2filerecognizer.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,227 +0,0 @@
-/*
-* Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Recognizes files to get corresponding MIME types
-*
-*/
-
-
-#include "appmngr2filerecognizer.h" // CAppMngr2FileRecognizer
-#include <appmngr2recognizedfile.h> // CAppMngr2RecognizedFile
-#include <f32file.h> // RFs, CDir
-#include <apmstd.h> // TDataType
-#include <caf/caf.h> // ContentAccess
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CAppMngr2FileRecognizer::NewL()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2FileRecognizer* CAppMngr2FileRecognizer::NewL( RFs& aFs )
- {
- CAppMngr2FileRecognizer* self = new (ELeave) CAppMngr2FileRecognizer( aFs );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2FileRecognizer::~CAppMngr2FileRecognizer()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2FileRecognizer::~CAppMngr2FileRecognizer()
- {
- Cancel();
- iDirStatus = NULL;
- delete iDirPath;
- delete iDirEntries;
- iResultArray.ResetAndDestroy();
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2FileRecognizer::RecognizeFilesL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2FileRecognizer::RecognizeFilesL( const TDesC& aPath,
- TRequestStatus& aStatus )
- {
- if( IsActive() )
- {
- User::Leave( KErrInUse );
- }
-
- if( iDirPath )
- {
- delete iDirPath;
- iDirPath = NULL;
- }
- iDirPath = aPath.AllocL();
-
- if( iDirEntries )
- {
- delete iDirEntries;
- iDirEntries = NULL;
- }
-
- TInt err = iFs.GetDir( *iDirPath, KEntryAttNormal, ESortNone, iDirEntries );
- User::LeaveIfError( err );
-
- aStatus = KRequestPending; // for recognizing all files in the directory
- iDirStatus = &aStatus;
-
- iResultArray.ResetAndDestroy();
- iIndex = 0;
- iState = ERecognizing;
-
- // start recognizing the first file asynchronously
- SetActive();
- TRequestStatus* fileStatus = &iStatus;
- User::RequestComplete( fileStatus, KErrNone );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2FileRecognizer::CancelRecognizeFiles()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2FileRecognizer::CancelRecognizeFiles()
- {
- Cancel();
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2FileRecognizer::Results()
-// ---------------------------------------------------------------------------
-//
-RPointerArray<CAppMngr2RecognizedFile>& CAppMngr2FileRecognizer::Results()
- {
- return iResultArray;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2FileRecognizer::DoCancel()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2FileRecognizer::DoCancel()
- {
- switch( iState )
- {
- case EIdle:
- break;
- case ERecognizing:
- iState = EIdle;
- if( iDirStatus )
- {
- User::RequestComplete( iDirStatus, KErrCancel );
- iDirStatus = NULL;
- }
- break;
- default:
- break;
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2FileRecognizer::RunL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2FileRecognizer::RunL()
- {
- User::LeaveIfError( iStatus.Int() );
-
- switch( iState )
- {
- case EIdle:
- break;
- case ERecognizing:
- RecognizeNextFileL();
- break;
- default:
- break;
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2FileRecognizer::RunError()
-// ---------------------------------------------------------------------------
-//
-TInt CAppMngr2FileRecognizer::RunError( TInt aError )
- {
- // RunL() leaved, pass the error code to caller
- if( iDirStatus )
- {
- User::RequestComplete( iDirStatus, aError );
- iDirStatus = NULL;
- }
- return KErrNone;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2FileRecognizer::CAppMngr2FileRecognizer()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2FileRecognizer::CAppMngr2FileRecognizer( RFs& aFs ) :
- CActive( CActive::EPriorityLow ), iFs( aFs )
- {
- // EPriorityLow used for smooth operation. Low priority allows UI refreshes
- // to proceed when some files have been recognized (even if there are still
- // more files to be recognized and recognizer is waiting for the next file
- // to be recognized).
- CActiveScheduler::Add( this );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2FileRecognizer::RecognizeNextFileL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2FileRecognizer::RecognizeNextFileL()
- {
- if( iIndex < iDirEntries->Count() )
- {
- // recognize the file which index is iIndex
- const TEntry& file = ( *iDirEntries )[ iIndex ];
-
- HBufC* fullName = HBufC::NewLC( iDirPath->Length() + file.iName.Length() );
- TPtr namePtr( fullName->Des() );
- namePtr.Copy( *iDirPath );
- namePtr.Append( file.iName );
-
- ContentAccess::CContent* content = ContentAccess::CContent::NewLC(
- *fullName, ContentAccess::EContentShareReadWrite );
-
- HBufC* mimeType = HBufC::NewLC( KMaxDataTypeLength );
- TPtr mimePtr( mimeType->Des() );
- User::LeaveIfError( content->GetStringAttribute( ContentAccess::EMimeType, mimePtr ) );
-
- CAppMngr2RecognizedFile* recFile = CAppMngr2RecognizedFile::NewL( fullName, mimeType );
- CleanupStack::Pop( mimeType ); // CAppMngr2RecognizedFile takes ownership
- CleanupStack::PopAndDestroy( content );
- CleanupStack::Pop( fullName );
-
- CleanupStack::PushL( recFile );
- iResultArray.AppendL( recFile );
- CleanupStack::Pop( recFile );
-
- // and then recognize the next file
- iIndex++;
- SetActive();
- TRequestStatus* fileStatus = &iStatus;
- User::RequestComplete( fileStatus, KErrNone );
- }
- else
- {
- // all done, directory has been processed
- User::RequestComplete( iDirStatus, KErrNone );
- iDirStatus = NULL;
- }
- }
-
--- a/appinstaller/AppMngr2/src/appmngr2infoarray.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,392 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Base class for AppInfo and PackageInfo arrays
-*
-*/
-
-
-#include "appmngr2infoarray.h" // CAppMngr2InfoArray
-#include <appmngr2debugutils.h> // FLOG macros
-
-const TInt KGranularity = 32;
-
-
-// ======== LOCAL FUNCTIONS =========
-
-// ---------------------------------------------------------------------------
-// CompareInfoNamesC
-// ---------------------------------------------------------------------------
-// Compares two InfoBase objects and defines the order how they are displayed
-// in the UI (in installed applications list or in installation files list).
-// Returns positive integer if aInfo1 > aInfo2 (in defined/alphabetical order),
-// zero if aInfo == aInfo2, and negative integer if aInfo1 < aInfo2.
-TInt CompareInfoNamesC( const CAppMngr2InfoBase& aInfo1, const CAppMngr2InfoBase& aInfo2 )
- {
- // IsShowOnTop() must denote "less than" to get the item be displayed before others.
- // If IsShowOnTop()==ETrue then item is less than item having IsShowOnTop()==EFalse.
- TInt result = ( aInfo2.IsShowOnTop() - aInfo1.IsShowOnTop() );
- if( !result )
- {
- result = aInfo1.Name().CompareC( aInfo2.Name() );
- if( !result )
- {
- // Compare also locations if the names are the same, as otherwise the order of
- // two items having the same name changes in MoveCachedItemsToArrayInOrderL().
- // Memory card location is "greater than" location in phone internal memory.
- result = ( aInfo1.Location() - aInfo2.Location() );
- }
- }
- return result;
- }
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InfoArray::CAppMngr2InfoArray()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2InfoArray::CAppMngr2InfoArray( MAppMngr2InfoArrayObserver& aObserver ) :
- iObserver( aObserver), iArray( KGranularity ), iCache( KGranularity ),
- iAlphabeticalOrder( CompareInfoNamesC ), iQuickRefreshes( ETrue )
- {
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InfoArray::~CAppMngr2InfoArray()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2InfoArray::~CAppMngr2InfoArray()
- {
- iArray.ResetAndDestroy();
- iCache.ResetAndDestroy();
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InfoArray::At()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2InfoBase* CAppMngr2InfoArray::At( TInt aIndex ) const
- {
- if( IsCacheUsed() )
- {
- return iCache[ aIndex ];
- }
- return iArray[ aIndex ];
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InfoArray::Count()
-// ---------------------------------------------------------------------------
-//
-TInt CAppMngr2InfoArray::Count() const
- {
- if( IsCacheUsed() )
- {
- return iCache.Count();
- }
- return iArray.Count();
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InfoArray::IncrementCacheUseL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2InfoArray::IncrementCacheUseL()
- {
- if( !iUseCache )
- {
- // First time - take the cache in use. This starts adding new
- // items to the CAppMngr2InfoArray. New items are always added
- // to iArray, and iCache is displayed during adding.
- if( iForceCacheUse )
- {
- // Cache already used - initialize iArray for new items.
- iArray.ResetAndDestroy();
-
- // Make sure that observer is notified even if no items
- // are added to iArray (e.g. "last item deleted" -case).
- iArrayChangedObserverNeedsNotification = ETrue;
- }
- else
- {
- // Cache not used - move items to cache and start using it.
- MoveItemsToCacheMaintainingOrderL();
-
- // Reset flag - need to know if cache is forced in use
- // while it is still in use because of this increment.
- iForceCacheUseWhenAddingComplete = EFalse;
- }
- }
- iUseCache++;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InfoArray::IncrementCacheUseStartingNewRoundL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2InfoArray::IncrementCacheUseStartingNewRoundL()
- {
- if( iUseCache || iForceCacheUse )
- {
- // Cache already used - initialize iArray for new items.
- iArray.ResetAndDestroy();
- iArrayChangedObserverNeedsNotification = ETrue;
-
- if( iQuickRefreshes )
- {
- // Touch luck - cache is not really used (in order to
- // show the first items quickly on startup) and hence
- // it is now necessary to show empty list to the user.
- // If iObserver would not be notified, there would be
- // USER 130 panics when UI would try to access iArray
- // items that are deleted.
- iObserver.ArrayContentChanged( this, iUseCache + 1 );
- iArrayChangedObserverNeedsNotification = EFalse;
- }
- }
- IncrementCacheUseL();
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InfoArray::DecrementCacheUse()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2InfoArray::DecrementCacheUse()
- {
- if( iUseCache > 0 )
- {
- iUseCache--;
-
- if( !iUseCache )
- {
- // Quick refreshes are enabled on startup, but they need to be
- // turned off when the first item adding round is complete.
- // After the first round the cache is used to handle array
- // content changes.
- if( iQuickRefreshes )
- {
- iQuickRefreshes = EFalse;
- }
-
- // If adding is now complete, check if there is a request to
- // force cache on. Note that iForceInUse cannot be set when
- // cache is already in use (because items are added to iArray),
- // otherwise partial list would be in iCache and the rest in
- // iArray. This is why force cache in use is enabled only after
- // the addition is complete.
- if( iForceCacheUseWhenAddingComplete )
- {
- iForceCacheUse = ETrue;
- iForceCacheUseWhenAddingComplete = EFalse;
- }
- }
-
- // Notify UI if cache is not used any more (or quickrefreshing is on)
- if( !IsCacheUsed() )
- {
- NotifyObserver();
- }
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InfoArray::DisableRefreshNotificationsL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2InfoArray::DisableRefreshNotificationsL()
- {
- // Refresh notifications are disabled by forcing cache on. All changes go
- // to the iArray and current iCache content is displayed unitl notifications
- // are enabled again. Observer is not called while refreshes are disabled.
- if( !iForceCacheUse )
- {
- if( iUseCache )
- {
- // Cannot force cache in use now because items are still being added
- // to iArray. This would result partial list to be in iCache and the
- // rest of items in iArray. Later when deletions are enabled, only the
- // items in iArray would be displayed. So, set a flag that forces cache
- // on when item additions are complete, so that observer is notified
- // only after deletions are enabled again.
- iForceCacheUseWhenAddingComplete = ETrue;
- }
- else
- {
- // Set cache in use
- MoveItemsToCacheMaintainingOrderL();
- iForceCacheUse = ETrue;
- }
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InfoArray::EnableRefreshNotificationsL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2InfoArray::EnableRefreshNotificationsL()
- {
- // It is safe to call EnableRefreshNotificationsL() many times, even if
- // notifications have not been disabled first.
- iForceCacheUseWhenAddingComplete = EFalse;
- if( iForceCacheUse )
- {
- iForceCacheUse = EFalse;
- if( !iUseCache )
- {
- // Refresh notifications were disabled by moving items to iCache. If no
- // new items were added to iArray while notifications were disabled,
- // then those moved items must be moved back to iArray again. Otherwise
- // disabling cache would show just an empty list. If new items were added
- // while refresh notifications were disabled, then observer needs
- // notification and cache content can be ignored, as new content is
- // already available in iArray.
- if( iArrayChangedObserverNeedsNotification )
- {
- NotifyObserver();
- }
- else
- {
- MoveCachedItemsToArrayInOrderL();
- }
- }
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InfoArray::AddItemInOrderL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2InfoArray::AddItemInOrderL( CAppMngr2InfoBase* aInfo )
- {
- if( aInfo )
- {
- FLOG( "CAppMngr2InfoArray::AddItemInOrderL( %S )", &( aInfo->Name() ) );
-
- // All items are added to iArray and iCache is used while the changes
- // are not wanted to be seen via Count() and At() functions. Observer
- // is notified when the iArray is taken in use.
- iArray.InsertInOrderAllowRepeatsL( aInfo, iAlphabeticalOrder );
- if( iForceCacheUse || iForceCacheUseWhenAddingComplete )
- {
- iArrayChangedObserverNeedsNotification = ETrue;
- }
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InfoArray::ImmediateDelete()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2InfoArray::ImmediateDelete( CAppMngr2InfoBase* aInfo )
- {
- FLOG( "CAppMngr2InfoArray::ImmediateDelete( 0x%08x )", aInfo );
-
- RPointerArray<CAppMngr2InfoBase>* array;
- if( IsCacheUsed() )
- {
- array = &iCache;
- }
- else
- {
- array = &iArray;
- }
-
- TBool found = EFalse;
- TInt count = array->Count();
- for( TInt index = 0; index < count && !found; index++ )
- {
- if( ( *array )[ index ] == aInfo )
- {
- array->Remove( index );
- delete aInfo;
- found = ETrue;
- }
- }
-
- if( found )
- {
- iObserver.ArrayContentChanged( this, iUseCache );
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InfoArray::MoveItemsToCacheMaintainingOrderL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2InfoArray::MoveItemsToCacheMaintainingOrderL()
- {
- // Move items from iArray to iCache maintaining order.
- iCache.ResetAndDestroy();
- TInt count = iArray.Count();
- for( TInt index = count - 1; index >= 0; index-- )
- {
- iCache.InsertL( iArray[ index ], 0 );
- iArray.Remove( index );
- }
- iArray.ResetAndDestroy();
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InfoArray::MoveCachedItemsToArrayInOrderL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2InfoArray::MoveCachedItemsToArrayInOrderL()
- {
- // Move items from iCache to iArray using proper order. There may be
- // new items in iArray hence it is not possible to simply move items
- // as in MoveItemsToCacheMaintainingOrderL().
- TInt count = iCache.Count();
- for( TInt index = count - 1; index >= 0; index-- )
- {
- iArray.InsertInOrderAllowRepeatsL( iCache[ index ], iAlphabeticalOrder );
- iCache.Remove( index );
- }
- iCache.ResetAndDestroy();
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InfoArray::NotifyObserver()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2InfoArray::NotifyObserver()
- {
- iObserver.ArrayContentChanged( this, iUseCache );
- iArrayChangedObserverNeedsNotification = EFalse;
- iCache.ResetAndDestroy();
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InfoArray::IsCacheUsed()
-// ---------------------------------------------------------------------------
-//
-TBool CAppMngr2InfoArray::IsCacheUsed() const
- {
- // New items are added to iArray and static old content may be displayed
- // from iCache while iArray is being updated. Priorities: 1) cache forced
- // in use, 2) quick refreshes, and 3) normal inc/dec cache usage. If cache
- // is forced in use, it prevents also changes that quick refreshes might
- // otherwise display. If quick refreshing is enabled, then item additions
- // to iArray are visible to observer, although normally iCache would be used.
- if( iForceCacheUse )
- {
- return ETrue;
- }
- if( iQuickRefreshes )
- {
- return EFalse;
- }
- return ( iUseCache > 0 );
- }
-
--- a/appinstaller/AppMngr2/src/appmngr2infomaker.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Creates info objects asynchronously
-*
-*/
-
-
-#include "appmngr2infomaker.h" // CAppMngr2InfoMaker
-#include "appmngr2infomakerobserver.h" // MAppMngr2InfoMakerObserver
-#include <appmngr2runtime.h> // CAppMngr2Runtime
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InfoMaker::CAppMngr2InfoMaker()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2InfoMaker::CAppMngr2InfoMaker( CAppMngr2Runtime& aPlugin,
- MAppMngr2InfoMakerObserver& aObserver, RFs& aFs ) :
- CActive( CActive::EPriorityStandard ), iPlugin( aPlugin ), iObserver( aObserver ),
- iFs( aFs )
- {
- CActiveScheduler::Add( this );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InfoMaker::~CAppMngr2InfoMaker()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2InfoMaker::~CAppMngr2InfoMaker()
- {
- // derived classes must call Cancel()
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InfoMaker::RuntimeUid()
-// ---------------------------------------------------------------------------
-//
-const TUid CAppMngr2InfoMaker::RuntimeUid() const
- {
- return iPlugin.RuntimeUid();
- }
-
--- a/appinstaller/AppMngr2/src/appmngr2installedcontainer.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,165 +0,0 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Container for list view that shows installed applications
-*
-*/
-
-
-#include "appmngr2installedcontainer.h" // CAppMngr2InstalledContainer
-#include "appmngr2installedview.h" // CAppMngr2InstalledView
-#include "appmngr2model.h" // CAppMngr2Model
-#include <appmngr2appinfo.h> // CAppMngr2AppInfo
-#include <appmngr2common.hrh> // Command IDs
-#include <eiktxlbm.h> // CTextListBoxModel
-#include <aknlists.h> // CAknDoubleLargeStyleListBox
-#include <appmngr2.rsg> // Resource IDs
-#include <csxhelp/am.hlp.hrh> // Help contexts
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InstalledContainer::NewL()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2InstalledContainer* CAppMngr2InstalledContainer::NewL(
- CAppMngr2InstalledView& aView )
- {
- CAppMngr2InstalledContainer* self = new (ELeave) CAppMngr2InstalledContainer( aView );
- CleanupStack::PushL( self );
- self->ConstructL( aView );
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InstalledContainer::~CAppMngr2InstalledContainer()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2InstalledContainer::~CAppMngr2InstalledContainer()
- {
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InstalledContainer::OfferKeyEventL()
-// ---------------------------------------------------------------------------
-//
-TKeyResponse CAppMngr2InstalledContainer::OfferKeyEventL(
- const TKeyEvent& aKeyEvent, TEventCode aType )
- {
- TKeyResponse response = EKeyWasNotConsumed;
- switch( aKeyEvent.iCode )
- {
- case EKeyOK: // Middle softkey
- HandleGenericCommandL( EAppMngr2CmdViewDetails );
- break;
-
- case EKeyBackspace:
- HandleGenericCommandL( EAppMngr2CmdUninstall );
- break;
-
- default:
- response = CAppMngr2ListContainer::OfferKeyEventL( aKeyEvent, aType );
- break;
- }
- return response;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InstalledContainer::GetHelpContext()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2InstalledContainer::GetHelpContext( TCoeHelpContext& aContext ) const
- {
- const TUid KAppMngr2AppUid = { KAppMngr2AppUidValue };
- aContext.iMajor = KAppMngr2AppUid;
- aContext.iContext = KAM_HLP_INSTALLED;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InstalledContainer::HandleListBoxEventL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2InstalledContainer::HandleListBoxEventL( CEikListBox* aListBox,
- TListBoxEvent aEventType )
- {
- switch( aEventType )
- {
- case EEventItemSingleClicked:
- case EEventEnterKeyPressed:
- HandleGenericCommandL( EAppMngr2CmdViewDetails );
- break;
-
- default:
- CAppMngr2ListContainer::HandleListBoxEventL( aListBox, aEventType );
- break;
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InstalledContainer::CurrentItem()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2InfoBase& CAppMngr2InstalledContainer::CurrentItem() const
- {
- // panics if list box is empty
- return Model().AppInfo( iListBox->CurrentItemIndex() );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InstalledContainer::ListEmptyTextResourceId()
-// ---------------------------------------------------------------------------
-//
-TInt CAppMngr2InstalledContainer::ListEmptyTextResourceId() const
- {
- return R_AM_INSTALLED_VIEW_EMPTY;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InstalledContainer::ItemCount()
-// ---------------------------------------------------------------------------
-//
-TInt CAppMngr2InstalledContainer::ItemCount() const
- {
- return Model().AppInfoCount();
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InstalledContainer::ItemInfo()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2InfoBase& CAppMngr2InstalledContainer::ItemInfo( TInt aIndex )
- {
- return Model().AppInfo( aIndex );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InstalledContainer::CAppMngr2InstalledContainer()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2InstalledContainer::CAppMngr2InstalledContainer( CAppMngr2InstalledView& aView )
- : CAppMngr2ListContainer( aView )
- {
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InstalledContainer::ConstructL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2InstalledContainer::ConstructL( CAppMngr2InstalledView& aView )
- {
- SetMopParent( &aView );
- CAppMngr2ListContainer::ConstructL( aView.ClientRect() );
- }
-
--- a/appinstaller/AppMngr2/src/appmngr2installedview.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,165 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: List view that shows installed applications
-*
-*/
-
-
-#include "appmngr2installedview.h" // CAppMngr2InstalledView
-#include "appmngr2installedcontainer.h" // CAppMngr2InstalledContainer
-#include <appmngr2infobase.h> // CAppMngr2InfoBase
-#include <appmngr2debugutils.h> // FLOG macros
-#include <eikmenub.h> // CEikMenuPane
-#include <akntitle.h> // CAknTitlePane
-#include <StringLoader.h> // StringLoader
-#include <appmngr2common.hrh> // Generic command IDs
-#include <avkon.hrh> // EAknSoftkeyOk
-#include <appmngr2.rsg> // Resource IDs
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InstalledView::NewL
-// ---------------------------------------------------------------------------
-//
-CAppMngr2InstalledView* CAppMngr2InstalledView::NewL()
- {
- CAppMngr2InstalledView* self = new (ELeave) CAppMngr2InstalledView;
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InstalledView::~CAppMngr2InstalledView
-// ---------------------------------------------------------------------------
-//
-CAppMngr2InstalledView::~CAppMngr2InstalledView()
- {
- FLOG( "CAppMngr2InstalledView::~CAppMngr2InstalledView" );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InstalledView::Id()
-// ---------------------------------------------------------------------------
-//
-TUid CAppMngr2InstalledView::Id() const
- {
- return KInstalledViewId;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InstalledView::HandleCommandL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2InstalledView::HandleCommandL( TInt aCommand )
- {
- FLOG( "CAppMngr2InstalledView::HandleCommandL( %d )", aCommand );
- switch( aCommand )
- {
- case EAknSoftkeyOk:
- iContainer->HandleGenericCommandL( EAppMngr2CmdViewDetails );
- break;
-
- default:
- CAppMngr2ListView::HandleCommandL( aCommand );
- break;
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InstalledView::DynInitMenuPaneL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2InstalledView::DynInitMenuPaneL( TInt aResourceId,
- CEikMenuPane* aMenuPane )
- {
- CAppMngr2ListView::DynInitMenuPaneL( aResourceId, aMenuPane );
-
- if( aResourceId == R_APPMNGR2_INSTALLED_MENU )
- {
- if( iContainer == NULL || iContainer->IsListEmpty() )
- {
- aMenuPane->SetItemDimmed( EAppMngr2CmdViewDetails, ETrue );
- aMenuPane->SetItemDimmed( EAppMngr2CmdUninstall, ETrue );
- }
- else
- {
- CAppMngr2InfoBase& currentItem = iContainer->CurrentItem();
- if( !currentItem.SupportsGenericCommand( EAppMngr2CmdViewDetails ) )
- {
- aMenuPane->SetItemDimmed( EAppMngr2CmdViewDetails, ETrue );
- }
- if( !currentItem.SupportsGenericCommand( EAppMngr2CmdUninstall ) )
- {
- aMenuPane->SetItemDimmed( EAppMngr2CmdViewDetails, ETrue );
- }
- AddDynamicMenuItemsL( currentItem, aMenuPane );
- }
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InstalledView::CreateContainerL()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2ListContainer* CAppMngr2InstalledView::CreateContainerL()
- {
- return CAppMngr2InstalledContainer::NewL( *this );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InstalledView::SetDefaultMiddleSoftkeyCommandL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2InstalledView::SetDefaultMiddleSoftkeyCommandL()
- {
- if( iContainer && !iContainer->IsListEmpty() )
- {
- SetMiddleSoftkeyCommandL( R_AM_MSK_VIEW_DETAILS, EAppMngr2CmdViewDetails );
- }
- // else the list is empty, and also the MSK is empty
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InstalledView::SetTitleL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2InstalledView::SetTitleL( CAknTitlePane& aTitlePane )
- {
- HBufC* title = StringLoader::LoadLC( R_AM_TITLE_INSTALLED );
- aTitlePane.SetTextL( *title );
- CleanupStack::PopAndDestroy( title );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InstalledView::CAppMngr2InstalledView()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2InstalledView::CAppMngr2InstalledView() : CAppMngr2ListView()
- {
- FLOG( "CAppMngr2InstalledView::CAppMngr2InstalledView" );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2InstalledView::ConstructL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2InstalledView::ConstructL()
- {
- CAppMngr2ListView::ConstructL( R_APPMNGR2_INSTALLED_VIEW );
- }
-
--- a/appinstaller/AppMngr2/src/appmngr2listcontainer.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,484 +0,0 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Base class for AppMngr2 list view containers
-*
-*/
-
-
-#include "appmngr2listcontainer.h" // CAppMngr2ListContainer
-#include "appmngr2appui.h" // CAppMngr2AppUi
-#include "appmngr2model.h" // CAppMngr2Model
-#include "appmngr2listview.h" // CAppMngr2ListView
-#include "appmngr2.hrh" // Icon IDs
-#include <appmngr2runtime.h> // CAppMngr2Runtime
-#include <appmngr2infobase.h> // CAppMngr2InfoBase
-#include <appmngr2debugutils.h> // FLOG macros
-#include <aknlists.h> // CAknDoubleLargeStyleListBox
-#include <eiktxlbm.h> // CTextListBoxModel
-#include <AknIconArray.h> // CAknIconArray
-#include <StringLoader.h> // StringLoader
-#include <gulicon.h> // CGulIcon
-
-const TInt KGranularity = 8;
-const TInt KSpaceForTabsAndIconIndexes = 9; // 3 tabs + 2 * 3 digits
-_LIT( KItemFormatFull, "%d\t%S\t%S\t%d" );
-_LIT( KItemFormatNoInd, "%d\t%S\t%S" );
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CAppMngr2ListContainer::CAppMngr2ListContainer()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2ListContainer::CAppMngr2ListContainer( CAppMngr2ListView& aView )
- : iView( aView )
- {
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2ListContainer::~CAppMngr2ListContainer()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2ListContainer::~CAppMngr2ListContainer()
- {
- delete iListBox;
- delete iItemArray;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2ListContainer::OfferKeyEventL()
-// ---------------------------------------------------------------------------
-//
-TKeyResponse CAppMngr2ListContainer::OfferKeyEventL(
- const TKeyEvent& aKeyEvent, TEventCode aType )
- {
- TKeyResponse response = iListBox->OfferKeyEventL( aKeyEvent, aType );
- if( aKeyEvent.iCode == EKeyUpArrow || aKeyEvent.iCode == EKeyDownArrow )
- {
- iView.UpdateMiddleSoftkeyCommandL();
- iView.CurrentItemSelectedByUser( ETrue );
- }
- return response;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2ListContainer::HandleResourceChange()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2ListContainer::HandleResourceChange( TInt aType )
- {
- CCoeControl::HandleResourceChange( aType );
-
- if( aType == KAknsMessageSkinChange )
- {
- TRAP_IGNORE( LoadIconsL() );
- }
-
- if( aType == KEikDynamicLayoutVariantSwitch )
- {
- TRect mainPaneRect;
- if( AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane,
- mainPaneRect ) )
- {
- SetRect( mainPaneRect );
- }
- DrawDeferred();
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2ListContainer::SizeChanged()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2ListContainer::SizeChanged()
- {
- if( iListBox )
- {
- iListBox->SetRect( Rect() );
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2ListContainer::CountComponentControls()
-// ---------------------------------------------------------------------------
-//
-TInt CAppMngr2ListContainer::CountComponentControls() const
- {
- return 1; // always only iListBox
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2ListContainer::ComponentControl()
-// ---------------------------------------------------------------------------
-//
-CCoeControl* CAppMngr2ListContainer::ComponentControl( TInt /*aIndex*/ ) const
- {
- return iListBox;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2ListContainer::HandleListBoxEventL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2ListContainer::HandleListBoxEventL( CEikListBox* /*aListBox*/,
- TListBoxEvent aEventType )
- {
- if( aEventType == EEventItemClicked || aEventType == EEventItemSingleClicked )
- {
- iView.UpdateMiddleSoftkeyCommandL();
- iView.CurrentItemSelectedByUser( ETrue );
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2ListContainer::IsListEmpty()
-// ---------------------------------------------------------------------------
-//
-TBool CAppMngr2ListContainer::IsListEmpty() const
- {
- if( iItemArray )
- {
- return ( iItemArray->Count() == 0 );
- }
- return ETrue;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2ListContainer::HandleGenericCommandL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2ListContainer::HandleGenericCommandL( TInt aCommand )
- {
- if( !IsListEmpty() )
- {
- CAppMngr2InfoBase& currentItem = CurrentItem();
- if( currentItem.SupportsGenericCommand( aCommand ) )
- {
- Model().HandleCommandL( currentItem, aCommand );
- }
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2ListContainer::RefreshL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2ListContainer::RefreshL( TBool aPreserveSelectedItem,
- TBool& aSelectedItemChanged, TInt aMoreRefreshesExpected )
- {
- FLOG( "CAppMngr2ListContainer::RefreshL( %d )", aPreserveSelectedItem );
-
- // Record the item text of the current item if selection must be preserved in
- // the current item. The item text is used to identify the item later, so that
- // it can be selected again.
- HBufC* itemText = NULL;
- TInt currentItemIndex = iListBox->CurrentItemIndex();
- if( aPreserveSelectedItem && currentItemIndex >= 0 )
- {
- itemText = (*iItemArray)[ currentItemIndex ].AllocL();
- CleanupStack::PushL( itemText );
- }
-
- SetEmptyTextL( aMoreRefreshesExpected ); // defines empty text in first refresh
- CreateItemArrayL(); // resets the item array
- PopulateItemArrayL(); // fills in new items
- iListBox->HandleItemAdditionL(); // re-calculates size and scrollbar
-
- // If selection must be preserved, search the item in new item array
- // and select it again. Make sure to delete itemText if it was allocated.
- TBool currentItemSet = EFalse;
- TInt itemCount = iItemArray->Count();
- if( itemText )
- {
- for( TInt index = 0; index < itemCount && !currentItemSet; index++ )
- {
- if( itemText->Compare( (*iItemArray)[ index ] ) == 0 )
- {
- iListBox->SetCurrentItemIndex( index );
- currentItemSet = ETrue;
- }
- }
- CleanupStack::PopAndDestroy( itemText );
- }
-
- // If item is not found (it may have been deleted), then tell to the
- // caller that the selected item was changed and select another item
- // from the same row number than the previously selected item.
- aSelectedItemChanged = !currentItemSet;
- if( aSelectedItemChanged )
- {
- if( currentItemIndex >= itemCount )
- {
- currentItemIndex = itemCount - 1;
- }
- if( currentItemIndex < 0 )
- {
- currentItemIndex = 0;
- }
- if( currentItemIndex != iListBox->CurrentItemIndex() )
- {
- iListBox->SetCurrentItemIndex( currentItemIndex );
- }
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2ListContainer::ConstructL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2ListContainer::ConstructL( const TRect& aRect )
- {
- CreateWindowL();
- SetRect( aRect );
- iListBox = new (ELeave) CAknDoubleLargeStyleListBox;
- iListBox->SetContainerWindowL( *this );
- iListBox->ConstructL( this, EAknListBoxSelectionList );
- iListBox->SetListBoxObserver( this );
-
- // Dont display default "(no data)" empty text
- iListBox->View()->SetListEmptyTextL( KNullDesC );
-
- LoadIconsL();
- CreateItemArrayL();
- PopulateItemArrayL();
-
- iListBox->CreateScrollBarFrameL();
- iListBox->ScrollBarFrame()->SetScrollBarVisibilityL(
- CEikScrollBarFrame::EOff, CEikScrollBarFrame::EAuto );
- iListBox->SetRect( aRect.Size() );
-
- // Enable marquee effect
- iListBox->ItemDrawer()->ColumnData()->EnableMarqueeL( ETrue );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2ListContainer::Model()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2Model& CAppMngr2ListContainer::Model() const
- {
- return reinterpret_cast<CAppMngr2AppUi*>( iEikonEnv->EikAppUi() )->Model();
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2ListContainer::LoadIconsL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2ListContainer::LoadIconsL()
- {
- CAknIconArray* iconArray = new ( ELeave ) CAknIconArray( KGranularity );
- CleanupStack::PushL( iconArray );
- Model().LoadIconsL( *iconArray );
- delete iListBox->ItemDrawer()->ColumnData()->IconArray();
- iListBox->ItemDrawer()->ColumnData()->SetIconArray( iconArray );
- CleanupStack::Pop( iconArray );
- iItemSpecificIcons = 0;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2ListContainer::CreateItemArrayL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2ListContainer::CreateItemArrayL()
- {
- if( iItemArray )
- {
- iListBox->Model()->SetItemTextArray( NULL );
- delete iItemArray;
- iItemArray = NULL;
- }
- iItemArray = new ( ELeave ) CDesCArrayFlat( KGranularity );
- iListBox->Model()->SetItemTextArray( iItemArray );
- iListBox->Model()->SetOwnershipType( ELbmDoesNotOwnItemArray );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2ListContainer::PopulateItemArrayL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2ListContainer::PopulateItemArrayL()
- {
- FLOG( "CAppMngr2ListContainer::PopulateItemArrayL()" );
-
- CArrayPtr<CGulIcon>* iconArray = iListBox->ItemDrawer()->ColumnData()->IconArray();
- DeleteItemSpecificIcons( *iconArray );
-
- TInt count = ItemCount();
- for( TInt index = 0; index < count; index++ )
- {
- const CAppMngr2InfoBase& appInfo = ItemInfo( index );
-
- // Get name and details
- TPtrC name = appInfo.Name();
- TPtrC size = appInfo.Details();
-
- // Get icon indexes that plugin loaded in LoadIconsL()
- TInt iconIndexBase;
- TInt iconIndexMax;
- Model().GetIconIndexesL( appInfo.Runtime().RuntimeUid(),
- iconIndexBase, iconIndexMax );
-
- // Get list icon index from plugin
- TInt iconIndex = appInfo.IconIndex();
-
- // Convert index into the range of 0 .. (icons - 1)
- if( iconIndex == EAppMngr2UseSpecificIcon )
- {
- CGulIcon* icon = NULL;
- TRAP_IGNORE( icon = appInfo.SpecificIconL() );
- if( icon )
- {
- CleanupStack::PushL( icon );
- iconIndex = iconArray->Count();
- iconArray->AppendL( icon );
- CleanupStack::Pop( icon );
- iItemSpecificIcons++;
- }
- else
- {
- iconIndex = EAppMngr2IconIndex_QgnPropUnknown;
- }
- }
- else
- {
- // There are no default list icons that plugins could use, so
- // this must be list icon that plugin has loaded in LoadIconsL().
- // Icons (of this plugin) are indexed from iconIndexBase.
- iconIndex += iconIndexBase;
-
- // Plugin should use only those icons it has provided. Use
- // default unknown icon if plugin tries to use icons that
- // another plugin has loaded.
- if( iconIndex < iconIndexBase || iconIndex >= iconIndexMax )
- {
- iconIndex = EAppMngr2IconIndex_QgnPropUnknown;
- }
- }
- // Sanity check - index must be in range, otherwise list panics
- if( iconIndex < 0 || iconIndex >= iconArray->Count() )
- {
- iconIndex = EAppMngr2IconIndex_QgnPropUnknown;
- }
-
- // Get indicator icon index from plugin
- TInt indIconIndex = appInfo.IndicatorIconIndex();
-
- // Convert indicator icon index into the range of 0 .. (icons-1) or
- // leave special value EAppMngr2NoIndicatorIcon in it
- if( indIconIndex == EAppMngr2UseSpecificIcon )
- {
- CGulIcon* icon = NULL;
- TRAP_IGNORE( icon = appInfo.SpecificIndicatorIconL() );
- if( icon )
- {
- CleanupStack::PushL( icon );
- indIconIndex = iconArray->Count();
- iconArray->AppendL( icon );
- CleanupStack::Pop( icon );
- iItemSpecificIcons++;
- }
- else
- {
- indIconIndex = EAppMngr2NoIndicatorIcon;
- }
- }
- else
- {
- // EAppMngr2NoIndicatorIcon is special value that is handled later
- if( indIconIndex != EAppMngr2NoIndicatorIcon )
- {
- // Default icon indexes (starting from EAppMngr2NoIndicatorIcon) are
- // all above the icon index range reserved for plugins
- if( indIconIndex > EAppMngr2NoIndicatorIcon )
- {
- // Use default icons, indexes start from zero
- indIconIndex -= ( EAppMngr2NoIndicatorIcon + 1 );
- }
- else
- {
- // Use item specific icons, indexes start from iconIndexBase
- indIconIndex += iconIndexBase;
- }
- }
- }
- // Sanity check - icon index must be in range, otherwise list panics
- if( ( indIconIndex != EAppMngr2NoIndicatorIcon ) &&
- ( indIconIndex < 0 || indIconIndex >= iconArray->Count() ) )
- {
- indIconIndex = EAppMngr2NoIndicatorIcon;
- }
-
- // Construct line to be displayed
- HBufC* temp = HBufC::NewLC( name.Length() + size.Length() + KSpaceForTabsAndIconIndexes );
- TPtr line = temp->Des();
- if( indIconIndex == EAppMngr2NoIndicatorIcon )
- {
- line.AppendFormat( KItemFormatNoInd, iconIndex, &name, &size );
- }
- else
- {
- line.AppendFormat( KItemFormatFull, iconIndex, &name, &size, indIconIndex );
- }
- iItemArray->AppendL( line );
- FLOG( "CAppMngr2ListContainer::PopulateItemArrayL(): %S", temp );
- CleanupStack::PopAndDestroy( temp );
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2ListContainer::DeleteItemSpecificIcons()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2ListContainer::DeleteItemSpecificIcons( CArrayPtr<CGulIcon>& aIconArray )
- {
- if( iItemSpecificIcons )
- {
- TInt iconArrayCount = aIconArray.Count();
- TInt firstItemSpecificIcon = iconArrayCount - iItemSpecificIcons;
- for( TInt index = firstItemSpecificIcon; index < iconArrayCount; index++ )
- {
- delete aIconArray[ index ];
- }
- aIconArray.Delete( firstItemSpecificIcon, iItemSpecificIcons );
- iItemSpecificIcons = 0;
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2ListContainer::SetEmptyTextL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2ListContainer::SetEmptyTextL( TInt aMoreRefreshesExpected )
- {
- // Set empty text if it is not already set
- CListBoxView* view = iListBox->View();
- if( view )
- {
- const TDesC* text = view->EmptyListText();
- if( text == NULL || text->Length() == 0 )
- {
- // The first refresh may happen too soon. If there are no items
- // to be displayed, and more refreshes are still expected, then
- // do not set the empty text yet -- it would be displayed.
- if( ItemCount() > 0 || !aMoreRefreshesExpected )
- {
- HBufC* emptyText = StringLoader::LoadLC( ListEmptyTextResourceId() );
- view->SetListEmptyTextL( *emptyText );
- CleanupStack::PopAndDestroy( emptyText );
- }
- }
- }
- }
-
--- a/appinstaller/AppMngr2/src/appmngr2listview.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,345 +0,0 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Base class for different AppMngr2 list views
-*
-*/
-
-
-#include "appmngr2listview.h" // CAppMngr2ListView
-#include "appmngr2listcontainer.h" // CAppMngr2ListContainer
-#include "appmngr2appui.h" // CAppMngr2AppUi
-#include "appmngr2model.h" // CAppMngr2Model
-#include "appmngr2log.h" // CAppMngr2Log
-#include "appmngr2.hrh" // Command IDs
-#include <appmngr2runtime.h> // CAppMngr2Runtime
-#include <appmngr2infobase.h> // CAppMngr2InfoBase
-#include <appmngr2cleanuputils.h> // CleanupResetAndDestroyPushL
-#include <appmngr2debugutils.h> // FLOG macros
-#include <appmngr2common.hrh> // generic command ids
-#include <data_caging_path_literals.hrh> // KDC_RESOURCE_FILES_DIR
-#include <featmgr.h> // FeatureManager
-#include <bautils.h> // BaflUtils
-#include <eikenv.h> // CEikonEnv
-#include <aknViewAppUi.h> // CAknViewAppUi
-#include <eikmenub.h> // CEikMenuBar, CEikMenuPane
-#include <eikmenup.h> // CEikMenuPaneItem
-#include <akntitle.h> // CAknTitlePane
-#include <StringLoader.h> // StringLoader
-#include <AknInfoPopupNoteController.h> // CAknInfoPopupNoteController
-#include <appmngr2.rsg> // Resource IDs
-
-const TUid KStatusPaneUid = { EEikStatusPaneUidTitle };
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CAppMngr2ListView::ConstructL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2ListView::ConstructL( TInt aResourceId )
- {
- FLOG( "CAppMngr2ListView::ConstructL( 0x%08x )", aResourceId );
-
- BaseConstructL( aResourceId );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2ListView::~CAppMngr2ListView()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2ListView::~CAppMngr2ListView()
- {
- FLOG( "CAppMngr2ListView::~CAppMngr2ListView" );
-
- if( iContainer )
- {
- AppUi()->RemoveFromViewStack( *this, iContainer );
- delete iContainer;
- }
- delete iInfoPopup;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2ListView::RefreshL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2ListView::RefreshL( TInt aMoreRefreshesExpected )
- {
- if( iContainer )
- {
- TBool selectedItemChanged = EFalse;
- iContainer->RefreshL( iMaintainFocus, selectedItemChanged, aMoreRefreshesExpected );
- if( selectedItemChanged )
- {
- UpdateMiddleSoftkeyCommandL();
- StopDisplayingMenuBar();
- iMaintainFocus = EFalse;
- }
-
- // Close progress note used in application startup
- if( iInfoPopup && !aMoreRefreshesExpected )
- {
- iInfoPopup->HideInfoPopupNote();
- delete iInfoPopup;
- iInfoPopup = NULL;
- }
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2ListView::UpdateMiddleSoftkeyCommandL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2ListView::UpdateMiddleSoftkeyCommandL()
- {
- FLOG_PERF_STATIC_BEGIN( UpdateMiddleSoftkeyCommandL );
-
- if( iContainer && !iContainer->IsListEmpty() )
- {
- // add item-specific MSK if the current item has one
- CAppMngr2InfoBase& currentItem = iContainer->CurrentItem();
- TInt resourceId = 0;
- TInt commandId = 0;
- currentItem.GetMiddleSoftkeyCommandL( resourceId, commandId );
- if( resourceId && commandId )
- {
- SetMiddleSoftkeyCommandL( resourceId, commandId );
- }
- else
- {
- SetDefaultMiddleSoftkeyCommandL();
- }
- }
- else
- {
- // list is empty, remove old MSK if it has been added and set the default
- CEikButtonGroupContainer* cba = Cba();
- if( iMiddleSoftkeyCommandId && cba )
- {
- cba->RemoveCommandFromStack( CEikButtonGroupContainer::EMiddleSoftkeyPosition,
- iMiddleSoftkeyCommandId );
- }
- SetDefaultMiddleSoftkeyCommandL();
- }
-
- FLOG_PERF_STATIC_END( UpdateMiddleSoftkeyCommandL )
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2ListView::CurrentItemSelectedByUser()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2ListView::CurrentItemSelectedByUser( TBool aMaintainFocus )
- {
- iMaintainFocus = aMaintainFocus;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2ListView::HandleViewRectChange()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2ListView::HandleViewRectChange()
- {
- if( iContainer )
- {
- iContainer->SetRect( ClientRect() );
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2ListView::HandleCommandL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2ListView::HandleCommandL( TInt aCommand )
- {
- FLOG( "CAppMngr2ListView::HandleCommandL( %d )", aCommand );
-
- switch( aCommand )
- {
- case EAknSoftkeyBack:
- AppUi()->HandleCommandL( EAknSoftkeyExit );
- break;
-
- case EAppMngr2CmdLog:
- {
- CAppMngr2Log* log = CAppMngr2Log::NewLC();
- log->ShowInstallationLogL();
- CleanupStack::PopAndDestroy( log );
- }
- break;
-
- case EAknCmdHelp:
- case EAknCmdExit:
- AppUi()->HandleCommandL( aCommand );
- break;
-
- default:
- Model().HandleCommandL( iContainer->CurrentItem(), aCommand );
- break;
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2ListView::DynInitMenuPaneL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2ListView::DynInitMenuPaneL( TInt aResourceId,
- CEikMenuPane* aMenuPane )
- {
- if( aResourceId == R_APPMNGR2_INSTALLED_MENU
- || aResourceId == R_APPMNGR2_PACKAGES_MENU )
- {
- if( !FeatureManager::FeatureSupported( KFeatureIdHelp ) )
- {
- aMenuPane->SetItemDimmed( EAknCmdHelp, ETrue );
- }
-
- // Keep the currently selected item focused in forthcoming list refreshes.
- iMaintainFocus = ETrue;
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2ListView::DoActivateL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2ListView::DoActivateL( const TVwsViewId& /*aPrevViewId*/,
- TUid /*aCustomMessageId*/, const TDesC8& /*aCustomMessage*/ )
- {
- FLOG( "CAppMngr2ListView::DoActivateL, id 0x%08x", Id().iUid );
-
- CAknTitlePane* titlePane = NULL;
- titlePane = static_cast<CAknTitlePane*>( StatusPane()->ControlL( KStatusPaneUid ) );
- SetTitleL( *titlePane );
-
- if( iContainer == NULL )
- {
- iContainer = CreateContainerL();
- iContainer->SetMopParent( this );
- AppUi()->AddToViewStackL( *this, iContainer );
- iContainer->ActivateL();
- }
- UpdateMiddleSoftkeyCommandL();
-
- if( iInfoPopup == NULL )
- {
- iInfoPopup = CAknInfoPopupNoteController::NewL();
- iInfoPopup->SetTimePopupInView( 0 );
- iInfoPopup->HideWhenAppFaded( EFalse );
- HBufC* noteText = StringLoader::LoadLC( R_QTN_AM_SCANNING_MEMORY );
- iInfoPopup->SetTextL( *noteText );
- CleanupStack::PopAndDestroy( noteText );
- iInfoPopup->ShowInfoPopupNote();
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2ListView::DoDeactivate()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2ListView::DoDeactivate()
- {
- FLOG( "CAppMngr2ListView::DoDeactivate, id 0x%08x", Id().iUid );
-
- if( iContainer )
- {
- AppUi()->RemoveFromViewStack( *this, iContainer );
- delete iContainer;
- iContainer = NULL;
- }
- if( iInfoPopup )
- {
- delete iInfoPopup;
- iInfoPopup = NULL;
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2ListView::Model()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2Model& CAppMngr2ListView::Model() const
- {
- return reinterpret_cast<CAppMngr2AppUi*>( iEikonEnv->EikAppUi() )->Model();
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2ListView::AddDynamicMenuItemsL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2ListView::AddDynamicMenuItemsL( CAppMngr2InfoBase& aCurrentItem,
- CEikMenuPane* aMenuPane )
- {
- if( aMenuPane )
- {
- FLOG_PERF_STATIC_BEGIN( AddDynamicMenuItemsL );
-
- TInt position = 0;
- if( aMenuPane->MenuItemExists( EAppMngr2PlaceForPluginSpecificCmds, position ) )
- {
- aMenuPane->DeleteMenuItem( EAppMngr2PlaceForPluginSpecificCmds );
-
- RPointerArray<CEikMenuPaneItem::SData> menuItems;
- CleanupResetAndDestroyPushL( menuItems );
-
- TRAPD( err, aCurrentItem.GetMenuItemsL( menuItems ) );
- if( !err )
- {
- TInt count = menuItems.Count();
- for( TInt index = 0; index < count; index++ )
- {
- aMenuPane->InsertMenuItemL( *( menuItems[ index ] ), position++ );
- aMenuPane->SetItemSpecific( menuItems[ index ]->iCommandId, ETrue );
- }
- }
-
- CleanupStack::PopAndDestroy( &menuItems );
- }
-
- FLOG_PERF_STATIC_END( AddDynamicMenuItemsL )
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2ListView::SetMiddleSoftkeyCommandL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2ListView::SetMiddleSoftkeyCommandL( TInt aResourceId, TInt aCommandId )
- {
- CEikButtonGroupContainer* cba = Cba();
- if( cba )
- {
- // remove old command from the stack if it is already added
- if( iMiddleSoftkeyCommandId )
- {
- cba->RemoveCommandFromStack( CEikButtonGroupContainer::EMiddleSoftkeyPosition,
- iMiddleSoftkeyCommandId );
- }
- HBufC* middleSoftkeyLabel = StringLoader::LoadLC( aResourceId );
- cba->AddCommandToStackL( CEikButtonGroupContainer::EMiddleSoftkeyPosition,
- aCommandId, *middleSoftkeyLabel );
- CleanupStack::PopAndDestroy( middleSoftkeyLabel );
- iMiddleSoftkeyCommandId = aCommandId;
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2ListView::CAppMngr2ListView()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2ListView::CAppMngr2ListView()
- {
- }
-
--- a/appinstaller/AppMngr2/src/appmngr2log.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,192 +0,0 @@
-/*
-* Copyright (c) 2002-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Shows installation log in a popup list dialog
-*
-*/
-
-
-#include "appmngr2log.h" // CAppMngr2Log
-#include "appmngr2logpopuplist.h" // CAppMngr2LogPopupList
-#include "appmngr2logdatabase.h" // CAppMngr2LogDatabase
-#include "appmngr2logdatabaseentry.h" // CAppMngr2LogDatabaseEntry
-#include <appmngr2.rsg> // Resource IDs
-#include <aknlists.h> // CAknDoublePopupMenuStyleListBox
-#include <StringLoader.h> // Stingloader
-
-const TInt KMaxNumberOfShownLogItems = 50;
-const TInt KInstDateTimeTextLength = 64;
-const TInt KInstActionTextLength = 64;
-const TInt KInstLogLineTextLen = KInstDateTimeTextLength +
- KInstActionTextLength + SwiUI::KMaxLogNameLength;
-
-// Date and action separated by " - "
-_LIT( KSeparator, " - " );
-_LIT( KVersionPrefix, " (" );
-_LIT( KVersionSuffix, ")" );
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Log::CAppMngr2Log()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2Log::CAppMngr2Log( CEikonEnv& aEikEnv ) : iEikEnv( aEikEnv )
- {
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Log::NewLC()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2Log* CAppMngr2Log::NewLC()
- {
- CAppMngr2Log* self = new (ELeave) CAppMngr2Log( *( CEikonEnv::Static() ) );
- CleanupStack::PushL( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Log::~CAppMngr2Log()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2Log::~CAppMngr2Log()
- {
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Log::ShowInstallationLogL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2Log::ShowInstallationLogL()
- {
- CEikFormattedCellListBox* listBox = new (ELeave) CAknDoublePopupMenuStyleListBox;
- CleanupStack::PushL( listBox );
-
- // AppMngr version of Avkon popup list with heading
- CAppMngr2LogPopupList* popupList = CAppMngr2LogPopupList::NewL(
- listBox, R_AVKON_SOFTKEYS_OK_EMPTY__OK, AknPopupLayouts::EMenuDoubleWindow );
- CleanupStack::PushL( popupList );
-
- // Set title text
- HBufC* title = StringLoader::LoadLC( R_INST_LOG_HEADER );
- popupList->SetTitleL( *title );
- CleanupStack::PopAndDestroy( title );
-
- // Set listbox properties and create item array
- listBox->ConstructL( popupList, EAknListBoxViewerFlags );
- listBox->CreateScrollBarFrameL( ETrue );
- listBox->ScrollBarFrame()->SetScrollBarVisibilityL( CEikScrollBarFrame::EOff,
- CEikScrollBarFrame::EAuto );
- MDesCArray* itemList = listBox->Model()->ItemTextArray();
- CDesCArray* itemArray = static_cast<CDesCArray*>( itemList );
- ConstructLogArrayL( itemArray );
-
- // Set empty text
- CListBoxView* view = listBox->View();
- HBufC* emptyText = StringLoader::LoadLC( R_QTN_SWINS_LOG_EMPTY );
- view->SetListEmptyTextL( *emptyText );
- CleanupStack::PopAndDestroy( emptyText );
-
- // Lauch popup list
- popupList->ExecuteLD();
-
- CleanupStack::Pop( popupList );
- CleanupStack::PopAndDestroy( listBox );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Log::ConstructLogArrayL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2Log::ConstructLogArrayL( CDesCArray* aItemArray )
- {
- CAppMngr2LogDatabase* log = CAppMngr2LogDatabase::NewL();
- CleanupStack::PushL( log );
-
- const RPointerArray<CAppMngr2LogDatabaseEntry>& logEntries = log->Entries();
-
- // Read KMaxNumberOfShownLogItems first log entries, ignore the rest
- TInt length = logEntries.Count();
- TInt diff = length - KMaxNumberOfShownLogItems;
-
- // Add entries from the latest log item (reverse order) into item array
- for( TInt index = length - 1; index >= diff && index >= 0; index-- )
- {
- if( logEntries[ index ] )
- {
- const CAppMngr2LogDatabaseEntry& entry = *( logEntries[ index ] );
-
- HBufC* buffer = HBufC::NewMaxLC( KInstLogLineTextLen );
- TPtr listboxLine = buffer->Des();
- listboxLine.Zero();
-
- // First row in double list item contains application name
- listboxLine.Append( entry.Name() );
- listboxLine.Append( KVersionPrefix );
- listboxLine.Append( entry.Version() );
- listboxLine.Append( KVersionSuffix );
- listboxLine.Append( KColumnListSeparator );
-
- // Second row contains date and action type (install/uninstall/partial)
- SetLogDateTimeColumnL( listboxLine, entry.Time() );
- listboxLine.Append( KSeparator );
- SetLogActionTextColumnL( listboxLine, entry.Action() );
-
- aItemArray->AppendL( listboxLine );
- CleanupStack::PopAndDestroy( buffer );
- }
- }
-
- CleanupStack::PopAndDestroy( log );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Log::SetLogActionTextColumnL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2Log::SetLogActionTextColumnL( TDes& aListboxLine,
- const SwiUI::TLogTaskAction& aAction )
- {
- TBuf<KInstActionTextLength> action;
- switch( aAction )
- {
- case SwiUI::ELogTaskActionInstall:
- iEikEnv.ReadResourceL( action, R_INST_INSTALL_EVENT );
- break;
- case SwiUI::ELogTaskActionUninstall:
- iEikEnv.ReadResourceL( action, R_INST_REMOVE_EVENT );
- break;
- // no action for R_INST_PARTIAL_INSTALL_EVENT, not supported
- default:
- break;
- }
- aListboxLine.Append( action );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Log::SetLogDateTimeColumnL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2Log::SetLogDateTimeColumnL( TDes& aListboxLine,
- const TTime& aDateTime )
- {
- TBuf<KInstDateTimeTextLength> tempBuf;
- TBuf<KInstDateTimeTextLength> dateFormat;
- iEikEnv.ReadResourceL( dateFormat, R_QTN_DATE_USUAL_WITH_ZERO );
- aDateTime.FormatL( tempBuf, dateFormat );
- AknTextUtils::DisplayTextLanguageSpecificNumberConversion( tempBuf );
- aListboxLine.Append( tempBuf );
- }
-
--- a/appinstaller/AppMngr2/src/appmngr2logdatabase.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,115 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Implements CAppMngr2LogDatabase class to access installation log
-*
-*/
-
-
-#include "appmngr2logdatabase.h" // CAppMngr2LogDatabase
-#include "appmngr2logdatabaseentry.h" // CAppMngr2LogDatabaseEntry
-#include <SWInstLogTaskParam.h> // KLogReadTableSQL
-
-_LIT( KLogSecureFormat, "SECURE%S" );
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CAppMngr2LogDatabase::CAppMngr2LogDatabase()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2LogDatabase::CAppMngr2LogDatabase()
- {
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2LogDatabase::NewL()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2LogDatabase* CAppMngr2LogDatabase::NewL()
- {
- CAppMngr2LogDatabase* self = new (ELeave) CAppMngr2LogDatabase;
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CAppMngr2LogDatabase::Entries()
-// -----------------------------------------------------------------------------
-//
-const RPointerArray<CAppMngr2LogDatabaseEntry>& CAppMngr2LogDatabase::Entries() const
- {
- return iEntries;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2LogDatabase::ConstructL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2LogDatabase::ConstructL()
- {
- User::LeaveIfError( iDbSession.Connect() );
-
- HBufC* formatString = HBufC::NewLC( KLogSecureFormat().Length() +
- SwiUI::KLogAccessPolicyUid.Name().Length() );
- TPtr ptr( formatString->Des() );
- TUidName uidStr = SwiUI::KLogAccessPolicyUid.Name();
- ptr.Format( KLogSecureFormat, &uidStr );
-
- TInt err = iLogDb.Open( iDbSession, SwiUI::KLogDatabaseName, *formatString );
- CleanupStack::PopAndDestroy( formatString );
- if( err == KErrNone )
- {
- RDbView view;
- User::LeaveIfError( view.Prepare( iLogDb, TDbQuery( SwiUI::KLogReadTableSQL ),
- view.EReadOnly ) );
- CleanupClosePushL( view );
-
- view.EvaluateAll();
- for( view.FirstL(); view.AtRow(); view.NextL() )
- {
- CAppMngr2LogDatabaseEntry* entry = CAppMngr2LogDatabaseEntry::NewL( view );
- CleanupStack::PushL( entry );
- iEntries.AppendL( entry ); // takes ownership
- CleanupStack::Pop( entry );
- }
-
- CleanupStack::PopAndDestroy( &view );
- }
- else
- {
- // handle "database not found" like "database is empty"
- if( err != KErrNotFound && err != KErrPathNotFound )
- {
- User::Leave( err );
- }
- }
-
- iLogDb.Close();
- iDbSession.Close();
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2LogDatabase::~CAppMngr2LogDatabase()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2LogDatabase::~CAppMngr2LogDatabase()
- {
- iEntries.ResetAndDestroy();
- iLogDb.Close();
- iDbSession.Close();
- }
-
--- a/appinstaller/AppMngr2/src/appmngr2logdatabaseentry.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Implements CAppMngr2LogDatabaseEntry to access installation log
-*
-*/
-
-
-#include "appmngr2logdatabaseentry.h" // CAppMngr2LogDatabaseEntry
-
-// Columns in SQL query KLogReadTableSQL: "SELECT time,name,vendor,version,action FROM log"
-const TInt KTimeCol = 1;
-const TInt KNameCol = 2;
-const TInt KVendorCol = 3;
-const TInt KVersionCol = 4;
-const TInt KActionCol = 5;
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CAppMngr2LogDatabaseEntry::NewL()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2LogDatabaseEntry* CAppMngr2LogDatabaseEntry::NewL( RDbView& aView )
- {
- CAppMngr2LogDatabaseEntry* self = new (ELeave) CAppMngr2LogDatabaseEntry;
- CleanupStack::PushL( self );
- self->ConstructL( aView );
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2LogDatabaseEntry::~CAppMngr2LogDatabaseEntry()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2LogDatabaseEntry::~CAppMngr2LogDatabaseEntry()
- {
- delete iName;
- delete iVersion;
- delete iVendor;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2LogDatabaseEntry::CAppMngr2LogDatabaseEntry()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2LogDatabaseEntry::CAppMngr2LogDatabaseEntry()
- {
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2LogDatabaseEntry::ConstructL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2LogDatabaseEntry::ConstructL( RDbView& aView )
- {
- aView.GetL();
- TInt64 time = aView.ColInt64( KTimeCol );
- iTime = TTime( time );
- iName = aView.ColDes( KNameCol ).AllocL();
- iVendor = aView.ColDes( KVendorCol ).AllocL();
- iVersion = aView.ColDes( KVersionCol ).AllocL();
- iAction = (SwiUI::TLogTaskAction)aView.ColUint32( KActionCol );
- }
-
--- a/appinstaller/AppMngr2/src/appmngr2logpopuplist.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Popup list used to display installation log
-*
-*/
-
-
-#include "appmngr2logpopuplist.h" // CAppMngr2LogPopupList
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CAppMngr2LogPopupList::NewL()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2LogPopupList* CAppMngr2LogPopupList::NewL(
- CEikListBox* aListBox,
- TInt aCbaResource,
- AknPopupLayouts::TAknPopupLayouts aType )
- {
- CAppMngr2LogPopupList* self = new (ELeave) CAppMngr2LogPopupList;
- CleanupStack::PushL( self );
- self->ConstructL( aListBox, aCbaResource, aType ); // calls base class
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2LogPopupList::~CAppMngr2LogPopupList()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2LogPopupList::~CAppMngr2LogPopupList()
- {
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2LogPopupList::HandlePointerEventL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2LogPopupList::HandlePointerEventL( const TPointerEvent& aPointerEvent )
- {
- if ( AknLayoutUtils::PenEnabled() )
- {
- if( Rect().Contains( aPointerEvent.iPosition ) )
- {
- // Process pointer event within dialog normally
- CAknPopupList::HandlePointerEventL( aPointerEvent );
- }
- else
- {
- // Pointer events that happen outside the dialog area close
- // CAknPopupList, hence they are passed to CEikBorderedControl.
- // Scrollbar drag, and kinetic scrolling need these events.
- CEikBorderedControl::HandlePointerEventL( aPointerEvent );
- }
- }
- }
-
--- a/appinstaller/AppMngr2/src/appmngr2model.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,839 +0,0 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Model implementation
-*
-*/
-
-
-#include "appmngr2model.h" // CAppMngr2Model
-#include "appmngr2modelobserver.h" // CAppMngr2ModelObserver
-#include "appmngr2infomaker.h" // CAppMngr2InfoMaker
-#include "appmngr2appinfomaker.h" // CAppMngr2AppInfoMaker
-#include "appmngr2packageinfomaker.h" // CAppMngr2PackageInfoMaker
-#include "appmngr2appinfoarray.h" // CAppMngr2AppInfoArray
-#include "appmngr2packageinfoarray.h" // CAppMngr2PackageInfoArray
-#include "appmngr2scanner.h" // CAppMngr2Scanner
-#include "appmngr2pluginholder.h" // CAppMngr2PluginHolder
-#include <appmngr2runtime.h> // CAppMngr2Runtime
-#include <appmngr2infobase.h> // CAppMngrInfoBase
-#include <appmngr2appinfo.h> // CAppMngr2AppInfo
-#include <appmngr2packageinfo.h> // CAppMngr2PackageInfo
-#include <appmngr2recognizedfile.h> // CAppMngr2RecognizedFile
-#include <appmngr2cleanuputils.h> // CleanupResetAndDestroyPushL
-#include <appmngr2driveutils.h> // TAppMngr2DriveUtils
-#include <appmngr2common.hrh> // generic command ids
-#include <ecom/implementationinformation.h> // CImplementationInformation
-#include <ecom/ecom.h> // REComSession
-#include <AknIconArray.h> // CAknIconArray
-#include <gulicon.h> // CGulIcon
-#include <driveinfo.h> // DriveInfo
-#include <pathinfo.h> // Pathinfo
-#include <centralrepository.h> // CRepository
-#include <SWInstallerInternalCRKeys.h> // KCRUidSWInstallerLV
-#include <AknsUtils.h> // AknsUtils
-#include <appmngr2.mbg> // icon IDs
-
-_LIT( KAppMngr2BitmapFile, "appmngr2.mif" );
-_LIT( KDriveSpec, "%c:" );
-
-
-// ======== LOCAL FUNCTIONS =========
-
-// ---------------------------------------------------------------------------
-// FindDataType()
-// ---------------------------------------------------------------------------
-//
-TBool FindDataType( const TDataType& aDataType, CDataTypeArray& aArray )
- {
- TInt count = aArray.Count();
- for( TInt index = 0; index < count; index++ )
- {
- if( aArray[ index ] == aDataType )
- {
- return ETrue;
- }
- }
- return EFalse;
- }
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Model::NewL()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2Model* CAppMngr2Model::NewL( RFs& aFsSession,
- MAppMngr2ModelObserver& aObserver )
- {
- CAppMngr2Model* self = new (ELeave) CAppMngr2Model( aFsSession, aObserver );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Model::~CAppMngr2Model()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2Model::~CAppMngr2Model()
- {
- FLOG( "CAppMngr2Model::~CAppMngr2Model" );
- iClosing = ETrue; // to disable notifications
-
- Cancel();
- delete iApaAppListNotifier;
- iInfoMakers.ResetAndDestroy();
- delete iScanner;
- delete iInstalledApps;
- delete iInstallationFiles;
- iPlugins.ResetAndDestroy(); // unloads plugin DLLs
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Model::AppInfoCount()
-// ---------------------------------------------------------------------------
-//
-TInt CAppMngr2Model::AppInfoCount() const
- {
- return iInstalledApps->Count();
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Model::AppInfo()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2AppInfo& CAppMngr2Model::AppInfo( TInt aIndex ) const
- {
- return *( reinterpret_cast< CAppMngr2AppInfo* >( iInstalledApps->At( aIndex ) ) );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Model::PackageInfoCount()
-// ---------------------------------------------------------------------------
-//
-TInt CAppMngr2Model::PackageInfoCount() const
- {
- return iInstallationFiles->Count();
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Model::PackageInfo()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2PackageInfo& CAppMngr2Model::PackageInfo( TInt aIndex ) const
- {
- return *( reinterpret_cast< CAppMngr2PackageInfo* >( iInstallationFiles->At( aIndex ) ) );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Model::LoadIconsL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2Model::LoadIconsL( CAknIconArray& aIconArray )
- {
- LoadDefaultIconsL( aIconArray );
-
- TInt pluginCount = iPlugins.Count();
- for( TInt index = 0; index < pluginCount; index++ )
- {
- iPlugins[ index ]->LoadIconsL( aIconArray );
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Model::GetIconIndexesL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2Model::GetIconIndexesL( TUid aUid, TInt& aIconIndexBase, TInt& aIconIndexMax ) const
- {
- TInt pluginCount = iPlugins.Count();
- for( TInt index = 0; index < pluginCount; index++ )
- {
- if( iPlugins[ index ]->Runtime().RuntimeUid() == aUid )
- {
- aIconIndexBase = iPlugins[ index ]->IconIndexBase();
- aIconIndexMax = iPlugins[ index ]->IconIndexMax();
- return;
- }
- }
- User::Leave( KErrNotFound );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Model::HandleCommandL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2Model::HandleCommandL( CAppMngr2InfoBase& aInfo, TInt aCommand )
- {
- FLOG( "CAppMngr2Model::HandleCommandL( %d ), IsActive() = %d", aCommand, IsActive() );
-
- if( !IsActive() )
- {
- // About to start plugin specific command. Note that when the command completes
- // we need to call CAppMngr2InfoBase::CommandComplete() function. For this (and
- // to indicate that there is a plugin specific command on-going) we take the
- // address of CAppMngr2InfoBase item into iActiveItem. Because plugin specific
- // command (like delete or uninstall) may trigger new scanning, it is necessary
- // to disable iInstalledApps and iInstallationFiles array refreshing temporarily.
- // When refreshing is disabled, the item which address is stored in iActiveItem
- // is maintained in arrays and we can call iActiveItem->CommandComplete() when
- // the command is complete. If arrays could be refreshed during plugin specific
- // command, then calling iActiveItem->CommandComplete() would panic.
- if( iObs.InstalledAppsDisplayed() )
- {
- iInstalledApps->DisableRefreshNotificationsL();
- }
- if( iObs.InstallationFilesDisplayed() )
- {
- iInstallationFiles->DisableRefreshNotificationsL();
- }
-
- iActiveItem = &aInfo;
- iActiveCommand = aCommand;
- FLOG( "CAppMngr2Model::HandleCommandL, iActiveItem = 0x%08x '%S'",
- iActiveItem, &( iActiveItem->Name() ) );
- TRAPD( err, iActiveItem->HandleCommandL( aCommand, iStatus ) );
- FLOG( "CAppMngr2Model::HandleCommandL, command started, err = %d", err );
- SetActive();
- if( err )
- {
- TRequestStatus* statusPtr = &iStatus;
- User::RequestComplete( statusPtr, err );
- }
- }
- // Ignore the command silently if already active. This may happen when user
- // cancels previous installation command. Because cancelling installation can
- // take long time, user may be able to issue new commands while model is still
- // active (i.e. previous installation command is being cancalled).
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Model::StartFetchingInstallationFilesL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2Model::StartFetchingInstallationFilesL()
- {
- FLOG( "CAppMngr2Model::StartFetchingInstallationFilesL" );
- FLOG_PERF_START( FetchInstallationFiles )
-
- // Installation files cache must be enabled until scanner has completed.
- // This ensures that scanner has time to call GetInstallationFilesL() for
- // each plugin and for each directory before the first call completes.
- // If the first call completes before scanner has made all these requets,
- // cache will be turned off and partial results are displayed.
- iInstallationFiles->IncrementCacheUseStartingNewRoundL();
-
- iScanner->StartScanningL();
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Model::StartFetchingInstalledAppsL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2Model::StartFetchingInstalledAppsL()
- {
- FLOG( "CAppMngr2Model::StartFetchingInstalledAppsL" );
- FLOG_PERF_START( FetchInstalledApps )
-
- // Additional cache increment to ensure that iInstalledApps cache is
- // used until GetInstalledAppsL() function is called for each plugin.
- // Without this, the fastest plugin might get it's list complete before
- // other IncrementCacheUseL() calls and iInstalledApps would display
- // partial list.
- iInstalledApps->IncrementCacheUseStartingNewRoundL();
-
- TInt pluginCount = iPlugins.Count();
- for( TInt pluginIndex = 0; pluginIndex < pluginCount; pluginIndex++ )
- {
- CAppMngr2AppInfoMaker* appInfoMaker = CAppMngr2AppInfoMaker::NewLC(
- iPlugins[ pluginIndex ]->Runtime(), *this, iFs );
-
- TRAPD( err, appInfoMaker->StartGettingInstalledAppsL() );
- FLOG( "CAppMngr2Model::StartFetchingInstalledAppsL, plugin 0x%08x, err = %d",
- iPlugins[ pluginIndex ]->Runtime().RuntimeUid().iUid, err );
- if( err == KErrNone )
- {
- iInfoMakers.AppendL( appInfoMaker );
- CleanupStack::Pop( appInfoMaker );
- iInstalledApps->IncrementCacheUseL();
- }
- else
- {
- CleanupStack::PopAndDestroy( appInfoMaker );
- }
- }
-
- // All GetInstalledAppsL() requests have been issued
- iInstalledApps->DecrementCacheUse();
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Model::DoCancel()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2Model::DoCancel()
- {
- FLOG( "CAppMngr2Model::DoCancel, iActiveItem = 0x%08x", iActiveItem );
-
- if( iActiveItem )
- {
- iActiveItem->CancelCommand();
- iActiveItem = NULL;
- if( !iClosing )
- {
- TRAP_IGNORE( iInstalledApps->EnableRefreshNotificationsL() );
- TRAP_IGNORE( iInstallationFiles->EnableRefreshNotificationsL() );
- }
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Model::RunL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2Model::RunL()
- {
- FLOG( "CAppMngr2Model::RunL, iActiveItem = 0x%08x, iStatus = %d",
- iActiveItem, iStatus.Int() );
-
- if( iActiveItem )
- {
- TInt completionCode = iStatus.Int();
- TRAPD( err, iActiveItem->HandleCommandResultL( completionCode ) );
- FLOG( "CAppMngr2Model::RunL, HandleCommandResultL err = %d", err );
- CAppMngr2InfoBase* itemToDelete = iActiveItem;
- iActiveItem = NULL;
-
- // Enable refresh notifications. No need to check which view is active
- // because notifications can be enabled even if they were not disabled.
- iInstalledApps->EnableRefreshNotificationsL();
- iInstallationFiles->EnableRefreshNotificationsL();
-
- // Leave on error. This displays error note (if error notes are enabled).
- User::LeaveIfError( err );
-
- // If the command is EAppMngr2CmdUninstall or EAppMngr2CmdRemove, and it
- // completed without errors, then we remove the current item immediatelty
- // from the displayed list. Otherwise it may take quite long time until
- // the item is removed from the UI, and in worst case it may not be removed
- // at all.
- // For example when an installation file is deleted, scanner notices change
- // in directories and re-scans everything. UI is updated when the scanning
- // completes. Delay between delete command and UI update (deleted item is
- // removed from UI) depends on how quickly scanning completes.
- if( completionCode == KErrNone )
- {
- if( iActiveCommand == EAppMngr2CmdUninstall && iObs.InstalledAppsDisplayed() )
- {
- iInstalledApps->ImmediateDelete( itemToDelete );
- }
- if( iActiveCommand == EAppMngr2CmdRemove && iObs.InstallationFilesDisplayed() )
- {
- iInstallationFiles->ImmediateDelete( itemToDelete );
- }
- }
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Model::RefreshInstalledApps()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2Model::RefreshInstalledApps()
- {
- FLOG( "CAppMngr2Model::RefreshInstalledApps" );
-
- TRAP_IGNORE( StartFetchingInstalledAppsL() );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Model::RefreshInstallationFiles()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2Model::RefreshInstallationFiles()
- {
- FLOG( "CAppMngr2Model::RefreshInstallationFiles" );
-
- TRAP_IGNORE( StartFetchingInstallationFilesL() );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Model::ScanningResultL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2Model::ScanningResultL( RPointerArray<CAppMngr2RecognizedFile>& aResult )
- {
- FLOG( "CAppMngr2Model::ScanningResultL, begin: aResult.Count() = %d", aResult.Count() );
-
- // Split recognition result array into smaller (plugin specific) arrays. Plugin
- // specific arrays are maintained by CAppMngr2PackageInfoMaker objects, so one
- // CAppMngr2PackageInfoMaker object is needed for each plugin that has recognized
- // files.
- TInt pluginCount = iPlugins.Count();
- for( TInt pluginIndex = 0; pluginIndex < pluginCount; pluginIndex++ )
- {
- CAppMngr2PackageInfoMaker* packageInfoMaker = CAppMngr2PackageInfoMaker::NewLC(
- iPlugins[ pluginIndex ]->Runtime(), *this, iFs );
-
- TInt fileCount = 0;
- TInt resultCount = aResult.Count();
- for( TInt resultIndex = resultCount - 1; resultIndex >= 0; resultIndex-- )
- {
- CAppMngr2RecognizedFile* recFile = aResult[ resultIndex ];
- if( FindDataType( recFile->DataType(), iPlugins[ pluginIndex ]->DataTypes() ) )
- {
- packageInfoMaker->AddFileL( recFile ); // takes ownership
- aResult.Remove( resultIndex );
- fileCount++;
- }
- }
-
- FLOG( "CAppMngr2Model::ScanningResultL, plugin 0x%08x: fileCount = %d",
- iPlugins[ pluginIndex ]->Runtime().RuntimeUid().iUid, fileCount );
- if( fileCount > 0 )
- {
- packageInfoMaker->StartGettingInstallationFilesL();
- iInfoMakers.AppendL( packageInfoMaker );
- CleanupStack::Pop( packageInfoMaker );
- iInstallationFiles->IncrementCacheUseL();
- }
- else
- {
- CleanupStack::PopAndDestroy( packageInfoMaker );
- }
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Model::ScanningComplete()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2Model::ScanningComplete()
- {
- FLOG( "CAppMngr2Model::ScanningComplete" );
-
- iInstallationFiles->DecrementCacheUse();
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Model::DirectoryChangedL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2Model::DirectoryChangedL( const TDesC& /*aChangedDir*/ )
- {
- FLOG( "CAppMngr2Model::DirectoryChangedL" );
-
- // This might be improved by scanning the changed directory only. Model
- // could record which items are got from which directory, so that it could
- // remove those items that were created from the changed directory and
- // re-scan only the changed directory. Scanner should also support
- // scanning one directory only. Now, we just scan all again.
- StartFetchingInstallationFilesL();
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Model::HandleAppListEvent()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2Model::HandleAppListEvent( TInt /*aEvent*/ )
- {
- FLOG( "CAppMngr2Model::HandleAppListEvent" );
-
- TRAP_IGNORE( StartFetchingInstalledAppsL() );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Model::NewAppsCreatedL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2Model::NewAppsCreatedL( const CAppMngr2InfoMaker& aMaker,
- RPointerArray<CAppMngr2AppInfo>& aAppInfos )
- {
- FLOG( "CAppMngr2Model::NewAppsCreatedL, plugin 0x%08x: packageCount = %d",
- aMaker.RuntimeUid().iUid, aAppInfos.Count() );
-
- iInstalledApps->AddItemsInOrderL( aAppInfos );
- iInstalledApps->DecrementCacheUse();
- CloseInfoMaker( aMaker );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Model::ErrorInCreatingAppsL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2Model::ErrorInCreatingAppsL( const CAppMngr2InfoMaker& aMaker,
-#ifdef FLOG_DEBUG_TRACES
- TInt aError )
-#else
- TInt /*aError*/ )
-#endif
- {
- FLOG( "CAppMngr2Model::ErrorInCreatingAppsL, plugin 0x%08x: error = %d",
- aMaker.RuntimeUid().iUid, aError );
-
- iInstalledApps->DecrementCacheUse();
- CloseInfoMaker( aMaker );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Model::NewPackagesCreatedL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2Model::NewPackagesCreatedL( const CAppMngr2InfoMaker& aMaker,
- RPointerArray<CAppMngr2PackageInfo>& aPackageInfos )
- {
- FLOG( "CAppMngr2Model::NewPackagesCreatedL, plugin 0x%08x: packageCount = %d",
- aMaker.RuntimeUid().iUid, aPackageInfos.Count() );
-
- iInstallationFiles->AddItemsInOrderL( aPackageInfos );
- iInstallationFiles->DecrementCacheUse();
- CloseInfoMaker( aMaker );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Model::ErrorInCreatingPackagesL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2Model::ErrorInCreatingPackagesL( const CAppMngr2InfoMaker& aMaker,
-#ifdef FLOG_DEBUG_TRACES
- TInt aError )
-#else
- TInt /*aError*/ )
-#endif
- {
- FLOG( "CAppMngr2Model::ErrorInCreatingPackagesL, plugin 0x%08x: error = %d",
- aMaker.RuntimeUid().iUid, aError );
-
- iInstallationFiles->DecrementCacheUse();
- CloseInfoMaker( aMaker );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Model::ArrayContentChanged()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2Model::ArrayContentChanged( CAppMngr2InfoArray* aArray,
- TInt aMoreRefreshesExpected )
- {
- if( aArray == iInstalledApps )
- {
- FLOG_PERF_STOP( FetchInstalledApps )
- FLOG_PERF_PRINT( FetchInstalledApps )
- iObs.InstalledAppsChanged( aMoreRefreshesExpected );
- }
- if( aArray == iInstallationFiles )
- {
- FLOG_PERF_STOP( FetchInstallationFiles )
- FLOG_PERF_PRINT( FetchInstallationFiles )
- iObs.InstallationFilesChanged( aMoreRefreshesExpected );
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Model::CAppMngr2Model()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2Model::CAppMngr2Model( RFs& aFsSession, MAppMngr2ModelObserver& aObserver )
- : CActive( CActive::EPriorityStandard ), iFs( aFsSession ), iObs( aObserver )
- {
- CActiveScheduler::Add( this );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Model::ConstructL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2Model::ConstructL()
- {
- FLOG( "CAppMngr2Model::ConstructL" );
- iClosing = EFalse;
-
- iInstalledApps = CAppMngr2AppInfoArray::NewL( *this );
- iInstallationFiles = CAppMngr2PackageInfoArray::NewL( *this );
-
- FLOG_PERF_STATIC_BEGIN( LoadPluginsL )
- LoadPluginsL();
- FLOG_PERF_STATIC_END( LoadPluginsL )
- FLOG_PERF_STATIC_BEGIN( CreateScannerL )
- CreateScannerL();
- FLOG_PERF_STATIC_END( CreateScannerL )
- FLOG_PERF_STATIC_BEGIN( FetchDataTypesL )
- FetchDataTypesL();
- FLOG_PERF_STATIC_END( FetchDataTypesL )
-
- // start monitoring changes in applications list
- iApaAppListNotifier = CApaAppListNotifier::NewL( this, CActive::EPriorityStandard );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Model::LoadDefaultIconsL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2Model::LoadDefaultIconsL( CAknIconArray& aIconArray )
- {
- FLOG( "CAppMngr2Model::LoadDefaultIconsL" );
-
- MAknsSkinInstance* skinInstance = AknsUtils::SkinInstance();
- HBufC* bitmapFile = TAppMngr2DriveUtils::FullBitmapFileNameLC( KAppMngr2BitmapFile, iFs );
- CFbsBitmap* bitmap = NULL;
- CFbsBitmap* mask = NULL;
- CGulIcon* icon = NULL;
-
- // Note that icons can be graphically-skinned (icon graphic defined in theme)
- // or color-skinned (icon colors change depending on background color defined
- // in theme). Normal icons are graphically-skinned and indicator icons are
- // color-skinned. AknsUtils::CreateGulIconL() creates graphically-skinned icons,
- // and AknsUtils::CreateColorIconL() creates color-skinned icons. Hence both
- // of these functions are used below.
-
- // Icon 0: EAppMngr2IconIndex_QgnIndiAmInstMmcAdd
- // Indicator icon for items stored/installed in memory card
- AknsUtils::CreateColorIconLC( skinInstance,
- KAknsIIDQgnIndiMmcAdd, KAknsIIDQsnIconColors, EAknsCIQsnIconColorsCG13,
- bitmap, mask, *bitmapFile,
- EMbmAppmngr2Qgn_indi_mmc_add,
- EMbmAppmngr2Qgn_indi_mmc_add_mask,
- KRgbBlack );
- icon = CGulIcon::NewL( bitmap, mask );
- icon->SetBitmapsOwnedExternally( EFalse );
- CleanupStack::Pop( 2 ); // bitmap and mask, order is varying
- CleanupStack::PushL( icon );
- aIconArray.AppendL( icon );
- CleanupStack::Pop( icon );
-
- // Icon 1: EAppMngr2IconIndex_QgnIndiFmgrMsAdd
- // Indicator icon for items stored/installed in mass memory
- AknsUtils::CreateColorIconLC( skinInstance,
- KAknsIIDQgnIndiFmgrMsAdd, KAknsIIDQsnIconColors, EAknsCIQsnIconColorsCG13,
- bitmap, mask, *bitmapFile,
- EMbmAppmngr2Qgn_indi_fmgr_ms_add,
- EMbmAppmngr2Qgn_indi_fmgr_ms_add_mask,
- KRgbBlack );
- icon = CGulIcon::NewL( bitmap, mask );
- icon->SetBitmapsOwnedExternally( EFalse );
- CleanupStack::Pop( 2 ); // bitmap and mask, order may vary
- CleanupStack::PushL( icon );
- aIconArray.AppendL( icon );
- CleanupStack::Pop( icon );
-
- // Icon 2: EAppMngr2IconIndex_QgnPropUnknown
- // List icon for items that are not known
- icon = AknsUtils::CreateGulIconL( skinInstance,
- KAknsIIDQgnPropUnknown, *bitmapFile,
- EMbmAppmngr2Qgn_prop_unknown,
- EMbmAppmngr2Qgn_prop_unknown_mask );
- CleanupStack::PushL( icon );
- aIconArray.AppendL( icon );
- CleanupStack::Pop( icon );
-
- CleanupStack::PopAndDestroy( bitmapFile );
-
- // Additionally some unknown indicator icon could be defined.
- // Now, if some plugin gives incorrect index fox indicator icon,
- // then no indicator icon is displayed.
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Model::LoadPluginsL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2Model::LoadPluginsL()
- {
- FLOG( "CAppMngr2Model::LoadPluginsL" );
-
- RImplInfoPtrArray implInfoArray;
- CleanupResetAndDestroyPushL( implInfoArray );
- REComSession::ListImplementationsL( KAppMngr2PluginInterface, implInfoArray );
-
- CAppMngr2PluginHolder* pluginHolder = NULL;
- CImplementationInformation* implInfo;
- TInt count = implInfoArray.Count();
- for( TInt index = 0; index < count; index++ )
- {
- implInfo = implInfoArray[ index ];
- FLOG( "CAppMngr2Model::LoadPluginsL, loading %S", &( implInfo->DisplayName() ) );
- FLOG_PERF_STATIC_BEGIN( DoLoadPluginL );
- TRAPD( err, pluginHolder = DoLoadPluginL( implInfo->ImplementationUid() ) );
- FLOG_PERF_STATIC_END( DoLoadPluginL );
- FLOG( "CAppMngr2Model::DoLoadPluginL( 0x%08x ), err = %d",
- implInfo->ImplementationUid().iUid, err );
- if( err == KErrNone )
- {
- CleanupStack::PushL( pluginHolder );
- iPlugins.AppendL( pluginHolder );
- CleanupStack::Pop( pluginHolder );
- }
- }
-
- CleanupStack::PopAndDestroy( &implInfoArray );
- REComSession::FinalClose();
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Model::DoLoadPluginL()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2PluginHolder* CAppMngr2Model::DoLoadPluginL( TUid aUid )
- {
- CAppMngr2Runtime* plugin = CAppMngr2Runtime::NewL( aUid, *this );
- CleanupStack::PushL( plugin );
- CAppMngr2PluginHolder* holder = new (ELeave) CAppMngr2PluginHolder( plugin );
- CleanupStack::Pop( plugin );
- return holder;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Model::CreateScannerL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2Model::CreateScannerL()
- {
- iScanner = CAppMngr2Scanner::NewL( *this );
-
- TDriveList driveList;
- TInt driveCount = 0;
- TInt err = DriveInfo::GetUserVisibleDrives( iFs, driveList, driveCount );
- User::LeaveIfError( err );
-
- // Default directories
- TFileName path;
- TInt driveListLength = driveList.Length();
- for( TInt driveNumber = 0; driveNumber < driveListLength; driveNumber++ )
- {
- if( driveList[ driveNumber ] )
- {
- TUint driveStatus = 0;
- err = DriveInfo::GetDriveStatus( iFs, driveNumber, driveStatus );
- User::LeaveIfError( err );
-
- if( !( driveStatus & DriveInfo::EDriveRemote ) )
- {
- err = PathInfo::GetFullPath( path, driveNumber, PathInfo::EInstallsPath );
- User::LeaveIfError( err );
- iScanner->AddDirectoryL( path );
- }
- }
- }
-
- // Additional plug-in specific directories
- TInt pluginCount = iPlugins.Count();
- for( TInt pluginIndex = 0; pluginIndex < pluginCount; pluginIndex++ )
- {
- RPointerArray<HBufC> dirsToScan;
- CleanupResetAndDestroyPushL( dirsToScan );
- TRAPD( err, iPlugins[ pluginIndex ]->Runtime().GetAdditionalDirsToScanL( iFs,
- dirsToScan ) );
- if( err == KErrNone )
- {
- TInt dirCount = dirsToScan.Count();
- for( TInt dirIndex = 0; dirIndex < dirCount; dirIndex++ )
- {
- TPtrC dirName = *( dirsToScan[ dirIndex ] );
- iScanner->AddDirectoryL( dirName );
- }
- }
- CleanupStack::PopAndDestroy( &dirsToScan );
- }
-
- // KSWInstallerPackageFolder directory if defined in CenRep
- CRepository* cenrep = CRepository::NewLC( KCRUidSWInstallerLV );
- err = cenrep->Get( KSWInstallerPackageFolder, path );
- CleanupStack::PopAndDestroy( cenrep );
- if( err == KErrNone )
- {
- TParsePtr parse( path );
- if( parse.DrivePresent() )
- {
- iScanner->AddDirectoryL( path );
- }
- else if( parse.PathPresent() )
- {
- TDriveList driveList;
- TInt driveCount = 0;
- err = DriveInfo::GetUserVisibleDrives( iFs, driveList, driveCount );
- if( err == KErrNone )
- {
- TInt driveListLength = driveList.Length();
- for( TInt driveNumber = 0; driveNumber < driveListLength; driveNumber++ )
- {
- if( driveList[ driveNumber ] )
- {
- TUint driveStatus = 0;
- err = DriveInfo::GetDriveStatus( iFs, driveNumber, driveStatus );
- if( err == KErrNone && !( driveStatus & DriveInfo::EDriveRemote ) )
- {
- TChar driveLetter;
- if( RFs::DriveToChar( driveNumber, driveLetter ) == KErrNone )
- {
- TFileName fullPath;
- fullPath.Format( KDriveSpec, static_cast<TUint>( driveLetter ) );
- fullPath.Append( path );
- iScanner->AddDirectoryL( fullPath );
- }
- }
- }
- }
- }
- }
- else
- {
- // ignore empty values, and values that does not contain valid path
- }
- }
- else
- {
- if( err != KErrNotFound )
- {
- User::Leave( err );
- }
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Model::FetchDataTypesL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2Model::FetchDataTypesL()
- {
- FLOG( "CAppMngr2Model::FetchDataTypesL" );
-
- TInt pluginCount = iPlugins.Count();
- for( TInt pluginIndex = 0; pluginIndex < pluginCount; pluginIndex++ )
- {
- FLOG( "CAppMngr2Model::FetchDataTypesL: pluginIndex = %d", pluginIndex );
- TRAP_IGNORE( iPlugins[ pluginIndex ]->FetchDataTypesL() );
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Model::CloseInfoMaker()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2Model::CloseInfoMaker( const CAppMngr2InfoMaker& aMaker )
- {
- const CAppMngr2InfoMaker* makerToClose = &aMaker;
- for( TInt index = iInfoMakers.Count() - 1; index >= 0; index-- )
- {
- CAppMngr2InfoMaker* maker = iInfoMakers[ index ];
- if( maker == makerToClose )
- {
- iInfoMakers.Remove( index );
- delete maker;
- break;
- }
- }
- }
-
--- a/appinstaller/AppMngr2/src/appmngr2packageinfoarray.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: PackageInfo array used in Model
-*
-*/
-
-
-#include "appmngr2packageinfoarray.h" // CAppMngr2PackageInfoArray
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CAppMngr2PackageInfoArray::NewL()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2PackageInfoArray* CAppMngr2PackageInfoArray::NewL(
- MAppMngr2InfoArrayObserver& aObserver )
- {
- CAppMngr2PackageInfoArray* self = new (ELeave) CAppMngr2PackageInfoArray( aObserver );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2PackageInfoArray::~CAppMngr2PackageInfoArray()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2PackageInfoArray::~CAppMngr2PackageInfoArray()
- {
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2PackageInfoArray::AddItemsInOrderL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2PackageInfoArray::AddItemsInOrderL(
- RPointerArray<CAppMngr2PackageInfo>& aPackageInfos )
- {
- // move items from aAppInfos to iArray using alphabetical order
- TInt count = aPackageInfos.Count();
- for( TInt index = count - 1; index >= 0; index-- )
- {
- AddItemInOrderL( aPackageInfos[ index ] ); // takes ownership
- aPackageInfos.Remove( index );
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2PackageInfoArray::CAppMngr2PackageInfoArray()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2PackageInfoArray::CAppMngr2PackageInfoArray(
- MAppMngr2InfoArrayObserver& aObserver ) : CAppMngr2InfoArray( aObserver )
- {
- }
-
--- a/appinstaller/AppMngr2/src/appmngr2packageinfomaker.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,139 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Creates PackageInfo objects asynchronously
-*
-*/
-
-
-#include "appmngr2packageinfomaker.h" // CAppMngr2PackageInfoMaker
-#include "appmngr2infomakerobserver.h" // MAppMngr2InfoMakerObserver
-#include <appmngr2runtime.h> // CAppMngr2Runtime
-#include <appmngr2packageinfo.h> // CAppMngr2PackageInfo
-#include <appmngr2recognizedfile.h> // CAppMngr2RecognizedFile
-#include <appmngr2debugutils.h> // FLOG macros
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CAppMngr2PackageInfoMaker::NewL()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2PackageInfoMaker* CAppMngr2PackageInfoMaker::NewL( CAppMngr2Runtime& aPlugin,
- MAppMngr2InfoMakerObserver& aObserver, RFs& aFs )
- {
- CAppMngr2PackageInfoMaker* self = CAppMngr2PackageInfoMaker::NewLC( aPlugin,
- aObserver, aFs );
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2PackageInfoMaker::NewLC()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2PackageInfoMaker* CAppMngr2PackageInfoMaker::NewLC( CAppMngr2Runtime& aPlugin,
- MAppMngr2InfoMakerObserver& aObserver, RFs& aFs )
- {
- CAppMngr2PackageInfoMaker* self = new (ELeave) CAppMngr2PackageInfoMaker( aPlugin,
- aObserver, aFs );
- CleanupStack::PushL( self );
- self->ConstructL();
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2PackageInfoMaker::~CAppMngr2PackageInfoMaker()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2PackageInfoMaker::~CAppMngr2PackageInfoMaker()
- {
- Cancel();
- iFiles.ResetAndDestroy();
- iPackageInfos.ResetAndDestroy();
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2PackageInfoMaker::DoCancel()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2PackageInfoMaker::DoCancel()
- {
- iPlugin.CancelGetInstallationFiles();
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2PackageInfoMaker::RunL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2PackageInfoMaker::RunL()
- {
- if( iStatus.Int() == KErrNone )
- {
- iObserver.NewPackagesCreatedL( *this, iPackageInfos );
- }
- else
- {
- iObserver.ErrorInCreatingPackagesL( *this, iStatus.Int() );
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2PackageInfoMaker::AddFileL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2PackageInfoMaker::AddFileL( CAppMngr2RecognizedFile* aFile )
- {
- iFiles.AppendL( aFile );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2PackageInfoMaker::StartGettingInstallationFilesL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2PackageInfoMaker::StartGettingInstallationFilesL()
- {
- if( !IsActive() )
- {
- TRAPD( err, iPlugin.GetInstallationFilesL( iPackageInfos, iFiles,
- iFs, iStatus ) );
- SetActive();
-
- // Complete immediately if there was some error
- if( err != KErrNone )
- {
- TRequestStatus* status = &iStatus;
- User::RequestComplete( status, err );
- }
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2PackageInfoMaker::CAppMngr2PackageInfoMaker()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2PackageInfoMaker::CAppMngr2PackageInfoMaker( CAppMngr2Runtime& aPlugin,
- MAppMngr2InfoMakerObserver& aObserver, RFs& aFs ) :
- CAppMngr2InfoMaker( aPlugin , aObserver, aFs )
- {
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2PackageInfoMaker::ConstructL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2PackageInfoMaker::ConstructL()
- {
- }
-
--- a/appinstaller/AppMngr2/src/appmngr2packagescontainer.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,164 +0,0 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Container for list view that shows installation files
-*
-*/
-
-
-#include "appmngr2packagescontainer.h" // CAppMngr2PackagesContainer
-#include "appmngr2packagesview.h" // CAppMngr2PackagesView
-#include "appmngr2model.h" // CAppMngr2Model
-#include <appmngr2packageinfo.h> // CAppMngr2PackageInfo
-#include <appmngr2common.hrh> // Command IDs
-#include <eiktxlbm.h> // CTextListBoxModel
-#include <aknlists.h> // CAknDoubleLargeStyleListBox
-#include <appmngr2.rsg> // Resource IDs
-#include <csxhelp/am.hlp.hrh> // Help contexts
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CAppMngr2PackagesContainer::NewL()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2PackagesContainer* CAppMngr2PackagesContainer::NewL( CAppMngr2PackagesView& aView )
- {
- CAppMngr2PackagesContainer* self = new (ELeave) CAppMngr2PackagesContainer( aView );
- CleanupStack::PushL( self );
- self->ConstructL( aView );
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2PackagesContainer::~CAppMngr2PackagesContainer
-// ---------------------------------------------------------------------------
-//
-CAppMngr2PackagesContainer::~CAppMngr2PackagesContainer()
- {
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2PackagesContainer::OfferKeyEventL()
-// ---------------------------------------------------------------------------
-//
-TKeyResponse CAppMngr2PackagesContainer::OfferKeyEventL(
- const TKeyEvent& aKeyEvent, TEventCode aType )
- {
- TKeyResponse response = EKeyWasNotConsumed;
- switch( aKeyEvent.iCode )
- {
- case EKeyOK: // Middle softkey
- HandleGenericCommandL( EAppMngr2CmdInstall );
- break;
-
- case EKeyBackspace:
- HandleGenericCommandL( EAppMngr2CmdRemove );
- break;
-
- default:
- response = CAppMngr2ListContainer::OfferKeyEventL( aKeyEvent, aType );
- break;
- }
- return response;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2PackagesContainer::GetHelpContext()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2PackagesContainer::GetHelpContext( TCoeHelpContext& aContext ) const
- {
- const TUid KAppMngr2AppUid = { KAppMngr2AppUidValue };
- aContext.iMajor = KAppMngr2AppUid;
- aContext.iContext = KAM_HLP_NOT_INSTALLED;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2PackagesContainer::HandleListBoxEventL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2PackagesContainer::HandleListBoxEventL( CEikListBox* aListBox,
- TListBoxEvent aEventType )
- {
- switch( aEventType )
- {
- case EEventItemSingleClicked:
- case EEventEnterKeyPressed:
- HandleGenericCommandL( EAppMngr2CmdInstall );
- break;
-
- default:
- CAppMngr2ListContainer::HandleListBoxEventL( aListBox, aEventType );
- break;
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2PackagesContainer::CurrentItem()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2InfoBase& CAppMngr2PackagesContainer::CurrentItem() const
- {
- // panics if list box is empty
- return Model().PackageInfo( iListBox->CurrentItemIndex() );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2PackagesContainer::ListEmptyTextResourceId()
-// ---------------------------------------------------------------------------
-//
-TInt CAppMngr2PackagesContainer::ListEmptyTextResourceId() const
- {
- return R_AM_PACKAGES_VIEW_EMPTY;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2PackagesContainer::ItemCount()
-// ---------------------------------------------------------------------------
-//
-TInt CAppMngr2PackagesContainer::ItemCount() const
- {
- return Model().PackageInfoCount();
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2PackagesContainer::ItemInfo()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2InfoBase& CAppMngr2PackagesContainer::ItemInfo( TInt aIndex )
- {
- return Model().PackageInfo( aIndex );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2PackagesContainer::CAppMngr2PackagesContainer
-// ---------------------------------------------------------------------------
-//
-CAppMngr2PackagesContainer::CAppMngr2PackagesContainer( CAppMngr2PackagesView& aView )
- : CAppMngr2ListContainer( aView )
- {
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2PackagesContainer::ConstructL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2PackagesContainer::ConstructL( CAppMngr2PackagesView& aView )
- {
- SetMopParent( &aView );
- CAppMngr2ListContainer::ConstructL( aView.ClientRect() );
- }
-
--- a/appinstaller/AppMngr2/src/appmngr2packagesview.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,170 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: List view that shows installation files
-*
-*/
-
-
-#include "appmngr2packagesview.h" // CAppMngr2PackagesView
-#include "appmngr2packagescontainer.h" // CAppMngr2PackagesContainer
-#include <appmngr2infobase.h> // CAppMngr2InfoBase
-#include <appmngr2debugutils.h> // FLOG macros
-#include <eikmenub.h> // CEikMenuPane
-#include <akntitle.h> // CAknTitlePane
-#include <StringLoader.h> // StringLoader
-#include <appmngr2common.hrh> // Generic command IDs
-#include <avkon.hrh> // EAknSoftkeyOk
-#include <appmngr2.rsg> // Resource IDs
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CAppMngr2PackagesView::NewL()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2PackagesView* CAppMngr2PackagesView::NewL()
- {
- CAppMngr2PackagesView* self = new (ELeave) CAppMngr2PackagesView;
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2PackagesView::~CAppMngr2PackagesView
-// ---------------------------------------------------------------------------
-//
-CAppMngr2PackagesView::~CAppMngr2PackagesView()
- {
- FLOG( "CAppMngr2PackagesView::~CAppMngr2PackagesView" );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2PackagesView::Id()
-// ---------------------------------------------------------------------------
-//
-TUid CAppMngr2PackagesView::Id() const
- {
- return KPackagesViewId;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2PackagesView::HandleCommandL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2PackagesView::HandleCommandL( TInt aCommand )
- {
- FLOG( "CAppMngr2PackagesView::HandleCommandL( %d )", aCommand );
- switch( aCommand )
- {
- case EAknSoftkeyOk:
- iContainer->HandleGenericCommandL( EAppMngr2CmdInstall );
- break;
-
- default:
- CAppMngr2ListView::HandleCommandL( aCommand );
- break;
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2PackagesView::DynInitMenuPaneL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2PackagesView::DynInitMenuPaneL( TInt aResourceId,
- CEikMenuPane* aMenuPane )
- {
- CAppMngr2ListView::DynInitMenuPaneL( aResourceId, aMenuPane );
-
- if( aResourceId == R_APPMNGR2_PACKAGES_MENU )
- {
- if( iContainer == NULL || iContainer->IsListEmpty() )
- {
- aMenuPane->SetItemDimmed( EAppMngr2CmdInstall, ETrue );
- aMenuPane->SetItemDimmed( EAppMngr2CmdViewDetails, ETrue );
- aMenuPane->SetItemDimmed( EAppMngr2CmdRemove, ETrue );
- }
- else
- {
- CAppMngr2InfoBase& currentItem = iContainer->CurrentItem();
- if( !currentItem.SupportsGenericCommand( EAppMngr2CmdInstall ) )
- {
- aMenuPane->SetItemDimmed( EAppMngr2CmdInstall, ETrue );
- }
- if( !currentItem.SupportsGenericCommand( EAppMngr2CmdViewDetails ) )
- {
- aMenuPane->SetItemDimmed( EAppMngr2CmdViewDetails, ETrue );
- }
- if( !currentItem.SupportsGenericCommand( EAppMngr2CmdRemove ) )
- {
- aMenuPane->SetItemDimmed( EAppMngr2CmdRemove, ETrue );
- }
- AddDynamicMenuItemsL( currentItem, aMenuPane );
- }
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2PackagesView::CreateContainerL()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2ListContainer* CAppMngr2PackagesView::CreateContainerL()
- {
- return CAppMngr2PackagesContainer::NewL( *this );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2PackagesView::SetDefaultMiddleSoftkeyCommandL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2PackagesView::SetDefaultMiddleSoftkeyCommandL()
- {
- if( iContainer && !iContainer->IsListEmpty() )
- {
- SetMiddleSoftkeyCommandL( R_AM_MSK_INSTALL, EAppMngr2CmdInstall );
- }
- // else the list is empty, and also the MSK is empty
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2PackagesView::SetTitleL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2PackagesView::SetTitleL( CAknTitlePane& aTitlePane )
- {
- HBufC* title = StringLoader::LoadLC( R_AM_TITLE_NOT_INSTALLED );
- aTitlePane.SetTextL( *title );
- CleanupStack::PopAndDestroy( title );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2PackagesView::CAppMngr2PackagesView()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2PackagesView::CAppMngr2PackagesView() : CAppMngr2ListView()
- {
- FLOG( "CAppMngr2PackagesView::CAppMngr2PackagesView" );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2PackagesView::ConstructL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2PackagesView::ConstructL()
- {
- CAppMngr2ListView::ConstructL( R_APPMNGR2_PACKAGES_VIEW );
- }
-
--- a/appinstaller/AppMngr2/src/appmngr2pluginholder.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,129 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Container class to hold Runtime plugin and related data
-*
-*/
-
-
-#include "appmngr2pluginholder.h" // CAppMngr2PluginHolder
-#include <appmngr2runtime.h> // CAppMngr2Runtime
-#include <appmngr2debugutils.h> // FLOG macros
-#include <AknIconArray.h> // CAknIconArray
-
-const TInt KIconGranularity = 8;
-const TInt KDataTypeGranularity = 8;
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CAppMngr2PluginHolder::CAppMngr2PluginHolder()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2PluginHolder::CAppMngr2PluginHolder( CAppMngr2Runtime* aRuntime )
- {
- iRuntime = aRuntime;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2PluginHolder::~CAppMngr2PluginHolder()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2PluginHolder::~CAppMngr2PluginHolder()
- {
- delete iRuntime;
- delete iDataTypes;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2PluginHolder::
-// ---------------------------------------------------------------------------
-//
-CAppMngr2Runtime& CAppMngr2PluginHolder::Runtime()
- {
- return *iRuntime;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2PluginHolder::
-// ---------------------------------------------------------------------------
-//
-CDataTypeArray& CAppMngr2PluginHolder::DataTypes()
- {
- return *iDataTypes;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2PluginHolder::
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2PluginHolder::LoadIconsL( CAknIconArray& aIconArray )
- {
- CAknIconArray* iconArray = new ( ELeave ) CAknIconArray( KIconGranularity );
- CleanupStack::PushL( iconArray );
-
- // Use temporary array to load icons from plugin. This prevents
- // plugin from messing icons that other plugins have loaded.
- TRAP_IGNORE( iRuntime->LoadIconsL( *iconArray ) );
- iIconIndexBase = aIconArray.Count();
- iIconCount = iconArray->Count();
-
- // Insert icons in reverse order so that they can be removed
- // from the iconArray while inserting in aIconArray. Icons must
- // be inserted in the right position to maintain icon indexes
- // (the same icon order as in iconArray).
- TInt insertPosition = iIconIndexBase;
- for( TInt index = iIconCount - 1; index >= 0; index-- )
- {
- // copies CGulIcon from iconArray to aIconArray
- aIconArray.InsertL( insertPosition, iconArray->At( index ) );
- iconArray->Delete( index );
- }
- CleanupStack::PopAndDestroy( iconArray );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2PluginHolder::
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2PluginHolder::FetchDataTypesL()
- {
- if( iDataTypes )
- {
- delete iDataTypes;
- iDataTypes = NULL;
- }
- iDataTypes = new (ELeave) CDataTypeArray( KDataTypeGranularity );
- iRuntime->GetSupportedDataTypesL( *iDataTypes );
- FLOG( "CAppMngr2PluginHolder::FetchDataTypesL: iDataTypes->Count() = %d",
- iDataTypes->Count() );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2PluginHolder::
-// ---------------------------------------------------------------------------
-//
-TInt CAppMngr2PluginHolder::IconIndexBase()
- {
- return iIconIndexBase;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2PluginHolder::
-// ---------------------------------------------------------------------------
-//
-TInt CAppMngr2PluginHolder::IconIndexMax()
- {
- return iIconIndexBase + iIconCount;
- }
--- a/appinstaller/AppMngr2/src/appmngr2scanner.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,260 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Directory scanner
-*
-*/
-
-
-#include "appmngr2scanner.h" // CAppMngr2Scanner
-#include "appmngr2scannerdir.h" // CAppMngr2ScannerDir
-#include "appmngr2scannerobserver.h" // MAppMngr2ScannerObserver
-#include "appmngr2filerecognizer.h" // CAppMngr2FileRecognizer
-#include <appmngr2debugutils.h> // FLOG macros
-#include <driveinfo.h> // DriveInfo
-
-
-// ======== LOCAL FUNCTIONS =========
-
-static TBool EqualF( const CAppMngr2ScannerDir& p, const CAppMngr2ScannerDir& q )
- {
- return ( p.DirName().CompareF( q.DirName() ) == 0 );
- }
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Scanner::NewL()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2Scanner* CAppMngr2Scanner::NewL( MAppMngr2ScannerObserver& aObs )
- {
- CAppMngr2Scanner* self = new (ELeave) CAppMngr2Scanner( aObs );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Scanner::~CAppMngr2Scanner()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2Scanner::~CAppMngr2Scanner()
- {
- Cancel();
- iDirs.ResetAndDestroy();
- delete iRecognizer;
- iFs.Close();
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Scanner::DoCancel()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2Scanner::DoCancel()
- {
- switch( iState )
- {
- case EScanning:
- iRecognizer->CancelRecognizeFiles();
- iState = EIdle;
- break;
-
- default:
- break;
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Scanner::RunL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2Scanner::RunL()
- {
- switch( iState )
- {
- case EScanning:
- HandleScanningResultsL();
- break;
-
- default:
- break;
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Scanner::RunError()
-// ---------------------------------------------------------------------------
-//
-TInt CAppMngr2Scanner::RunError( TInt aError )
- {
- FLOG( "Scanning error %d", aError );
-
- // RunL() leaved, scanner is not active any more, inform observer
- iObserver.ScanningComplete();
- iState = EIdle;
- return aError;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Scanner::DirectoryChangedL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2Scanner::DirectoryChangedL( const TDesC& aDirName )
- {
- iObserver.DirectoryChangedL( aDirName );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Scanner::AddDirectoryL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2Scanner::AddDirectoryL( const TDesC& aPath )
- {
- __ASSERT_ALWAYS( iState == EIdle, User::Leave( KErrInUse ) );
-
- // ignore invalid directory names, CAppMngr2ScannerDir checks it
- CAppMngr2ScannerDir* dir = NULL;
- TRAPD( err, dir = CAppMngr2ScannerDir::NewL( iFs, aPath, *this ) );
- if( err == KErrNone )
- {
- CleanupStack::PushL( dir );
-
- // add to scanning directories, ignore duplicates
- TIdentityRelation<CAppMngr2ScannerDir> match( EqualF );
- TInt findResult = iDirs.Find( dir, match );
- if( findResult == KErrNotFound )
- {
- FLOG( "Scanner: dir %S added", &( dir->DirName() ) );
- iDirs.AppendL( dir );
- CleanupStack::Pop( dir );
- }
- else
- {
- CleanupStack::PopAndDestroy( dir );
- }
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Scanner::StartScanningL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2Scanner::StartScanningL()
- {
- FLOG( "CAppMngr2Scanner::StartScanningL()" );
-
- // cancel possible previous, still on-going scanning
- if( IsActive() )
- {
- FLOG( "CAppMngr2Scanner::StartScanningL(): previous scan cancelled" );
- Cancel();
- iObserver.ScanningComplete();
- }
-
- // find first valid directory name to scan
- iScanningIndex = -1;
- NextValidScanningIndex();
-
- // start scanning
- FLOG( "Scanning %d: %S", iScanningIndex, &( iDirs[ iScanningIndex ]->DirName() ) );
- iDirs[ iScanningIndex ]->StopWatchingChanges();
- iRecognizer->RecognizeFilesL( iDirs[ iScanningIndex ]->DirName(), iStatus );
- iState = EScanning;
- SetActive();
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Scanner::CAppMngr2Scanner()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2Scanner::CAppMngr2Scanner( MAppMngr2ScannerObserver& aObs ) :
- CActive( CActive::EPriorityStandard ), iObserver( aObs )
- {
- CActiveScheduler::Add( this );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Scanner::ConstructL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2Scanner::ConstructL()
- {
- User::LeaveIfError( iFs.Connect() );
- iRecognizer = CAppMngr2FileRecognizer::NewL( iFs );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Scanner::NextValidScanningIndex()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2Scanner::NextValidScanningIndex()
- {
- TInt err;
- TEntry entry;
- TInt dirCount = iDirs.Count();
-
- iScanningIndex++;
- while( iScanningIndex < dirCount )
- {
- err = iFs.Entry( iDirs[ iScanningIndex ]->DirName(), entry );
- if( err == KErrNone )
- {
- break;
- }
- FLOG( "Scanner skips %d: %S, err = %d", iScanningIndex,
- &( iDirs[ iScanningIndex ]->DirName() ), err );
- iScanningIndex++;
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2Scanner::HandleScanningResultsL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2Scanner::HandleScanningResultsL()
- {
- FLOG( "Scanning result: %d, for %S, %d files", iStatus.Int(),
- &( iDirs[ iScanningIndex ]->DirName() ), iRecognizer->Results().Count() );
-
- // start monitoring changes in this directory
- iDirs[ iScanningIndex ]->StartWatchingChanges();
-
- // report results if there were no errors
- if( iStatus.Int() == KErrNone )
- {
- TRAP_IGNORE( iObserver.ScanningResultL( iRecognizer->Results() ) );
- }
-
- // get next valid directory name
- NextValidScanningIndex();
-
- // start file recognizer, or notify that all done
- if( iScanningIndex < iDirs.Count() )
- {
- FLOG( "Scanning %d: %S", iScanningIndex,
- &( iDirs[ iScanningIndex ]->DirName() ) );
- iDirs[ iScanningIndex ]->StopWatchingChanges();
- iRecognizer->RecognizeFilesL( iDirs[ iScanningIndex ]->DirName(), iStatus );
- SetActive();
- }
- else
- {
- FLOG( "Scanning complete" );
- iObserver.ScanningComplete();
- iState = EIdle;
- }
- }
-
--- a/appinstaller/AppMngr2/src/appmngr2scannerdir.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,159 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Directory scanner
-*
-*/
-
-
-#include "appmngr2scannerdir.h" // CAppMngr2ScannerDir
-#include "appmngr2scannerdirobserver.h" // MAppMngr2ScannerDirObserver
-#include <driveinfo.h> // DriveInfo
-
-_LIT( KBackslash, "\\" );
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CAppMngr2ScannerDir::NewLC()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2ScannerDir* CAppMngr2ScannerDir::NewL( RFs& aFs, const TDesC& aDir,
- MAppMngr2ScannerDirObserver& aObs )
- {
- CAppMngr2ScannerDir* self = new (ELeave) CAppMngr2ScannerDir( aFs, aObs );
- CleanupStack::PushL( self );
- self->ConstructL( aDir );
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2ScannerDir::~CAppMngr2ScannerDir()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2ScannerDir::~CAppMngr2ScannerDir()
- {
- Cancel();
- delete iDir;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2ScannerDir::DirName()
-// ---------------------------------------------------------------------------
-//
-const TDesC& CAppMngr2ScannerDir::DirName() const
- {
- if( iDir )
- {
- return *iDir;
- }
- return KNullDesC;
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2ScannerDir::StartWatchingChanges()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2ScannerDir::StartWatchingChanges()
- {
- if( !IsActive() )
- {
- iFs.NotifyChange( ENotifyEntry, iStatus, *iDir );
- SetActive();
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2ScannerDir::StopWatchingChanges()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2ScannerDir::StopWatchingChanges()
- {
- if( IsActive() )
- {
- Cancel();
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2ScannerDir::DoCancel()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2ScannerDir::DoCancel()
- {
- iFs.NotifyChangeCancel();
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2ScannerDir::RunL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2ScannerDir::RunL()
- {
- // Status is KErrCancel when StopWatchingChanges() has been called
- if( iStatus.Int() == KErrNone )
- {
- iFs.NotifyChange( ENotifyEntry, iStatus, *iDir );
- SetActive();
-
- iObserver.DirectoryChangedL( *iDir );
- }
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2ScannerDir::CAppMngr2ScannerDir()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2ScannerDir::CAppMngr2ScannerDir( RFs& aFs, MAppMngr2ScannerDirObserver& aObs ) :
- CActive( CActive::EPriorityStandard ), iObserver( aObs ), iFs( aFs )
- {
- CActiveScheduler::Add( this );
- }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2ScannerDir::ConstructL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2ScannerDir::ConstructL( const TDesC& aDir )
- {
- // Check if aDir has trailing backslash, add it if it does not have.
- // RFs::NotifyChange() and also RApaLsSession::RecognizeFilesL() that scanner
- // uses require trailing backslashes in directory names, hence create iDir so
- // that is always ends with trailing backslash.
- if( aDir.Right( 1 ).Compare( KBackslash ) == 0 )
- {
- // RFs::IsValidName() does not accept trailing backslashes, so check the
- // the directory name first without trailing backslash
- TPtrC dirWithoutTrailingString( aDir.Left( aDir.Length() - 1 ) );
- if( !iFs.IsValidName( dirWithoutTrailingString ) )
- {
- User::LeaveIfError( KErrBadName );
- }
- iDir = aDir.AllocL();
- }
- else
- {
- // No trailing backslash, check the dir name and then add the backslash
- if( !iFs.IsValidName( aDir ) )
- {
- User::LeaveIfError( KErrBadName );
- }
- iDir = HBufC::NewL( aDir.Length() + 1 );
- TPtr dirPtr = iDir->Des();
- dirPtr.Copy( aDir );
- dirPtr.Append( KBackslash );
- }
- }
-
--- a/appinstaller/AppinstUi/BWINS/CustomMIDletInstallU.DEF Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
- ?CreateL@CustomMIDletInstallFactory@@SAPAVMCustomMIDletInstall@@XZ @ 1 NONAME ; class MCustomMIDletInstall * CustomMIDletInstallFactory::CreateL(void)
-
--- a/appinstaller/AppinstUi/BWINS/SWInstCliU.DEF Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-EXPORTS
- ??0RSWInstLauncher@SwiUI@@QAE@XZ @ 1 NONAME ; SwiUI::RSWInstLauncher::RSWInstLauncher(void)
- ?CancelAsyncRequest@RSWInstLauncher@SwiUI@@QAEHH@Z @ 2 NONAME ; int SwiUI::RSWInstLauncher::CancelAsyncRequest(int)
- ?Close@RSWInstLauncher@SwiUI@@QAEXXZ @ 3 NONAME ; void SwiUI::RSWInstLauncher::Close(void)
- ?Connect@RSWInstLauncher@SwiUI@@QAEHXZ @ 4 NONAME ; int SwiUI::RSWInstLauncher::Connect(void)
- ?GetLastErrorL@RSWInstLauncher@SwiUI@@QAEPAVCErrDetails@2@XZ @ 5 NONAME ; class SwiUI::CErrDetails * SwiUI::RSWInstLauncher::GetLastErrorL(void)
- ?Install@RSWInstLauncher@SwiUI@@QAEHAAVRFile@@@Z @ 6 NONAME ; int SwiUI::RSWInstLauncher::Install(class RFile &)
- ?Install@RSWInstLauncher@SwiUI@@QAEHAAVRFile@@ABVTDesC8@@@Z @ 7 NONAME ; int SwiUI::RSWInstLauncher::Install(class RFile &, class TDesC8 const &)
- ?Install@RSWInstLauncher@SwiUI@@QAEHABVTDesC16@@@Z @ 8 NONAME ; int SwiUI::RSWInstLauncher::Install(class TDesC16 const &)
- ?Install@RSWInstLauncher@SwiUI@@QAEHABVTDesC16@@ABVTDesC8@@@Z @ 9 NONAME ; int SwiUI::RSWInstLauncher::Install(class TDesC16 const &, class TDesC8 const &)
- ?Install@RSWInstLauncher@SwiUI@@QAEXAAVTRequestStatus@@AAVRFile@@@Z @ 10 NONAME ; void SwiUI::RSWInstLauncher::Install(class TRequestStatus &, class RFile &)
- ?Install@RSWInstLauncher@SwiUI@@QAEXAAVTRequestStatus@@AAVRFile@@ABVTDesC8@@@Z @ 11 NONAME ; void SwiUI::RSWInstLauncher::Install(class TRequestStatus &, class RFile &, class TDesC8 const &)
- ?Install@RSWInstLauncher@SwiUI@@QAEXAAVTRequestStatus@@ABVTDesC16@@@Z @ 12 NONAME ; void SwiUI::RSWInstLauncher::Install(class TRequestStatus &, class TDesC16 const &)
- ?Install@RSWInstLauncher@SwiUI@@QAEXAAVTRequestStatus@@ABVTDesC16@@ABVTDesC8@@@Z @ 13 NONAME ; void SwiUI::RSWInstLauncher::Install(class TRequestStatus &, class TDesC16 const &, class TDesC8 const &)
- ?SilentInstall@RSWInstLauncher@SwiUI@@QAEHAAVRFile@@ABVTDesC8@@1@Z @ 14 NONAME ; int SwiUI::RSWInstLauncher::SilentInstall(class RFile &, class TDesC8 const &, class TDesC8 const &)
- ?SilentInstall@RSWInstLauncher@SwiUI@@QAEHAAVRFile@@ABVTDesC8@@@Z @ 15 NONAME ; int SwiUI::RSWInstLauncher::SilentInstall(class RFile &, class TDesC8 const &)
- ?SilentInstall@RSWInstLauncher@SwiUI@@QAEHABVTDesC16@@ABVTDesC8@@1@Z @ 16 NONAME ; int SwiUI::RSWInstLauncher::SilentInstall(class TDesC16 const &, class TDesC8 const &, class TDesC8 const &)
- ?SilentInstall@RSWInstLauncher@SwiUI@@QAEHABVTDesC16@@ABVTDesC8@@@Z @ 17 NONAME ; int SwiUI::RSWInstLauncher::SilentInstall(class TDesC16 const &, class TDesC8 const &)
- ?SilentInstall@RSWInstLauncher@SwiUI@@QAEXAAVTRequestStatus@@AAVRFile@@ABVTDesC8@@2@Z @ 18 NONAME ; void SwiUI::RSWInstLauncher::SilentInstall(class TRequestStatus &, class RFile &, class TDesC8 const &, class TDesC8 const &)
- ?SilentInstall@RSWInstLauncher@SwiUI@@QAEXAAVTRequestStatus@@AAVRFile@@ABVTDesC8@@@Z @ 19 NONAME ; void SwiUI::RSWInstLauncher::SilentInstall(class TRequestStatus &, class RFile &, class TDesC8 const &)
- ?SilentInstall@RSWInstLauncher@SwiUI@@QAEXAAVTRequestStatus@@ABVTDesC16@@ABVTDesC8@@2@Z @ 20 NONAME ; void SwiUI::RSWInstLauncher::SilentInstall(class TRequestStatus &, class TDesC16 const &, class TDesC8 const &, class TDesC8 const &)
- ?SilentInstall@RSWInstLauncher@SwiUI@@QAEXAAVTRequestStatus@@ABVTDesC16@@ABVTDesC8@@@Z @ 21 NONAME ; void SwiUI::RSWInstLauncher::SilentInstall(class TRequestStatus &, class TDesC16 const &, class TDesC8 const &)
- ?SilentUninstall@RSWInstLauncher@SwiUI@@QAEHABVTUid@@ABVTDesC8@@1@Z @ 22 NONAME ; int SwiUI::RSWInstLauncher::SilentUninstall(class TUid const &, class TDesC8 const &, class TDesC8 const &)
- ?SilentUninstall@RSWInstLauncher@SwiUI@@QAEXAAVTRequestStatus@@ABVTUid@@ABVTDesC8@@2@Z @ 23 NONAME ; void SwiUI::RSWInstLauncher::SilentUninstall(class TRequestStatus &, class TUid const &, class TDesC8 const &, class TDesC8 const &)
- ?Uninstall@RSWInstLauncher@SwiUI@@QAEHABVTUid@@ABVTDesC8@@@Z @ 24 NONAME ; int SwiUI::RSWInstLauncher::Uninstall(class TUid const &, class TDesC8 const &)
- ?Uninstall@RSWInstLauncher@SwiUI@@QAEXAAVTRequestStatus@@ABVTUid@@ABVTDesC8@@@Z @ 25 NONAME ; void SwiUI::RSWInstLauncher::Uninstall(class TRequestStatus &, class TUid const &, class TDesC8 const &)
- ?CustomUninstall@RSWInstLauncher@SwiUI@@QAEHW4TOperation@2@ABVTDesC8@@1@Z @ 26 NONAME ; int SwiUI::RSWInstLauncher::CustomUninstall(enum SwiUI::TOperation, class TDesC8 const &, class TDesC8 const &)
- ?CustomUninstall@RSWInstLauncher@SwiUI@@QAEXAAVTRequestStatus@@W4TOperation@2@ABVTDesC8@@2@Z @ 27 NONAME ; void SwiUI::RSWInstLauncher::CustomUninstall(class TRequestStatus &, enum SwiUI::TOperation, class TDesC8 const &, class TDesC8 const &)
- ??0RSWInstSilentLauncher@SwiUI@@QAE@XZ @ 28 NONAME ; SwiUI::RSWInstSilentLauncher::RSWInstSilentLauncher(void)
- ?Connect@RSWInstSilentLauncher@SwiUI@@QAEHXZ @ 29 NONAME ; int SwiUI::RSWInstSilentLauncher::Connect(void)
- ?SilentCustomUninstall@RSWInstLauncher@SwiUI@@QAEHW4TOperation@2@ABVTDesC8@@11@Z @ 30 NONAME ; int SwiUI::RSWInstLauncher::SilentCustomUninstall(enum SwiUI::TOperation, class TDesC8 const &, class TDesC8 const &, class TDesC8 const &)
- ?SilentCustomUninstall@RSWInstLauncher@SwiUI@@QAEXAAVTRequestStatus@@W4TOperation@2@ABVTDesC8@@22@Z @ 31 NONAME ; void SwiUI::RSWInstLauncher::SilentCustomUninstall(class TRequestStatus &, enum SwiUI::TOperation, class TDesC8 const &, class TDesC8 const &, class TDesC8 const &)
-
--- a/appinstaller/AppinstUi/BWINS/SWInstCommonUIU.DEF Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-EXPORTS
- ??0CCUICertificateInfo@CommonUI@SwiUI@@IAE@XZ @ 1 NONAME ; SwiUI::CommonUI::CCUICertificateInfo::CCUICertificateInfo(void)
- ??1CCUICancelTimer@CommonUI@SwiUI@@UAE@XZ @ 2 NONAME ; SwiUI::CommonUI::CCUICancelTimer::~CCUICancelTimer(void)
- ??1CCUICertificateInfo@CommonUI@SwiUI@@UAE@XZ @ 3 NONAME ; SwiUI::CommonUI::CCUICertificateInfo::~CCUICertificateInfo(void)
- ??1CCUIDetailsDialog@CommonUI@SwiUI@@UAE@XZ @ 4 NONAME ; SwiUI::CommonUI::CCUIDetailsDialog::~CCUIDetailsDialog(void)
- ??1CCUIDialogs@CommonUI@SwiUI@@UAE@XZ @ 5 NONAME ; SwiUI::CommonUI::CCUIDialogs::~CCUIDialogs(void)
- ?BaseConstructL@CCUICertificateInfo@CommonUI@SwiUI@@IAEXABVCX509Certificate@@@Z @ 6 NONAME ; void SwiUI::CommonUI::CCUICertificateInfo::BaseConstructL(class CX509Certificate const &)
- ?CloseProgressDialogL@CCUIDialogs@CommonUI@SwiUI@@QAEXXZ @ 7 NONAME ; void SwiUI::CommonUI::CCUIDialogs::CloseProgressDialogL(void)
- ?CloseWaitDialogL@CCUIDialogs@CommonUI@SwiUI@@QAEXXZ @ 8 NONAME ; void SwiUI::CommonUI::CCUIDialogs::CloseWaitDialogL(void)
- ?ConstructVersionStringLC@CUIUtils@CommonUI@SwiUI@@SAPAVHBufC16@@HHH@Z @ 9 NONAME ; class HBufC16 * SwiUI::CommonUI::CUIUtils::ConstructVersionStringLC(int, int, int)
- ?ExecuteLD@CCUIDetailsDialog@CommonUI@SwiUI@@QAEHAAVMCUIInfoIterator@23@@Z @ 10 NONAME ; int SwiUI::CommonUI::CCUIDetailsDialog::ExecuteLD(class SwiUI::CommonUI::MCUIInfoIterator &)
- ?ExecuteLD@CCUIDetailsDialog@CommonUI@SwiUI@@QAEHAAVMCUIInfoIterator@23@AAVRFile@@@Z @ 11 NONAME ; int SwiUI::CommonUI::CCUIDetailsDialog::ExecuteLD(class SwiUI::CommonUI::MCUIInfoIterator &, class RFile &)
- ?ExecuteLD@CCUIDetailsDialog@CommonUI@SwiUI@@QAEHAAVMCUIInfoIterator@23@ABV?$RPointerArray@VCCUICertificateInfo@CommonUI@SwiUI@@@@@Z @ 12 NONAME ; int SwiUI::CommonUI::CCUIDetailsDialog::ExecuteLD(class SwiUI::CommonUI::MCUIInfoIterator &, class RPointerArray<class SwiUI::CommonUI::CCUICertificateInfo> const &)
- ?ExecuteLD@CCUIDetailsDialog@CommonUI@SwiUI@@QAEHAAVMCUIInfoIterator@23@ABV?$RPointerArray@VCCUICertificateInfo@CommonUI@SwiUI@@@@AAVRFile@@@Z @ 13 NONAME ; int SwiUI::CommonUI::CCUIDetailsDialog::ExecuteLD(class SwiUI::CommonUI::MCUIInfoIterator &, class RPointerArray<class SwiUI::CommonUI::CCUICertificateInfo> const &, class RFile &)
- ?LaunchHelpL@CCUIDialogs@CommonUI@SwiUI@@QAEXABVTDesC16@@@Z @ 14 NONAME ; void SwiUI::CommonUI::CCUIDialogs::LaunchHelpL(class TDesC16 const &)
- ?LoadResourceFileL@CUIUtils@CommonUI@SwiUI@@SAHABVTDesC16@@PAVCCoeEnv@@@Z @ 15 NONAME ; int SwiUI::CommonUI::CUIUtils::LoadResourceFileL(class TDesC16 const &, class CCoeEnv *)
- ?NewL@CCUICancelTimer@CommonUI@SwiUI@@SAPAV123@PAVMCUICancellable@23@@Z @ 16 NONAME ; class SwiUI::CommonUI::CCUICancelTimer * SwiUI::CommonUI::CCUICancelTimer::NewL(class SwiUI::CommonUI::MCUICancellable *)
- ?NewL@CCUICertificateInfo@CommonUI@SwiUI@@SAPAV123@ABVCX509Certificate@@@Z @ 17 NONAME ; class SwiUI::CommonUI::CCUICertificateInfo * SwiUI::CommonUI::CCUICertificateInfo::NewL(class CX509Certificate const &)
- ?NewL@CCUIDetailsDialog@CommonUI@SwiUI@@SAPAV123@H@Z @ 18 NONAME ; class SwiUI::CommonUI::CCUIDetailsDialog * SwiUI::CommonUI::CCUIDetailsDialog::NewL(int)
- ?NewL@CCUIDetailsDialog@CommonUI@SwiUI@@SAPAV123@XZ @ 19 NONAME ; class SwiUI::CommonUI::CCUIDetailsDialog * SwiUI::CommonUI::CCUIDetailsDialog::NewL(void)
- ?NewL@CCUIDialogs@CommonUI@SwiUI@@SAPAV123@XZ @ 20 NONAME ; class SwiUI::CommonUI::CCUIDialogs * SwiUI::CommonUI::CCUIDialogs::NewL(void)
- ?ResetProgressDialogL@CCUIDialogs@CommonUI@SwiUI@@QAEXXZ @ 21 NONAME ; void SwiUI::CommonUI::CCUIDialogs::ResetProgressDialogL(void)
- ?SetProgressDialogFinalValueL@CCUIDialogs@CommonUI@SwiUI@@QAEXH@Z @ 22 NONAME ; void SwiUI::CommonUI::CCUIDialogs::SetProgressDialogFinalValueL(int)
- ?ShowConfirmationQueryL@CCUIDialogs@CommonUI@SwiUI@@QBEHABVTDesC16@@H@Z @ 23 NONAME ; int SwiUI::CommonUI::CCUIDialogs::ShowConfirmationQueryL(class TDesC16 const &, int) const
- ?ShowConfirmationQueryL@CCUIDialogs@CommonUI@SwiUI@@QBEHHH@Z @ 24 NONAME ; int SwiUI::CommonUI::CCUIDialogs::ShowConfirmationQueryL(int, int) const
- ?ShowDelayedWaitDialogL@CCUIDialogs@CommonUI@SwiUI@@QAEXHPAVMCUIWaitDialogCallback@23@H@Z @ 25 NONAME ; void SwiUI::CommonUI::CCUIDialogs::ShowDelayedWaitDialogL(int, class SwiUI::CommonUI::MCUIWaitDialogCallback *, int)
- ?ShowDriveSelectionDialogL@CCUIDialogs@CommonUI@SwiUI@@QAEH_JABV?$RArray@VTDriveUnit@@@@ABV?$RArray@_J@@AAH@Z @ 26 NONAME ; int SwiUI::CommonUI::CCUIDialogs::ShowDriveSelectionDialogL(long long, class RArray<class TDriveUnit> const &, class RArray<long long> const &, int &)
- ?ShowErrorNoteL@CCUIDialogs@CommonUI@SwiUI@@QBEXABVTDesC16@@@Z @ 27 NONAME ; void SwiUI::CommonUI::CCUIDialogs::ShowErrorNoteL(class TDesC16 const &) const
- ?ShowErrorNoteL@CCUIDialogs@CommonUI@SwiUI@@QBEXH@Z @ 28 NONAME ; void SwiUI::CommonUI::CCUIDialogs::ShowErrorNoteL(int) const
- ?ShowProgressDialogL@CCUIDialogs@CommonUI@SwiUI@@QAEXABVTDesC16@@PAVMCUIWaitDialogCallback@23@H@Z @ 29 NONAME ; void SwiUI::CommonUI::CCUIDialogs::ShowProgressDialogL(class TDesC16 const &, class SwiUI::CommonUI::MCUIWaitDialogCallback *, int)
- ?ShowProgressDialogL@CCUIDialogs@CommonUI@SwiUI@@QAEXHPAVMCUIWaitDialogCallback@23@H@Z @ 30 NONAME ; void SwiUI::CommonUI::CCUIDialogs::ShowProgressDialogL(int, class SwiUI::CommonUI::MCUIWaitDialogCallback *, int)
- ?ShowSecurityWarningDialogL@CCUIDialogs@CommonUI@SwiUI@@QAEHXZ @ 31 NONAME ; int SwiUI::CommonUI::CCUIDialogs::ShowSecurityWarningDialogL(void)
- ?ShowWaitDialogL@CCUIDialogs@CommonUI@SwiUI@@QAEXHPAVMCUIWaitDialogCallback@23@H@Z @ 32 NONAME ; void SwiUI::CommonUI::CCUIDialogs::ShowWaitDialogL(int, class SwiUI::CommonUI::MCUIWaitDialogCallback *, int)
- ?StartCancelling@CCUICancelTimer@CommonUI@SwiUI@@QAEXXZ @ 33 NONAME ; void SwiUI::CommonUI::CCUICancelTimer::StartCancelling(void)
- ?UpdateProgressDialogValueL@CCUIDialogs@CommonUI@SwiUI@@QAEXH@Z @ 34 NONAME ; void SwiUI::CommonUI::CCUIDialogs::UpdateProgressDialogValueL(int)
- ?X509Certificate@CCUICertificateInfo@CommonUI@SwiUI@@QAEPAVCX509Certificate@@XZ @ 35 NONAME ; class CX509Certificate * SwiUI::CommonUI::CCUICertificateInfo::X509Certificate(void)
- ?ShowInstallationCompleteQueryL@CCUIDialogs@CommonUI@SwiUI@@QBEHABVMDesC16Array@@0ABVCAknIconArray@@AAH@Z @ 36 NONAME ; int SwiUI::CommonUI::CCUIDialogs::ShowInstallationCompleteQueryL(class MDesC16Array const &, class MDesC16Array const &, class CAknIconArray const &, int &) const
- ?ShowUninstallConfirmationForSeveralAppsL@CCUIDialogs@CommonUI@SwiUI@@QBEHABVTDesC16@@ABVMDesC16Array@@H@Z @ 37 NONAME ; int SwiUI::CommonUI::CCUIDialogs::ShowUninstallConfirmationForSeveralAppsL(class TDesC16 const &, class MDesC16Array const &, int) const
- ?NewL@CCUIDetailsDialog@CommonUI@SwiUI@@SAPAV123@HH@Z @ 38 NONAME ; class SwiUI::CommonUI::CCUIDetailsDialog * SwiUI::CommonUI::CCUIDetailsDialog::NewL(int, int)
- ?NewL@CCUIDetailsDialog@CommonUI@SwiUI@@SAPAV123@HW4TCUIDetailsHeader@123@@Z @ 39 NONAME ; class SwiUI::CommonUI::CCUIDetailsDialog * SwiUI::CommonUI::CCUIDetailsDialog::NewL(int, enum SwiUI::CommonUI::CCUIDetailsDialog::TCUIDetailsHeader)
-
--- a/appinstaller/AppinstUi/BWINS/SWInstTaskManagerU.DEF Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
-EXPORTS
- ??1CTaskManager@SwiUI@@UAE@XZ @ 1 NONAME ; SwiUI::CTaskManager::~CTaskManager(void)
- ?AddTaskL@CTaskManager@SwiUI@@QAEXPAVCTask@2@@Z @ 2 NONAME ; void SwiUI::CTaskManager::AddTaskL(class SwiUI::CTask *)
- ?CommitL@CTaskManager@SwiUI@@QAEXXZ @ 3 NONAME ; void SwiUI::CTaskManager::CommitL(void)
- ?ExecutePendingTasksL@CTaskManager@SwiUI@@QAEXXZ @ 4 NONAME ; void SwiUI::CTaskManager::ExecutePendingTasksL(void)
- ?ExecuteRecoveryTasksL@CTaskManager@SwiUI@@QAEXXZ @ 5 NONAME ; void SwiUI::CTaskManager::ExecuteRecoveryTasksL(void)
- ?FlushTasks@CTaskManager@SwiUI@@QAEXXZ @ 6 NONAME ; void SwiUI::CTaskManager::FlushTasks(void)
- ?NewL@CTaskManager@SwiUI@@SAPAV12@XZ @ 7 NONAME ; class SwiUI::CTaskManager * SwiUI::CTaskManager::NewL(void)
- ?RemoveTaskL@CTaskManager@SwiUI@@QAEXPAVCTask@2@@Z @ 8 NONAME ; void SwiUI::CTaskManager::RemoveTaskL(class SwiUI::CTask *)
-
--- a/appinstaller/AppinstUi/BWINS/apageneratorU.def Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,4 +0,0 @@
-EXPORTS
- ?Generate@CAppArcFilesGenerator@@QAEXAAVTRequestStatus@@@Z @ 1 NONAME ; void CAppArcFilesGenerator::Generate(class TRequestStatus &)
- ?NewL@CAppArcFilesGenerator@@SAPAV1@AAVRFs@@ABVCMIDletSuiteAttributes@@VTUid@@ABV?$RArray@VTUid@@@@KABVTDesC16@@VTChar@@@Z @ 2 NONAME ; class CAppArcFilesGenerator * CAppArcFilesGenerator::NewL(class RFs &, class CMIDletSuiteAttributes const &, class TUid, class RArray<class TUid> const &, unsigned long, class TDesC16 const &, class TChar)
-
--- a/appinstaller/AppinstUi/BWINS/apageneratorextu.def Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-EXPORTS
- ?Generate@CAppArcFilesGenerator@@QAEXAAVTRequestStatus@@@Z @ 1 NONAME ; public: void __thiscall CAppArcFilesGenerator::Generate(class TRequestStatus &)
- ?NewL@CAppArcFilesGenerator@@SAPAV1@AAVRFs@@ABVCMIDletSuiteAttributes@@VTUid@@ABV?$RArray@VTUid@@@@KABVTDesC16@@VTChar@@@Z @ 2 NONAME ; public: static class CAppArcFilesGenerator * __cdecl CAppArcFilesGenerator::NewL(class RFs &,class CMIDletSuiteAttributes const &,class TUid,class RArray<class TUid> const &,unsigned long,class TDesC16 const &,class TChar)
- ?AddAifDataTypeL@CAppArcFilesGenerator@@QAEXHABVTDataTypeWithPriority@@@Z @ 3 NONAME ; void CAppArcFilesGenerator::AddAifDataTypeL(int, class TDataTypeWithPriority const &)
- ?SetAifCapabilityL@CAppArcFilesGenerator@@QAEXHABVTApaAppCapability@@@Z @ 4 NONAME ; void CAppArcFilesGenerator::SetAifCapabilityL(int, class TApaAppCapability const &)
- ?DataTypeCount@CAppArcMidletAttributes@@QAEHXZ @ 5 NONAME ; public: int __thiscall CAppArcMidletAttributes::DataTypeCount(void)
- ?GetCapability@CAppArcMidletAttributes@@QAEPAVTApaAppCapability@@XZ @ 6 NONAME ; public: class TApaAppCapability * __thiscall CAppArcMidletAttributes::GetCapability(void)
- ?GetDataType@CAppArcMidletAttributes@@QAEAAVTDataTypeWithPriority@@H@Z @ 7 NONAME ; public: class TDataTypeWithPriority & __thiscall CAppArcMidletAttributes::GetDataType(int)
- ?SetDataTypeWithPriorityL@CAppArcMidletAttributes@@QAEXVTDataTypeWithPriority@@@Z @ 8 NONAME ; public: void __thiscall CAppArcMidletAttributes::SetDataTypeWithPriorityL(class TDataTypeWithPriority)
- ?SetCapabilityL@CAppArcMidletAttributes@@QAEXVTApaAppCapability@@@Z @ 9 NONAME ; public: void __thiscall CAppArcMidletAttributes::SetCapabilityL(class TApaAppCapability)
- ?NewL@CAppArcMidletAttributes@@SAPAV1@XZ @ 10 NONAME ; public: static class CAppArcMidletAttributes * __cdecl CAppArcMidletAttributes::NewL(void)
-
--- a/appinstaller/AppinstUi/Client/Inc/SWInstCommon.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains common internal declarations for both the
-* Installer server and client.
-*
-*/
-
-
-#ifndef SWINSTCOMMON_H
-#define SWINSTCOMMON_H
-
-// INCLUDES
-#include <e32std.h>
-#include "SWInstPrivateUid.h"
-
-namespace SwiUI
-{
-
-// CONSTANTS
-_LIT( KSWInstSvrName, "SWInstSvr" );
-const TUid KUidSWInstSvr = { KSWInstSvrUid };
-
-// DATA TYPES
-
-/**
-* Reasons for client panic.
-*
-* @since 3.0
-*/
-enum TSWInstPanic
- {
- ESWInstPanicBadRequest,
- ESWInstPanicBadDescriptor,
- ESWInstPanicBadHandle
- };
-
-const TUint KFileHandleIpcSlot = 0;
-const TUint KFileSrvSessionIpcSlot = 1;
-const TUint KFileNameIpcSlot = 0;
-const TUint KMimeIpcSlot = 1;
-const TUint KParamsIpcSlot = 2;
-const TUint KOptionsIpcSlot = 3;
-const TUint KUidIpcSlot = 0;
-const TUint KRequestIpcSlot = 3;
-const TUint KCommonParamsIpcSlot = 2;
-const TUint KOperationIpcSlot = 0;
-
-}
-
-
-#endif // SWINSTCOMMON_H
--- a/appinstaller/AppinstUi/Client/Inc/SWInstDebug.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file defines logging macros for SW Installer UIs.
-*
-*/
-
-
-#ifndef SWINSTDEBUG_H
-#define SWINSTDEBUG_H
-
-
-#ifdef _DEBUG
-
-#include <e32std.h>
-
-#define FLOG(a) { FPrint(a); }
-#define FLOG_1(a,b) { FPrint(a,b); }
-#define FLOG_2(a,b,c) { FPrint(a,b,c); }
-#define FLOG_3(a,b,c,d) { FPrint(a,b,c,d); }
-
-#include <flogger.h>
-
-_LIT(KLogFile,"SWInst.txt");
-_LIT(KLogDir,"SWInst");
-
-inline void FPrint( const TRefByValue<const TDesC> aFmt, ... )
- {
- VA_LIST list;
- VA_START( list, aFmt );
- RFileLogger::WriteFormat( KLogDir, KLogFile, EFileLoggingModeAppend, aFmt, list );
- }
-
-// ===========================================================================
-#else // // No loggings
-// ===========================================================================
-#define FLOG(a)
-#define FLOG_1(a,b)
-#define FLOG_2(a,b,c)
-#define FLOG_3(a,b,c,d)
-
-#endif // _DEBUG
-
-#endif // SWINSTDEBUG_H
-
-// End of File
--- a/appinstaller/AppinstUi/Client/Inc/SWInstallerPrivateCRKeys.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#ifndef SWINSTALLERPRIVATECRKEYS_H
-#define SWINSTALLERPRIVATECRKEYS_H
-
-#include <SWInstallerInternalCRKeys.h>
-
-#endif
-
--- a/appinstaller/AppinstUi/Client/Src/SWInstLauncher.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,590 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains the implementation of RSWInstLauncher
-* class member functions.
-*
-*/
-
-
-// INCLUDE FILES
-#include <f32file.h>
-#include <eikenv.h>
-
-#include "SWInstApi.h"
-#include "SWInstDefs.h"
-#include "SWInstCommon.h"
-
-using namespace SwiUI;
-
-// ================= MEMBER FUNCTIONS =======================
-
-// -----------------------------------------------------------------------------
-// RSWInstLauncher::RSWInstLauncher
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C RSWInstLauncher::RSWInstLauncher()
- : iConnected( EFalse )
- {
- }
-
-// -----------------------------------------------------------------------------
-// RSWInstLauncher::Connect
-// Creates connection to the server.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt RSWInstLauncher::Connect()
- {
- TInt result( KErrNone );
-
- if ( !iConnected )
- {
- if ( CEikonEnv::Static() )
- {
- TRAP( result, ConnectChainedAppL( KUidSWInstSvr ) );
- }
- else
- {
- TRAP( result, REikAppServiceBase::ConnectNewAppL( KUidSWInstSvr ) );
- }
-
- if ( result == KErrNone )
- {
- iConnected = ETrue;
- }
- }
-
- // Return the result code
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// RSWInstLauncher::Close
-// Closes the connection to the server.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void RSWInstLauncher::Close()
- {
- if ( iConnected )
- {
- RAknAppServiceBase::Close();
- iConnected = EFalse;
- }
- }
-
-// -----------------------------------------------------------------------------
-// RSWInstLauncher::Install
-// Launches the software install procedure.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt RSWInstLauncher::Install( const TDesC& aFileName )
- {
- __ASSERT_ALWAYS( iConnected, PanicClient( ESWInstPanicBadHandle ) );
-
- TIpcArgs args;
- args.Set( KFileNameIpcSlot, &aFileName );
- return SendReceive( ERequestInstall, args );
- }
-
-// -----------------------------------------------------------------------------
-// RSWInstLauncher::Install
-// Launches the software install procedure.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void RSWInstLauncher::Install( TRequestStatus& aReqStatus,
- const TDesC& aFileName )
- {
- __ASSERT_ALWAYS( iConnected, PanicClient( ESWInstPanicBadHandle ) );
-
- TIpcArgs args;
- args.Set( KFileNameIpcSlot, &aFileName );
- SendReceive( ERequestInstall, args, aReqStatus );
- }
-
-// -----------------------------------------------------------------------------
-// RSWInstLauncher::Install
-// Launches the software install procedure.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt RSWInstLauncher::Install( RFile& aFile )
- {
- __ASSERT_ALWAYS( iConnected, PanicClient( ESWInstPanicBadHandle ) );
-
- TIpcArgs args;
- aFile.TransferToServer( args, KFileHandleIpcSlot, KFileSrvSessionIpcSlot );
- return SendReceive( ERequestInstallHandle, args );
- }
-
-// -----------------------------------------------------------------------------
-// RSWInstLauncher::Install
-// Launches the software install procedure.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void RSWInstLauncher::Install( TRequestStatus& aReqStatus,
- RFile& aFile )
- {
- __ASSERT_ALWAYS( iConnected, PanicClient( ESWInstPanicBadHandle ) );
-
- TIpcArgs args;
- aFile.TransferToServer( args, KFileHandleIpcSlot, KFileSrvSessionIpcSlot );
- SendReceive( ERequestInstallHandle, args, aReqStatus );
- }
-
-// -----------------------------------------------------------------------------
-// RSWInstLauncher::Install
-// Launches the software install procedure.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt RSWInstLauncher::Install( const TDesC& aFileName,
- const TDesC8& aParams )
- {
- __ASSERT_ALWAYS( iConnected, PanicClient( ESWInstPanicBadHandle ) );
-
- TIpcArgs args;
- args.Set( KFileNameIpcSlot, &aFileName );
- args.Set( KParamsIpcSlot, &aParams );
-
- return SendReceive( ERequestInstallParams, args );
- }
-
-// -----------------------------------------------------------------------------
-// RSWInstLauncher::Install
-// Launches the software install procedure.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void RSWInstLauncher::Install( TRequestStatus& aReqStatus,
- const TDesC& aFileName,
- const TDesC8& aParams )
- {
- __ASSERT_ALWAYS( iConnected, PanicClient( ESWInstPanicBadHandle ) );
-
- TIpcArgs args;
- args.Set( KFileNameIpcSlot, &aFileName );
- args.Set( KParamsIpcSlot, &aParams );
-
- SendReceive( ERequestInstallParams, args, aReqStatus );
- }
-
-// -----------------------------------------------------------------------------
-// RSWInstLauncher::Install
-// Launches the software install procedure.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt RSWInstLauncher::Install( RFile& aFile,
- const TDesC8& aParams )
- {
- __ASSERT_ALWAYS( iConnected, PanicClient( ESWInstPanicBadHandle ) );
-
- TIpcArgs args;
- aFile.TransferToServer( args, KFileHandleIpcSlot, KFileSrvSessionIpcSlot );
- args.Set( KParamsIpcSlot, &aParams );
-
- return SendReceive( ERequestInstallParamsHandle, args );
- }
-
-// -----------------------------------------------------------------------------
-// RSWInstLauncher::Install
-// Launches the software install procedure.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void RSWInstLauncher::Install( TRequestStatus& aReqStatus,
- RFile& aFile,
- const TDesC8& aParams )
- {
- __ASSERT_ALWAYS( iConnected, PanicClient( ESWInstPanicBadHandle ) );
-
- TIpcArgs args;
- aFile.TransferToServer( args, KFileHandleIpcSlot, KFileSrvSessionIpcSlot );
- args.Set( KParamsIpcSlot, &aParams );
-
- SendReceive( ERequestInstallParamsHandle, args, aReqStatus );
- }
-
-// -----------------------------------------------------------------------------
-// RSWInstLauncher::SilentInstall
-// Launches the silent software install procedure.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt RSWInstLauncher::SilentInstall( const TDesC& aFileName,
- const TDesC8& aOptions )
- {
- __ASSERT_ALWAYS( iConnected, PanicClient( ESWInstPanicBadHandle ) );
-
- TIpcArgs args;
- args.Set( KFileNameIpcSlot, &aFileName );
- args.Set( KOptionsIpcSlot, &aOptions );
-
- return SendReceive( ERequestSilentInstall, args );
- }
-
-// -----------------------------------------------------------------------------
-// RSWInstLauncher::SilentInstall
-// Launches the silent software install procedure.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void RSWInstLauncher::SilentInstall( TRequestStatus& aReqStatus,
- const TDesC& aFileName,
- const TDesC8& aOptions )
- {
- __ASSERT_ALWAYS( iConnected, PanicClient( ESWInstPanicBadHandle ) );
-
- TIpcArgs args;
- args.Set( KFileNameIpcSlot, &aFileName );
- args.Set( KOptionsIpcSlot, &aOptions );
-
- SendReceive( ERequestSilentInstall, args, aReqStatus );
- }
-
-// -----------------------------------------------------------------------------
-// RSWInstLauncher::SilentInstall
-// Launches the silent software install procedure.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt RSWInstLauncher::SilentInstall( RFile& aFile,
- const TDesC8& aOptions )
- {
- __ASSERT_ALWAYS( iConnected, PanicClient( ESWInstPanicBadHandle ) );
-
- TIpcArgs args;
- aFile.TransferToServer( args, KFileHandleIpcSlot, KFileSrvSessionIpcSlot );
- args.Set( KOptionsIpcSlot, &aOptions );
-
- return SendReceive( ERequestSilentInstallHandle, args );
- }
-
-// -----------------------------------------------------------------------------
-// RSWInstLauncher::SilentInstall
-// Launches the silent software install procedure.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void RSWInstLauncher::SilentInstall( TRequestStatus& aReqStatus,
- RFile& aFile,
- const TDesC8& aOptions )
- {
- __ASSERT_ALWAYS( iConnected, PanicClient( ESWInstPanicBadHandle ) );
-
- TIpcArgs args;
- aFile.TransferToServer( args, KFileHandleIpcSlot, KFileSrvSessionIpcSlot );
- args.Set( KOptionsIpcSlot, &aOptions );
-
- SendReceive( ERequestSilentInstallHandle, args, aReqStatus );
- }
-
-// -----------------------------------------------------------------------------
-// RSWInstLauncher::SilentInstall
-// Launches the silent software install procedure.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt RSWInstLauncher::SilentInstall( const TDesC& aFileName,
- const TDesC8& aParams,
- const TDesC8& aOptions )
- {
- __ASSERT_ALWAYS( iConnected, PanicClient( ESWInstPanicBadHandle ) );
-
- TIpcArgs args;
- args.Set( KFileNameIpcSlot, &aFileName );
- args.Set( KParamsIpcSlot, &aParams );
- args.Set( KOptionsIpcSlot, &aOptions );
-
- return SendReceive( ERequestSilentInstallParams, args );
- }
-
-// -----------------------------------------------------------------------------
-// RSWInstLauncher::SilentInstall
-// Launches the silent software install procedure.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void RSWInstLauncher::SilentInstall( TRequestStatus& aReqStatus,
- const TDesC& aFileName,
- const TDesC8& aParams,
- const TDesC8& aOptions )
- {
- __ASSERT_ALWAYS( iConnected, PanicClient( ESWInstPanicBadHandle ) );
-
- TIpcArgs args;
- args.Set( KFileNameIpcSlot, &aFileName );
- args.Set( KParamsIpcSlot, &aParams );
- args.Set( KOptionsIpcSlot, &aOptions );
-
- SendReceive( ERequestSilentInstallParams, args, aReqStatus );
- }
-
-// -----------------------------------------------------------------------------
-// RSWInstLauncher::SilentInstall
-// Launches the silent software install procedure.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt RSWInstLauncher::SilentInstall( RFile& aFile,
- const TDesC8& aParams,
- const TDesC8& aOptions )
- {
- __ASSERT_ALWAYS( iConnected, PanicClient( ESWInstPanicBadHandle ) );
-
- TIpcArgs args;
- aFile.TransferToServer( args, KFileHandleIpcSlot, KFileSrvSessionIpcSlot );
- args.Set( KParamsIpcSlot, &aParams );
- args.Set( KOptionsIpcSlot, &aOptions );
-
- return SendReceive( ERequestSilentInstallParamsHandle, args );
- }
-
-// -----------------------------------------------------------------------------
-// RSWInstLauncher::SilentInstall
-// Launches the silent software install procedure.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void RSWInstLauncher::SilentInstall( TRequestStatus& aReqStatus,
- RFile& aFile,
- const TDesC8& aParams,
- const TDesC8& aOptions )
- {
- __ASSERT_ALWAYS( iConnected, PanicClient( ESWInstPanicBadHandle ) );
-
- TIpcArgs args;
- aFile.TransferToServer( args, KFileHandleIpcSlot, KFileSrvSessionIpcSlot );
- args.Set( KParamsIpcSlot, &aParams );
- args.Set( KOptionsIpcSlot, &aOptions );
-
- SendReceive( ERequestSilentInstallParamsHandle, args, aReqStatus );
- }
-
-// -----------------------------------------------------------------------------
-// RSWInstLauncher::Uninstall
-// Launches the software uninstall procedure.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt RSWInstLauncher::Uninstall( const TUid& aUid,
- const TDesC8& aMIME )
- {
- __ASSERT_ALWAYS( iConnected, PanicClient( ESWInstPanicBadHandle ) );
-
- TIpcArgs args;
- args.Set( KUidIpcSlot, aUid.iUid );
- args.Set( KMimeIpcSlot, &aMIME );
-
- return SendReceive( ERequestUninstall, args );
- }
-
-// -----------------------------------------------------------------------------
-// RSWInstLauncher::Uninstall
-// Launches the software uninstall procedure.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void RSWInstLauncher::Uninstall( TRequestStatus& aReqStatus,
- const TUid& aUid,
- const TDesC8& aMIME )
- {
- __ASSERT_ALWAYS( iConnected, PanicClient( ESWInstPanicBadHandle ) );
-
- TIpcArgs args;
- args.Set( KUidIpcSlot, aUid.iUid );
- args.Set( KMimeIpcSlot, &aMIME );
-
- SendReceive( ERequestUninstall, args, aReqStatus );
- }
-
-// -----------------------------------------------------------------------------
-// RSWInstLauncher::SilentUninstall
-// Launches the silent software uninstall procedure.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt RSWInstLauncher::SilentUninstall( const TUid& aUid,
- const TDesC8& aOptions,
- const TDesC8& aMIME )
- {
- __ASSERT_ALWAYS( iConnected, PanicClient( ESWInstPanicBadHandle ) );
-
- TIpcArgs args;
- args.Set( KUidIpcSlot, aUid.iUid );
- args.Set( KOptionsIpcSlot, &aOptions );
- args.Set( KMimeIpcSlot, &aMIME );
-
- return SendReceive( ERequestSilentUninstall, args );
- }
-
-// -----------------------------------------------------------------------------
-// RSWInstLauncher::SilentUninstall
-// Launches the silent software uninstall procedure.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void RSWInstLauncher::SilentUninstall( TRequestStatus& aReqStatus,
- const TUid& aUid,
- const TDesC8& aOptions,
- const TDesC8& aMIME )
- {
- __ASSERT_ALWAYS( iConnected, PanicClient( ESWInstPanicBadHandle ) );
-
- TIpcArgs args;
- args.Set( KUidIpcSlot, aUid.iUid );
- args.Set( KOptionsIpcSlot, &aOptions );
- args.Set( KMimeIpcSlot, &aMIME );
-
- SendReceive( ERequestSilentUninstall, args, aReqStatus );
- }
-
-// -----------------------------------------------------------------------------
-// RSWInstLauncher::CancelAsyncRequest
-// Cancel Asynchronous requests.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt RSWInstLauncher::CancelAsyncRequest( TInt aReqToCancel )
- {
- TIpcArgs args;
- args.Set( KRequestIpcSlot, aReqToCancel );
-
- return SendReceive( ERequestCancelRequest, args );
- }
-
-// -----------------------------------------------------------------------------
-// RSWInstLauncher::CustomUninstall
-// Performs a custom uninstallation.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt RSWInstLauncher::CustomUninstall( TOperation aOperation,
- const TDesC8& aParams,
- const TDesC8& aMIME )
- {
- __ASSERT_ALWAYS( iConnected, PanicClient( ESWInstPanicBadHandle ) );
-
- TIpcArgs args;
- args.Set( KOperationIpcSlot, aOperation );
- args.Set( KCommonParamsIpcSlot, &aParams );
- args.Set( KMimeIpcSlot, &aMIME );
-
- return SendReceive( ERequestCustomUninstall, args );
- }
-
-// -----------------------------------------------------------------------------
-// RSWInstLauncher::CustomUninstall
-// Performs a custom uninstallation.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void RSWInstLauncher::CustomUninstall( TRequestStatus& aReqStatus,
- TOperation aOperation,
- const TDesC8& aParams,
- const TDesC8& aMIME )
- {
- __ASSERT_ALWAYS( iConnected, PanicClient( ESWInstPanicBadHandle ) );
-
- TIpcArgs args;
- args.Set( KOperationIpcSlot, aOperation );
- args.Set( KCommonParamsIpcSlot, &aParams );
- args.Set( KMimeIpcSlot, &aMIME );
-
- SendReceive( ERequestCustomUninstall, args, aReqStatus );
- }
-
-EXPORT_C CErrDetails* RSWInstLauncher::GetLastErrorL()
- {
- User::Leave( KErrNotSupported );
- // Keep the compiler happy
- return NULL;
- }
-
-// -----------------------------------------------------------------------------
-// RSWInstLauncher::SilentCustomUninstall
-// Performs a silent custom uninstallation.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt RSWInstLauncher::SilentCustomUninstall( TOperation aOperation,
- const TDesC8& aOptions,
- const TDesC8& aParams,
- const TDesC8& aMIME )
- {
- __ASSERT_ALWAYS( iConnected, PanicClient( ESWInstPanicBadHandle ) );
-
- TIpcArgs args;
- args.Set( KOptionsIpcSlot, &aOptions );
- args.Set( KOperationIpcSlot, aOperation );
- args.Set( KCommonParamsIpcSlot, &aParams );
- args.Set( KMimeIpcSlot, &aMIME );
-
- return SendReceive( ERequestSilentCustomUninstall, args );
- }
-
-// -----------------------------------------------------------------------------
-// RSWInstLauncher::SilentCustomUninstall
-// Performs a silent custom uninstallation.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void RSWInstLauncher::SilentCustomUninstall( TRequestStatus& aReqStatus,
- TOperation aOperation,
- const TDesC8& aOptions,
- const TDesC8& aParams,
- const TDesC8& aMIME )
- {
- __ASSERT_ALWAYS( iConnected, PanicClient( ESWInstPanicBadHandle ) );
-
- TIpcArgs args;
- args.Set( KOptionsIpcSlot, &aOptions );
- args.Set( KOperationIpcSlot, aOperation );
- args.Set( KCommonParamsIpcSlot, &aParams );
- args.Set( KMimeIpcSlot, &aMIME );
-
- SendReceive( ERequestSilentCustomUninstall, args, aReqStatus );
- }
-
-// -----------------------------------------------------------------------------
-// RSWInstLauncher::PanicClient
-// Panics the client.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void RSWInstLauncher::PanicClient( TInt aPanic ) const
- {
- _LIT( KSWInstClientFault, "SWInstCli" );
- User::Panic( KSWInstClientFault, aPanic );
- }
-
-// -----------------------------------------------------------------------------
-// RSWInstLauncher::ServiceUid
-// Returns the UID of the service that this session provides an interface for.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TUid RSWInstLauncher::ServiceUid() const
- {
- return TUid::Uid( KSWInstInstallServiceUid );
- }
-
-
-// End of File
--- a/appinstaller/AppinstUi/Client/Src/SWInstSilentLauncher.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,174 +0,0 @@
-/*
-* Copyright (c) 2002-2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains the implementation of RSWInstSilentLauncher
-* class member functions.
-*
-*/
-
-
-// INCLUDE FILES
-#include <f32file.h>
-#include <apgcli.h>
-#include <e32math.h>
-#include <eikenv.h>
-
-#include "SWInstApi.h"
-#include "SWInstDefs.h"
-#include "SWInstCommon.h"
-
-using namespace SwiUI;
-
-const TUint KMaxServerPoll = 100;
-
-#ifdef __WINS__
-const TUint KServertPollTimeout = 1000000; //1sec. Wins needs more time.
-#else
-const TUint KServertPollTimeout = 100000;
-#endif
-
-// ================= MEMBER FUNCTIONS =======================
-
-// -----------------------------------------------------------------------------
-// RSWInstSilentLauncher::RSWInstSilentLauncher
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C RSWInstSilentLauncher::RSWInstSilentLauncher()
- {
- }
-
-// -----------------------------------------------------------------------------
-// RSWInstSilentLauncher::Connect
-// Creates connection to the server.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt RSWInstSilentLauncher::Connect()
- {
- TInt result( KErrNone );
-
- TUint differentiator = 0;
- TRAP( result, differentiator = StartServerL( KUidSWInstSvr ) );
- if ( result == KErrNone )
- {
- TName serverName;
- ConstructServerName( serverName, KUidSWInstSvr, differentiator );
- TRAP( result, ConnectExistingByNameL( serverName ) );
- if ( result == KErrNone )
- {
- iConnected = ETrue;
- }
- }
- // Return the result code
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// RSWInstSilentLauncher::ServiceUid
-// Returns the UID of the service that this session provides an interface for.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TUid RSWInstSilentLauncher::ServiceUid() const
- {
- return TUid::Uid( KSWInstSilentInstallServiceUid );
- }
-
-// -----------------------------------------------------------------------------
-// RSWInstSilentLauncher::ServerName
-// Constructs the name of the server application.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void RSWInstSilentLauncher::ConstructServerName( TName& aServerName,
- TUid aAppServerUid,
- TUint aServerDifferentiator )
- {
- _LIT(KServerNameFormat, "%08x_%08x_AppServer");
- aServerName.Format( KServerNameFormat, aServerDifferentiator, aAppServerUid );
- }
-
-// -----------------------------------------------------------------------------
-// RSWInstSilentLauncher::StartServerL
-// Starts the server application.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TUint RSWInstSilentLauncher::StartServerL( TUid aAppUid )
- {
- // Start the server application
- TName serverName;
- TUint differentiator( 0 );
- while ( ETrue )
- {
- differentiator = Math::Random();
- if ( differentiator==0 )
- continue;
- ConstructServerName( serverName, aAppUid, differentiator );
- TFindServer find( serverName );
- TFullName fullName;
- if ( find.Next( fullName ) == KErrNone )
- continue;
- break;
- }
-
- TThreadId serverThreadId;
- LaunchAppL( aAppUid, differentiator, serverThreadId );
-
- // Poll for the server to be started
- for ( TInt ii = 0; ii < KMaxServerPoll; ii++ )
- {
- // look for the server name
- TFindServer find( serverName );
- TFullName fullName;
- if ( find.Next( fullName ) == KErrNone )
- {
- return differentiator; // found the server, so return
- }
- User::After( KServertPollTimeout ); // wait before trying again
- }
- User::Leave( KErrNotFound ); // failed to find the server, bomb out
-
- return differentiator;
- }
-
-// -----------------------------------------------------------------------------
-// RSWInstSilentLauncher::LaunchAppL
-// Launches the server application.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void RSWInstSilentLauncher::LaunchAppL( TUid aAppUid, TUint aServerDifferentiator, TThreadId& aThreadId )
- {
- RApaLsSession apa;
- User::LeaveIfError( apa.Connect() );
- CleanupClosePushL( apa );
-
- TApaAppInfo info;
- User::LeaveIfError( apa.GetAppInfo( info, aAppUid ) );
-
- CApaCommandLine* cmdLine = CApaCommandLine::NewLC();
- cmdLine->SetExecutableNameL( info.iFullName );
- cmdLine->SetServerRequiredL( aServerDifferentiator );
- // Set the command to start the server in background
- cmdLine->SetCommandL( EApaCommandBackground );
-
- User::LeaveIfError( apa.StartApp( *cmdLine, aThreadId ) );
-
- CleanupStack::PopAndDestroy( 2, &apa ); // cmdLine and apa
- }
-
-
-// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/appinstaller/AppinstUi/Daemon/Inc/SWInstDebug.h Wed Oct 20 14:52:56 2010 +0300
@@ -0,0 +1,110 @@
+/*
+* Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: This file defines trace and log macros for SWI Daemon.
+*
+*/
+
+
+#ifndef SWINSTDEBUG_H
+#define SWINSTDEBUG_H
+
+//-----------------------------------------------------------------------------
+#ifdef _DEBUG // Trace if debug
+//-----------------------------------------------------------------------------
+
+// This will enable trace printing to Musti.
+// Comment off if log file is needed.
+#define _PRINT_TO_TRACE
+
+// This will enable printing to log file c:\logs\SWIDaemon\SWIDaemon.txt
+// Comment off is trace is needed.
+//#define _PRINT_TO_LOG
+
+//-----------------------------
+#ifdef _PRINT_TO_TRACE
+//-----------------------------
+#include <e32debug.h>
+
+const TInt KMaxDebugSize = 256;
+const TInt KMaxPrefix = 20;
+_LIT( KTracePrefixDaemon, "[SWIDaemon]: " );
+
+inline void PrintDebugData( TRefByValue<const TDesC> aFmt, ... )
+ {
+ VA_LIST list;
+ VA_START( list, aFmt );
+ TBuf<KMaxDebugSize> buf;
+ buf.Copy( KTracePrefixDaemon );
+ buf.AppendFormatList( aFmt, list );
+ RDebug::Print( buf );
+ }
+
+#define FLOG(a) { PrintDebugData(a); }
+#define FLOG_1(a,b) { PrintDebugData(a,b); }
+#define FLOG_2(a,b,c) { PrintDebugData(a,b,c); }
+#define FLOG_3(a,b,c,d) { PrintDebugData(a,b,c,d); }
+
+//#define FLOG(a) { RDebug::Print(a); }
+//#define FLOG_1(a,b) { RDebug::Print(a,b); }
+//#define FLOG_2(a,b,c) { RDebug::Print(a,b,c); }
+//#define FLOG_3(a,b,c,d) { RDebug::Print(a,b,c,d); }
+
+//-----------------------------
+# endif // _PRINT_TO_TRACE
+//-----------------------------
+
+//-----------------------------
+#ifdef _PRINT_TO_LOG
+//-----------------------------
+#include <e32std.h>
+
+#define FLOG(a) { FPrint(a); }
+#define FLOG_1(a,b) { FPrint(a,b); }
+#define FLOG_2(a,b,c) { FPrint(a,b,c); }
+#define FLOG_3(a,b,c,d) { FPrint(a,b,c,d); }
+
+#include <flogger.h>
+// Log file in c:\logs\SWIDaemon\
+_LIT(KLogFile,"SWIDeamon.txt");
+// Log dir
+_LIT(KLogDir,"SWIDaemon");
+
+inline void FPrint( const TRefByValue<const TDesC> aFmt, ... )
+ {
+ VA_LIST list;
+ VA_START( list, aFmt );
+ RFileLogger::WriteFormat( KLogDir,
+ KLogFile,
+ EFileLoggingModeAppend,
+ aFmt,
+ list );
+ }
+//-----------------------------
+# endif // _PRINT_TO_LOG
+//-----------------------------
+
+//-----------------------------------------------------------------------------
+#else // No trace or logs
+//-----------------------------------------------------------------------------
+
+#define FLOG(a)
+#define FLOG_1(a,b)
+#define FLOG_2(a,b,c)
+#define FLOG_3(a,b,c,d)
+
+#endif // _DEBUG
+
+#endif // SWINSTDEBUG_H
+
+// EOF
--- a/appinstaller/AppinstUi/Daemon/Inc/SilentLauncher.h Thu Oct 14 14:11:30 2010 +0300
+++ b/appinstaller/AppinstUi/Daemon/Inc/SilentLauncher.h Wed Oct 20 14:52:56 2010 +0300
@@ -64,8 +64,7 @@
* @param aFileHandle - Handle of the file to be installed
* @param aStatus - Request status
*/
- void InstallL( RFile& aFileHandle,
- const TDesC& aFile,
+ void InstallL( RFile& aFileHandle,
TRequestStatus& aStatus );
/**
--- a/appinstaller/AppinstUi/Daemon/Src/SilentLauncher.cpp Thu Oct 14 14:11:30 2010 +0300
+++ b/appinstaller/AppinstUi/Daemon/Src/SilentLauncher.cpp Wed Oct 20 14:52:56 2010 +0300
@@ -63,10 +63,7 @@
iSifOptions->AddIntL( Usif::KSifInParam_IgnoreOCSPWarnings, Usif::EAllowed );
iSifOptions->AddIntL( Usif::KSifInParam_AllowAppShutdown, Usif::EAllowed );
iSifOptions->AddIntL( Usif::KSifInParam_AllowDownload, Usif::EAllowed );
- iSifOptions->AddIntL( Usif::KSifInParam_AllowOverwrite, Usif::EAllowed );
-
-// TODO: is this defined in USIF?
- //iSifOptions->AddIntL( Usif::KSifInParam_Languages, NULL );
+ iSifOptions->AddIntL( Usif::KSifInParam_AllowOverwrite, Usif::EAllowed );
}
// -----------------------------------------------------------------------------
@@ -101,15 +98,12 @@
delete iDrive;
}
-
// -----------------------------------------------------------------------------
// CSilentLauncher::InstallL
// Perform installation with file handle.
// -----------------------------------------------------------------------------
//
-void CSilentLauncher::InstallL( RFile& aFileHandle,
- const TDesC& aFile,
- TRequestStatus& aStatus )
+void CSilentLauncher::InstallL( RFile& aFileHandle, TRequestStatus& aStatus )
{
FLOG( _L("Daemon: CSilentLauncher::InstallL (aFileHandle) START") );
@@ -120,21 +114,26 @@
iConnected = ETrue;
}
- // Set drive for installer.
+ // Get drive number from file path. by default SWI Daemon installs
+ // package to drive where PA sis or SA sis is found.
TInt driveNumber = 0;
TDriveInfo driveInfo;
aFileHandle.Drive( driveNumber, driveInfo );
FLOG_1( _L("Daemon: Drive number = %d"), driveNumber );
-// TODO: Use TUint array for drive numbers when plugin does support it.
- iSifOptions->AddIntL( Usif::KSifInParam_Drive, driveNumber );
-
+
+ RArray<TInt> driveArray;
+ CleanupClosePushL( driveArray );
+ User::LeaveIfError( driveArray.Append( driveNumber ) );
+ iSifOptions->AddIntArrayL( Usif::KSifInParam_Drive, driveArray );
+ CleanupStack::PopAndDestroy( &driveArray );
+
FLOG( _L("Daemon: Launch install") );
iSWInstallerFW.Install( aFileHandle,
*iSifOptions,
*iSifResults,
aStatus,
ETrue );
-
+
FLOG( _L("Daemon: CSilentLauncher::InstallL (aFileHandle) END") );
}
--- a/appinstaller/AppinstUi/Daemon/Src/daemoninstaller.cpp Thu Oct 14 14:11:30 2010 +0300
+++ b/appinstaller/AppinstUi/Daemon/Src/daemoninstaller.cpp Wed Oct 20 14:52:56 2010 +0300
@@ -461,16 +461,16 @@
else
{
// Start also the universal indicator.
- TRAP_IGNORE( iDialogs->ActivateIndicatorL( iPercentValue ) );
+ TRAP_IGNORE( iDialogs->ActivateIndicatorL(
+ iPercentValue ) );
// Start to show progress dialog. Dialog is shown
// only 3 sec.
TRAP_IGNORE( iDialogs->ShowWaitingNoteL() );
- FLOG_1( _L("Daemon: Start install for %S"), &iSisFile );
+ FLOG_1( _L("Daemon: Start install for %S"),
+ &iSisFile );
- iInstallLauncher->InstallL( iSisFileHandle,
- iSisFile,
- iStatus );
+ iInstallLauncher->InstallL( iSisFileHandle, iStatus );
iState = EDSisInstallerStateInstalling;
iInstallerState = iState;
@@ -528,9 +528,7 @@
if ( iFileOpen )
{
FLOG_1( _L("Daemon: Try install again for: %S"), &iSisFile );
- iInstallLauncher->InstallL( iSisFileHandle,
- iSisFile,
- iStatus );
+ iInstallLauncher->InstallL( iSisFileHandle, iStatus );
iState = EDSisInstallerStateInstalling;
iInstallerState = iState;
--- a/appinstaller/AppinstUi/Daemon/Src/swidaemon.rss Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-/*
-* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Resource definitions for sixui plugin.
-*
-*/
-
-NAME SIUI
-
-#include <eikon.rh>
-#include <appinstui.loc>
-
-RESOURCE RSS_SIGNATURE { }
-
-RESOURCE LBUF r_daemon_untrusted_found { txt = qtn_swins_preinst_untrusted; }
-RESOURCE LBUF r_daemon_installation_error { txt = qtn_swins_preinst_cancelled; }
-//TC error ou1cimx1#149689
-RESOURCE LBUF r_daemon_installing { txt = qtn_swins_note_install_preinstalled; }
-
-// For uninstaller
-//TC error ou1cimx1#149689
-RESOURCE LBUF r_uninstaller_install { txt = qtn_swins_note_uninstall_old_versions; }
-
-// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/appinstaller/AppinstUi/Daemon/group/bld.inf Wed Oct 20 14:52:56 2010 +0300
@@ -0,0 +1,28 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Build information file for software install daemon
+*/
+
+#include <platform_paths.hrh>
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+../rom/swidaemon.iby CORE_MW_LAYER_IBY_EXPORT_PATH( swidaemon.iby )
+
+
+PRJ_MMPFILES
+daemon.mmp
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/appinstaller/AppinstUi/Daemon/group/daemon.mmp Wed Oct 20 14:52:56 2010 +0300
@@ -0,0 +1,80 @@
+/*
+* Copyright (c) 2004-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Software install daemon
+*
+*/
+
+#include <platform_paths.hrh>
+#include <data_caging_paths.hrh>
+
+MACRO __DATA_CAGING__
+
+CAPABILITY TrustedUI ReadUserData AllFiles WriteDeviceData ReadDeviceData
+
+TARGET swidaemon.exe
+TARGETTYPE exe
+TARGETPATH sys/bin
+
+UID 0x1000007A 0x10202DCE
+VENDORID VID_DEFAULT
+
+
+SOURCEPATH ../Src
+SOURCE daemon.cpp
+SOURCE main.cpp
+SOURCE drivewatcher.cpp
+SOURCE daemonbehaviour.cpp
+SOURCE daemoninstaller.cpp
+SOURCE SilentLauncher.cpp
+SOURCE DialogWrapper.cpp
+SOURCE previouslyInstalledAppsCache.cpp
+SOURCE installationFailedAppsCache.cpp
+SOURCE ShutdownWatcher.cpp
+//Uninstaller
+SOURCE versionRevisor.cpp
+SOURCE uninstaller.cpp
+SOURCE programstatus.cpp
+SOURCE silentuninstaller.cpp
+//Dialog watcher AO
+SOURCE dialogwatcher.cpp
+
+USERINCLUDE ../Inc
+USERINCLUDE /sf/mw/appinstall/installationservices/swi/inc
+USERINCLUDE /sf/mw/appinstall/installationservices/swi/inc/swi
+
+MW_LAYER_SYSTEMINCLUDE
+
+LIBRARY euser.lib
+LIBRARY efsrv.lib
+LIBRARY apgrfx.lib //For AppForDocument()
+LIBRARY apmime.lib
+LIBRARY apparc.lib
+LIBRARY sisregistryclient.lib
+LIBRARY swidataprovider.lib
+LIBRARY sisxfile.lib
+LIBRARY estor.lib
+LIBRARY siscontroller.lib
+LIBRARY platformenv.lib
+LIBRARY sysutil.lib // For Uninstaller
+LIBRARY ecom.lib // For Plug-in support
+LIBRARY stsclient.lib
+LIBRARY swiobserverclient.lib
+LIBRARY sif.lib // USIF SW Installer FW
+LIBRARY scrclient.lib
+LIBRARY hbwidgets.lib // For Symbian Device Dialogs
+LIBRARY hbcore.lib // For HbIndicatorSymbian
+
+DEBUGLIBRARY flogger.lib
+
+SMPSAFE
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/appinstaller/AppinstUi/Daemon/rom/swidaemon.iby Wed Oct 20 14:52:56 2010 +0300
@@ -0,0 +1,23 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: ROM image build file for software install daemon
+*
+*/
+
+#ifndef __SWIDAEMON_IBY__
+#define __SWIDAEMON_IBY__
+
+file=ABI_DIR\BUILD_DIR\swidaemon.exe sys\bin\swidaemon.exe
+
+#endif // __SWIDAEMON_IBY__
--- a/appinstaller/AppinstUi/EABI/CustomMIDletInstallU.DEF Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-EXPORTS
- _ZN26CustomMIDletInstallFactory7CreateLEv @ 1 NONAME
- _ZTIN5SwiUI26CSWInstCustomMIDletInstallE @ 2 NONAME ; #<TI>#
- _ZTVN5SwiUI26CSWInstCustomMIDletInstallE @ 3 NONAME ; #<VT>#
-
--- a/appinstaller/AppinstUi/EABI/SWInstCliU.DEF Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-EXPORTS
- _ZN5SwiUI15RSWInstLauncher13GetLastErrorLEv @ 1 NONAME
- _ZN5SwiUI15RSWInstLauncher13SilentInstallER14TRequestStatusR5RFileRK6TDesC8 @ 2 NONAME
- _ZN5SwiUI15RSWInstLauncher13SilentInstallER14TRequestStatusR5RFileRK6TDesC8S7_ @ 3 NONAME
- _ZN5SwiUI15RSWInstLauncher13SilentInstallER14TRequestStatusRK7TDesC16RK6TDesC8 @ 4 NONAME
- _ZN5SwiUI15RSWInstLauncher13SilentInstallER14TRequestStatusRK7TDesC16RK6TDesC8S8_ @ 5 NONAME
- _ZN5SwiUI15RSWInstLauncher13SilentInstallER5RFileRK6TDesC8 @ 6 NONAME
- _ZN5SwiUI15RSWInstLauncher13SilentInstallER5RFileRK6TDesC8S5_ @ 7 NONAME
- _ZN5SwiUI15RSWInstLauncher13SilentInstallERK7TDesC16RK6TDesC8 @ 8 NONAME
- _ZN5SwiUI15RSWInstLauncher13SilentInstallERK7TDesC16RK6TDesC8S6_ @ 9 NONAME
- _ZN5SwiUI15RSWInstLauncher15SilentUninstallER14TRequestStatusRK4TUidRK6TDesC8S8_ @ 10 NONAME
- _ZN5SwiUI15RSWInstLauncher15SilentUninstallERK4TUidRK6TDesC8S6_ @ 11 NONAME
- _ZN5SwiUI15RSWInstLauncher18CancelAsyncRequestEi @ 12 NONAME
- _ZN5SwiUI15RSWInstLauncher5CloseEv @ 13 NONAME
- _ZN5SwiUI15RSWInstLauncher7ConnectEv @ 14 NONAME
- _ZN5SwiUI15RSWInstLauncher7InstallER14TRequestStatusR5RFile @ 15 NONAME
- _ZN5SwiUI15RSWInstLauncher7InstallER14TRequestStatusR5RFileRK6TDesC8 @ 16 NONAME
- _ZN5SwiUI15RSWInstLauncher7InstallER14TRequestStatusRK7TDesC16 @ 17 NONAME
- _ZN5SwiUI15RSWInstLauncher7InstallER14TRequestStatusRK7TDesC16RK6TDesC8 @ 18 NONAME
- _ZN5SwiUI15RSWInstLauncher7InstallER5RFile @ 19 NONAME
- _ZN5SwiUI15RSWInstLauncher7InstallER5RFileRK6TDesC8 @ 20 NONAME
- _ZN5SwiUI15RSWInstLauncher7InstallERK7TDesC16 @ 21 NONAME
- _ZN5SwiUI15RSWInstLauncher7InstallERK7TDesC16RK6TDesC8 @ 22 NONAME
- _ZN5SwiUI15RSWInstLauncher9UninstallER14TRequestStatusRK4TUidRK6TDesC8 @ 23 NONAME
- _ZN5SwiUI15RSWInstLauncher9UninstallERK4TUidRK6TDesC8 @ 24 NONAME
- _ZN5SwiUI15RSWInstLauncherC1Ev @ 25 NONAME
- _ZN5SwiUI15RSWInstLauncherC2Ev @ 26 NONAME
- _ZTIN5SwiUI15RSWInstLauncherE @ 27 NONAME ; #<TI>#
- _ZTVN5SwiUI15RSWInstLauncherE @ 28 NONAME ; #<VT>#
- _ZN5SwiUI15RSWInstLauncher15CustomUninstallENS_10TOperationERK6TDesC8S4_ @ 29 NONAME
- _ZN5SwiUI15RSWInstLauncher15CustomUninstallER14TRequestStatusNS_10TOperationERK6TDesC8S6_ @ 30 NONAME
- _ZN5SwiUI21RSWInstSilentLauncher7ConnectEv @ 31 NONAME
- _ZN5SwiUI21RSWInstSilentLauncherC1Ev @ 32 NONAME
- _ZN5SwiUI21RSWInstSilentLauncherC2Ev @ 33 NONAME
- _ZTIN5SwiUI21RSWInstSilentLauncherE @ 34 NONAME ; #<TI>#
- _ZTVN5SwiUI21RSWInstSilentLauncherE @ 35 NONAME ; #<VT>#
- _ZN5SwiUI15RSWInstLauncher21SilentCustomUninstallENS_10TOperationERK6TDesC8S4_S4_ @ 36 NONAME
- _ZN5SwiUI15RSWInstLauncher21SilentCustomUninstallER14TRequestStatusNS_10TOperationERK6TDesC8S6_S6_ @ 37 NONAME
-
--- a/appinstaller/AppinstUi/EABI/SWInstCommonUIU.DEF Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
-EXPORTS
- _ZN5SwiUI8CommonUI11CCUIDialogs11LaunchHelpLERK7TDesC16 @ 1 NONAME
- _ZN5SwiUI8CommonUI11CCUIDialogs15ShowWaitDialogLEiPNS0_22MCUIWaitDialogCallbackEi @ 2 NONAME
- _ZN5SwiUI8CommonUI11CCUIDialogs16CloseWaitDialogLEv @ 3 NONAME
- _ZN5SwiUI8CommonUI11CCUIDialogs19ShowProgressDialogLERK7TDesC16PNS0_22MCUIWaitDialogCallbackEi @ 4 NONAME
- _ZN5SwiUI8CommonUI11CCUIDialogs19ShowProgressDialogLEiPNS0_22MCUIWaitDialogCallbackEi @ 5 NONAME
- _ZN5SwiUI8CommonUI11CCUIDialogs20CloseProgressDialogLEv @ 6 NONAME
- _ZN5SwiUI8CommonUI11CCUIDialogs20ResetProgressDialogLEv @ 7 NONAME
- _ZN5SwiUI8CommonUI11CCUIDialogs22ShowDelayedWaitDialogLEiPNS0_22MCUIWaitDialogCallbackEi @ 8 NONAME
- _ZN5SwiUI8CommonUI11CCUIDialogs25ShowDriveSelectionDialogLExRK6RArrayI10TDriveUnitERKS2_IxERi @ 9 NONAME
- _ZN5SwiUI8CommonUI11CCUIDialogs26ShowSecurityWarningDialogLEv @ 10 NONAME
- _ZN5SwiUI8CommonUI11CCUIDialogs26UpdateProgressDialogValueLEi @ 11 NONAME
- _ZN5SwiUI8CommonUI11CCUIDialogs28SetProgressDialogFinalValueLEi @ 12 NONAME
- _ZN5SwiUI8CommonUI11CCUIDialogs4NewLEv @ 13 NONAME
- _ZN5SwiUI8CommonUI11CCUIDialogsD0Ev @ 14 NONAME
- _ZN5SwiUI8CommonUI11CCUIDialogsD1Ev @ 15 NONAME
- _ZN5SwiUI8CommonUI11CCUIDialogsD2Ev @ 16 NONAME
- _ZN5SwiUI8CommonUI15CCUICancelTimer15StartCancellingEv @ 17 NONAME
- _ZN5SwiUI8CommonUI15CCUICancelTimer4NewLEPNS0_15MCUICancellableE @ 18 NONAME
- _ZN5SwiUI8CommonUI15CCUICancelTimerD0Ev @ 19 NONAME
- _ZN5SwiUI8CommonUI15CCUICancelTimerD1Ev @ 20 NONAME
- _ZN5SwiUI8CommonUI15CCUICancelTimerD2Ev @ 21 NONAME
- _ZN5SwiUI8CommonUI17CCUIDetailsDialog4NewLEi @ 22 NONAME
- _ZN5SwiUI8CommonUI17CCUIDetailsDialog4NewLEv @ 23 NONAME
- _ZN5SwiUI8CommonUI17CCUIDetailsDialog9ExecuteLDERNS0_16MCUIInfoIteratorE @ 24 NONAME
- _ZN5SwiUI8CommonUI17CCUIDetailsDialog9ExecuteLDERNS0_16MCUIInfoIteratorER5RFile @ 25 NONAME
- _ZN5SwiUI8CommonUI17CCUIDetailsDialog9ExecuteLDERNS0_16MCUIInfoIteratorERK13RPointerArrayINS0_19CCUICertificateInfoEE @ 26 NONAME
- _ZN5SwiUI8CommonUI17CCUIDetailsDialog9ExecuteLDERNS0_16MCUIInfoIteratorERK13RPointerArrayINS0_19CCUICertificateInfoEER5RFile @ 27 NONAME
- _ZN5SwiUI8CommonUI17CCUIDetailsDialogD0Ev @ 28 NONAME
- _ZN5SwiUI8CommonUI17CCUIDetailsDialogD1Ev @ 29 NONAME
- _ZN5SwiUI8CommonUI17CCUIDetailsDialogD2Ev @ 30 NONAME
- _ZN5SwiUI8CommonUI19CCUICertificateInfo14BaseConstructLERK16CX509Certificate @ 31 NONAME
- _ZN5SwiUI8CommonUI19CCUICertificateInfo15X509CertificateEv @ 32 NONAME
- _ZN5SwiUI8CommonUI19CCUICertificateInfo4NewLERK16CX509Certificate @ 33 NONAME
- _ZN5SwiUI8CommonUI19CCUICertificateInfoC1Ev @ 34 NONAME
- _ZN5SwiUI8CommonUI19CCUICertificateInfoC2Ev @ 35 NONAME
- _ZN5SwiUI8CommonUI19CCUICertificateInfoD0Ev @ 36 NONAME
- _ZN5SwiUI8CommonUI19CCUICertificateInfoD1Ev @ 37 NONAME
- _ZN5SwiUI8CommonUI19CCUICertificateInfoD2Ev @ 38 NONAME
- _ZN5SwiUI8CommonUI8CUIUtils17LoadResourceFileLERK7TDesC16P7CCoeEnv @ 39 NONAME
- _ZN5SwiUI8CommonUI8CUIUtils24ConstructVersionStringLCEiii @ 40 NONAME
- _ZNK5SwiUI8CommonUI11CCUIDialogs14ShowErrorNoteLERK7TDesC16 @ 41 NONAME
- _ZNK5SwiUI8CommonUI11CCUIDialogs14ShowErrorNoteLEi @ 42 NONAME
- _ZNK5SwiUI8CommonUI11CCUIDialogs22ShowConfirmationQueryLERK7TDesC16i @ 43 NONAME
- _ZNK5SwiUI8CommonUI11CCUIDialogs22ShowConfirmationQueryLEii @ 44 NONAME
- _ZTIN5SwiUI8CommonUI11CCUIDialogsE @ 45 NONAME DATA 12 ; #<TI>#
- _ZTIN5SwiUI8CommonUI15CCUICancelTimerE @ 46 NONAME DATA 12 ; #<TI>#
- _ZTIN5SwiUI8CommonUI17CCUIDetailsDialogE @ 47 NONAME DATA 12 ; #<TI>#
- _ZTIN5SwiUI8CommonUI19CCUICertificateInfoE @ 48 NONAME DATA 12 ; #<TI>#
- _ZTVN5SwiUI8CommonUI11CCUIDialogsE @ 49 NONAME DATA 20 ; #<VT>#
- _ZTVN5SwiUI8CommonUI15CCUICancelTimerE @ 50 NONAME DATA 32 ; #<VT>#
- _ZTVN5SwiUI8CommonUI17CCUIDetailsDialogE @ 51 NONAME DATA 20 ; #<VT>#
- _ZTVN5SwiUI8CommonUI19CCUICertificateInfoE @ 52 NONAME DATA 64 ; #<VT>#
- _ZNK5SwiUI8CommonUI11CCUIDialogs30ShowInstallationCompleteQueryLERK12MDesC16ArrayS4_RK13CAknIconArrayRi @ 53 NONAME
- _ZNK5SwiUI8CommonUI11CCUIDialogs40ShowUninstallConfirmationForSeveralAppsLERK7TDesC16RK12MDesC16Arrayi @ 54 NONAME
- _ZN5SwiUI8CommonUI17CCUIDetailsDialog4NewLEii @ 55 NONAME
- _ZN5SwiUI8CommonUI17CCUIDetailsDialog4NewLEiNS1_17TCUIDetailsHeaderE @ 56 NONAME
-
--- a/appinstaller/AppinstUi/EABI/SWInstTaskManagerU.DEF Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-EXPORTS
- _ZN5SwiUI12CTaskManager10FlushTasksEv @ 1 NONAME
- _ZN5SwiUI12CTaskManager11RemoveTaskLEPNS_5CTaskE @ 2 NONAME
- _ZN5SwiUI12CTaskManager20ExecutePendingTasksLEv @ 3 NONAME
- _ZN5SwiUI12CTaskManager21ExecuteRecoveryTasksLEv @ 4 NONAME
- _ZN5SwiUI12CTaskManager4NewLEv @ 5 NONAME
- _ZN5SwiUI12CTaskManager7CommitLEv @ 6 NONAME
- _ZN5SwiUI12CTaskManager8AddTaskLEPNS_5CTaskE @ 7 NONAME
- _ZN5SwiUI12CTaskManagerD0Ev @ 8 NONAME
- _ZN5SwiUI12CTaskManagerD1Ev @ 9 NONAME
- _ZN5SwiUI12CTaskManagerD2Ev @ 10 NONAME
- _ZTIN5SwiUI12CTaskManagerE @ 11 NONAME ; #<TI>#
- _ZTVN5SwiUI12CTaskManagerE @ 12 NONAME ; #<VT>#
-
--- a/appinstaller/AppinstUi/EABI/apageneratorU.def Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-EXPORTS
- _ZN21CAppArcFilesGenerator4NewLER3RFsRK22CMIDletSuiteAttributes4TUidRK6RArrayIS5_EmRK7TDesC165TChar @ 1 NONAME
- _ZN21CAppArcFilesGenerator8GenerateER14TRequestStatus @ 2 NONAME
- _ZTI14CIconConverter @ 3 NONAME ; #<TI>#
- _ZTI21CAppArcFilesGenerator @ 4 NONAME ; #<TI>#
- _ZTV14CIconConverter @ 5 NONAME ; #<VT>#
- _ZTV21CAppArcFilesGenerator @ 6 NONAME ; #<VT>#
-
--- a/appinstaller/AppinstUi/EABI/apageneratorextu.def Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-EXPORTS
- _ZN21CAppArcFilesGenerator4NewLER3RFsRK22CMIDletSuiteAttributes4TUidRK6RArrayIS5_EmRK7TDesC165TChar @ 1 NONAME
- _ZN21CAppArcFilesGenerator8GenerateER14TRequestStatus @ 2 NONAME
- _ZN21CAppArcFilesGenerator15AddAifDataTypeLEiRK21TDataTypeWithPriority @ 3 NONAME
- _ZN21CAppArcFilesGenerator17SetAifCapabilityLEiRK17TApaAppCapability @ 4 NONAME
- _ZN23CAppArcMidletAttributes11GetDataTypeEi @ 5 NONAME
- _ZN23CAppArcMidletAttributes13DataTypeCountEv @ 6 NONAME
- _ZN23CAppArcMidletAttributes13GetCapabilityEv @ 7 NONAME
- _ZN23CAppArcMidletAttributes14SetCapabilityLE17TApaAppCapability @ 8 NONAME
- _ZN23CAppArcMidletAttributes24SetDataTypeWithPriorityLE21TDataTypeWithPriority @ 9 NONAME
- _ZN23CAppArcMidletAttributes4NewLEv @ 10 NONAME
- _ZTI14CIconConverter @ 11 NONAME ; #<TI>#
- _ZTI21CAppArcFilesGenerator @ 12 NONAME ; #<TI>#
- _ZTI23CAppArcMidletAttributes @ 13 NONAME ; #<TI>#
- _ZTV14CIconConverter @ 14 NONAME ; #<VT>#
- _ZTV21CAppArcFilesGenerator @ 15 NONAME ; #<VT>#
- _ZTV23CAppArcMidletAttributes @ 16 NONAME ; #<VT>#
-
--- a/appinstaller/AppinstUi/Plugin/CommonUI/Data/SWInstCommonUI.rss Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,468 +0,0 @@
-/*
-* Copyright (c) 2002-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Resource definitions for SWInstCommonUI module.
-*
-*/
-
-
-NAME COUI
-
-#include <eikon.rh>
-#include <avkon.rsg>
-#include <avkon.rh>
-#include <avkon.mbg>
-#include <avkon.loc>
-//#include <CommonDialogs.hrh>
-//#include <CommonDialogs.rh>
-
-#include <appinstui.loc>
-
-RESOURCE RSS_SIGNATURE { }
-
-RESOURCE TBUF { buf = ""; }
-
-
-//------------------------------------------------------------------------------
-//
-// r_swcommon_general_wait_dialog
-// Defines a common wait dialog
-//
-//------------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_swcommon_general_wait_dialog
- {
- flags = EAknWaitNoteFlags;
- buttons = R_AVKON_SOFTKEYS_CANCEL;
- items =
- {
- DLG_LINE
- {
- type = EAknCtNote;
- id = EGeneralNote;
- control = AVKON_NOTE
- {
- layout = EWaitLayout;
- animation = R_QGN_GRAF_WAIT_BAR_ANIM;
- };
- }
- };
- }
-
-RESOURCE DIALOG r_swcommon_general_progress_dialog
- {
- flags = EAknProgressNoteFlags;
- buttons = R_AVKON_SOFTKEYS_EMPTY;
- items =
- {
- DLG_LINE
- {
- type = EAknCtNote;
- id = EAknNoteProgressBar;
- control = AVKON_NOTE
- {
- layout = EProgressLayout;
- };
- }
- };
- }
-
-//------------------------------------------------------------------------------
-//
-// r_swcommon_general_confirmation_query
-// Defines a common confirmation query
-//
-//------------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_swcommon_general_confirmation_query
- {
- flags = EGeneralQueryFlags;
- buttons = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
- items=
- {
- DLG_LINE
- {
- type = EAknCtQuery;
- id = EGeneralQuery;
- control = AVKON_CONFIRMATION_QUERY
- {
- layout = EConfirmationQueryLayout;
- };
- }
- };
- }
-
-//------------------------------------------------------------------------------
-//
-// r_swcommon_security_warning_dialog
-// Defines a warning dialog for untrusted applications
-//
-//------------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_swcommon_security_warning_dialog
- {
- flags = EGeneralQueryFlags | EEikDialogFlagNoBorder | EEikDialogFlagNoShadow;
- buttons = r_swcommon_softkeys_continue_cancel__continue;
- items =
- {
- DLG_LINE
- {
- type = EAknCtPopupHeadingPane;
- id = EAknMessageQueryHeaderId;
- control = AVKON_HEADING
- {
- label = qtn_am_note_head_security_warn;
- headinglayout = R_AVKON_WML_SIGN_QUERY_HEADING_PANE;
- };
- },
- DLG_LINE
- {
- type = EAknCtMessageQuery;
- id = EAknMessageQueryContentId;
- control = AVKON_MESSAGE_QUERY
- {
- };
- }
- };
-
- }
-
-//------------------------------------------------------------------------------
-//
-// r_swcommon_sec_selection_dialog
-// Defines a selection dialog for certificate
-//
-//------------------------------------------------------------------------------
-//
-RESOURCE AVKON_LIST_QUERY r_swcommon_sec_selection_dialog
- {
- softkeys = R_AVKON_SOFTKEYS_SELECT_BACK__SELECT;
- items=
- {
- AVKON_LIST_QUERY_DLG_LINE
- {
- control= AVKON_LIST_QUERY_CONTROL
- {
- listtype = EAknCtSinglePopupMenuListBox;
- listbox = AVKON_LIST_QUERY_LIST
- {
- array_id = r_swcommon_empty_array;
- };
- };
- }
- };
- }
-
-//------------------------------------------------------------------------------
-//
-// r_swcommon_sec_details_dialog
-// Defines a details dialog for a certificate
-//
-//------------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_swcommon_sec_details_dialog
- {
- flags = EGeneralQueryFlags | EEikDialogFlagNoBorder | EEikDialogFlagNoShadow;
- buttons = R_AVKON_SOFTKEYS_OK_EMPTY__OK;
- items =
- {
- DLG_LINE
- {
- type = EAknCtPopupHeadingPane;
- id = EAknMessageQueryHeaderId;
- control = AVKON_HEADING
- {
- label = qtn_swins_heading_cert;
- headinglayout = R_AVKON_WML_SIGN_QUERY_HEADING_PANE;
- };
- },
- DLG_LINE
- {
- type = EAknCtMessageQuery;
- id = EAknMessageQueryContentId;
- control = AVKON_MESSAGE_QUERY
- {
- };
- }
- };
- }
-
-//------------------------------------------------------------------------------
-//
-// r_swcommon_details_dialog
-// Defines a details dialog for a certificate
-//
-//------------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_swcommon_details_dialog
- {
- flags = EGeneralQueryFlags | EEikDialogFlagNoBorder | EEikDialogFlagNoShadow;
- buttons = R_AVKON_SOFTKEYS_OK_EMPTY__OK;
- items =
- {
- DLG_LINE
- {
- type = EAknCtPopupHeadingPane;
- id = EAknMessageQueryHeaderId;
- control = AVKON_HEADING
- {
- label = qtn_swins_heading_det;
- headinglayout = R_AVKON_WML_SIGN_QUERY_HEADING_PANE;
- };
- },
- DLG_LINE
- {
- type = EAknCtMessageQuery;
- id = EAknMessageQueryContentId;
- control = AVKON_MESSAGE_QUERY
- {
- };
- }
- };
- }
-
-//------------------------------------------------------------------------------
-//
-// r_swcommon_drive_query
-// Defines a memory selection dialog
-//
-//------------------------------------------------------------------------------
-/*
-RESOURCE MEMORYSELECTIONDIALOG r_swcommon_memory_selection_dialog
- {
- softkey_1 = text_softkey_select;
- softkey_2 = text_softkey_cancel;
- }
-*/
-
-//------------------------------------------------------------------------------
-//
-// r_swcommon_softkeys_continue_cancel
-// Defines softkeys continue, cancel
-//
-//------------------------------------------------------------------------------
-//
-RESOURCE CBA r_swcommon_softkeys_continue_cancel
- {
- buttons =
- {
- CBA_BUTTON { id = EAknSoftkeyOk; txt = text_softkey_continue; },
- CBA_BUTTON { id = EAknSoftkeyCancel; txt = text_softkey_cancel; }
- };
- }
-
-
-
-//------------------------------------------------------------------------------
-//
-// r_swcommon_softkeys_continue_cancel__continue
-// Defines softkeys continue, cancel, continue (MSK)
-//
-//------------------------------------------------------------------------------
-//
-RESOURCE CBA r_swcommon_softkeys_continue_cancel__continue
- {
- buttons =
- {
- CBA_BUTTON { id = EAknSoftkeyOk; txt = text_softkey_continue; },
- CBA_BUTTON { id = EAknSoftkeyCancel; txt = text_softkey_cancel; },
- CBA_BUTTON { id = EAknSoftkeyOk; txt = text_softkey_continue; }
- };
- }
-
-//------------------------------------------------------------------------------
-//
-// r_swcommon_empty_array
-// Defines an empty array
-//
-//------------------------------------------------------------------------------
-//
-RESOURCE ARRAY r_swcommon_empty_array
- {
- items=
- {
- LBUF { txt=""; }
- };
- }
-
-//------------------------------------------------------------------------------
-//
-// String definitions
-//
-//------------------------------------------------------------------------------
-//
-
-// Security warning dialog
-RESOURCE TBUF r_swcommon_security_warning_head { buf = qtn_am_note_head_security_warn; }
-RESOURCE TBUF r_swcommon_security_warning { buf = qtn_am_note_text_security_warn; }
-RESOURCE TBUF r_swcommon_security_warning_more_info { buf = qtn_swins_link_more_info; }
-
-// For memory selection dialog
-RESOURCE TBUF r_swcommon_memory_heading { buf = qtn_jam_lqh_instlocation; }
-RESOURCE TBUF r_swcommon_not_enough_memory_in_drive { buf = qtn_jam_note_memerror; }
-
-// For details dialog
-RESOURCE TBUF r_swcommon_detail_heading { buf = qtn_swins_heading_det; }
-RESOURCE TBUF r_swcommon_detail_technology { buf = qtn_am_detail_technology; }
-RESOURCE TBUF r_swcommon_detail_name { buf = qtn_swins_lsh2_apps_name; }
-RESOURCE TBUF r_swcommon_detail_version { buf = qtn_swins_lsh2_apps_version; }
-RESOURCE TBUF r_swcommon_detail_type { buf = qtn_swins_lsh2_apps_type; }
-RESOURCE TBUF r_swcommon_detail_appsize { buf = qtn_swins_lsh2_apps_size; }
-RESOURCE TBUF r_swcommon_detail_supplier { buf = qtn_swins_lsh2_apps_from; }
-RESOURCE TBUF r_swcommon_detail_status { buf = qtn_swins_lsh2_apps_status; }
-RESOURCE TBUF r_swcommon_detail_datasize { buf = qtn_jam_info_data_size; }
-RESOURCE TBUF r_swcommon_detail_location { buf = qtn_jam_info_memory; }
-RESOURCE TBUF r_swcommon_detail_domain { buf = qtn_am_info_midlet_domain_trust; }
-RESOURCE TBUF r_swcommon_detail_permissions { buf = qtn_am_info_midlet_permissions; }
-RESOURCE TBUF r_swcommon_detail_content { buf = qtn_am_detail_suite_content; }
-RESOURCE TBUF r_swcommon_detail_info_url { buf = qtn_jam_info_url; }
-RESOURCE TBUF r_swcommon_detail_certificates { buf = qtn_am_detail_cert; }
-RESOURCE TBUF r_swcommon_detail_drm { buf = qtn_am_detail_drm; }
-
-RESOURCE TBUF r_swcommon_detail_value_application { buf = qtn_swins_ls1_install_app; }
-RESOURCE TBUF r_swcommon_detail_value_widget { buf = qtn_swins_ls1_install_widget; }
-RESOURCE TBUF r_swcommon_detail_value_installed { buf = qtn_swins_ls1_fully_inst; }
-RESOURCE TBUF r_swcommon_detail_value_not_installed { buf = qtn_swins_ls1_not_inst; }
-RESOURCE TBUF r_swcommon_detail_value_running { buf = qtn_jam_info_stat_running; }
-RESOURCE TBUF r_swcommon_detail_value_not_loaded { buf = qtn_jam_info_stat_not_loaded; }
-#ifdef RD_MULTIPLE_DRIVE
-RESOURCE TBUF r_swcommon_detail_value_device { buf = qtn_am_details_mem_device; }
-RESOURCE TBUF r_swcommon_detail_value_mmc { buf = qtn_am_details_mem_memory_card; }
-#else
-RESOURCE TBUF r_swcommon_detail_value_device { buf = qtn_jam_info_mem_device; }
-RESOURCE TBUF r_swcommon_detail_value_mmc { buf = qtn_jam_info_mem_mmc; }
-#endif // RD_MULTIPLE_DRIVE
-RESOURCE TBUF r_swcommon_detail_value_operator { buf = qtn_am_info_operator; }
-RESOURCE TBUF r_swcommon_detail_value_manufacturer { buf = qtn_am_info_manufacturer; }
-RESOURCE TBUF r_swcommon_detail_value_3rd_party { buf = qtn_am_info_trusted_3rd_party; }
-RESOURCE TBUF r_swcommon_detail_value_unt_3rd_party { buf = qtn_am_info_untrusted_3rd_party; }
-RESOURCE TBUF r_swcommon_detail_value_size { buf = qtn_swins_ls1_kilobyte; }
-RESOURCE TBUF r_swcommon_detail_value_view_cert { buf = qtn_am_cert_details; }
-RESOURCE TBUF r_swcommon_detail_value_view_drm { buf = qtn_am_drm_details; }
-RESOURCE TBUF r_swcommon_detail_value_unknown_supplier { buf = qtn_am_detail_unknown_supplier; }
-RESOURCE TBUF r_swcommon_detail_value_unknown_size { buf = qtn_am_detail_unknown_size; }
-RESOURCE TBUF r_swcommon_detail_value_unknown_data { buf = qtn_am_detail_unknown_data; }
-RESOURCE TBUF r_swcommon_detail_value_unknown_type { buf = qtn_am_detail_unknown_type; }
-RESOURCE TBUF r_swcommon_detail_value_unknown_url { buf = qtn_am_detail_unknown_url; }
-
-
-// For certificate details dialog
-RESOURCE TBUF r_swcommon_sec_subject { buf = qtn_swins_cert_subject; }
-RESOURCE TBUF r_swcommon_sec_issuer { buf = qtn_swins_lsh2_issuer; }
-RESOURCE TBUF r_swcommon_sec_valid_from { buf = qtn_swins_lsh2_valid; }
-RESOURCE TBUF r_swcommon_sec_valid_until { buf = qtn_swins_cert_valid; }
-RESOURCE TBUF r_swcommon_sec_serial { buf = qtn_swins_lsh2_serial; }
-RESOURCE TBUF r_swcommon_sec_fingerprint { buf = qtn_swins_cert_fingerprint; }
-
-// Common prompts
-RESOURCE TBUF r_swcommon_cancel_installation { buf = qtn_swins_note_cancel_conf; }
-
-RESOURCE TBUF r_swcommon_not_enough_memory { buf = qtn_memlo_not_enough_memory; }
-
-
-// For installation complete dialog
-
-//------------------------------------------------------------------------------
-//
-// r_swcommon_start_query
-// Defines a installation complete dialog for Java applications
-//
-//------------------------------------------------------------------------------
-//
-RESOURCE AVKON_LIST_QUERY r_swcommon_start_query
- {
- flags = EGeneralQueryFlags;
- softkeys = r_swcommon_softkeys_start_close__start;
-
- items =
- {
- AVKON_LIST_QUERY_DLG_LINE
- {
- control = AVKON_LIST_QUERY_CONTROL
- {
- listtype = EAknCtDoubleLargeGraphicPopupMenuListBox;
- listbox = AVKON_LIST_QUERY_LIST
- {
- };
- heading = qtn_swins_installation_complete_head;
- };
- }
- };
- }
-
-//------------------------------------------------------------------------------
-//
-// r_swcommon_softkeys_start_close__start
-// Defines softkeys start, close, start (MSK)
-//
-//------------------------------------------------------------------------------
-//
-RESOURCE CBA r_swcommon_softkeys_start_close__start
- {
- buttons =
- {
- CBA_BUTTON { id = EAknSoftkeyOk; txt = text_softkey_start; },
- CBA_BUTTON { id = EAknSoftkeyClose; txt = text_softkey_close; },
- CBA_BUTTON { id = EAknSoftkeyOk; txt = text_softkey_start; }
- };
- }
-
-
-RESOURCE TBUF r_swcommon_installed_folder_head { buf = qtn_jam_installed_folder; }
-RESOURCE TBUF r_swcommon_installed_folder { buf = qtn_swins_installed_folder; }
-
-//------------------------------------------------------------------------------
-//
-// r_swcommon_multi_uninstall_dialog
-// Defines a dialog for confirmation to uninstall several applications
-//
-//------------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_swcommon_multi_uninstall_dialog
- {
- flags = EGeneralQueryFlags;
- buttons = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
- items =
- {
- DLG_LINE
- {
- type = EAknCtPopupHeadingPane;
- id = EAknMessageQueryHeaderId;
- control = AVKON_HEADING
- {
- label = qtn_swins_heading_uninst_midlet_suite;
- };
- },
- DLG_LINE
- {
- type = EAknCtMessageQuery;
- id = EAknMessageQueryContentId;
- control = AVKON_MESSAGE_QUERY
- {
- };
- }
- };
- }
-
-RESOURCE TBUF r_swcommon_query_uninst_midlet_suite { buf = qtn_swins_query_uninst_midlet_suite; }
-RESOURCE TBUF r_swcommon_sec_fingerprint_md { buf = qtn_swins_cert_fingerprint_md; }
-#ifdef RD_MULTIPLE_DRIVE
-RESOURCE TBUF r_swcommon_detail_value_mass_storage { buf = qtn_am_details_mem_mass_storage; }
-#endif
-#ifdef RD_COMBINE_INSTALLATION_QUERIES
-RESOURCE TBUF r_swcommon_header_install { buf = qtn_swins_header_install; }
-RESOURCE TBUF r_swcommon_header_download { buf = qtn_swins_header_download; }
-#endif
-
-// End of File
-
--- a/appinstaller/AppinstUi/Plugin/CommonUI/Inc/CUICertificateDetailsDialog.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,117 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains the header file of the
-* CCUICertificateDetailsDialog class.
-*
-* This dialog shows detailed information about certificates.
-*
-*/
-
-
-#ifndef CUICERTIFICATEDETAILSDIALOG_H
-#define CUICERTIFICATEDETAILSDIALOG_H
-
-// INCLUDES
-#include <e32base.h>
-
-// FORWARD DECLARATIONS
-class CX509Certificate;
-
-namespace SwiUI
-{
-namespace CommonUI
-{
-
-// FORWARD DECLARATIONS
-class CCUICertificateInfo;
-
-/**
-* This dialog shows detailed information about certificates.
-*
-* @lib swinstcommonui.lib
-* @since 3.0
-*/
-NONSHARABLE_CLASS(CCUICertificateDetailsDialog) : public CBase
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- *
- * Constructs the dialog.
- * @since 3.0
- * @return Pointer to the created certificate details dialog.
- */
- static CCUICertificateDetailsDialog* NewL();
-
- /**
- * Destructor.
- */
- virtual ~CCUICertificateDetailsDialog();
-
- public: // New functions
-
- /**
- * Displays the dialog.
- * @since 3.0
- * @param aCertInfo - Certificate information object.
- */
- void ExecuteLD( const CCUICertificateInfo& aCertInfo );
-
- protected: // New functions
-
- /**
- * Adds a field (header and value) to the dialog.
- * @since 3.0
- * @param aMessage - Buffer where to append the field.
- * @param aHeaderResourceId - Resource id of the header string.
- * @param aValue - Field value.
- */
- void AddFieldLC( HBufC*& aMessage, TInt aHeaderResourceId, const TDesC& aValue );
-
- /**
- * Converts date to local format.
- * @since 3.0
- * @param aDate - The date to be formatted.
- * @return Descriptor having the formatted date. Ownership transfers to caller.
- */
- HBufC* DateToStringLC( const TDateTime& aDate );
-
- /**
- * Devides input descriptor to blocks.
- * @since 3.0
- * @param aInput - Input string.
- * @param aOutput - Pointer to output string.
- */
- void DevideToBlocks( const TDesC8& aInput, TPtr aOutput );
-
- private:
-
- /**
- * Constructor.
- */
- CCUICertificateDetailsDialog();
-
- /**
- * 2nd phase constructor.
- */
- void ConstructL();
- };
-}
-}
-
-
-#endif // CUICERTIFICATEDETAILSDIALOG_H
-
-// End of File
--- a/appinstaller/AppinstUi/Plugin/CommonUI/Inc/CUIDriveUtils.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,155 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains the header file of the CCUIDriveUtils class
-*
-*/
-
-
-#ifndef CUIDRIVEUTILS_H
-#define CUIDRIVEUTILS_H
-
-// INCLUDES
-#include <e32base.h>
-
-// FORWARD DECLARATIONS
-
-namespace SwiUI
-{
-namespace CommonUI
-{
-
-/**
-* This class provides functions to launch a common file selection dialog.
-* @lib SWInstCommonUI.lib
-* @since 3.0
-*/
-NONSHARABLE_CLASS(CCUIDriveUtils) : public CBase
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- * @param aSize - Size of the package.
- * @param aDriveUnits - Array of available drives as drive units.
- * @param aDriveSpaces - Array of free space on each of the drives in the
- * aDriveLetters array.
- */
- static CCUIDriveUtils* NewL( TInt64 aSize,
- const RArray<TDriveUnit>& aDriveUnits,
- const RArray<TInt64>& aDriveSpaces);
-
- /**
- * Destructor.
- */
- virtual ~CCUIDriveUtils();
-
-
- public: // New functions
-
- /**
- * Show a drive selection dialog.
- * @since 3.0
- * @param aSelectedDrive - Contains the drive letter that user selected.
- * @return ETrue is user selected a drive, EFalse if user canceled the query.
- */
- TBool ShowSelectionDialogL( TInt& aSelectedDrive );
-
- /**
- * Function to get info if internal drive is present (phone memory).
- * @since 3.0
- * @return ETrue if yes, EFalse if no.
- */
- TBool IsInternalDrivePresent() const;
-
- /**
- * Function to get info if memory card is present.
- * @since 3.0
- * @return ETrue if yes, EFalse if no.
- */
- TBool IsCardDrivePresent() const;
-
- /**
- * Get the free space on phone memory.
- * @since 3.0
- * @return Free space on phone memory.
- */
- TInt64 GetInternalDriveSpace() const;
-
- /**
- * Get the free space on memory card.
- * @since 3.0
- * @return Free space on memory card.
- */
- TInt64 GetCardDriveSpace() const;
-
- /**
- * Get the free space on drive.
- * @since 3.0
- * @param aIndex - Drive index.
- * @return Free space on memory card.
- */
- TInt64 GetDriveSpace( TInt aIndex ) const;
-
- /**
- * Get array index of the phone memory in the aDriveLetters array.
- * @since 3.0
- * @return Array index of the phone memory.
- */
- TInt GetInternalDriveIndex() const;
-
- /**
- * Get array index of the memory card in the aDriveLetters array.
- * @since 3.0
- * @return Array index of the memory card.
- */
- TInt GetCardDriveIndex() const;
-
- private:
-
- /**
- * Constructor.
- * @param aSize - Size of the package.
- * @param aDriveUnits - Array of available drives as drive units.
- * @param aDriveSpaces - Array of free space on each of the drives in the
- * aDriveLetters array.
- */
- CCUIDriveUtils( TInt64 aSize,
- const RArray<TDriveUnit>& aDriveUnits,
- const RArray<TInt64>& aDriveSpaces);
-
- /**
- * 2nd phase constructor.
- */
- void ConstructL();
-
- private: // Data
-
- TInt64 iSize;
- const RArray<TDriveUnit>& iDriveUnits;
- const RArray<TInt64>& iDriveSpaces;
-
- TInt iInternalArrayIndex;
- TInt iCardArrayIndex;
-
- TChar iCardDriveLetter;
-
- TInt64 iInternalFreeMemory;
- TInt64 iCardFreeMemory;
- };
-}
-}
-
-#endif // SWCOMMONUI_H
-
-// End of File
--- a/appinstaller/AppinstUi/Plugin/CommonUI/Inc/CUIProgressDialog.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +0,0 @@
-/*
-* Copyright (c) 2002-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains the header file of the CUIProgressDialog
-* class.
-*
-*/
-
-
-#ifndef CUIPROGRESSDIALOG_H
-#define CUIPROGRESSDIALOG_H
-
-// INCLUDES
-#include <AknProgressDialog.h>
-
-namespace SwiUI
-{
-namespace CommonUI
-{
-
-// FORWARD DECLARATIONS
-class MCUIWaitDialogCallback;
-
-// CLASS DECLARATION
-
-/**
-* Progress dialog for installer.
-* @lib SWInstCommonUI.lib
-* @since 3.0
-*/
-NONSHARABLE_CLASS(CCUIProgressDialog) : public CAknProgressDialog
- {
-
- public: // Constructors and destructor
-
- /**
- * Constructor, parameter aAppUi is used in function OkToExitL()
- */
- CCUIProgressDialog( CEikDialog** aSelfPtr, TBool aVisibilityDelayOff );
-
- virtual ~CCUIProgressDialog();
-
- public:
-
- /**
- * From CEikDialog, respond to softkey inputs.
- * @para aButtonId, type of pressed Button or Softkey
- * @return TBool, ETrue if exit the dialog, otherwise EFalse.
- */
- TBool OkToExitL( TInt aButtonId );
-
- public: // New functions
- void SetCallback( MCUIWaitDialogCallback* aCallback );
-
- protected: // from CAknNoteDialog
- void PreLayoutDynInitL();
-
- private: //data
-
- MCUIWaitDialogCallback* iCallback;
- };
-}
-}
-
-#endif // CUIPROGRESSDIALOG_H
-
-// End of file
--- a/appinstaller/AppinstUi/Plugin/CommonUI/Inc/CUIWaitDialog.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains the header file of the CCUIWaitDialog class.
-*
-*/
-
-
-#ifndef CUIWAITDIALOG_H
-#define CUIWAITDIALOG_H
-
-// INCLUDES
-#include <AknWaitDialog.h>
-
-namespace SwiUI
-{
-namespace CommonUI
-{
-
-// FORWARD DECLARATIONS
-class MCUIWaitDialogCallback;
-
-// CLASS DECLARATION
-
-/**
-* Wait dialog for installer
-* @lib SWInstCommonUI.lib
-* @since 3.0
-*/
-NONSHARABLE_CLASS(CCUIWaitDialog) : public CAknWaitDialog
- {
-
- public: // Constructors and destructor
-
- /**
- * Constructor, parameter aAppUi is used in function OkToExitL()
- */
- CCUIWaitDialog( CEikDialog** aSelfPtr, TBool aVisibilityDelayOff );
-
- virtual ~CCUIWaitDialog();
-
- public:
-
- /**
- * From CEikDialog, respond to softkey inputs.
- * @para aButtonId, type of pressed Button or Softkey
- * @return TBool, ETrue if exit the dialog, otherwise EFalse.
- */
- TBool OkToExitL( TInt aButtonId );
-
- public: // New functions
- void SetCallback( MCUIWaitDialogCallback* aCallback );
-
- private: //data
-
- MCUIWaitDialogCallback* iCallback;
- };
-}
-}
-
-#endif // CUIWAITDIALOG_H
-
-// End of file
--- a/appinstaller/AppinstUi/Plugin/CommonUI/Src/CUICancelTimer.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,144 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains the implementation of CCUICancelTimer
-* class member functions.
-*
-*/
-
-
-// INCLUDE FILES
-#include <eikenv.h>
-
-#include "CUICancelTimer.h"
-
-using namespace SwiUI::CommonUI;
-
-const TInt KCancelTries = 4;
-const TInt KCancelFirstTryInterval = 1; // 1us
-const TInt KCancelTryInterval = 500000; // 0,5 sec
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CCUICancelTimer::CCUICancelTimer
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CCUICancelTimer::CCUICancelTimer( MCUICancellable* aCancellable )
- : CTimer( CActive::EPriorityHigh ),
- iCancellable( aCancellable ),
- iTryCount( KCancelTries )
- {
- CActiveScheduler::Add( this );
- }
-
-// -----------------------------------------------------------------------------
-// CCUICancelTimer::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CCUICancelTimer::ConstructL()
- {
- CTimer::ConstructL();
- iEikEnv = CEikonEnv::Static();
- }
-
-// -----------------------------------------------------------------------------
-// CCUICancelTimer::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CCUICancelTimer* CCUICancelTimer::NewL( MCUICancellable* aCancellable )
- {
- CCUICancelTimer* self = new( ELeave ) CCUICancelTimer( aCancellable );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-// Destructor
-EXPORT_C CCUICancelTimer::~CCUICancelTimer()
- {
- Cancel();
- }
-
-// -----------------------------------------------------------------------------
-// CCUICancelTimer::InstallL
-// Perform installation.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CCUICancelTimer::StartCancelling()
- {
- iCancellable->StartedCancellingL();
- iCancellable->CancelEngine();
- if ( iCancellable->IsShowingDialog() )
- {
- TKeyEvent key;
- key.iRepeats = 0;
- key.iCode = EKeyEscape;
- key.iModifiers = 0;
- iEikEnv->SimulateKeyEventL( key, EEventKey );
- }
- iTryCount--;
- TTimeIntervalMicroSeconds32 timeout( KCancelFirstTryInterval );
- After( timeout );
- }
-
-// -----------------------------------------------------------------------------
-// CCUICancelTimer::RunL
-// Called when timer has triggered.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CCUICancelTimer::RunL()
- {
- if ( --iTryCount >= 0 )
- {
- iCancellable->CancelEngine();
- if ( iCancellable->IsShowingDialog() )
- {
- TKeyEvent key;
- key.iRepeats = 0;
- key.iCode = EKeyEscape;
- key.iModifiers = 0;
- iEikEnv->SimulateKeyEventL( key, EEventKey );
- }
- TTimeIntervalMicroSeconds32 timeout( KCancelTryInterval );
- After( timeout );
- }
- else if ( iCancellable->IsShowingDialog() )
- {
- // In this case we we are still showing a dialog, even we have tried
- // to dismiss it. So force the cancel
- iCancellable->ForceCancel();
- }
- }
-
-// -----------------------------------------------------------------------------
-// CCUICancelTimer::RunError
-// Handles a leave occurring in the request completion event handler RunL().
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CCUICancelTimer::RunError( TInt /*aError*/ )
- {
- iCancellable->ForceCancel();
-
- return KErrNone;
- }
-
-// End of File
--- a/appinstaller/AppinstUi/Plugin/CommonUI/Src/CUICertificateDetailsDialog.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,244 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains the implementation of
-* CCUICertificateDetailsDialog class member functions.
-*
-*/
-
-
-// INCLUDE FILES
-//#include <aknmessagequerydialog.h>
-//#include <StringLoader.h>
-#include <SWInstCommonUI.rsg>
-//#include <AknUtils.h>
-#include <hash.h>
-
-#include "CUICertificateDetailsDialog.h"
-#include "CUIDetailsDialog.h"
-
-using namespace SwiUI::CommonUI;
-
-// CONSTANTS
-_LIT( KNextLine, "\n" );
-_LIT( KNextNextLine, "\n\n" );
-_LIT( KHexFormat, "%02X" );
-const TInt KMaxLengthTextSerialNumberFormatting = 3;
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CCUICertificateDetailsDialog::CCUICertificateDetailsDialog
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CCUICertificateDetailsDialog::CCUICertificateDetailsDialog()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CCUICertificateDetailsDialog::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CCUICertificateDetailsDialog::ConstructL()
- {
-
- }
-
-// -----------------------------------------------------------------------------
-// CCUICertificateDetailsDialog::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CCUICertificateDetailsDialog* CCUICertificateDetailsDialog::NewL()
-
- {
- CCUICertificateDetailsDialog* self = new ( ELeave ) CCUICertificateDetailsDialog();
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-// Destructor
-CCUICertificateDetailsDialog::~CCUICertificateDetailsDialog()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CCUICertificateDetailsDialog::AddFieldLC
-// Adds a field (header and value) to the dialog.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CCUICertificateDetailsDialog::AddFieldLC( HBufC*& aMessage,
- TInt aHeaderResourceId,
- const TDesC& aValue )
- {
- /*
- HBufC* headerString = StringLoader::LoadLC( aHeaderResourceId );
- HBufC* newMessage;
-
- if ( aMessage->Length() > 0 )
- {
- newMessage = HBufC::NewL( headerString->Length() +
- aValue.Length() +
- aMessage->Length() +
- 3 ); // \n\n, \n
-
- TPtr ptr( newMessage->Des() );
- ptr += *aMessage;
- ptr += KNextNextLine;
- ptr += *headerString;
- ptr += KNextLine;
- ptr += aValue;
- }
- else
- {
- newMessage = HBufC::NewL( headerString->Length() + aValue.Length() + 1 ); // \n
-
- TPtr ptr( newMessage->Des() );
- ptr += *headerString;
- ptr += KNextLine;
- ptr += aValue;
- }
-
- CleanupStack::PopAndDestroy( headerString );
- CleanupStack::PopAndDestroy( aMessage );
-
- aMessage = newMessage;
- CleanupStack::PushL( aMessage );
- */
- }
-
-// -----------------------------------------------------------------------------
-// CCUICertificateDetailsDialog::ExecuteLD
-// Executes the dialog.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CCUICertificateDetailsDialog::ExecuteLD( const CCUICertificateInfo& aCertInfo )
- {
- /*
- CleanupStack::PushL( this );
-
- // Valid from
- HBufC* validFrom = DateToStringLC( aCertInfo.ValidFromL() );
-
- // Valid until
- HBufC* validTo = DateToStringLC( aCertInfo.ValidToL() );
-
- // Serial
- TPtrC8 serialPtr( aCertInfo.SerialNumberL() );
- HBufC* serial = HBufC::NewLC( serialPtr.Length() * 2 );
- TBuf<KMaxLengthTextSerialNumberFormatting> buf;
-
- for ( TInt index = 0; index < serialPtr.Length(); index++ )
- {
- buf.Format( KHexFormat, serialPtr[index] );
- serial->Des().Append( buf );
- }
-
- // Fingerprint
- HBufC* fingerprint = HBufC::NewLC( aCertInfo.FingerprintL().Length() * 5 );
- DevideToBlocks( aCertInfo.FingerprintL(), fingerprint->Des() );
-
- // Fingerprint (MD5)
- HBufC* fingerprint_md = HBufC::NewLC( aCertInfo.FingerprintL().Length() * 5 );
- if ( aCertInfo.EncodingL() != KNullDesC8 )
- {
- CMD5* md5 = CMD5::NewL();
- CleanupStack::PushL( md5 );
- DevideToBlocks( md5->Hash( aCertInfo.EncodingL() ), fingerprint_md->Des() );
- CleanupStack::PopAndDestroy( md5 );
- }
-
- HBufC* message = HBufC::NewLC( 0 );
-
- // Costruct the fields
- AddFieldLC( message, R_SWCOMMON_SEC_ISSUER, aCertInfo.IssuerNameL() );
- AddFieldLC( message, R_SWCOMMON_SEC_SUBJECT, aCertInfo.SubjectNameL() );
- AddFieldLC( message, R_SWCOMMON_SEC_VALID_FROM, *validFrom );
- AddFieldLC( message, R_SWCOMMON_SEC_VALID_UNTIL, *validTo );
- AddFieldLC( message, R_SWCOMMON_SEC_SERIAL, *serial );
- AddFieldLC( message, R_SWCOMMON_SEC_FINGERPRINT, *fingerprint );
- if ( fingerprint_md->Length() > 0 )
- {
- AddFieldLC( message, R_SWCOMMON_SEC_FINGERPRINT_MD, *fingerprint_md );
- }
-
-
- // Create and show the message query dialog
- CAknMessageQueryDialog* dlg = CAknMessageQueryDialog::NewL( *message );
- dlg->PrepareLC( R_SWCOMMON_SEC_DETAILS_DIALOG );
- dlg->RunLD();
-
- CleanupStack::PopAndDestroy( 7 ); // message, fingerprint_md, fingerprint, serial, validTo, validFrom
- */
- }
-
-// -----------------------------------------------------------------------------
-// CCUICertificateDetailsDialog::DateToString
-// Converts date to local format.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-HBufC* CCUICertificateDetailsDialog::DateToStringLC( const TDateTime& aDate )
- {
- /*
- // Create date descriptors.
- // We use Avkon date format string to format the date into correct format.
- HBufC* dateFormatString = StringLoader::LoadLC( R_QTN_DATE_USUAL_WITH_ZERO );
-
- TBuf<30> timeString;
- TTime time( aDate );
-
- time.FormatL( timeString, *dateFormatString );
- CleanupStack::PopAndDestroy( dateFormatString );
- HBufC* tmp = timeString.AllocLC();
-
- TPtr ptr = tmp->Des();
- AknTextUtils::DisplayTextLanguageSpecificNumberConversion( ptr );
-
- return tmp;
- */
- return NULL;
- }
-
-// -----------------------------------------------------------------------------
-// CCUICertificateDetailsDialog::DevideToBlocks
-// Devides input descriptor to blocks.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CCUICertificateDetailsDialog::DevideToBlocks( const TDesC8& aInput, TPtr aOutput )
- {
- const TInt KBlockLength = 2;
- TInt blockIndex = 0;
- _LIT( KBlockSeparator, " " );
-
- for ( TInt index = 0 ; index < aInput.Length() ; index++ )
- {
- if ( blockIndex == KBlockLength )
- {
- aOutput.Append( KBlockSeparator );
- blockIndex = 0;
- }
- aOutput.AppendNumFixedWidthUC( (TUint)(aInput[index]), EHex, 2 );
- ++blockIndex;
- }
- }
-// End of File
--- a/appinstaller/AppinstUi/Plugin/CommonUI/Src/CUICertificateInfo.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,213 +0,0 @@
-/*
-* Copyright (c) 2002-2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains the implementation of CCUICertificateInfo
-* class member functions.
-*
-*/
-
-
-// INCLUDE FILES
-#include <X509CertNameParser.h>
-#include <x509cert.h>
-#include "CUIDetailsDialog.h"
-
-using namespace SwiUI::CommonUI;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CCUICertificateInfo::CCUICertificateInfo
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CCUICertificateInfo::CCUICertificateInfo()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CCUICertificateDetailsDialog::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CCUICertificateInfo::BaseConstructL( const CX509Certificate& aCertificate )
- {
- iCertificate = CX509Certificate::NewL( aCertificate );
- X509CertNameParser::SubjectFullNameL( *iCertificate, iSubject );
- X509CertNameParser::IssuerFullNameL( *iCertificate, iIssuer );
- iSerialNumber = iCertificate->SerialNumber().AllocL();
- iFingerprint = iCertificate->Fingerprint().AllocL();
- iEncoding = iCertificate->Encoding().AllocL();
- }
-
-// -----------------------------------------------------------------------------
-// CCUICertificateInfo::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CCUICertificateInfo* CCUICertificateInfo::NewL( const CX509Certificate& aCertificate )
- {
- CCUICertificateInfo* self = new ( ELeave ) CCUICertificateInfo();
- CleanupStack::PushL( self );
- self->BaseConstructL( aCertificate );
- CleanupStack::Pop( self );
- return self;
- }
-
-// Destructor
-EXPORT_C CCUICertificateInfo::~CCUICertificateInfo()
- {
- delete iCertificate;
- delete iIssuer;
- delete iSubject;
- delete iSerialNumber;
- delete iFingerprint;
- delete iEncoding;
- }
-
-// -----------------------------------------------------------------------------
-// CCUICertificateInfo::X509Certificate
-// Returns pointer to X509Certificate where this info is based on.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CX509Certificate* CCUICertificateInfo::X509Certificate()
- {
- return iCertificate;
- }
-
-// -----------------------------------------------------------------------------
-// CCUICertificateInfo::SubjectName
-// Getter for subject field.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-const TDesC& CCUICertificateInfo::SubjectNameL() const
- {
- return *iSubject;
- }
-
-// -----------------------------------------------------------------------------
-// CCUICertificateInfo::IssuerName
-// Getter for issuer field.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-const TDesC& CCUICertificateInfo::IssuerNameL() const
- {
- return *iIssuer;
- }
-
-// -----------------------------------------------------------------------------
-// CCUICertificateInfo::ValidFrom
-// Getter for valid from field.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TDateTime CCUICertificateInfo::ValidFromL() const
- {
- const CValidityPeriod& validityPeriod = iCertificate->ValidityPeriod();
- return validityPeriod.Start().DateTime();
- }
-
-// -----------------------------------------------------------------------------
-// CCUICertificateInfo::ValidTo
-// Getter for certificate expiration date.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TDateTime CCUICertificateInfo::ValidToL() const
- {
- const CValidityPeriod& validityPeriod = iCertificate->ValidityPeriod();
- return validityPeriod.Finish().DateTime();
- }
-
-// -----------------------------------------------------------------------------
-// CCUICertificateInfo::Fingerprint
-// Getter for fingerprint of the certificate.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-const TDesC8& CCUICertificateInfo::FingerprintL() const
- {
- return *iFingerprint;
- }
-
-// -----------------------------------------------------------------------------
-// CCUICertificateInfo::SerialNumber
-// Getter for serial number of the certificate.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-const TDesC8& CCUICertificateInfo::SerialNumberL() const
- {
- return *iSerialNumber;
- }
-
-// -----------------------------------------------------------------------------
-// CCUICertificateInfo::IsSelfSignedL
-// Indicates wheter this certificate is self signed.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CCUICertificateInfo::IsSelfSignedL() const
- {
- return iCertificate->IsSelfSignedL();
- }
-
-// -----------------------------------------------------------------------------
-// CCUICertificateInfo::EncodingL
-// Gets the full encoding of this certificate.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-const TDesC8& CCUICertificateInfo::EncodingL() const
- {
- return *iEncoding;
- }
-
-// -----------------------------------------------------------------------------
-// CCUICertificateInfo::SignatureL
-// Gets the signature of this certificate.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-const TDesC8& CCUICertificateInfo::SignatureL() const
- {
- return KNullDesC8();
- }
-
-// -----------------------------------------------------------------------------
-// CCUICertificateInfo::PublicKeyAlgorithmL
-// Gets the public key algorithm of the certificate.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TAlgorithmId CCUICertificateInfo::PublicKeyAlgorithmL() const
- {
- return iCertificate->SigningAlgorithm().AsymmetricAlgorithm().Algorithm();
- }
-
-// -----------------------------------------------------------------------------
-// CCUICertificateInfo::DigestAlgorithmL
-// Gets the digest algorithm of the certificate.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TAlgorithmId CCUICertificateInfo::DigestAlgorithmL() const
- {
- return iCertificate->SigningAlgorithm().DigestAlgorithm().Algorithm();
- }
-
-// End of File
--- a/appinstaller/AppinstUi/Plugin/CommonUI/Src/CUIDetailsDialog.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,572 +0,0 @@
-/*
-* Copyright (c) 2002-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains the implementation of CSisxUIInstall
-* class member functions.
-*
-*/
-
-
-// INCLUDE FILES
-//#include <aknmessagequerydialog.h>
-//#include <aknlistquerydialog.h> // remove
-//#include <StringLoader.h>
-#include <bautils.h>
-#include <eikenv.h>
-#include <data_caging_path_literals.hrh>
-#include <SWInstCommonUI.rsg>
-#include <pathinfo.h>
-//#include <avkon.rsg>
-#include <DRMHelper.h>
-
-#include "CUIDetailsDialog.h"
-#include "CUICertificateDetailsDialog.h"
-#include "CUIUtils.h"
-
-using namespace SwiUI::CommonUI;
-
-// LOCAL CONSTANTS AND MACROS
-
-_LIT( KNextLine, "\n" );
-_LIT( KLinkTagOpen, "<AknMessageQuery Link>" );
-_LIT( KLinkTagClose, "</AknMessageQuery Link>" );
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CCUIDetailsDialog::CCUIDetailsDialog
-// C++ default constructor can NOT contain any code, that might leave.
-// -----------------------------------------------------------------------------
-//
-CCUIDetailsDialog::CCUIDetailsDialog()
-// : iCbaResourceId( R_AVKON_SOFTKEYS_OK_EMPTY )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CCUIDetailsDialog::CCUIDetailsDialog
-// C++ default constructor can NOT contain any code, that might leave.
-// -----------------------------------------------------------------------------
-//
-CCUIDetailsDialog::CCUIDetailsDialog( TInt aCbaResourceId )
- : iCbaResourceId( aCbaResourceId )
- {
- }
-// -----------------------------------------------------------------------------
-// CCUIDetailsDialog::CCUIDetailsDialog
-// C++ default constructor can NOT contain any code, that might leave.
-// -----------------------------------------------------------------------------
-//
-CCUIDetailsDialog::CCUIDetailsDialog( TInt aCbaResourceId, TCUIDetailsHeader aHeaderType )
- : iCbaResourceId( aCbaResourceId ), iHeaderType( aHeaderType )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CCUIDetailsDialog::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CCUIDetailsDialog::ConstructL()
- {
- iCoeEnv = CEikonEnv::Static();
- if ( !iCoeEnv )
- {
- User::Leave( KErrGeneral );
- }
-
- TFileName fileName;
- fileName.Append( KDC_RESOURCE_FILES_DIR );
- fileName.Append( KCUIResourceFileName );
- iResourceFileOffset = CUIUtils::LoadResourceFileL( fileName, iCoeEnv );
- }
-
-// -----------------------------------------------------------------------------
-// CCUICertificateDetailsDialog::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CCUIDetailsDialog* CCUIDetailsDialog::NewL()
- {
- CCUIDetailsDialog* self = new ( ELeave ) CCUIDetailsDialog();
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop();
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CCUICertificateDetailsDialog::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CCUIDetailsDialog* CCUIDetailsDialog::NewL( TInt aCbaResourceId )
- {
- CCUIDetailsDialog* self = new ( ELeave ) CCUIDetailsDialog( aCbaResourceId );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop();
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CCUICertificateDetailsDialog::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CCUIDetailsDialog* CCUIDetailsDialog::NewL( TInt aCbaResourceId,
- TBool aWithInstallHeader )
- {
- CCUIDetailsDialog* self = new ( ELeave ) CCUIDetailsDialog( aCbaResourceId,
- ( aWithInstallHeader ? EInstallHeader : EDetailsHeader ) );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop();
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CCUICertificateDetailsDialog::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CCUIDetailsDialog* CCUIDetailsDialog::NewL( TInt aCbaResourceId,
- TCUIDetailsHeader aHeaderType )
- {
- CCUIDetailsDialog* self = new ( ELeave ) CCUIDetailsDialog( aCbaResourceId,
- aHeaderType );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop();
- return self;
- }
-
-// Destructor
-EXPORT_C CCUIDetailsDialog::~CCUIDetailsDialog()
- {
- delete iMessageArray;
-
- if( iResourceFileOffset )
- {
- iCoeEnv->DeleteResourceFile( iResourceFileOffset );
- }
-
- iCommonCertificates.Close();
- }
-
-// -----------------------------------------------------------------------------
-// CCUIDetailsDialog::ExecuteLD
-// Displays the dialog.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt CCUIDetailsDialog::ExecuteLD( MCUIInfoIterator& aIterator )
- {
- return ShowDialogL( aIterator );
- }
-
-// -----------------------------------------------------------------------------
-// CCUIDetailsDialog::ExecuteLD
-// Displays the dialog with given certificates.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt CCUIDetailsDialog::ExecuteLD( MCUIInfoIterator& aIterator,
- const RPointerArray<CCUICertificateInfo>& aCertInfos )
- {
- // Copy the certificates
- for ( TInt index = 0; index < aCertInfos.Count(); index++ )
- {
- iCommonCertificates.Append( aCertInfos[index] );
- }
-
- return ShowDialogL( aIterator );
- }
-
-// -----------------------------------------------------------------------------
-// CCUIDetailsDialog::ExecuteLD
-// Displays the dialog with given certificates.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt CCUIDetailsDialog::ExecuteLD( MCUIInfoIterator& aIterator,
- RFile& aFile )
- {
- iFile = aFile;
- iFileSet = ETrue;
-
- return ShowDialogL( aIterator );
- }
-
-// -----------------------------------------------------------------------------
-// CCUIDetailsDialog::ExecuteLD
-// Displays the dialog with given certificates.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt CCUIDetailsDialog::ExecuteLD( MCUIInfoIterator& aIterator,
- const RPointerArray<CCUICertificateInfo>& aCertInfos,
- RFile& aFile )
- {
- iFile = aFile;
- iFileSet = ETrue;
-
- return ExecuteLD( aIterator, aCertInfos );
- }
-
-// -----------------------------------------------------------------------------
-// CCUIDetailsDialog::ShowDialogL
-// Helper to show the details dialog.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CCUIDetailsDialog::ShowDialogL( MCUIInfoIterator& aIterator )
- {
- TInt result( 0 );
-/*
- CleanupStack::PushL( this );
-
- PopulateArrayL( aIterator );
- HBufC* message = GetMessageDescriptorLC();
-
- // Create and show the message query dialog
- TCallBack certCallback( ShowCertificates, this );
- TCallBack drmCallback( ShowDrm, this );
-
- CAknMessageQueryDialog* dlg = CAknMessageQueryDialog::NewL( *message );
- dlg->PrepareLC( R_SWCOMMON_DETAILS_DIALOG );
-#ifdef RD_COMBINE_INSTALLATION_QUERIES
- HBufC* header = NULL;
- switch( iHeaderType )
- {
- case EInstallAndDownloadHeader:
- header = StringLoader::LoadLC( R_SWCOMMON_HEADER_DOWNLOAD );
- dlg->QueryHeading()->SetTextL( *header );
- CleanupStack::PopAndDestroy( header );
- break;
-
- case EInstallHeader:
- header = StringLoader::LoadLC( R_SWCOMMON_HEADER_INSTALL );
- dlg->QueryHeading()->SetTextL( *header );
- CleanupStack::PopAndDestroy( header );
- break;
-
- case EDetailsHeader:
- default:
- break;
- }
-#endif //RD_COMBINE_INSTALLATION_QUERIES
- dlg->ButtonGroupContainer().SetCommandSetL( iCbaResourceId );
-
- if ( iCommonCertificates.Count() > 0 )
- {
- dlg->SetLink( certCallback );
- }
- if ( iFileSet )
- {
- dlg->SetLink( drmCallback );
- }
-
- result = dlg->RunLD();
- CleanupStack::PopAndDestroy( 2 ); // message, this
-*/
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CCUIDetailsDialog::SetFieldL
-// Sets a field in the details dialog.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CCUIDetailsDialog::SetFieldL( CDesCArray& aItemArray,
- const TDesC& aHeading,
- const TDesC& aValue )
- {
- HBufC* temp = HBufC::NewLC( aHeading.Length() + aValue.Length() + 3 );
- TPtr ptr( temp->Des() );
-
- if ( aItemArray.Count() > 0 )
- {
- ptr += KNextLine;
- ptr += KNextLine;
- }
-
- ptr += aHeading;
- ptr += KNextLine;
- if ( aValue.Length() > 0 )
- {
- ptr += aValue;
- }
- aItemArray.AppendL( *temp );
- CleanupStack::PopAndDestroy( temp );
- }
-
-// -----------------------------------------------------------------------------
-// CCUIDetailsDialog::PopulateArrayL
-// Helper to populate the field array.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CCUIDetailsDialog::PopulateArrayL( MCUIInfoIterator& aIterator )
- {
- delete iMessageArray;
- iMessageArray = NULL;
- iMessageArray = new (ELeave) CDesCArrayFlat( 8 );
-
- // Construct the text to be shown
- aIterator.Reset();
- while ( aIterator.HasNext() )
- {
- TPtrC heading;
- TPtrC value;
-
- aIterator.Next( heading, value );
- SetFieldL( *iMessageArray, heading, value );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CCUIDetailsDialog::GetMessageDescriptorLC
-// Helper to get descriptor containing the fields of the dialog.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-HBufC* CCUIDetailsDialog::GetMessageDescriptorLC()
- {
- /*
- TInt size( 0 );
- TInt index( 0 );
-
- HBufC* type = StringLoader::LoadLC( R_SWCOMMON_DETAIL_TYPE );
- HBufC* typeString = HBufC::NewLC( type->Length() + 1);
- typeString->Des().Copy( *type );
- typeString->Des().Append( KNextLine() );
-
- HBufC* message = HBufC::NewLC( size );
-
- for ( index = 0; index < iMessageArray->Count(); index++ )
- {
- HBufC* tmp = message;
- message = message->ReAllocL( tmp->Length() + (*iMessageArray)[index].Length() );
- CleanupStack::Pop( tmp );
- CleanupStack::PushL( message );
-
- message->Des().Append( (*iMessageArray)[index] );
- // If this is the type field we need to add possible certificates and
- // drm details
- if ( (*iMessageArray)[index].Find( *typeString ) == 2 )
- {
- if ( iCommonCertificates.Count() > 0 )
- {
- AddCertificatesLC( message );
- }
- if ( iFileSet )
- {
- AddDrmLC( message );
- }
- }
- }
-
- CleanupStack::Pop( message );
- CleanupStack::PopAndDestroy( 2, type );
- CleanupStack::PushL( message );
-
- return message;
- */
- return NULL;
- }
-
-// -----------------------------------------------------------------------------
-// CCUIDetailsDialog::AddCertificatesLC
-// Helper to add certificate information to query text.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CCUIDetailsDialog::AddCertificatesLC( HBufC*& aMessage )
- {
- /*
- HBufC* certHeading = StringLoader::LoadLC( R_SWCOMMON_DETAIL_CERTIFICATES );
- HBufC* certificateLink = LoadLinkLC( R_SWCOMMON_DETAIL_VALUE_VIEW_CERT );
- HBufC* newString = HBufC::NewL( certHeading->Length() +
- aMessage->Length() +
- certificateLink->Length() +
- 3 );
-
- TPtr ptr( newString->Des() );
- ptr += *aMessage;
- ptr += KNextLine;
- ptr += KNextLine;
- ptr += *certHeading;
- ptr += KNextLine;
- ptr += *certificateLink;
-
- CleanupStack::PopAndDestroy( 3, aMessage );
-
- aMessage = newString;
- CleanupStack::PushL( aMessage );
- */
- }
-
-// -----------------------------------------------------------------------------
-// CCUIDetailsDialog::AddDrmLC
-// Helper to add DRM information to query text.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CCUIDetailsDialog::AddDrmLC( HBufC*& aMessage )
- {
- /*
- HBufC* drmHeading = StringLoader::LoadLC( R_SWCOMMON_DETAIL_DRM );
- HBufC* drmLink = LoadLinkLC( R_SWCOMMON_DETAIL_VALUE_VIEW_DRM );
- HBufC* newString = HBufC::NewL( drmHeading->Length() +
- aMessage->Length() +
- drmLink->Length() +
- 3 );
-
- TPtr ptr( newString->Des() );
- ptr += *aMessage;
- ptr += KNextLine;
- ptr += KNextLine;
- ptr += *drmHeading;
- ptr += KNextLine;
- ptr += *drmLink;
-
- CleanupStack::PopAndDestroy( 3, aMessage );
-
- aMessage = newString;
- CleanupStack::PushL( aMessage );
- */
- }
-
-// -----------------------------------------------------------------------------
-// CCUIDetailsDialog::ShowCertificates
-// Used as a callback function in message query.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CCUIDetailsDialog::ShowCertificates( TAny* ptr )
- {
- TInt err( KErrNone );
- CCUIDetailsDialog* self = static_cast<CCUIDetailsDialog*>(ptr);
- TRAP( err, self->DoShowCertificatesL() );
- return err;
- }
-
-// -----------------------------------------------------------------------------
-// CCUIDetailsDialog::ShowDrm
-// Used as a callback function in message query.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CCUIDetailsDialog::ShowDrm( TAny* ptr )
- {
- TInt err( KErrNone );
- CCUIDetailsDialog* self = static_cast<CCUIDetailsDialog*>(ptr);
- TRAP( err, self->DoShowDrmL() );
- return err;
- }
-
-// -----------------------------------------------------------------------------
-// CCUIDetailsDialog::DoShowCertificatesL
-// Show CCUICertificateInfo certificates.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CCUIDetailsDialog::DoShowCertificatesL()
- {
- /*
- if ( iCommonCertificates.Count() > 1 )
- {
- CDesCArrayFlat *itemArray = new( ELeave ) CDesCArrayFlat( 2 );
- CleanupStack::PushL( itemArray );
-
- for ( TInt index = 0; index < iCommonCertificates.Count(); index++ )
- {
- itemArray->AppendL( iCommonCertificates[index]->IssuerNameL() );
- }
-
- TInt selection( 0 );
- TInt dlgResult( EAknSoftkeyOk );
-
- while ( dlgResult )
- {
- // First show a dialog where user can select the certificate, which
- // will be viewed in more detail
- CAknListQueryDialog* dlg = new ( ELeave ) CAknListQueryDialog( &selection );
- dlg->PrepareLC( R_SWCOMMON_SEC_SELECTION_DIALOG );
- dlg->SetItemTextArray( itemArray );
- dlg->SetOwnershipType( ELbmDoesNotOwnItemArray );
- dlg->ListBox()->SetCurrentItemIndex( selection );
-
- dlgResult = dlg->RunLD();
- if ( dlgResult )
- {
- // Show details about the selected certificate
- CCUICertificateDetailsDialog* certDlg =
- CCUICertificateDetailsDialog::NewL();
-
- certDlg->ExecuteLD( *( iCommonCertificates[selection] ) );
- }
- }
-
- CleanupStack::PopAndDestroy( itemArray );
- }
- else if ( iCommonCertificates.Count() == 1 )
- {
- CCUICertificateDetailsDialog* certDlg =
- CCUICertificateDetailsDialog::NewL();
-
- certDlg->ExecuteLD( *( iCommonCertificates[0] ) );
- }
- */
- }
-
-// -----------------------------------------------------------------------------
-// CCUIDetailsDialog::DoShowDrmL
-// Show detailed drm info.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CCUIDetailsDialog::DoShowDrmL()
- {
- CDRMHelper* helper = CDRMHelper::NewLC( *iCoeEnv );
- helper->LaunchDetailsViewEmbeddedL( iFile );
- CleanupStack::PopAndDestroy( helper );
- }
-
-// -----------------------------------------------------------------------------
-// CCUIDetailsDialog::LoadLinkLC
-// Helper to construct a message query link from resource string.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-HBufC* CCUIDetailsDialog::LoadLinkLC( TInt aResourceId )
- {
- /*
- HBufC* link = StringLoader::LoadLC( aResourceId );
- HBufC* tmp = link->ReAllocL( link->Length() + KLinkTagOpen().Length() + KLinkTagClose().Length() );
-
- CleanupStack::Pop( link );
- link = tmp;
- CleanupStack::PushL( link );
-
- link->Des().Insert(0, KLinkTagOpen);
- link->Des().Append( KLinkTagClose );
-
- return link;
- */
- return NULL;
- }
-
-// End of File
--- a/appinstaller/AppinstUi/Plugin/CommonUI/Src/CUIDialogs.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,793 +0,0 @@
-/*
-* Copyright (c) 2002-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains the implementation of CCUIDialogs
-* class member functions.
-*
-*/
-
-
-// INCLUDE FILES
-#include <bautils.h>
-#include <eikenv.h>
-#include <StringLoader.h>
-//#include <AknQueryDialog.h>
-#include <eikprogi.h>
-//#include <aknnotewrappers.h>
-#include <data_caging_path_literals.hrh>
-#include <SWInstCommonUI.rsg>
-//#include <aknmessagequerydialog.h>
-#include <hlplch.h>
-//#include <csxhelp/am.hlp.hrh>
-#include <coehelp.h>
-#include <featmgr.h>
-#include <sysutil.h>
-#ifdef RD_MULTIPLE_DRIVE
-#include <driveinfo.h>
-#endif //RD_MULTIPLE_DRIVE
-//#include <akninputblock.h>
-
-#include "CUIDialogs.h"
-#include "CUIDriveUtils.h"
-#include "CUIWaitDialog.h"
-#include "CUIProgressDialog.h"
-#include "CUIDetailsDialog.h"
-#include "CUIUtils.h"
-#include "SWInstPrivateUid.h"
-
- using namespace SwiUI::CommonUI;
-
-_LIT( KNextLine, "\n" );
-_LIT( KFormat, "%d\t%S\t%S" );
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CCUIDialogs::CCUIDialogs
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CCUIDialogs::CCUIDialogs()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CCUIDialogs::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CCUIDialogs::ConstructL()
- {
- iCoeEnv = CEikonEnv::Static();
- if ( !iCoeEnv )
- {
- User::Leave( KErrGeneral );
- }
-
- TFileName fileName;
- fileName.Append( KDC_RESOURCE_FILES_DIR );
- fileName.Append( KCUIResourceFileName );
- iResourceFileOffset = CUIUtils::LoadResourceFileL( fileName, iCoeEnv );
-
-// iAbsorber = CAknInputBlock::NewLC();
-// CleanupStack::Pop( iAbsorber );
-
- FeatureManager::InitializeLibL();
- }
-
-// -----------------------------------------------------------------------------
-// CCUIDialogs::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CCUIDialogs* CCUIDialogs::NewL()
- {
- CCUIDialogs* self = new ( ELeave ) CCUIDialogs();
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-// Destructor
-EXPORT_C CCUIDialogs::~CCUIDialogs()
- {
- // Close non-modal dialogs
- TRAP_IGNORE( CloseProgressDialogL() );
- TRAP_IGNORE( CloseWaitDialogL() );
-
- if( iResourceFileOffset )
- {
- iCoeEnv->DeleteResourceFile( iResourceFileOffset );
- }
-
-// delete iAbsorber;
-
- FeatureManager::UnInitializeLib();
- }
-
-// -----------------------------------------------------------------------------
-// CCUIDialogs::ShowWaitDialogL
-// Show a wait dialog.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CCUIDialogs::ShowWaitDialogL( TInt aResourceId,
- MCUIWaitDialogCallback* aCallback,
- TInt aSoftkeyResourceId )
- {
- HBufC* displayString = StringLoader::LoadLC( aResourceId );
-
- if ( iWaitDialog )
- {
- iWaitDialog->SetTextL( *displayString );
- SetWaitDialogCallback( aCallback );
- }
- else
- {
- iWaitDialog = new (ELeave) CCUIWaitDialog ( reinterpret_cast
- < CEikDialog** >
- ( &iWaitDialog ),
- ETrue );
-
- iWaitDialog->PrepareLC( R_SWCOMMON_GENERAL_WAIT_DIALOG );
- iWaitDialog->SetTextL( *displayString );
- SetWaitDialogCallback( aCallback );
- iWaitDialog->ButtonGroupContainer().SetCommandSetL( aSoftkeyResourceId );
- iWaitDialog->RunLD();
- }
-
- CleanupStack::PopAndDestroy( displayString );
- }
-
-// -----------------------------------------------------------------------------
-// CCUIDialogs::CloseWaitDialogL
-// Closes the wait dialog
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CCUIDialogs::CloseWaitDialogL()
- {
- if ( iWaitDialog )
- {
- // Set callback to NULL as we want no callbacks from this.
- delete iWaitDialog;
- iWaitDialog = NULL;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CCUIDialogs::ShowProgressDialog
-// Show a progress dialog.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CCUIDialogs::ShowProgressDialogL( TInt aResourceId,
- MCUIWaitDialogCallback* aCallback,
- TInt aSoftkeyResourceId )
- {
- HBufC* displayString = StringLoader::LoadLC( aResourceId );
- ShowProgressDialogL( *displayString, aCallback, aSoftkeyResourceId );
- CleanupStack::PopAndDestroy( displayString );
- }
-
-EXPORT_C void CCUIDialogs::ShowProgressDialogL( const TDesC& aText,
- MCUIWaitDialogCallback* aCallback,
- TInt aSoftkeyResourceId )
- {
- if ( iProgressDialog )
- {
- iProgressDialog->SetTextL( aText );
- SetProgressDialogCallback( aCallback );
- }
- else
- {
- iProgressDialog = new (ELeave) CCUIProgressDialog ( reinterpret_cast
- < CEikDialog** >
- ( &iProgressDialog ),
- ETrue );
-
- iProgressDialog->PrepareLC( R_SWCOMMON_GENERAL_PROGRESS_DIALOG );
- iProgressDialog->SetTextL( aText );
- SetProgressDialogCallback( aCallback );
- iProgressDialog->ButtonGroupContainer().SetCommandSetL( aSoftkeyResourceId );
- iProgressDialog->RunLD();
- }
- }
-
-// -----------------------------------------------------------------------------
-// CCUIDialogs::SetProgressDialogFinalValueL
-// Set final value for the progress bar in progress dialog.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CCUIDialogs::SetProgressDialogFinalValueL( TInt aValue )
- {
- if ( iProgressDialog )
- {
- CEikProgressInfo* progressInfo = iProgressDialog->GetProgressInfoL();
- progressInfo->SetFinalValue( aValue );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CCUIDialogs::UpdateProgressDialogValuL
-// Increments the progress bar in progress dialog.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CCUIDialogs::UpdateProgressDialogValueL( TInt aValue )
- {
- if ( iProgressDialog )
- {
- CEikProgressInfo* progressInfo = iProgressDialog->GetProgressInfoL();
- progressInfo->IncrementAndDraw( aValue );
- User::ResetInactivityTime(); // keep lights on and screensaver disabled
- }
- }
-
-// -----------------------------------------------------------------------------
-// CCUIDialogs::CloseProgressDialogL
-// Closes the progress dialog
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CCUIDialogs::CloseProgressDialogL()
- {
- if ( iProgressDialog )
- {
- // Set callback to NULL as we want no callbacks from this.
- iProgressDialog->SetCallback( NULL );
- iProgressDialog->ProcessFinishedL();
- delete iProgressDialog;
- iProgressDialog = NULL;
- }
- }
-
-// -----------------------------------------------------------------------------
-// SwiUI::CSWCUIDialogs::ShowConfirmationQueryL
-// Show confirmation dialog.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TBool CCUIDialogs::ShowConfirmationQueryL( TInt aResourceId,
- TInt aSoftkeyResourceId ) const
- {
- TBool response( EFalse );
-
- HBufC* displayString = StringLoader::LoadLC( aResourceId );
-
- response = ShowConfirmationQueryL( *displayString, aSoftkeyResourceId );
-
- CleanupStack::PopAndDestroy( displayString );
-
- return response;
- }
-
-// -----------------------------------------------------------------------------
-// SwiUI::CSWCUIDialogs::ShowConfirmationQueryL
-// Show confirmation dialog.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TBool CCUIDialogs::ShowConfirmationQueryL( const TDesC& aDisplayString,
- TInt aSoftkeyResourceId ) const
- {
- TBool response( EFalse );
-/*
- CAknQueryDialog* note =
- CAknQueryDialog::NewL( CAknQueryDialog::EConfirmationTone );
-
- note->PrepareLC( R_SWCOMMON_GENERAL_CONFIRMATION_QUERY );
- note->SetPromptL( aDisplayString );
- note->ButtonGroupContainer().SetCommandSetL( aSoftkeyResourceId );
-
- if ( note->RunLD() )
- {
- response = ETrue;
- }
-*/
- return response;
- }
-
-// -----------------------------------------------------------------------------
-// CCUIDialogs::ShowDriveSelectionDialogL
-// Show a drive / memory selection dialog.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt CCUIDialogs::ShowDriveSelectionDialogL(
- TInt64 aSize,
- const RArray<TDriveUnit>& aDriveUnits,
- const RArray<TInt64>& aDriveSpaces,
- TInt& aSelectionResult )
- {
-
- TInt result( KErrNone );
-/*
- // Sanity check
- if ( aSize <= 0 )
- {
- aSize = 1;
- }
-
- CCUIDriveUtils* driveUtils =
- CCUIDriveUtils::NewL( aSize,
- aDriveUnits,
- aDriveSpaces );
- CleanupStack::PushL( driveUtils );
-
- aSelectionResult = -1;
-
-#ifdef RD_MULTIPLE_DRIVE
- TDriveList driveList;
- TInt driveCount = 0;
- DriveInfo::GetUserVisibleDrives( iCoeEnv->FsSession(),
- driveList,
- driveCount );
- TInt driveCountWithoutRemoteDrives = driveCount;
-
-
- TUint driveStatus = 0;
- TInt firstFoundDrive = 0;
- for ( TInt i = 0; i < KMaxDrives; i++ )
- {
- if ( driveList[i] )
- {
- User::LeaveIfError( DriveInfo::GetDriveStatus( iCoeEnv->FsSession(),
- i,
- driveStatus ) );
- TFileName path;
- TDriveUnit driveUnit( i );
- if ( ( driveStatus & DriveInfo::EDriveRemote ) )
- {
- driveCountWithoutRemoteDrives--;
- }
- else
- {
- if ( !firstFoundDrive )
- {
- firstFoundDrive = (TInt) driveUnit;
- }
- }
- }
- }
-
- if ( driveCountWithoutRemoteDrives == 1 )
- {
- // Only one drive available, force install to available drive
- for ( TInt index = 0; index < aDriveUnits.Count(); index++ )
- {
- if ( firstFoundDrive == (TInt)aDriveUnits[index] )
- {
- aSelectionResult = index;
- break;
- }
- }
- }
-#else
- // See if the whole device has enough memory
- if ( SysUtil::FFSSpaceBelowCriticalLevelL( &iCoeEnv->FsSession(), aSize ) &&
- ( !driveUtils->IsCardDrivePresent() ||
- SysUtil::MMCSpaceBelowCriticalLevelL( &iCoeEnv->FsSession(), aSize ) ) )
- {
- result = KErrNoMemory;
- }
-
- // See if the memory card is present
- else if ( !driveUtils->IsCardDrivePresent() )
- {
- // No memory card present, force install to phone memory
- aSelectionResult = driveUtils->GetInternalDriveIndex();
- }
-
- // Show the dialog until user selects valid memory or cancels it
-#endif //RD_MULTIPLE_DRIVE
- else
- {
- while ( ETrue )
- {
- if ( !driveUtils->ShowSelectionDialogL( aSelectionResult ) )
- {
- // User canceled the query
- result = KErrCancel;
- aSelectionResult = -1;
- break;
- }
-#ifdef RD_MULTIPLE_DRIVE
- // See if there is enough space in the selected drive
- // Internal memory selected?
- if ( !SysUtil::DiskSpaceBelowCriticalLevelL( &iCoeEnv->FsSession(), aSize, aDriveUnits[aSelectionResult] ) )
- {
- break;
- }
-#else
- // See if there is enough space in the selected drive
- // Internal memory selected?
- if ( driveUtils->GetInternalDriveIndex() == aSelectionResult )
- {
- if ( !SysUtil::FFSSpaceBelowCriticalLevelL( &iCoeEnv->FsSession(), aSize ) )
- {
- break;
- }
- }
- // The user selected the card. Check the free space from there
- else if ( !SysUtil::MMCSpaceBelowCriticalLevelL( &iCoeEnv->FsSession(), aSize ) )
- {
- break;
- }
-#endif //RD_MULTIPLE_DRIVE
-
- // Show error and let user try again
- HBufC* string = StringLoader::LoadLC( R_SWCOMMON_NOT_ENOUGH_MEMORY_IN_DRIVE );
-
- CAknErrorNote* note = new( ELeave )CAknErrorNote( ETrue );
- note->ExecuteLD( string->Des() );
-
- CleanupStack::PopAndDestroy( string );
- }
- }
-
- CleanupStack::PopAndDestroy( driveUtils );
-*/
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CCUIDialogs::ShowSecurityWarningDialogL
-// Show a security warning dialog.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TBool CCUIDialogs::ShowSecurityWarningDialogL()
- {
-
- TBool result( EFalse );
- /*
- // Load resources
- HBufC* text = StringLoader::LoadLC( R_SWCOMMON_SECURITY_WARNING );
- HBufC* linkText = NULL;
- if ( FeatureManager::FeatureSupported( KFeatureIdHelp ) )
- {
- linkText = StringLoader::LoadLC( R_SWCOMMON_SECURITY_WARNING_MORE_INFO );
- }
- else
- {
- linkText = KNullDesC().AllocLC();
- }
-
- HBufC* message = HBufC::NewLC( text->Length() + linkText->Length() + 1 );
- TPtr msgPtr( message->Des() );
- msgPtr += *text;
- msgPtr += KNextLine;
- msgPtr += *linkText;
-
- // Show the dialog
- CAknMessageQueryDialog* dlg =
- CAknMessageQueryDialog::NewL( *message, CAknQueryDialog::EWarningTone );
- dlg->PrepareLC( R_SWCOMMON_SECURITY_WARNING_DIALOG );
- CleanupStack::PushL( dlg );
- if ( FeatureManager::FeatureSupported( KFeatureIdHelp ) )
- {
- dlg->SetLinkTextL( *linkText );
- TCallBack callback( ShowSecurityWarningHelp, this );
- dlg->SetLink( callback );
- }
- CleanupStack::Pop( dlg );
-
- if ( dlg->RunLD() )
- {
- result = ETrue;
- }
-
- CleanupStack::PopAndDestroy( 3, text ); // message, linkText, text
- */
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CCUIDialogs::ShowErrorNoteL
-// Show an error note.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CCUIDialogs::ShowErrorNoteL( TInt aResourceId ) const
- {
- HBufC* errorString = StringLoader::LoadLC( aResourceId );
- ShowErrorNoteL( *errorString );
- CleanupStack::PopAndDestroy( errorString );
- }
-
-// -----------------------------------------------------------------------------
-// CCUIDialogs::ShowErrorNoteL
-// Show an error note.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CCUIDialogs::ShowErrorNoteL( const TDesC& aErrorText ) const
- {
- /*
- CAknErrorNote* note = new (ELeave) CAknErrorNote( ETrue );
- note->ExecuteLD( aErrorText );
- */
- }
-
-// -----------------------------------------------------------------------------
-// CCUIDialogs::ResetProgressDialogL
-// Resets the progress bar in the progress dialog.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CCUIDialogs::ResetProgressDialogL()
- {
- if ( iProgressDialog )
- {
- CEikProgressInfo* progressInfo = iProgressDialog->GetProgressInfoL();
- progressInfo->SetAndDraw( 0 );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CCUIDialogs::LaunchHelpL
-// Launches a help with the given context.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CCUIDialogs::LaunchHelpL( const TDesC& aContext )
- {
- CArrayFix<TCoeHelpContext>* contexts =
- new(ELeave) CArrayFixFlat<TCoeHelpContext>( 1 );
- CleanupStack::PushL( contexts );
- TCoeHelpContext context;
- context.iMajor = TUid::Uid( KSWInstHelpUid );
- context.iContext = aContext;
- contexts->AppendL( context );
- CleanupStack::Pop(); // contexts
- HlpLauncher::LaunchHelpApplicationL( iCoeEnv->WsSession(), contexts );
- }
-
-// -----------------------------------------------------------------------------
-// CCUIDialogs::ShowDelayedWaitDialogL
-// Show a wait dialog.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CCUIDialogs::ShowDelayedWaitDialogL( TInt aResourceId,
- MCUIWaitDialogCallback* aCallback,
- TInt aSoftkeyResourceId )
- {
- if ( iWaitDialog )
- {
- ShowWaitDialogL( aResourceId, aCallback, aSoftkeyResourceId );
- }
- else
- {
- HBufC* displayString = StringLoader::LoadLC( aResourceId );
- iWaitDialog = new (ELeave) CCUIWaitDialog ( reinterpret_cast
- < CEikDialog** >
- ( &iWaitDialog ),
- EFalse );
-
- iWaitDialog->PrepareLC( R_SWCOMMON_GENERAL_WAIT_DIALOG );
- iWaitDialog->SetTextL( *displayString );
- SetWaitDialogCallback( aCallback );
- iWaitDialog->ButtonGroupContainer().SetCommandSetL( aSoftkeyResourceId );
- iWaitDialog->RunLD();
- CleanupStack::PopAndDestroy( displayString );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CCUIDialogs::ShowInstallationCompleteQueryL
-// Show an installation complete query.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TBool CCUIDialogs::ShowInstallationCompleteQueryL(
- const MDesCArray& aApplicationArray,
- const MDesCArray& aInstalledFolderArray,
- const CAknIconArray& aIconArray,
- TInt& aIndexOfAppToBeStarted ) const
-
- {
- /*
- aIndexOfAppToBeStarted = KErrNotFound;
-
- // Prepare for showing the installation complete query
- CDesCArray *itemArray = new( ELeave ) CDesCArrayFlat( 1 );
- CleanupStack::PushL( itemArray );
- CAknIconArray* iconArray = new( ELeave ) CAknIconArray( 1 );
- CleanupStack::PushL( iconArray );
-
- for ( TInt i = 0; i <= aApplicationArray.MdcaCount() - 1; i++ )
- {
- HBufC* firstLine = aApplicationArray.MdcaPoint( i ).AllocLC();
- HBufC* secondLine = NULL;
- if ( !(aInstalledFolderArray.MdcaCount() < (i + 1 ) ) )
- {
- if ( aInstalledFolderArray.MdcaPoint( i ).Length() > 0 )
- {
- secondLine = StringLoader::LoadLC(
- R_SWCOMMON_INSTALLED_FOLDER_HEAD,
- aInstalledFolderArray.MdcaPoint( i ) );
- }
- else
- {
- // show just empty second lines for empty folder names
- secondLine = KNullDesC().AllocLC();
- }
- }
- if ( secondLine == NULL )
- {
- // default folder is used
- secondLine = StringLoader::LoadLC( R_SWCOMMON_INSTALLED_FOLDER );
- }
- HBufC* listItem = HBufC::NewLC( firstLine->Length() +
- secondLine->Length() + 10 );
- listItem->Des().Format( KFormat, i, firstLine, secondLine );
-
- itemArray->AppendL( listItem->Des() );
- CleanupStack::PopAndDestroy( listItem );
- CleanupStack::PopAndDestroy( secondLine );
- CleanupStack::PopAndDestroy( firstLine );
-
-
- // Check first that there is an item in array
- if ( !( aIconArray.Count() < ( i + 1 ) ) )
- {
- CGulIcon* icon = CGulIcon::NewL();
- CleanupStack::PushL( icon );
- icon->SetBitmapsOwnedExternally( ETrue );
- icon->SetBitmap( aIconArray.At(i)->Bitmap() );
- icon->SetMask( aIconArray.At(i)->Mask() );
- iconArray->AppendL( icon );
- CleanupStack::Pop( icon );
- }
- }
-
- // show list query
- CAknListQueryDialog* dlg = new ( ELeave ) CAknListQueryDialog(
- &aIndexOfAppToBeStarted );
- dlg->PrepareLC( R_SWCOMMON_START_QUERY );
- dlg->SetItemTextArray( itemArray );
- dlg->SetIconArrayL( iconArray );
-
- dlg->SetOwnershipType( ELbmDoesNotOwnItemArray );
-
- TInt retQuery = dlg->RunLD();
- CleanupStack::Pop( iconArray );
-
- CleanupStack::PopAndDestroy( itemArray );
-
- TBool appIsStarted = EFalse;
- if ( retQuery == EAknSoftkeyOk )
- {
- appIsStarted = ETrue;
- }
- else
- {
- aIndexOfAppToBeStarted = KErrNotFound;
- }
-
- return appIsStarted;
- */
- return EFalse;
- }
-
-// -----------------------------------------------------------------------------
-// CCUIDialogs::ShowUninstallConfirmationForSeveralAppsL
-// Show an installation complete query.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TBool CCUIDialogs::ShowUninstallConfirmationForSeveralAppsL(
- const TDesC& aApplicationGroup,
- const MDesCArray& aApplicationArray,
- TInt aSoftkeyResourceId ) const
- {
- /*
- HBufC* appList = HBufC::NewLC( 0 );
- TInt count = aApplicationArray.MdcaCount();
- for ( TInt i = 0; i < count; i++ )
- {
- HBufC* tmp = appList;
- appList = appList->ReAllocL(
- tmp->Length() +
- aApplicationArray.MdcaPoint( i ).Length() +
- KNextLine().Length() );
- CleanupStack::Pop( tmp );
- CleanupStack::PushL( appList );
- appList->Des().Append( aApplicationArray.MdcaPoint( i ) );
- if ( (i+1) < count )
- {
- appList->Des().Append( KNextLine() );
- }
- }
- CDesCArray* stringArray = new( ELeave ) CDesCArrayFlat( 2 );
- CleanupStack::PushL( stringArray );
- stringArray->AppendL( aApplicationGroup );
- stringArray->AppendL( *appList );
- CleanupStack::Pop( stringArray );
- CleanupStack::PopAndDestroy( appList );
- CleanupStack::PushL( stringArray );
- HBufC* message = StringLoader::LoadLC(
- R_SWCOMMON_QUERY_UNINST_MIDLET_SUITE,
- *stringArray );
- CleanupStack::Pop( message );
- CleanupStack::PopAndDestroy( stringArray );
- CleanupStack::PushL( message );
-
- CAknMessageQueryDialog* dlg = CAknMessageQueryDialog::NewL( *message );
- dlg->PrepareLC( R_SWCOMMON_MULTI_UNINSTALL_DIALOG );
- dlg->ButtonGroupContainer().SetCommandSetL( aSoftkeyResourceId );
-
- TBool response( EFalse );
- if ( dlg->RunLD() )
- {
- response = ETrue;
- }
- CleanupStack::PopAndDestroy( message );
- return response;
- */
- return EFalse;
- }
-
-
-//
-// -----------------------------------------------------------------------------
-// CCUIDialogs::SetWaitDialogCallback
-// Set callback for the wait dialog.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CCUIDialogs::SetWaitDialogCallback( MCUIWaitDialogCallback* aCallback )
- {
- if ( aCallback )
- {
- iWaitDialog->SetCallback( aCallback );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CCUIDialogs::SetProgressDialogCallback
-// Set callback for the progress dialog.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CCUIDialogs::SetProgressDialogCallback( MCUIWaitDialogCallback* aCallback )
- {
- if ( aCallback )
- {
- iProgressDialog->SetCallback( aCallback );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CCUIDialogs::ShowSecurityWarningHelp
-// Used as a callback function in message query. Launches help for security
-// warning.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CCUIDialogs::ShowSecurityWarningHelp( TAny* aPtr )
- {
- //TRAP_IGNORE( reinterpret_cast<CCUIDialogs*>(aPtr)->LaunchHelpL( KAM_HLP_INSTALL_UNTRUSTED ) );
-
- return KErrNone;
- }
-
-
-
-
-
--- a/appinstaller/AppinstUi/Plugin/CommonUI/Src/CUIDriveUtils.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,338 +0,0 @@
-/*
-* Copyright (c) 2002-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains the implementation of CCUIDriveSelection
-* class member functions.
-*
-*/
-
-
-// INCLUDE FILES
-#include <StringLoader.h>
-#include <pathinfo.h>
-#include <data_caging_path_literals.hrh>
-#include <SWInstCommonUI.rsg>
-//#include <AknCommonDialogs.h> // Removed since CR 548
-//#include <CAknMemorySelectionDialog.h> // Removed since CR 548
-#ifdef RD_MULTIPLE_DRIVE
-//#include <CAknMemorySelectionDialogMultiDrive.h> // Removed since CR 548
-//#include <AknCommonDialogsDynMem.h> // Removed since CR 548
-#else
-//#include <CAknMemorySelectionDialog.h> // Removed since CR 548
-#endif //RD_MULTIPLE_DRIVE
-
-#include "CUIDriveUtils.h"
-
-
-using namespace SwiUI::CommonUI;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CCUIDriveUtils::CCUIDriveUtils
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CCUIDriveUtils::CCUIDriveUtils( TInt64 aSize,
- const RArray<TDriveUnit>& aDriveUnits,
- const RArray<TInt64>& aDriveSpaces)
- : iSize( aSize ),
- iDriveUnits( aDriveUnits ),
- iDriveSpaces( aDriveSpaces ),
- iInternalArrayIndex( -1 ),
- iCardArrayIndex( -1 )
- {
-
- }
-
-// -----------------------------------------------------------------------------
-// CCUIDriveUtils::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CCUIDriveUtils::ConstructL()
- {
- #ifndef RD_MULTIPLE_DRIVE
- // Find the Phone and memory card drives from the drive array
- // and store the corresponding indexes, drive letters and free memories.
- TDriveUnit phoneMemUnit( TParsePtrC( PathInfo::PhoneMemoryRootPath() ).Drive() );
- TDriveUnit mmcUnit( TParsePtrC( PathInfo::MemoryCardRootPath() ).Drive() );
-
- for ( TInt index = 0; index < iDriveUnits.Count(); index++ )
- {
- // Check if it's the phone memory
- if ( (TInt)phoneMemUnit == (TInt)iDriveUnits[index] )
- {
- iInternalArrayIndex = index;
- iInternalFreeMemory = iDriveSpaces[index];
- }
- // Check if it's the memory card
- else if ( PathInfo::MemoryCardRootPath().Length() > 0 &&
- (TInt)mmcUnit == (TInt)iDriveUnits[index] )
- {
- iCardArrayIndex = index;
- iCardFreeMemory = iDriveSpaces[index];
- }
- }
- #endif // RD_MULTIPLE_DRIVE
- }
-
-// -----------------------------------------------------------------------------
-// CCUIDriveUtils::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CCUIDriveUtils* CCUIDriveUtils::NewL(
- TInt64 aSize,
- const RArray<TDriveUnit>& aDriveUnits,
- const RArray<TInt64>& aDriveSpaces )
- {
- CCUIDriveUtils* self =
- new ( ELeave ) CCUIDriveUtils( aSize, aDriveUnits, aDriveSpaces );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-// Destructor
-CCUIDriveUtils::~CCUIDriveUtils()
- {
-
- }
-
-// -----------------------------------------------------------------------------
-// CCUIDriveUtils::ShowSelectionDialogL
-// Set callback for the wait dialog.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CCUIDriveUtils::ShowSelectionDialogL( TInt& aSelectedDrive )
- {
-
- TBool result( EFalse );
-
- // Removed since CR 548
-/*
- aSelectedDrive = 0;
-
-#ifdef RD_MULTIPLE_DRIVE
- TBool externalDriveFound = EFalse;
- RFs fs;
- User::LeaveIfError( fs.Connect() );
- CleanupClosePushL( fs );
-
- // Find out if there is MMC among the available drives.
- for ( TInt index = 0; index < iDriveUnits.Count(); index++ )
- {
- TDriveInfo info;
-
- if ( KErrNone != fs.Drive( info, iDriveUnits[index] ) )
- {
- // Ignore errors since the next drive might work.
- continue;
- }
- // Note that this do not work in WINS env.
- if ( info.iDriveAtt & KDriveAttRemovable )
- {
- externalDriveFound = ETrue;
- }
- }
-
-#ifdef __WINS__
- // Removable drives are not found in WINS env.
- externalDriveFound = ETrue;
-#endif //__WINS__
-
- CleanupStack::PopAndDestroy( &fs );
- TInt supportedMemTypes = 0;
-
- // If memory card is available for Symbian SWI, show all drives.
- if ( externalDriveFound )
- {
- supportedMemTypes = AknCommonDialogsDynMem::EMemoryTypePhone|
- AknCommonDialogsDynMem::EMemoryTypeInternalMassStorage|
- AknCommonDialogsDynMem::EMemoryTypeMMCExternal;
- }
- else
- {
- // MMC is not available for Symbian SWI. Note that user may have insert the MMC
- // but Symbian SWI has select available drives before that and we can not use
- // drvie which is not listed.
- // Note also that if device has two MMC cards this fix do not really work.
- supportedMemTypes = AknCommonDialogsDynMem::EMemoryTypePhone|
- AknCommonDialogsDynMem::EMemoryTypeInternalMassStorage;
- }
-
- CAknMemorySelectionDialogMultiDrive* memoryDialog =
- CAknMemorySelectionDialogMultiDrive::NewL(
- ECFDDialogTypeSave,
- R_SWCOMMON_MEMORY_SELECTION_DIALOG,
- EFalse,
- supportedMemTypes );
-
-#else
- // Use ECFDDialogTypeSave to have double list box in the query
- CAknMemorySelectionDialog* memoryDialog = CAknMemorySelectionDialog::NewL(
- ECFDDialogTypeSave,
- R_SWCOMMON_MEMORY_SELECTION_DIALOG,
- ETrue );
-#endif //RD_MULTIPLE_DRIVE
- CleanupStack::PushL( memoryDialog );
-
- TInt size( (TInt) iSize / 1024 );
- if ( size == 0 )
- {
- size = 1;
- }
-
- HBufC* header = StringLoader::LoadLC( R_SWCOMMON_MEMORY_HEADING, size );
- memoryDialog->SetTitleL( header->Des() );
-
-#ifdef RD_MULTIPLE_DRIVE
- TDriveNumber driveNumber((TDriveNumber)KErrNotFound);
- result = memoryDialog->ExecuteL( driveNumber, NULL, NULL );
-
- if ( result != CAknCommonDialogsBase::TReturnKey(CAknCommonDialogsBase::ERightSoftkey) )
- {
- for ( TInt index = 0; index < iDriveUnits.Count(); index++ )
- {
- if (driveNumber == iDriveUnits[index] )
- {
- aSelectedDrive = index;
- break;
- }
- }
- }
-#else
- CAknMemorySelectionDialog::TMemory mem( CAknMemorySelectionDialog::EPhoneMemory );
- result = memoryDialog->ExecuteL( mem );
-
- if ( mem == CAknMemorySelectionDialog::EPhoneMemory )
- {
- // Phone memory selected
- aSelectedDrive = GetInternalDriveIndex();
- }
-
- else
- {
- // Memory card selected
- aSelectedDrive = GetCardDriveIndex();
- }
-
-#endif //RD_MULTIPLE_DRIVE
- CleanupStack::PopAndDestroy( 2 ); // header, memoryDialog
-*/
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CCUIDriveUtils::IsInternalDrivePresent
-// Set callback for the wait dialog.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CCUIDriveUtils::IsInternalDrivePresent() const
- {
- TBool result( EFalse );
-
- if ( iInternalArrayIndex > -1 )
- {
- result = ETrue;
- }
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CCUIDriveUtils::IsCardDrivePresent
-// Set callback for the wait dialog.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CCUIDriveUtils::IsCardDrivePresent() const
- {
- TBool result( EFalse );
-
- if ( iCardArrayIndex > -1 )
- {
- result = ETrue;
- }
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CCUIDriveUtils::GetInternalDriveSpace
-// Set callback for the wait dialog.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt64 CCUIDriveUtils::GetInternalDriveSpace() const
- {
- return iInternalFreeMemory;
- }
-
-// -----------------------------------------------------------------------------
-// CCUIDriveUtils::GetCardDriveSpace
-// Set callback for the wait dialog.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt64 CCUIDriveUtils::GetCardDriveSpace() const
- {
- return iCardFreeMemory;
- }
-
-
-// -----------------------------------------------------------------------------
-// CCUIDriveUtils::GetDriveSpace
-// Get the free space on drive.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt64 CCUIDriveUtils::GetDriveSpace( TInt aIndex ) const
- {
- if ( aIndex == GetInternalDriveIndex() )
- {
- return GetInternalDriveSpace();
- }
- else
- {
- return GetCardDriveSpace();
- }
- }
-
-// -----------------------------------------------------------------------------
-// CCUIDriveUtils::GetInternalDriveSpace
-// Set callback for the wait dialog.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CCUIDriveUtils::GetInternalDriveIndex() const
- {
- return iInternalArrayIndex;
- }
-
-// -----------------------------------------------------------------------------
-// CCUIDriveUtils::GetCardDriveSpace
-// Set callback for the wait dialog.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CCUIDriveUtils::GetCardDriveIndex() const
- {
- return iCardArrayIndex;
- }
-
-// End of File
-
--- a/appinstaller/AppinstUi/Plugin/CommonUI/Src/CUIProgressDialog.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,90 +0,0 @@
-/*
-* Copyright (c) 2002-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains the implementation of CCUIProgressDialog
-* class member functions.
-*
-*/
-
-
-// INCLUDE FILES
-#include "CUIProgressDialog.h"
-#include "CUIDialogs.h"
-
-using namespace SwiUI::CommonUI;
-
-// ========================= MEMBER FUNCTIONS ================================
-
-// -----------------------------------------------------------------------------
-// CCUIDialogs::CCUIDialogs
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CCUIProgressDialog::CCUIProgressDialog( CEikDialog** aSelfPtr,
- TBool aVisibilityDelayOff )
- :CAknProgressDialog( aSelfPtr, aVisibilityDelayOff )
- {
- }
-
-// Destructor
-CCUIProgressDialog::~CCUIProgressDialog()
- {
-
- if (iSelfPtr)
- {
- *iSelfPtr = NULL;
- iSelfPtr = NULL;
- }
-
- }
-
-// ---------------------------------------------------------------------------
-// CCUIProgressDialog::OkToExitL
-// called by framework when the Softkey is pressed.
-// ---------------------------------------------------------------------------
-//
-TBool CCUIProgressDialog::OkToExitL( TInt aButtonId )
- {
- TBool result( ETrue );
-
- if ( iCallback )
- {
- result = iCallback->HandleDialogExitL( aButtonId );
- }
-
- return result;
- }
-
-// ---------------------------------------------------------------------------
-// CCUIProgressDialog::SetCallback
-// ---------------------------------------------------------------------------
-//
-void CCUIProgressDialog::SetCallback( MCUIWaitDialogCallback* aCallback )
- {
- iCallback = aCallback;
- }
-
-// ---------------------------------------------------------------------------
-// CCUIProgressDialog::PreLayoutDynInitL
-// ---------------------------------------------------------------------------
-//
-void CCUIProgressDialog::PreLayoutDynInitL()
- {
- // prevent background apps getting pointer events when dimmed area tapped
- SetGloballyCapturing( ETrue );
- SetPointerCapture( ETrue );
- }
-
-
-// End of File
--- a/appinstaller/AppinstUi/Plugin/CommonUI/Src/CUIUtils.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,135 +0,0 @@
-/*
-* Copyright (c) 2002-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains the implementation of CUIUtils
-* class member functions.
-*
-*/
-
-
-// INCLUDE FILES
-#include <bautils.h>
-#include <coemain.h>
-
-#include "CUIUtils.h"
-
-using namespace SwiUI::CommonUI;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CCUIUtils::LoadResourceFileL
-// Load the given resource file.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt CUIUtils::LoadResourceFileL( const TDesC& aFileName, CCoeEnv* aCoeEnv )
- {
- TFileName file;
- // If user gives full path let's use it.
- if ( TParsePtrC( aFileName ).DrivePresent() )
- {
- file.Zero();
- file.Append( aFileName );
- }
- else
- {
- // get dll path, this returns ComminUIs path.
- Dll::FileName( file );
- TDriveName drive( TParsePtrC( file ).Drive( ) ); // solve drive
- file.Zero();
- file.Append( drive );
- file.Append( aFileName );
- }
- // Get the rsc file path. Note this function does return Z: drive
- // if drive lietter is not give. It do not scan user drives: C,E,D etc.
- BaflUtils::NearestLanguageFile( aCoeEnv->FsSession(), file );
-
- return aCoeEnv->AddResourceFileL( file );
- }
-
-// -----------------------------------------------------------------------------
-// CCUIUtils::ConstructVersionString
-// Construct a string representation of given version.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C HBufC* CUIUtils::ConstructVersionStringLC( TInt aMajor, TInt aMinor, TInt aBuild )
- {
- // Sanity check
- if ( aMajor < 0 )
- {
- aMajor = 0;
- }
- if ( aMinor < 0 )
- {
- aMinor = 0;
- }
- if ( aBuild < 0 )
- {
- aBuild = 0;
- }
-
- // First calculate the number of digits in version numbers
- TInt result( 0 );
- TInt majorDigits( 1 );
- TInt minorDigits( 1 );
- TInt buildDigits( 1 );
-
- result = aMajor / 10;
- while ( result > 0 )
- {
- result = result / 10;
- majorDigits++;
- }
-
- result = aMinor / 10;
- while ( result > 0 )
- {
- result = result / 10;
- minorDigits++;
- }
-
- result = aBuild / 10;
- while ( result > 0 )
- {
- result = result / 10;
- buildDigits++;
- }
-
- // Now we can construct the actual version descriptor
-
- HBufC* tmp = HBufC::NewLC( majorDigits + minorDigits + buildDigits + 4 ); // . + possible 0 and brackets
- TPtr tmpBuf( tmp->Des() );
-
- //tmpBuf.Append( ' ' );
- tmpBuf.AppendNum( aMajor );
- tmpBuf.Append( '.' );
- if ( aMinor < 10 )
- {
- tmpBuf.Append('0');
- }
-
- tmpBuf.AppendNum( aMinor );
-
- tmpBuf.Append( '(' );
- tmpBuf.AppendNum( aBuild );
- tmpBuf.Append( ')' );
-
- return tmp;
- }
-
-// End of File
-
-
-
--- a/appinstaller/AppinstUi/Plugin/CommonUI/Src/CUIWaitDialog.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains the implementation of CCUIWaitDialog
-* class member functions.
-*
-*/
-
-
-// INCLUDE FILES
-#include "CUIWaitDialog.h"
-#include "CUIDialogs.h"
-
-using namespace SwiUI::CommonUI;
-
-// ========================= MEMBER FUNCTIONS ================================
-
-// -----------------------------------------------------------------------------
-// CCUIDialogs::CCUIDialogs
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CCUIWaitDialog::CCUIWaitDialog( CEikDialog** aSelfPtr,
- TBool aVisibilityDelayOff )
- :CAknWaitDialog( aSelfPtr, aVisibilityDelayOff )
- {
- }
-
-// Destructor
-CCUIWaitDialog::~CCUIWaitDialog()
- {
- if (iSelfPtr)
- {
- *iSelfPtr = NULL;
- iSelfPtr = NULL;
- }
- }
-
-// ---------------------------------------------------------------------------
-// CCUIWaitDialog::OkToExitL()
-// called by framework when the Softkey is pressed.
-// On cancel either stop installation or exit
-// ---------------------------------------------------------------------------
-//
-TBool CCUIWaitDialog::OkToExitL( TInt aButtonId )
- {
- TBool result( ETrue );
-
- if ( iCallback )
- {
- result = iCallback->HandleDialogExitL( aButtonId );
- }
-
- return result;
- }
-
-// ---------------------------------------------------------------------------
-// CCUIWaitDialog::SetCallback
-// ---------------------------------------------------------------------------
-//
-void CCUIWaitDialog::SetCallback( MCUIWaitDialogCallback* aCallback )
- {
- iCallback = aCallback;
- }
-
-// End of File
--- a/appinstaller/AppinstUi/Plugin/SisxUI/Data/101F875D.rss Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: ECOM resource definition for Sisx UI plugin.
-*
-*/
-
-
-// INCLUDES
-#include <ecom/registryinfov2.rh>
-#include <SWInstUid.h>
-#include "SWInstPrivateUid.h"
-
-// RESOURCE DEFINITIONS
-
-RESOURCE REGISTRY_INFO registry_info
- {
- resource_format_version = RESOURCE_FORMAT_VERSION_2;
- // UID for the DLL
- dll_uid = KSWInstSisxUIUid;
-
- // Interface info array
- interfaces =
- {
- INTERFACE_INFO
- {
- // UID of the implemented interface
- interface_uid = KSWInstUIPluginInterfaceUid;
-
- implementations =
- {
- IMPLEMENTATION_INFO
- {
- implementation_uid = KSWInstSisxImplementationUid;
- version_no = 1;
- display_name = "Sisx installation ui implementation";
- default_data = "x-epoc/x-sisx-app||application/x-pip";
- opaque_data = " ";
- rom_only = 1;
- }
- };
- }
- };
- }
-
-
-// End of File
-
--- a/appinstaller/AppinstUi/Plugin/SisxUI/Data/SisxUI.rss Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,472 +0,0 @@
-/*
-* Copyright (c) 2002-2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Resource definitions for sixui plugin.
-*
-*/
-
-
-NAME SIUI
-
-#include <eikon.rh>
-#include <avkon.rsg>
-#include <avkon.rh>
-#include <avkon.mbg>
-#include <avkon.loc>
-#include <SWInstCommonUI.rsg>
-#include "SisxUI.rh" // LANG_NAME
-#include <e32lang.h> // TLanguage enum
-#include <languages.hrh> // S60 added language codes
-
-#include <appinstui.loc>
-
-RESOURCE RSS_SIGNATURE { }
-
-RESOURCE TBUF64 { buf = ""; }
-
-//------------------------------------------------------------------------------
-//
-// r_sisxui_options_query
-// Defines a dialog for option selection
-//
-//------------------------------------------------------------------------------
-//
-RESOURCE AVKON_MULTISELECTION_LIST_QUERY r_sisxui_options_query
- {
- flags = EGeneralQueryFlags;
- softkeys = r_swiui_softkeys_ok_cancel__mark;
-
- items =
- {
- AVKON_MULTISELECTION_LIST_QUERY_DLG_LINE
- {
- control = AVKON_LIST_QUERY_CONTROL
- {
- listtype = EAknCtSingleGraphicPopupMenuListBox;
- listbox = AVKON_MULTISELECTION_LIST_QUERY_LIST
- {
- array_id = r_sisxui_empty_array;
- };
- heading = qtn_swins_title_optional_files;
- };
- }
- };
- }
-
-
-//------------------------------------------------------------------------------
-//
-// r_swiui_softkeys_ok_cancel__mark
-// Defines a CBA, temporary solution
-// Change back to Avkon's R_Avkon_softkeys_ok_cancel__mark
-// after the fix has been made in avkon side
-//------------------------------------------------------------------------------
-//
-RESOURCE CBA r_swiui_softkeys_ok_cancel__mark
- {
- buttons =
- {
- CBA_BUTTON {id=EAknSoftkeyYes; txt=text_softkey_ok;},
- CBA_BUTTON {id=EAknSoftkeyCancel; txt= text_softkey_cancel;},
- CBA_BUTTON {id=EAknSoftkeyMark; txt=qtn_msk_mark;}
- };
- }
-
-
-//------------------------------------------------------------------------------
-//
-// r_sisxui_language_query
-// Defines a dialog for language selection
-//
-//------------------------------------------------------------------------------
-//
-RESOURCE AVKON_LIST_QUERY r_sisxui_language_query
- {
- flags = EGeneralQueryFlags;
- softkeys = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
-
- items =
- {
- AVKON_LIST_QUERY_DLG_LINE
- {
- control = AVKON_LIST_QUERY_CONTROL
- {
- listtype = EAknCtSinglePopupMenuListBox;
- listbox = AVKON_LIST_QUERY_LIST
- {
- array_id = r_sisxui_empty_array;
- };
- heading = qtn_swins_lqh_lang_sel;
- };
- }
- };
- }
-
-//------------------------------------------------------------------------------
-//
-// r_sisxui_text_dialog
-// Defines a dialog for showing application specific texts
-//
-//------------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_sisxui_text_dialog
- {
- flags = EGeneralQueryFlags;
- buttons = R_AVKON_SOFTKEYS_OK_EMPTY__OK;
- items=
- {
- DLG_LINE
- {
- type = EAknCtPopupHeadingPane;
- id = EAknMessageQueryHeaderId;
- control = AVKON_HEADING
- {
- headinglayout = R_AVKON_WML_SIGN_QUERY_HEADING_PANE;
- };
- },
- DLG_LINE
- {
- type = EAknCtMessageQuery;
- id = EAknMessageQueryContentId;
- control = AVKON_MESSAGE_QUERY
- {
- };
- }
- };
- }
-
-//------------------------------------------------------------------------------
-//
-// r_sisxui_capab_dialog
-// Defines a dialog for capablities acceptance
-//
-//------------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_sisxui_capab_dialog
- {
- flags = EGeneralQueryFlags | EEikDialogFlagNoBorder | EEikDialogFlagNoShadow;
- buttons = R_SWCOMMON_SOFTKEYS_CONTINUE_CANCEL__CONTINUE;
- items=
- {
- DLG_LINE
- {
- type = EAknCtPopupHeadingPane;
- id = EAknMessageQueryHeaderId;
- control = AVKON_HEADING
- {
- label = qtn_swins_capab_header;
- headinglayout = R_AVKON_WML_SIGN_QUERY_HEADING_PANE;
- };
- },
- DLG_LINE
- {
- type = EAknCtMessageQuery;
- id = EAknMessageQueryContentId;
- control = AVKON_MESSAGE_QUERY
- {
- };
- }
- };
- }
-
-//------------------------------------------------------------------------------
-//
-// r_sisxui_devcert_warning_dialog
-// Defines a warning dialog for development certificate installations
-//
-//------------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_sisxui_devcert_dialog
- {
- flags = EGeneralQueryFlags | EEikDialogFlagNoBorder | EEikDialogFlagNoShadow;
- buttons = R_AVKON_SOFTKEYS_YES_NO__YES;
- items =
- {
- DLG_LINE
- {
- type = EAknCtPopupHeadingPane;
- id = EAknMessageQueryHeaderId;
- control = AVKON_HEADING
- {
- label = qtn_am_note_head_security_warn;
- headinglayout = R_AVKON_WML_SIGN_QUERY_HEADING_PANE;
- };
- },
- DLG_LINE
- {
- type = EAknCtMessageQuery;
- id = EAknMessageQueryContentId;
- control = AVKON_MESSAGE_QUERY
- {
- };
- }
- };
-
- }
-
-//------------------------------------------------------------------------------
-//
-// r_sisxui_softkeys_continue_empty
-// Defines softkeys continue, empty
-//
-//------------------------------------------------------------------------------
-//
-RESOURCE CBA r_sisxui_softkeys_continue_empty
- {
- buttons =
- {
- CBA_BUTTON { id = EAknSoftkeyOk; txt = text_softkey_continue; },
- CBA_BUTTON { txt = text_softkey_empty; }
- };
- }
-
-//------------------------------------------------------------------------------
-//
-// r_sisxui_softkeys_continue_empty__continue
-// Defines softkeys continue, empty, continue (MSK)
-//
-//------------------------------------------------------------------------------
-//
-RESOURCE CBA r_sisxui_softkeys_continue_empty__continue
- {
- buttons =
- {
- CBA_BUTTON { id = EAknSoftkeyOk; txt = text_softkey_continue; },
- CBA_BUTTON { txt = text_softkey_empty; },
- CBA_BUTTON { id = EAknSoftkeyOk; txt = text_softkey_continue; }
- };
- }
-
-//------------------------------------------------------------------------------
-//
-// r_sisxui_empty_array
-// Defines an empty array
-//
-//------------------------------------------------------------------------------
-RESOURCE ARRAY r_sisxui_empty_array
- {
- items=
- {
- LBUF { txt=""; }
- };
- }
-
-//----------------------------------------------------
-// r_sisxui_dialect_code
-//----------------------------------------------------
-RESOURCE INT16 r_sisxui_dialect_code { value = 0; }
-
-//------------------------------------------------------------------------------
-//
-// String definitions
-//
-//------------------------------------------------------------------------------
-//
-
-// Wait note strings
-RESOURCE TBUF r_sisxui_preparing { buf = qtn_swins_note_prep_inst; }
-RESOURCE TBUF r_sisxui_installing { buf = qtn_swins_note_install; }
-RESOURCE TBUF r_sisxui_uninstalling { buf = qtn_gen_note_removing; }
-RESOURCE TBUF r_sisxui_doing_ocsp { buf = qtn_am_ocsp_wait_check; }
-RESOURCE TBUF r_sisxui_cancelling { buf = qtn_inst_note_cancel; }
-
-// Information note strings
-RESOURCE TBUF r_sisxui_install_cancelled { buf = qtn_swins_note_cancelled; }
-RESOURCE TBUF r_sisxui_uninstall_cancelled { buf = qtn_swins_uninstall_cancel; }
-RESOURCE TBUF r_sisxui_install_completed { buf = qtn_jam_install_complete; }
-RESOURCE TBUF r_sisxui_uninstall_completed { buf = qtn_jam_uninstall_done_info; }
-
-// Prompt strings
-RESOURCE TBUF r_sisxui_install_prompt { buf = qtn_swins_note_inst_conf_head; }
-RESOURCE TBUF r_sisxui_uninstall_prompt { buf = qtn_swins_note_uninst_conf_head; }
-RESOURCE TBUF r_sisxui_upgrade_prompt { buf = qtn_inst_conf_replace; }
-RESOURCE TBUF r_sisxui_close_single_inst { buf = qtn_inst_conf_close_single; }
-RESOURCE TBUF r_sisxui_close_multi_inst { buf = qtn_inst_conf_close_multi; }
-RESOURCE TBUF r_sisxui_close_single_uninst { buf = qtn_am_close_running; }
-RESOURCE TBUF r_sisxui_close_multi_uninst { buf = qtn_am_close_running_multi; }
-RESOURCE TBUF r_sisxui_ocsp_security_warning { buf = qtn_swins_note_security_warn; }
-RESOURCE TBUF r_sisxui_ocsp_mandatory { buf = qtn_am_ocsp_must_check_query; }
-RESOURCE TBUF r_sisxui_dependency_break { buf = qtn_swins_note_uninst_conf_warn; }
-RESOURCE TBUF r_sisxui_component_missing { buf = qtn_swins_note_comp_missing; }
-RESOURCE TBUF r_sisxui_incomp_package { buf = qtn_swins_note_incomp_applic; }
-RESOURCE TBUF r_sisxui_devcert_warning { buf = qtn_swins_query_dev_cert; }
-
-// Error strings
-RESOURCE TBUF r_sisxui_already_in_rom { buf = qtn_swins_note_rom; }
-RESOURCE TBUF r_sisxui_require_ver { buf = qtn_swins_note_need_version; }
-RESOURCE TBUF r_sisxui_require_ver_or_greater { buf = qtn_swins_note_need_vers_gre; }
-RESOURCE TBUF r_sisxui_disk_not_present { buf = qtn_swins_note_no_mmc; }
-RESOURCE TBUF r_sisxui_cannot_read { buf = qtn_swins_note_incomp_read; }
-RESOURCE TBUF r_sisxui_cannot_delete { buf = qtn_swins_note_incomp_delete; }
-RESOURCE TBUF r_sisxui_capabilities_cannot_be_granted { buf = qtn_swins_note_capab_fail; }
-RESOURCE TBUF r_sisxui_update_error { buf = qtn_swins_note_update_err; }
-RESOURCE TBUF r_sisxui_not_compatible { buf = qtn_swins_note_incomp; }
-RESOURCE TBUF r_sisxui_file_corrupt { buf = qtn_swins_note_file_corrupt; }
-RESOURCE TBUF r_sisxui_certificate_error { buf = qtn_swins_note_cert_fail; }
-RESOURCE TBUF r_sisxui_selfsigned_error { buf = qtn_swins_note_check_settings; }
-RESOURCE TBUF r_sisxui_not_enough_memory { buf = qtn_swins_note_no_memory; }
-RESOURCE TBUF r_sisxui_ocsp_revoked { buf = qtn_am_ocsp_warn_cert_revoked; }
-RESOURCE TBUF r_sisxui_ocsp_settings_error { buf = qtn_swins_note_ocsp_sett; }
-RESOURCE TBUF r_sisxui_ocsp_general_error { buf = qtn_swins_note_ocsp_fail; }
-RESOURCE TBUF r_sisxui_install_error { buf = qtn_jam_install_failed; }
-RESOURCE TBUF r_sisxui_uninstall_error { buf = qtn_swins_note_unable_uninstall; }
-RESOURCE TBUF r_sisxui_access_denied { buf = qtn_swins_note_access_denied; }
-RESOURCE TBUF r_sisxui_cert_date_invalid { buf = qtn_swins_note_date_mismatch; }
-RESOURCE TBUF r_sisxui_cert_expired { buf = qtn_swins_note_expired; }
-RESOURCE TBUF r_sisxui_base_missing { buf = qtn_swins_note_base_missing; }
-RESOURCE TBUF r_sisxui_uninstall_partial_error { buf = qtn_swins_note_uninst_partial; }
-RESOURCE TBUF r_sisxui_protected_error { buf = qtn_swins_note_protected; }
-RESOURCE TBUF r_sisxui_constrained_error { buf = qtn_swins_note_cert_constrained; }
-
-// For capabilities dialog
-RESOURCE TBUF r_sisxui_capab_heading { buf = qtn_inst_conf_capab; }
-RESOURCE TBUF r_sisxui_capab_local { buf = qtn_swins_capab_local; }
-RESOURCE TBUF r_sisxui_capab_read_user { buf = qtn_inst_capab_read; }
-RESOURCE TBUF r_sisxui_capab_write_user { buf = qtn_inst_capab_modify; }
-RESOURCE TBUF r_sisxui_capab_userenv { buf = qtn_swins_capab_userenv; }
-RESOURCE TBUF r_sisxui_capab_more_info { buf = qtn_swins_capab_info; }
-RESOURCE TBUF r_sisxui_capab_network { buf = qtn_inst_capab_network; }
-RESOURCE TBUF r_sisxui_capab_location { buf = qtn_inst_capab_location; }
-
-
-//------------------------------------------------------------------------------
-//
-// r_sisxui_languages_array
-// Defines an array of all supported languages
-//
-//------------------------------------------------------------------------------
-
-RESOURCE ARRAY r_sisxui_languages_array
- {
- items=
- {
- LANG_NAME { id = ELangTest; txt = qtn_swins_lqi_unknow; },
- LANG_NAME { id = ELangEnglish; txt = qtn_swins_lqi_uk; },
- LANG_NAME { id = ELangFrench; txt = qtn_swins_lqi_french; },
- LANG_NAME { id = ELangGerman; txt = qtn_swins_lqi_german; },
- LANG_NAME { id = ELangSpanish; txt = qtn_swins_lqi_span; },
- LANG_NAME { id = ELangItalian; txt = qtn_swins_lqi_ital; },
- LANG_NAME { id = ELangSwedish; txt = qtn_swins_lqi_swedish; },
- LANG_NAME { id = ELangDanish; txt = qtn_swins_lqi_danish; },
- LANG_NAME { id = ELangNorwegian; txt = qtn_swins_lqi_norweg; },
- LANG_NAME { id = ELangFinnish; txt = qtn_swins_lqi_finnish; },
- LANG_NAME { id = ELangAmerican; txt = qtn_swins_lqi_us; },
- LANG_NAME { id = ELangSwissFrench; txt = qtn_swins_lqi_swissfre; },
- LANG_NAME { id = ELangSwissGerman; txt = qtn_swins_lqi_swissger; },
- LANG_NAME { id = ELangPortuguese; txt = qtn_swins_lqi_portug; },
- LANG_NAME { id = ELangTurkish; txt = qtn_swins_lqi_turk; },
- LANG_NAME { id = ELangIcelandic; txt = qtn_swins_lqi_ice; },
- LANG_NAME { id = ELangRussian; txt = qtn_swins_lqi_russ; },
- LANG_NAME { id = ELangHungarian; txt = qtn_swins_lqi_hung; },
- LANG_NAME { id = ELangDutch; txt = qtn_swins_lqi_dutch; },
- LANG_NAME { id = ELangBelgianFlemish; txt = qtn_swins_lqi_belgdutch; },
- LANG_NAME { id = ELangAustralian; txt = qtn_swins_lqi_austeng; },
- LANG_NAME { id = ELangBelgianFrench; txt = qtn_swins_lqi_belgfrench; },
- LANG_NAME { id = ELangAustrian; txt = qtn_swins_lqi_austrger; },
- LANG_NAME { id = ELangNewZealand; txt = qtn_swins_lqi_nzeng; },
- LANG_NAME { id = ELangInternationalFrench; txt = qtn_swins_lqi_intfrench; },
- LANG_NAME { id = ELangCzech; txt = qtn_swins_lqi_czech; },
- LANG_NAME { id = ELangSlovak; txt = qtn_swins_lqi_slovak; },
- LANG_NAME { id = ELangPolish; txt = qtn_swins_lqi_polish; },
- LANG_NAME { id = ELangSlovenian; txt = qtn_swins_lqi_sloven; },
- LANG_NAME { id = ELangTaiwanChinese; txt = qtn_swins_lqi_taiwchin; },
- LANG_NAME { id = ELangHongKongChinese; txt = qtn_swins_lqi_hkchin; },
- LANG_NAME { id = ELangPrcChinese; txt = qtn_swins_lqi_prcchin; },
- LANG_NAME { id = ELangJapanese; txt = qtn_swins_lqi_japan; },
- LANG_NAME { id = ELangThai; txt = qtn_swins_lqi_thai; },
- LANG_NAME { id = ELangAfrikaans; txt = qtn_swins_lqi_afrik; },
- LANG_NAME { id = ELangAlbanian; txt = qtn_swins_lqi_alb; },
- LANG_NAME { id = ELangAmharic; txt = qtn_swins_lqi_amhar; },
- LANG_NAME { id = ELangArabic; txt = qtn_swins_lqi_arabic; },
- LANG_NAME { id = ELangArmenian; txt = qtn_swins_lqi_armenian; },
- LANG_NAME { id = ELangTagalog; txt = qtn_swins_lqi_taga; },
- LANG_NAME { id = ELangBelarussian; txt = qtn_swins_lqi_belarus; },
- LANG_NAME { id = ELangBengali; txt = qtn_swins_lqi_beng; },
- LANG_NAME { id = ELangBulgarian; txt = qtn_swins_lqi_bulg; },
- LANG_NAME { id = ELangBurmese; txt = qtn_swins_lqi_burm; },
- LANG_NAME { id = ELangCatalan; txt = qtn_swins_lqi_catalan; },
- LANG_NAME { id = ELangCroatian; txt = qtn_swins_lqi_croat; },
- LANG_NAME { id = ELangCanadianEnglish; txt = qtn_swins_lqi_caneng; },
- LANG_NAME { id = ELangInternationalEnglish; txt = qtn_swins_lqi_inteng; },
- LANG_NAME { id = ELangSouthAfricanEnglish; txt = qtn_swins_lqi_saeng; },
- LANG_NAME { id = ELangEstonian; txt = qtn_swins_lqi_estonia; },
- LANG_NAME { id = ELangFarsi; txt = qtn_swins_lqi_farsi; },
- LANG_NAME { id = ELangCanadianFrench; txt = qtn_swins_lqi_canfrench; },
- LANG_NAME { id = ELangScotsGaelic; txt = qtn_swins_lqi_scotgael; },
- LANG_NAME { id = ELangGeorgian; txt = qtn_swins_lqi_georg; },
- LANG_NAME { id = ELangGreek; txt = qtn_swins_lqi_greek; },
- LANG_NAME { id = ELangCyprusGreek; txt = qtn_swins_lqi_cygreek; },
- LANG_NAME { id = ELangGujarati; txt = qtn_swins_lqi_gujarat; },
- LANG_NAME { id = ELangHebrew; txt = qtn_swins_lqi_hebr; },
- LANG_NAME { id = ELangHindi; txt = qtn_swins_lqi_hindi; },
- LANG_NAME { id = ELangIndonesian; txt = qtn_swins_lqi_indon; },
- LANG_NAME { id = ELangIrish; txt = qtn_swins_lqi_irish; },
- LANG_NAME { id = ELangSwissItalian; txt = qtn_swins_lqi_swissital; },
- LANG_NAME { id = ELangKannada; txt = qtn_swins_lqi_kannada; },
- LANG_NAME { id = ELangKazakh; txt = qtn_swins_lqi_kazakh; },
- LANG_NAME { id = ELangKhmer; txt = qtn_swins_lqi_khmer; },
- LANG_NAME { id = ELangKorean; txt = qtn_swins_lqi_korean; },
- LANG_NAME { id = ELangLao; txt = qtn_swins_lqi_lao; },
- LANG_NAME { id = ELangLatvian; txt = qtn_swins_lqi_latv; },
- LANG_NAME { id = ELangLithuanian; txt = qtn_swins_lqi_lith; },
- LANG_NAME { id = ELangMacedonian; txt = qtn_swins_lqi_maced; },
- LANG_NAME { id = ELangMalay; txt = qtn_swins_lqi_malay; },
- LANG_NAME { id = ELangMalayalam; txt = qtn_swins_lqi_malyalam; },
- LANG_NAME { id = ELangMarathi; txt = qtn_swins_lqi_marath; },
- LANG_NAME { id = ELangMoldavian; txt = qtn_swins_lqi_molda; },
- LANG_NAME { id = ELangMongolian; txt = qtn_swins_lqi_mong; },
- LANG_NAME { id = ELangNorwegianNynorsk; txt = qtn_swins_lqi_nornynorsk; },
- LANG_NAME { id = ELangBrazilianPortuguese; txt = qtn_swins_lqi_brazport; },
- LANG_NAME { id = ELangPunjabi; txt = qtn_swins_lqi_punj; },
- LANG_NAME { id = ELangRomanian; txt = qtn_swins_lqi_roman; },
- LANG_NAME { id = ELangSerbian; txt = qtn_swins_lqi_serb; },
- LANG_NAME { id = ELangSinhalese; txt = qtn_swins_lqi_sinhal; },
- LANG_NAME { id = ELangSomali; txt = qtn_swins_lqi_somal; },
- LANG_NAME { id = ELangInternationalSpanish; txt = qtn_swins_lqi_intspan; },
- LANG_NAME { id = ELangLatinAmericanSpanish; txt = qtn_swins_lqi_latspan; },
- LANG_NAME { id = ELangSwahili; txt = qtn_swins_lqi_swahil; },
- LANG_NAME { id = ELangFinlandSwedish; txt = qtn_swins_lqi_finswe; },
- LANG_NAME { id = ELangReserved1; txt = qtn_swins_lqi_tajik; },
- LANG_NAME { id = ELangTamil; txt = qtn_swins_lqi_tamil; },
- LANG_NAME { id = ELangTelugu; txt = qtn_swins_lqi_telugu; },
- LANG_NAME { id = ELangTibetan; txt = qtn_swins_lqi_tibet; },
- LANG_NAME { id = ELangTigrinya; txt = qtn_swins_lqi_tigrin; },
- LANG_NAME { id = ELangCyprusTurkish; txt = qtn_swins_lqi_cyturk; },
- LANG_NAME { id = ELangTurkmen; txt = qtn_swins_lqi_turkmen; },
- LANG_NAME { id = ELangUkrainian; txt = qtn_swins_lqi_ukran; },
- LANG_NAME { id = ELangUrdu; txt = qtn_swins_lqi_urdu; },
- LANG_NAME { id = ELangReserved2; txt = qtn_swins_lqi_uzbek; },
- LANG_NAME { id = ELangVietnamese; txt = qtn_swins_lqi_viet; },
- LANG_NAME { id = ELangWelsh; txt = qtn_swins_lqi_welsh; },
- LANG_NAME { id = ELangZulu; txt = qtn_swins_lqi_zulu; },
- LANG_NAME { id = ELangBasque; txt = qtn_swins_lqi_basque; },
- LANG_NAME { id = ELangGalician; txt = qtn_swins_lqi_galic; },
- LANG_NAME { id = ELangEnglish_Apac; txt = qtn_swins_lqi_apaceng; },
- LANG_NAME { id = ELangEnglish_Taiwan; txt = qtn_swins_lqi_tweng; },
- LANG_NAME { id = ELangEnglish_HongKong; txt = qtn_swins_lqi_hkeng; },
- LANG_NAME { id = ELangEnglish_Prc; txt = qtn_swins_lqi_prceng; },
- LANG_NAME { id = ELangEnglish_Japan; txt = qtn_swins_lqi_jpneng; },
- LANG_NAME { id = ELangEnglish_Thailand; txt = qtn_swins_lqi_thaieng; },
- LANG_NAME { id = ELangMalay_Apac; txt = qtn_swins_lqi_apacmalay; },
-
- // Additional S60 language codes (not defined in TLanguage enum)
- LANG_NAME { id = KLangApacIndonesian; txt = qtn_swins_lqi_apacind; },
-
- // Old language IDs (used in S60 3.2 products):
- LANG_NAME { id = 401; txt = qtn_swins_lqi_basque; },
- LANG_NAME { id = 402; txt = qtn_swins_lqi_galic; }
- };
- }
-
-
-// End of File
--- a/appinstaller/AppinstUi/Plugin/SisxUI/Inc/SisxUI.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,157 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains the header file of the CSisxUI class.
-*
-* This class implements the ECom SWInstUIPluginAPI interface
-* for native installation.
-*
-*/
-
-
-#ifndef SISXUI_H
-#define SISXUI_H
-
-// INCLUDES
-#include <e32base.h>
-
-#include "SWInstUIPluginAPI.h"
-
-namespace SwiUI
-{
-
-class CSisxUIOperationWatcher;
-
-/**
-* This class implements the ECom SWInstUIPluginAPI interface for sisx
-* installation.
-*
-* @lib sisxui
-* @since 3.0
-*/
-class CSisxUI : public CSWInstUIPluginAPI
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- */
- static CSisxUI* NewL();
-
- /**
- * Destructor.
- */
- virtual ~CSisxUI();
-
- public: // From base classes
-
- /**
- * From SWInstUIPlugin, Perform installation.
- * @since 3.0
- */
- void InstallL( RFile& aFile,
- TInstallReq& aInstallParams,
- TBool aIsDRM,
- TRequestStatus& aStatus );
-
- /**
- * From SWInstUIPlugin, Perform silent installation.
- * @since 3.0
- */
- void SilentInstallL( RFile& aFile,
- TInstallReq& aInstallParams,
- TBool aIsDRM,
- TInstallOptions& aOptions,
- TRequestStatus& aStatus );
-
- /**
- * From SWInstUIPlugin, Perform uninstallation.
- * @since 3.0
- */
- void UninstallL( const TUid& aUid,
- const TDesC8& aMIME,
- TRequestStatus& aStatus );
-
- /**
- * From SWInstUIPlugin, Perform silent uninstallation.
- * @since 3.0
- */
- void SilentUninstallL( const TUid& aUid,
- const TDesC8& aMIME,
- TUninstallOptions& aOptions,
- TRequestStatus& aStatus );
-
- /**
- * From SWInstUIPlugin, Indicates if the application shell must be updated.
- * @since 3.0
- */
- TBool IsAppShellUpdate();
-
- /**
- * Cancel the current operation.
- * @since 3.0
- */
- void Cancel();
-
- /**
- * Informs the plugin about completed operation. Called when all tasks are completed.
- * @since 3.0
- */
- void CompleteL();
-
- /**
- *
- */
- CErrDetails* GetErrorDetails();
-
- /**
- * From SWInstUIPlugin, Perform a custom uninstallation.
- * @since 3.0
- */
- void CustomUninstallL( TOperation aOperation,
- const TDesC8& aParams,
- TRequestStatus& aStatus );
-
- /**
- * From SWInstUIPlugin, Perform a silent custom uninstallation.
- * @since 3.0
- */
- void SilentCustomUninstallL( TOperation aOperation,
- TUninstallOptions& aOptions,
- const TDesC8& aParams,
- TRequestStatus& aStatus );
-
- private:
-
- /**
- * Constructor.
- */
- CSisxUI();
-
- /**
- * 2nd phase constructor.
- */
- void ConstructL();
-
-
- private: // Data
-
- TInt iResourceFileOffset;
-
- CSisxUIOperationWatcher* iWatcher;
- };
-}
-
-#endif // SISXUI_H
-
-// End of File
--- a/appinstaller/AppinstUi/Plugin/SisxUI/Inc/SisxUI.rh Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Resource headers for project SisxUI
-*
-*/
-
-
-#ifndef SISXUI_RH
-#define SISXUI_RH
-
-STRUCT LANG_NAME
- {
- WORD id = 0;
- LTEXT txt;
- }
-
-#endif // SISXUI_RH
--- a/appinstaller/AppinstUi/Plugin/SisxUI/Inc/SisxUIAppInfo.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,199 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains the header file of the CSisxUIAppInfo
-* class.
-*
-* This class represents a native symbian package.
-*
-*/
-
-
-#ifndef SISXUIAPPINFO_H
-#define SISXUIAPPINFO_H
-
-// INCLUDES
-#include <e32base.h>
-#include <badesca.h>
-#include <CUIDetailsDialog.h>
-#include <swi/msisuihandlers.h>
-
-// FORWARD DECLARATIONS
-
-namespace SwiUI
-{
-
-// CLASS DECLARATION
-
-/**
-* This class represents a native symbian application
-*
-* @lib sisxui.lib
-* @since 3.0
-*/
-class CSisxUIAppInfo : public CBase, public CommonUI::MCUIInfoIterator
- {
- public: // Constructors and destructor
-
- /**
- * Constructor.
- * @param aInfo - Symbian engine application info object.
- * @param aIsTrusted - Indicate if the package is trusted or not
- */
- static CSisxUIAppInfo* NewL( const Swi::CAppInfo& aInfo, TBool aIsTrusted );
-
- /**
- * Destructor.
- */
- virtual ~CSisxUIAppInfo();
-
- public: // New functions
-
- /**
- * Return name of the package.
- * @since 3.0
- * @return Name of the package.
- */
- const TDesC& Name() const;
-
- /**
- * Set the name of the package
- * @since 3.0
- * @param aName - Name of the package.
- */
- void SetNameL( const TDesC& aName );
-
- /**
- * Return the package vendor.
- * @since 3.0
- * @return Package vendor.
- */
- const TDesC& Vendor() const;
-
- /**
- * Set the vendor of the package
- * @since 3.0
- * @param aVendor - Vendor of the package.
- */
- void SetVendorL( const TDesC& aVendor );
-
- /**
- * Return the package version.
- * @since 3.0
- * @return Package vendor.
- */
- const TVersion& Version() const;
-
- /**
- * Set the trusted status of the package.
- * @since 3.0
- * @param aIsTrusted - Trusted status.
- */
- void SetTrusted( TBool aIsTrusted );
-
- /**
- * Indicates the trusted status of the package.
- * @since 3.0
- * @return Trusted status.
- */
- TBool IsTrusted() const;
-
- /**
- * Sets the Uid of the package.
- * @since 3.0
- * @param aUid - Package Uid.
- */
- void SetUid( const TUid& aUid );
-
- /**
- * Return the Uid of the package.
- * @since 3.0
- * @return Package Uid.
- */
- TUid Uid() const;
-
- /**
- * Prepares the iterator to be shown in details dialog.
- * @since 3.0
- */
- void PrepareIteratorL( const Swi::CAppInfo& aInfo );
-
- /**
- * Frees the memory reserved for the iterator.
- * @since 3.0
- */
- void FreeIterator();
-
- public: // Functions from base classes
-
- /**
- * From MCUIInfoIterator, Indicates if the iterator has any more
- * fields left.
- * @since 3.0
- * @return ETrue if there are some fields left, EFalse if not.
- */
- TBool HasNext() const;
-
- /**
- * From MCUIInfoIterator, Get the next field.
- * @since 3.0
- * @param aKey - After successfull call contains the key / header of the field.
- * @param aKey - After successfull call contains the value of the field.
- */
- void Next( TPtrC& aKey, TPtrC& aValue );
-
- /**
- * From MCUIInfoIterator, Reset the iterator. After calling this, Next()
- * will return the first value.
- * @since 3.0
- */
- virtual void Reset();
-
- private:
-
- /**
- * C++ default constructor.
- */
- CSisxUIAppInfo( TBool aIsTrusted );
-
- /**
- * 2nd phase constructor.
- * @param aEntry - Sis registry entry.
- */
- void ConstructL( const Swi::CAppInfo& aInfo );
-
- /**
- * Sets a new field for the iterator with given parameter values.
- * @since 3.0
- * @param aResourceId - Resource id of the header text.
- * @param aValue - Value of the field.
- */
- void SetFieldL( TInt aResourceId, const TDesC& aValue );
-
- private: // Data
-
- TInt iCurrentIndex;
- CDesCArray* iKeys; // Own
- CDesCArray* iValues; // Own
-
- HBufC* iName; // Own
- HBufC* iVendor; // Own
- TVersion iVersion;
- TUid iUid;
- TBool iIsTrusted;
- };
-}
-
-#endif // SISXUIAPPINFO
-
-// End of File
--- a/appinstaller/AppinstUi/Plugin/SisxUI/Inc/SisxUICertificateInfo.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,160 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains the header file of the CSisxUICertificateInfo
-* class.
-*
-* This class implements the CCUICertificateInfo for Sisx
-* implementation.
-*
-*/
-
-
-#ifndef SISXUICERTIFICATEINFO_H
-#define SISXUICERTIFICATEINFO_H
-
-// INCLUDES
-#include <e32base.h>
-#include <CUIDetailsDialog.h>
-
-// FORWARD DECLARATIONS
-namespace Swi
-{
-class CCertificateInfo;
-}
-
-namespace SwiUI
-{
-
-// FORWARD DECLARATIONS
-
-/**
-* This class implements the CCUICertificateInfo for Sisx implementation.
-*
-* @lib swinstcommonui.lib
-* @since 3.0
-*/
-class CSisxUICertificateInfo : public CommonUI::CCUICertificateInfo
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- */
- static CSisxUICertificateInfo* NewL( const Swi::CCertificateInfo& aCertInfo );
-
- /**
- * Destructor.
- */
- virtual ~CSisxUICertificateInfo();
-
- public: // Functions from base classes
-
- /**
- * From CCUICertificateInfo, Gets the subject name of the certificate.
- * @since 3.0
- * @return The subject name of the certificate.
- */
- const TDesC& SubjectNameL() const;
-
- /**
- * From CCUICertificateInfo, Gets the issuer name of the certificate.
- * @since 3.0
- * @return The issuer name of the certificate.
- */
- const TDesC& IssuerNameL() const;
-
- /**
- * From CCUICertificateInfo, Gets the date the certificate is valid from.
- * @since 3.0
- * @return The date the certificate is valid from.
- */
- TDateTime ValidFromL() const;
-
- /**
- * From CCUICertificateInfo, Gets the date the certificate is valid until.
- * @since 3.0
- * @return The date the certificate is valid until.
- */
- TDateTime ValidToL() const;
-
- /**
- * From CCUICertificateInfo, Gets the subject name of the certificate.
- * @since 3.0
- * @return The subject name of the certificate.
- */
- const TDesC8& FingerprintL() const;
-
- /**
- * From CCUICertificateInfo, Gets the subject name of the certificate.
- * @since 3.0
- * @return The subject name of the certificate.
- */
- const TDesC8& SerialNumberL() const;
-
- /**
- * From CCUICertificateInfo, Indicates wheter this certificate is self signed.
- * @since 3.0
- * @return ETrue if is self signed.
- */
- TBool IsSelfSignedL() const;
-
- /**
- * From CCUICertificateInfo, Gets the full encoding of this certificate.
- * @since 3.0
- * @return Encoding.
- */
- const TDesC8& EncodingL() const;
-
- /**
- * From CCUICertificateInfo, Gets the signature of this certificate.
- * @since 3.0
- * @return Signature.
- */
- const TDesC8& SignatureL() const;
-
- /**
- * From CCUICertificateInfo, Gets the public key algorithm of the certificate.
- * @since 3.0
- * @return Public key algorithm.
- */
- TAlgorithmId PublicKeyAlgorithmL() const;
-
- /**
- * From CCUICertificateInfo, Gets the digest algorithm of the certificate.
- * @since 3.0
- * @return digest algorithm.
- */
- TAlgorithmId DigestAlgorithmL() const;
-
- protected:
-
- /**
- * C++ default constructor.
- */
- CSisxUICertificateInfo( const Swi::CCertificateInfo& aCertInfo );
-
- /**
- * 2nd phase constructor.
- */
- void ConstructL();
-
- private: // Data
-
- const Swi::CCertificateInfo& iCertInfo;
- };
-}
-
-#endif // SISXUICERTIFICATEINFO_H
-
-// End of File
--- a/appinstaller/AppinstUi/Plugin/SisxUI/Inc/SisxUICleanupUtils.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Defines CleanupResetAndDestroyPushL
-*
-*/
-
-
-#ifndef SISXUICLEANUPUTILS_H
-#define SISXUICLEANUPUTILS_H
-
-template <class T>
-class CleanupResetAndDestroy
- {
-public:
- inline static void PushL( T& aRef );
-private:
- static void ResetAndDestroy( TAny *aPtr );
- };
-
-template <class T>
-inline void CleanupResetAndDestroyPushL( T& aRef );
-
-template <class T>
-inline void CleanupResetAndDestroy<T>::PushL( T& aRef )
- {
- CleanupStack::PushL( TCleanupItem( &ResetAndDestroy, &aRef ) );
- }
-
-template <class T>
-void CleanupResetAndDestroy<T>::ResetAndDestroy( TAny *aPtr )
- {
- if( aPtr )
- {
- static_cast<T*>( aPtr )->ResetAndDestroy();
- }
- }
-
-template <class T>
-inline void CleanupResetAndDestroyPushL( T& aRef )
- {
- CleanupResetAndDestroy<T>::PushL( aRef );
- }
-
-#endif // SISXUICLEANUPUTILS_H
--- a/appinstaller/AppinstUi/Plugin/SisxUI/Inc/SisxUIHandler.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,438 +0,0 @@
-/*
-* Copyright (c) 2002-2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains the header file of the CSWSisUIHandler
-* class.
-*
-* This class handles the Ui for native installations.
-*
-*/
-
-
-#ifndef SISXUIHANDLER_H
-#define SISXUIHANDLER_H
-
-// INCLUDES
-#include <e32base.h>
-#include <swi/msisuihandlers.h>
-#include <CUIDetailsDialog.h>
-#include <f32file.h>
-
-#include "CUIDialogs.h"
-#include "SisxUIResult.h"
-
-namespace SwiUI
-{
-
-// FORWARD DECLARATIONS
-class CSisxUISelectionCache;
-class CSisxUIAppInfo;
-
-/**
-* Enumeration for ocsp procedure.
-*
-* @since 3.0
-*/
-enum TSisxUIOcspProc
- {
- ESisxUIOcspProcOff = 0,
- ESisxUIOcspProcOn,
- ESisxUIOcspProcMust
- };
-
-/**
-* This interface defines an observer for user initiated cancel.
-*
-* @since 3.0
-*/
-class MSisxUICancelObserver
- {
- public:
-
- /**
- * Called when user has cancelled the operation.
- * @since 3.0
- */
- virtual void UserCancelL( TBool aCancelImmediately ) = 0;
- };
-
-/**
-* This class handles the Ui for native installations.
-*
-* @lib sisxui.lib
-* @since 3.0
-*/
-class CSisxUIHandler : public CBase,
- public Swi::MUiHandler,
- public CommonUI::MCUIWaitDialogCallback
- {
- public: // Constructors and destructor
-
- /**
- * Enumeration for install mode.
- * @since 3.0
- */
- enum TInstallMode
- {
- EModeInstall,
- EModeUninstall
- };
-
- /**
- * Two-phased constructor.
- * @param aMode - Indicates if this is for install or uninstall
- */
- static CSisxUIHandler* NewL( TInstallMode aMode, MSisxUICancelObserver* aCancelObserver );
-
- /**
- * Destructor.
- */
- virtual ~CSisxUIHandler();
-
- public: // From base classes
-
- /**
- * From MUiHandler, displays a dialog at the beginning of an installation
- * with details about the SISX package being installed. This dialog must
- * be shown in TrustedUI mode.
- */
- TBool DisplayInstallL( const Swi::CAppInfo& aAppInfo,
- const CApaMaskedBitmap* aLogo,
- const RPointerArray<Swi::CCertificateInfo>& aCertificates );
-
- /**
- * From MUiHandler, displays a dialog requesting that the user grants
- * these capabilities to the SISX package being installed. This dialog
- * must be shown in TrustedUI mode.
- */
- TBool DisplayGrantCapabilitiesL( const Swi::CAppInfo& aAppInfo,
- const TCapabilitySet& aCapabilitySet );
-
- /**
- * From MUiHandler, requests preferred language and dialect information
- * from the UI.
- */
- TInt DisplayLanguageL( const Swi::CAppInfo& aAppInfo,
- const RArray<TLanguage>& aLanguages );
-
- /**
- * From MUiHandler, requests the drive to install the package on, from
- * the UI.
- */
- TInt DisplayDriveL( const Swi::CAppInfo& aAppInfo,
- TInt64 aSize,
- const RArray<TChar>& aDriveLetters,
- const RArray<TInt64>& aDriveSpaces );
-
- /**
- * From MUiHandler, displays a dialog asking whether we want to upgrade an
- * application present on the device.
- */
- TBool DisplayUpgradeL( const Swi::CAppInfo& aAppInfo,
- const Swi::CAppInfo& aExistingAppInfo );
-
- /**
- * From MUiHandler, displays a dialog box asking which options the user
- * wishes to install.
- */
- TBool DisplayOptionsL( const Swi::CAppInfo& aAppInfo,
- const RPointerArray<TDesC>& aOptions,
- RArray<TBool>& aSelections );
-
- /**
- * From MUiHandler, informs the UI of events occurring during installation.
- */
- TBool HandleInstallEventL( const Swi::CAppInfo& aAppInfo,
- Swi::TInstallEvent aEvent,
- TInt aValue = 0,
- const TDesC& aDes = KNullDesC );
- /**
- * From MUiHandler, informs the UI of cancellable events occurring during
- * installation.
- */
- void HandleCancellableInstallEventL( const Swi::CAppInfo& aAppInfo,
- Swi::TInstallCancellableEvent aEvent,
- Swi::MCancelHandler& aCancelHandler,
- TInt aValue = 0,
- const TDesC& aDes = KNullDesC );
- /**
- * From MUiHandler, displays a dialog indicating that the package is unsigned,
- * or that signature validation has failed.
- */
- TBool DisplaySecurityWarningL( const Swi::CAppInfo& aAppInfo,
- Swi::TSignatureValidationResult aSigValidationResult,
- RPointerArray<CPKIXValidationResultBase>& aPkixResults,
- RPointerArray<Swi::CCertificateInfo>& aCertificates,
- TBool aInstallAnyway );
-
- /**
- * From MUiHandler, displays a dialog indicating that there was an error
- * carrying out online certificate status checking.
- */
- TBool DisplayOcspResultL( const Swi::CAppInfo& aAppInfo,
- Swi::TRevocationDialogMessage aMessage,
- RPointerArray<TOCSPOutcome>& aOutcomes,
- RPointerArray<Swi::CCertificateInfo>& aCertificates,
- TBool aWarningOnly );
-
- /**
- * From MUiHandler, used to inform the user the installation they are attempting
- * is trying to overwrite a file that does not belong to it. Following this
- * message installation is aborted.
- */
- void DisplayCannotOverwriteFileL( const Swi::CAppInfo& aAppInfo,
- const Swi::CAppInfo& aInstalledAppInfo,
- const TDesC& aFileName );
-
- /**
- * Used to inform the user of a missing dependency needed to install the
- * current package. It is up to the UI implementors and/or the user whether
- * or not this warning can be overridden.
- */
- TBool DisplayMissingDependencyL( const Swi::CAppInfo& aAppInfo,
- const TDesC& aDependencyName,
- TVersion aWantedVersionFrom,
- TVersion aWantedVersionTo,
- TVersion aInstalledVersion );
-
- /**
- * From MUiHandler, displays a dialog at the start of the uninstallation with
- * information about the application to be uninstalled. The user may cancel the
- * uninstallation at this stage. This dialog must be shown in TrustedUI mode.
- */
- TBool DisplayUninstallL( const Swi::CAppInfo& aAppInfo );
-
- /**
- * From MUiHandler, displays a dialog containing text. This dialog has only a
- * Continue button if aOption is EInstFileTextOptionContinue, or Yes and No buttons
- * otherwise.
- */
- TBool DisplayTextL( const Swi::CAppInfo& aAppInfo,
- Swi::TFileTextOption aOption,
- const TDesC& aText );
-
- /**
- * From MUiHandler, displays a dialog showing an error message.
- */
- void DisplayErrorL( const Swi::CAppInfo& aAppInfo,
- Swi::TErrorDialog aType,
- const TDesC& aParam );
-
- /**
- * From MUiHandler, displays a dialog indicating that a component which is being
- * uninstalled is a dependency of another component installed.
- */
- TBool DisplayDependencyBreakL( const Swi::CAppInfo& aAppInfo,
- const RPointerArray<TDesC>& aComponents );
-
- /**
- * From MUiHandler, informs user that the applications are in use during an
- * uninstallation. Return ETrue if the user wishes to continue the removal process and
- * close the applications anyway.
- */
- TBool DisplayApplicationsInUseL( const Swi::CAppInfo& aAppInfo,
- const RPointerArray<TDesC>& aAppNames );
-
- /**
- * From MUiHandler, displays a generic question dialog with a Yes/No answer.
- */
- TBool DisplayQuestionL( const Swi::CAppInfo& aAppInfo,
- Swi::TQuestionDialog aQuestion,
- const TDesC& aDes = KNullDesC );
-
- /**
- * From, MCUIWaitDialogCallback, called when wait/progress dialog is about
- * to be cancelled.
- */
- TBool HandleDialogExitL( TInt aButtonId );
-
- public: // New functions
-
- /**
- * Process the (un)installation result.
- * @since 3.0
- * @param aResult - Result from the (un)installation engine.
- */
- void ProcessResult( TInt aResult );
-
- /**
- * Return result of the installation.
- * @since 3.0
- * @return Result of the installation.
- */
- TSisxUIResult GetResult() const;
-
- /**
- * Show the final note.
- * @since 3.0
- */
- virtual void ShowFinalNoteL();
-
- /**
- * Return the package information about this install/uninstall. Ownership
- * does not transfer.
- * @since 3.0
- * @param aPackages - On return contains the package information.
- */
- void ProcessedPackages( RPointerArray<CSisxUIAppInfo>& aPackages );
-
- /**
- * Return the install mode of this instance.
- * @since 3.0
- * @return Install mode.
- */
- TInstallMode InstallMode() const;
-
- /**
- * Sets the ocsp procedure for the installation.
- * @since 3.0
- * @param aOcspProc - Ocsp procedure.
- */
- void SetOcspProcedure( const TSisxUIOcspProc& aOcspProc );
-
- /**
- * Indicates if a dialog is shown to user and expecting some user input.
- * @since 3.0
- */
- TBool IsShowingDialog();
-
- /**
- * Shows a cancelling wait dialog.
- * @since 3.0
- */
- void ShowCancellingL();
-
- /**
- * Sets the UI not to show final note.
- * @since 3.0
- */
- void DoNotShowFinalNote();
-
- /**
- * Resets the result to no result.
- * @since 3.0
- */
- void ResetResult();
-
- /**
- * Sets the file handle for showing drm details.
- * @since 3.0
- * @param aFile - File handle.
- */
- void SetFileForDrm( RFile& aFile );
-
- /**
- * Sets the policy for allowing the installation of untrusted packages.
- * @since 3.0
- * @param aAllowUntrusted - True if untrusted is allowed.
- */
- void SetAllowUntrusted( TBool aAllowUntrusted );
-
- protected:
-
- /**
- * Constructor.
- * @param aMode - Indicates if this is for install or uninstall
- */
- CSisxUIHandler( TInstallMode aMode, MSisxUICancelObserver* aCancelObserver );
-
- private:
-
- /**
- * 2nd phase constructor.
- */
- void ConstructL();
-
- /**
- * Convenience function for showing a Sisx specific error.
- * @since 3.0
- * @param aResourceId - Resource id of the error string.
- */
- void ShowErrorL( TInt aResourceId );
-
- /**
- * Convenience function for showing a Sisx specific error.
- * @since 3.0
- * @param aDes - String to be shown in error note.
- */
- void ShowErrorL( const TDesC& aDes );
-
- /**
- * Adds the given capability string to the descriptor.
- * @since 3.0
- * @param aString - The descriptor where the capability string is added.
- * This must be on top of the cleanup stack when the function
- is called.
- * @param aResourceId - Resource id of the capability string.
- */
- void AddCapabilityL( HBufC*& aString, TInt aResourceId );
-
- /**
- * Displays a cancel note.
- * @since 3.0
- */
- void DisplayCancelL();
-
- /**
- * Displays a complete note.
- * @since 3.0
- */
- void DisplayCompleteL();
-
- /**
- * Finalizes the installation by closing all open dialogs.
- * @since 3.0
- */
- void Finalize();
-
- /**
- * Callback used in message query.
- * @since 3.0
- */
- static TInt ShowCapabilitiesHelp( TAny* aPtr );
-
- protected: // Data
-
- CommonUI::CCUIDialogs* iCommonDialogs; // Owned
- RPointerArray<CommonUI::CCUICertificateInfo> iCertificateArray;
-
- TInstallMode iMode; // Indicates whether we have install or uninstall in progress
- TSisxUIOcspProc iOcspProc;
- TBool iShownFinalNote;
- TBool iIntegrityCheckDone;
- TBool iOcspInProgress;
- TBool iIncompatibleShown;
- TBool iShowingDialog;
-
- CSisxUISelectionCache* iCache;
-
- TSisxUIResult iResult;
- RPointerArray<CSisxUIAppInfo> iPackages; // Owned
-
- MSisxUICancelObserver* iCancelObserver;
- TBool iCancelRequested;
-
- TBool iAllowUntrusted;
-
- private:
-
- RFile iDrmFile;
- TBool iIsDrmFileSet;
- TBool iShowingWaitDialog;
- };
-
-}
-
-#endif // SISXUIHANDLER_H
-
-// End of File
--- a/appinstaller/AppinstUi/Plugin/SisxUI/Inc/SisxUILangName.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Defines class for language id amd name pairs
-*
-*/
-
-
-#ifndef SISXUILANGNAME_H
-#define SISXUILANGNAME_H
-
-#include <e32base.h> // CBase
-
-class TResourceReader;
-
-
-class CLangName : public CBase
- {
-public: // constructors and destructor
- static CLangName* NewL( TResourceReader& aReader );
- ~CLangName();
-
-public: // new functions
- TLanguage Id() const;
- TPtrC Name() const;
-
-private: // new functions
- CLangName();
- void ConstructFromResourceL( TResourceReader& aReader );
-
-private: // data
- TLanguage iId;
- HBufC* iName;
- };
-
-#endif // SISXUILANGNAME_H
--- a/appinstaller/AppinstUi/Plugin/SisxUI/Inc/SisxUIOperationWatcher.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,378 +0,0 @@
-/*
-* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains the header file of the CSisxUIOperationWatcher class
-*
-* This class handles the asynchronous install / unsinstall
-* requests.
-*
-*/
-
-
-#ifndef SISXUIOPERATIONWATCHER_H
-#define SISXUIOPERATIONWATCHER_H
-
-// INCLUDES
-#include <e32base.h>
-#include <SWInstStartupTaskParam.h>
-#include <SWInstLogTaskParam.h>
-
-#include "SisxUIHandler.h"
-#include "CUICancelTimer.h"
-
-// FORWARD DECLARATIONS
-namespace ContentAccess
-{
-class CManager;
-class TAgent;
-}
-
-namespace Swi
-{
-class CInstallPrefs;
-class CAsyncLauncher;
-class CSisRegistryPackage;
-}
-
-namespace SwiUI
-{
-
-// FORWARD DECLARATIONS
-
-class CTaskManager;
-class CTask;
-class CSisxUIAppInfo;
-
-// CLASS DECLARATION
-
-/**
-* This class handles the asynchronous install / unsinstall requests.
-*
-* @lib sisxui.lib
-* @since 3.0
-*/
-class CSisxUIOperationWatcher : public CActive,
- public MSisxUICancelObserver,
- public CommonUI::MCUICancellable
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- */
- static CSisxUIOperationWatcher* NewL();
-
- /**
- * Destructor.
- */
- virtual ~CSisxUIOperationWatcher();
-
- public: // New functions
-
- /**
- * Handle install request.
- * @since 3.0
- */
- void InstallL( RFile& aFile,
- const TDesC8& aMIME,
- TBool aIsDRM,
- TRequestStatus& aRequestStatus );
-
- /**
- * Handle silent install request.
- * @since 3.0
- */
- void SilentInstallL( RFile& aFile,
- const TDesC8& aMIME,
- TBool aIsDRM,
- TInstallOptions& aOptions,
- TRequestStatus& aRequestStatus );
-
- /**
- * Handle uninstall request.
- * @since 3.0
- */
- void UninstallL( const TUid& aUid, TRequestStatus& aRequestStatus );
-
- /**
- * Handle silent uninstall request.
- * @since 3.0
- */
- void SilentUninstallL( const TUid& aUid,
- TUninstallOptions& aOptions,
- TRequestStatus& aRequestStatus );
- /**
- * Uninstalls only a specific augmentation (sispatch)
- * @since 3.0
- * @param aUid - Uid of the package.
- * @param aIndex - Index of the augmentation.
- */
- void UninstallAugmentationL( const TUid& aUid, TInt aIndex, TRequestStatus& aRequestStatus );
-
- /**
- * Uninstalls only a specific augmentation (sispatch) - silently.
- * @since 3.0
- * @param aUid - Uid of the package.
- * @param aOptions - Options for the silent operation.
- * @param aIndex - Index of the augmentation.
- */
- void SilentUninstallAugmentationL( const TUid& aUid,
- TUninstallOptions& aOptions,
- TInt aIndex,
- TRequestStatus& aRequestStatus );
-
- /**
- * Informs the UI, about final completion.
- * @since 3.0
- */
- void FinalCompleteL();
-
- public: // Functions from base classes
-
- /**
- * From CActive, Override.
- * @since 3.0
- */
- void Cancel();
-
- /**
- * From CActive, Called by framework when request is finished.
- * @since 3.0
- */
- void RunL();
-
- /**
- * From CActive, Called by framework when request is cancelled.
- * @since 3.0
- */
- void DoCancel();
-
- /**
- * From CActive, Handles a leave occurring in the request completion
- * event handler RunL().
- * @since 3.0
- */
- TInt RunError( TInt aError );
-
- /**
- * From MSisxUICancelObserver, Called when user has cancelled the operation.
- * @since 3.0
- */
- void UserCancelL( TBool aCancelImmediately );
-
- /**
- * From MCUICancellable, Indicates if a modal dialog is currently shown.
- */
- TBool IsShowingDialog();
-
- /**
- * From MCUICancellable, Cancels the installation engine.
- */
- void CancelEngine();
-
- /**
- * From MCUICancellable, Called when nothing else has worked.
- */
- void ForceCancel();
-
- /**
- * From MCUICancellable, Called to indicate that the cancelling progress
- * has been started.
- */
- void StartedCancellingL();
-
- private:
-
- /**
- * Completes the pending request.
- * @param aResult - Result of the request
- */
- void CompleteRequest( TInt aResult );
-
- private:
-
- /**
- * C++ default constructor.
- * @param aRequestStatus - Status of the request.
- */
- CSisxUIOperationWatcher();
-
- /**
- * 2nd phase constructor.
- */
- void ConstructL();
-
- /**
- * Add files to startup list.
- * @since 3.0
- */
- void AddStartupItemsL( RArray<TStartupTaskParam>& aParams );
-
- /**
- * Remove files from the startup list.
- * @since 3.0
- */
- void RemoveStartupItemsL( RArray<TStartupTaskParam>& aParams );
-
- /**
- * Checks if the given uid has installed a startup file. If it finds one
- * it removes it and creates a task to remove the items as well.
- * @since 3.0
- */
- void RemoveStartupFileL( TUid aUid );
-
- /**
- * Handles the log entry addition.
- * @since 3.0
- * @param aAppInfo - Package info.
- * @param aAction - Action of the log.
- * @param aIsStartup - Indicates if the startup list was modified.
- */
- void HandleLogL( const CSisxUIAppInfo& aAppInfo,
- const TLogTaskAction& aAction,
- TBool aIsStartup );
-
- /**
- * Helper to handle the case of pip file.
- * @since 3.0
- * @param aPipFileHandle - Handle to pip file.
- * @param aSisFileHandle - On return contains handle to sis file.
- */
- void HandlePipFileL( RFile& aPipFileHandle, RFile& aSisFileHandle );
-
- /**
- * Helper to read ocsp values from central repository and prepare the ui.
- * @since 3.0
- * @param aUIHandler - UI handler.
- * @param aPrefs - Engine install preferences.
- */
- void PrepareOCSPL( CSisxUIHandler* aUIHandler, Swi::CInstallPrefs* aPrefs );
-
- /**
- * Helper to get the packages that were installed in this session.
- * @since 3.0
- * @param aPackages - On return contains the installed packages.
- */
- void GetInstalledPackagesL( RPointerArray<CSisxUIAppInfo>& aPackages );
-
- /**
- * Helper to handle startup list addition.
- * @since 3.0
- * @param aAppInfo - Installed application.
- */
- void HandleStartupAdditionL( const CSisxUIAppInfo& aAppInfo );
-
- /**
- * Prepares the installation.
- * @since 3.0
- */
- void PrepareInstallL();
-
- /**
- * Completes the installation
- * @since 3.0
- */
- void CompleteInstallationL();
-
- /**
- * Completes the uninstallation
- * @since 3.0
- */
- void CompleteUninstallationL();
-
- /**
- * Performs the uninstallation of augmentation.
- * @since 3.0
- * @param aUid - Uid of the package.
- * @param aIndex - Index of the augmentation.
- */
- void DoUninstallAugmentationL( TUid aUid, TInt aIndex );
-
- /**
- * Notifies that uninstallation is about to start.
- * @since 3.0
- * @param aUid - Uid of the package to be uninstalled.
- */
- void NotifyStartUninstallL( TUid aUid );
-
- /**
- * Notifies that uninstallation has been completed.
- * @since 3.0
- */
- void NotifyEndUninstall();
-
- /**
- * Handles searching correct manager for DRM registration
- * @since 3.0
- * @param aAgent - content access agent
- * @return Manager - Manages files and content access agents
- */
- ContentAccess::CManager* GetCafDataL( ContentAccess::TAgent& aAgent );
-
- /**
- * Register PIP package content to DRM DCF server.
- * @since 5.0
- * @param aUID - Sis package UID
- */
- void RegisterContentToDCF( TUid aUid );
-
- /**
- * Search files which should be register to DCF server.
- * @since 5.0
- * @param aSourceArray - Array conteining file paths.
- * @param aTargetArray - Array for files which should be register.
- */
- void SearchFilesForDCFL(
- RPointerArray<HBufC>& aSourceArray,
- RPointerArray<HBufC>& aTargetArray );
-
-
- private: // Data
-
- Swi::CAsyncLauncher* iLauncher;
- CSisxUIHandler* iUIHandler;
- CTaskManager* iTaskManager;
-
- TRequestStatus* iRequestStatus;
- RFile iSourceFile;
- HBufC8* iMIME;
-
- TUid iUninstalledUid;
-
- // Pip file related
- RFile iTempFile; // Points to extracted sis file
- RFs iRfs;
- TBool iIsPipFile;
- TFileName iTempDir;
-
- RPointerArray<HBufC> iInstalledFiles;
- RPointerArray<Swi::CSisRegistryPackage> iAugmentations;
-
- TBool iStartupModified;
- TBool iPreparing;
- TBool iCancelOngoing;
- TBool iIsUserCancel;
- TBool iIsAugmentation;
-
- TBool iIsSilent;
- TBool iDoSilentOcsp;
-
- CommonUI::CCUICancelTimer* iCanceller;
- RArray<TInt> iSupportedLanguages;
- TBool iDeletionOngoing;
- };
-}
-
-#endif // SISXUIOPERATIONWATCHER_H
-
-// End of File
--- a/appinstaller/AppinstUi/Plugin/SisxUI/Inc/SisxUIResult.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,142 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains the header file of the TSisxUIResult class.
-*
-*/
-
-
-#ifndef SISXUIRESULT_H
-#define SISXUIRESULT_H
-
-// INCLUDES
-#include <e32std.h>
-#include <swi/msisuihandlers.h>
-
-namespace SwiUI
-{
-
-/**
-* Enumeration for sisx specific results / errors.
-* @since 3.0
-*/
-enum TSisxResultCode
- {
- EUiResultNoResult = 0, // code not set
- EUiResultOk = 1, // KErrNone
- EUiResultCancelled = 2, // KErrCancel, KSWInstErrUserCancel
- EUiResultGeneralError = 3, // some other error
- EUiResultUnableToOverwrite = 4, // CSisxUIHandler::DisplayCannotOverwriteFileL()
- EUiResultAlreadyInRom = 5, // TErrorDialog
- EUiResultMissingDependency = 6, // TErrorDialog
- EUiResultRequireVer = 7, // TErrorDialog
- EUiResultRequireVerOrGreater = 8, // TErrorDialog
- EUiResultFileCorrupt = 9, // TErrorDialog, KSWInstErrFileCorrupted
- EUiResultDiskNotPresent = 10, // TErrorDialog
- EUiResultCannotRead = 11, // TErrorDialog
- EUiResultCannotDelete = 12, // TErrorDialog
- EUiResultInvalidFileName = 13, // TErrorDialog
- EUiResultFileNotFound = 14, // TErrorDialog
- EUiResultInsufficientSpaceOnDrive = 15, // TErrorDialog
- EUiResultCapabilitiesCannotBeGranted = 16, // TErrorDialog
- EUiResultUnknownFile = 17, // TErrorDialog
- EUiResultMissingBasePackage = 18, // TErrorDialog
- EUiResultInsufficientMemory = 19, // KErrDiskFull
- EUiResultNoCertificate = 20, // TSignatureValidationResult
- EUiResultCertificateValidationError = 21, // TSignatureValidationResult
- EUiResultSignatureNotPresent = 22, // TSignatureValidationResult
- EUiResultSignatureCouldNotBeValidated = 23, // TSignatureValidationResult
- EUiResultNoCodeSigningExtension = 24, // TSignatureValidationResult
- EUiResultNoSupportedPolicyExtension = 25, // TSignatureValidationResult
- EUiResultMandatorySignatureMissing = 26, // TSignatureValidationResult
- EUiResultInvalidRevocationServerUrl = 27, // TRevocationDialogMessage
- EUiResultUnableToObtainCertificateStatus = 28, // TRevocationDialogMessage
- EUiResultResponseSignatureValidationFailure = 29, // TRevocationDialogMessage
- EUiResultInvalidRevocationServerResponse = 30, // TRevocationDialogMessage
- EUiResultInvalidCertificateStatusInformation = 31, // TRevocationDialogMessage
- EUiResultCertificateStatusIsUnknown = 32, // TRevocationDialogMessage
- EUiResultCertificateStatusIsRevoked = 33, // TRevocationDialogMessage
- EUiResultAccessDenied = 34, // KErrAccessDenied
- EUiResultCertificateStatusIsUnknownSelfSigned = 35, // TRevocationDialogMessage
- EUiResultCertificateExpired = 36, // CSisxUIHandler::DisplaySecurityWarningL()
- EUiResultCertificateValidInFuture = 37, // CSisxUIHandler::DisplaySecurityWarningL()
- EUiResultConstraintsExceeded = 38, // TErrorDialog
- EUiResultSIDViolation = 39, // TErrorDialog
- EUiResultVIDViolation = 40, // TErrorDialog
- EUiResultCannotUninstallPartialUpgrade = 41, // not used
- EUiResultSignatureSelfSigned = 42, // TSignatureValidationResult
- EUiResultInvalidUpgrade = 43, // KErrInvalidUpgrade
- EUiResultUIDPackageViolation = 44, // TErrorDialog
- EUiResultBlockingEclipsingFile = 45, // TErrorDialog
- EUiResultOSExeViolation = 46, // TErrorDialog
- EUiResultSIDMismatch = 47 // TErrorDialog
- };
-
-
-/**
-* Result of the installation / uninstallation operation.
-*
-* @lib sisxui.lib
-* @since 3.0
-*/
-class TSisxUIResult
- {
- public:
-
- /**
- * C++ default constructor.
- */
- TSisxUIResult();
-
- /**
- * C++ default constructor.
- * @param aResult - Operation result.
- */
- TSisxUIResult( const TSisxResultCode& aResult );
-
- /**
- * C++ default constructor.
- * @param aResult - Operation result.
- */
- TSisxUIResult( const Swi::TRevocationDialogMessage& aResult );
-
- /**
- * C++ default constructor.
- * @param aResult - Operation result.
- */
- TSisxUIResult( const Swi::TSignatureValidationResult& aResult );
-
- /**
- * C++ default constructor.
- * @param aResult - Operation result.
- */
- TSisxUIResult( const Swi::TErrorDialog& aResult );
-
- /**
- * Returns the common SWInst result code for this result.
- * @since 3.0
- * @return Common result code.
- */
- TInt CommonResult() const;
-
- public: // Data
-
- TSisxResultCode iResult;
- TInt iDetailedErrorCode; // when iResult is EUiResultGeneralError
- };
-
-}
-
-#endif // SISXUI_H
-
-// End of File
--- a/appinstaller/AppinstUi/Plugin/SisxUI/Inc/SisxUISelectionCache.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,145 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains the header file of the CSisxUISelectionCache
-* class.
-*
-* This class acts as a cache for user selections during
-* installation.
-*
-*/
-
-
-#ifndef SISXUISELECTIONCACHE_H
-#define SISXUISELECTIONCACHE_H
-
-// INCLUDES
-#include <e32base.h>
-#include <f32file.h>
-
-namespace SwiUI
-{
-class CSisxUIHandler;
-
-/**
-* This class acts as a cache for user selections during installation.
-* @lib sisxui
-* @since 3.0
-*/
-class CSisxUISelectionCache : public CBase
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- */
- static CSisxUISelectionCache* NewL();
-
- /**
- * Destructor.
- */
- virtual ~CSisxUISelectionCache();
-
- public: // From base classes
-
- /**
- * Indicates if language selection is cached.
- * @since 3.0
- * @return ETrue, EFalse
- */
- TBool LanguageCached() const;
-
- /**
- * Returns cached language.
- * @since 3.0
- * @return Cached language.
- */
- TLanguage Language() const;
-
- /**
- * Sets the cached language.
- * @since 3.0
- * @param aLanguage - Language to be cached.
- */
- void SetLanguage( const TLanguage& aLanguage );
-
- /**
- * Indicates if drive selection is cached.
- * @since 3.0
- * @return ETrue, EFalse
- */
- TBool DriveCached() const;
-
- /**
- * Returns cached drive.
- * @since 3.0
- * @return Cached drive.
- */
- TDriveUnit Drive() const;
-
- /**
- * Sets the cached drive.
- * @since 3.0
- * @param aLanguage - Drive to be cached.
- */
- void SetDrive( TDriveUnit aDrive );
-
- /**
- * Indicates if options selection is cached.
- * @since 3.0
- * @param aOptions - Array of current options.
- * @return ETrue, EFalse
- */
- TBool OptionsCached( const RPointerArray<TDesC>& aOptions ) const;
-
- /**
- * Returns cached option selections.
- * @since 3.0
- * @param aSelections - On return contains the cached selections.
- */
- void Options( RArray<TBool>& aSelections );
-
- /**
- * Sets the cached options.
- * @since 3.0
- * @param aLanguage - Drive to be cached.
- */
- void SetOptionsL( const RPointerArray<TDesC>& aOptions, const RArray<TBool>& aSelections );
-
- private:
-
- /**
- * Constructor.
- */
- CSisxUISelectionCache();
-
- /**
- * 2nd phase constructor.
- */
- void ConstructL();
-
- private: // Data
-
- TBool iLanguageCached;
- TLanguage iLanguage;
-
- TDriveUnit iDrive;
-
- RPointerArray<HBufC> iOptions;
- RArray<TBool> iSelections;
- };
-}
-
-#endif // SISXUISELECTIONCACHE_H
-
-// End of File
--- a/appinstaller/AppinstUi/Plugin/SisxUI/Inc/SisxUISilentHandler.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,254 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains the header file of the CSWSisUIHandler
-* class.
-*
-* This class handles the Ui for native installations.
-*
-*/
-
-
-#ifndef SISXUISILENTHANDLER_H
-#define SISXUISILENTHANDLER_H
-
-// INCLUDES
-#include <e32base.h>
-#include <swi/msisuihandlers.h>
-//#include <CUIDetailsDialog.h>
-
-//#include "CUIDialogs.h"
-#include "SisxUIResult.h"
-#include "SisxUIHandler.h"
-#include "SWInstPrivateUid.h"
-
-namespace SwiUI
-{
-
-/**
-* This class handles the Ui for native installations.
-*
-* @lib sisxui.lib
-* @since 3.0
-*/
-class CSisxUISilentHandler : public CSisxUIHandler
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- * @param aMode - Indicates if this is for install or uninstall
- */
- static CSisxUISilentHandler* NewL( const TInstallOptions &aOptions, MSisxUICancelObserver* aCancelObserver );
- static CSisxUISilentHandler* NewL( const TUninstallOptions &aOptions, MSisxUICancelObserver* aCancelObserver );
-
- /**
- * Destructor.
- */
- virtual ~CSisxUISilentHandler();
-
- public: // From base classes
-
- /**
- * From MUiHandler, displays a dialog at the beginning of an installation
- * with details about the SISX package being installed. This dialog must
- * be shown in TrustedUI mode.
- */
- TBool DisplayInstallL( const Swi::CAppInfo& aAppInfo,
- const CApaMaskedBitmap* aLogo,
- const RPointerArray<Swi::CCertificateInfo>& aCertificates );
-
- /**
- * From MUiHandler, displays a dialog requesting that the user grants
- * these capabilities to the SISX package being installed. This dialog
- * must be shown in TrustedUI mode.
- */
- TBool DisplayGrantCapabilitiesL( const Swi::CAppInfo& aAppInfo,
- const TCapabilitySet& aCapabilitySet );
-
- /**
- * From MUiHandler, requests preferred language and dialect information
- * from the UI.
- */
- TInt DisplayLanguageL( const Swi::CAppInfo& aAppInfo,
- const RArray<TLanguage>& aLanguages );
-
- /**
- * From MUiHandler, requests the drive to install the package on, from
- * the UI.
- */
- TInt DisplayDriveL( const Swi::CAppInfo& aAppInfo,
- TInt64 aSize,
- const RArray<TChar>& aDriveLetters,
- const RArray<TInt64>& aDriveSpaces );
-
- /**
- * From MUiHandler, displays a dialog asking whether we want to upgrade an
- * application present on the device.
- */
- TBool DisplayUpgradeL( const Swi::CAppInfo& aAppInfo,
- const Swi::CAppInfo& aExistingAppInfo );
-
- /**
- * From MUiHandler, displays a dialog box asking which options the user
- * wishes to install.
- */
- TBool DisplayOptionsL( const Swi::CAppInfo& aAppInfo,
- const RPointerArray<TDesC>& aOptions,
- RArray<TBool>& aSelections );
-
- /**
- * From MUiHandler, informs the UI of events occurring during installation.
- */
- TBool HandleInstallEventL( const Swi::CAppInfo& aAppInfo,
- Swi::TInstallEvent aEvent,
- TInt aValue = 0,
- const TDesC& aDes = KNullDesC );
- /**
- * From MUiHandler, informs the UI of cancellable events occurring during
- * installation.
- */
- void HandleCancellableInstallEventL( const Swi::CAppInfo& aAppInfo,
- Swi::TInstallCancellableEvent aEvent,
- Swi::MCancelHandler& aCancelHandler,
- TInt aValue = 0,
- const TDesC& aDes = KNullDesC );
- /**
- * From MUiHandler, displays a dialog indicating that the package is unsigned,
- * or that signature validation has failed.
- */
- TBool DisplaySecurityWarningL( const Swi::CAppInfo& aAppInfo,
- Swi::TSignatureValidationResult aSigValidationResult,
- RPointerArray<CPKIXValidationResultBase>& aPkixResults,
- RPointerArray<Swi::CCertificateInfo>& aCertificates,
- TBool aInstallAnyway );
-
- /**
- * From MUiHandler, displays a dialog indicating that there was an error
- * carrying out online certificate status checking.
- */
- TBool DisplayOcspResultL( const Swi::CAppInfo& aAppInfo,
- Swi::TRevocationDialogMessage aMessage,
- RPointerArray<TOCSPOutcome>& aOutcomes,
- RPointerArray<Swi::CCertificateInfo>& aCertificates,
- TBool aWarningOnly );
-
- /**
- * From MUiHandler, used to inform the user the installation they are attempting
- * is trying to overwrite a file that does not belong to it. Following this
- * message installation is aborted.
- */
- void DisplayCannotOverwriteFileL( const Swi::CAppInfo& aAppInfo,
- const Swi::CAppInfo& aInstalledAppInfo,
- const TDesC& aFileName );
-
- /**
- * Used to inform the user of a missing dependency needed to install the
- * current package. It is up to the UI implementors and/or the user whether
- * or not this warning can be overridden.
- */
- TBool DisplayMissingDependencyL( const Swi::CAppInfo& aAppInfo,
- const TDesC& aDependencyName,
- TVersion aWantedVersionFrom,
- TVersion aWantedVersionTo,
- TVersion aInstalledVersion );
-
- /**
- * From MUiHandler, displays a dialog at the start of the uninstallation with
- * information about the application to be uninstalled. The user may cancel the
- * uninstallation at this stage. This dialog must be shown in TrustedUI mode.
- */
- TBool DisplayUninstallL( const Swi::CAppInfo& aAppInfo );
-
- /**
- * From MUiHandler, displays a dialog containing text. This dialog has only a
- * Continue button if aOption is EInstFileTextOptionContinue, or Yes and No buttons
- * otherwise.
- */
- TBool DisplayTextL( const Swi::CAppInfo& aAppInfo,
- Swi::TFileTextOption aOption,
- const TDesC& aText );
-
- /**
- * From MUiHandler, displays a dialog showing an error message.
- */
- void DisplayErrorL( const Swi::CAppInfo& aAppInfo,
- Swi::TErrorDialog aType,
- const TDesC& aParam );
-
- /**
- * From MUiHandler, displays a dialog indicating that a component which is being
- * uninstalled is a dependency of another component installed.
- */
- TBool DisplayDependencyBreakL( const Swi::CAppInfo& aAppInfo,
- const RPointerArray<TDesC>& aComponents );
-
- /**
- * From MUiHandler, informs user that the applications are in use during an
- * uninstallation. Return ETrue if the user wishes to continue the removal process and
- * close the applications anyway.
- */
- TBool DisplayApplicationsInUseL( const Swi::CAppInfo& aAppInfo,
- const RPointerArray<TDesC>& aAppNames );
-
- /**
- * From MUiHandler, displays a generic question dialog with a Yes/No answer.
- */
- TBool DisplayQuestionL( const Swi::CAppInfo& aAppInfo,
- Swi::TQuestionDialog aQuestion,
- const TDesC& aDes = KNullDesC );
-
-
- public: // From CSisxUIHandler
-
-
- /**
- * Show the final note.
- * @since 3.0
- */
- virtual void ShowFinalNoteL();
-
-
- private:
-
- /**
- * Constructor.
- * @param aMode - Indicates if this is for install or uninstall
- */
- CSisxUISilentHandler( const TInstallOptions &aOptions, MSisxUICancelObserver* aCancelObserver );
-
- CSisxUISilentHandler( const TUninstallOptions &aOptions, MSisxUICancelObserver* aCancelObserver );
-
- /**
- * 2nd phase constructor.
- */
- void ConstructL();
-
- /**
- * Constructor.
- * @aForeground - ETrue value brings Installer UI to foreground. EFalse sends it
- * to background.
- */
- void BringToForeground( TBool aForeground );
-
- private: // Data
-
- TInstallOptions iOptions;
- TUninstallOptions iUninstallOptions;
- };
-
-}
-
-#endif // SISXUIHANDLER_H
-
-// End of File
--- a/appinstaller/AppinstUi/Plugin/SisxUI/Inc/SisxUIStartupFile.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,159 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains the header file of the CSisxUIStartupFile
-* class.
-*
-* CSisxUIStartupFile provides functions to access the special
-* startup control files.
-*
-* During the installation, the startup constrol file is copied to
-* private import directory of the installer process. This class
-* is used to process entries from that file. When entried have
-* been processed, the file is moved to private directory.
-*
-*/
-
-
-#ifndef SISXUISTARTUPFILE_H
-#define SISXUISTARTUPFILE_H
-
-// INCLUDES
-#include <e32base.h>
-
-namespace SwiUI
-{
-
-class TStartupTaskParam;
-
-/**
-* Provides functions to access the special startup control files.
-*
-* @lib sisxui
-* @since 3.0
-*/
-class CSisxUIStartupFile : public CBase
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- * @since 3.0
- * @param aUid - Uid of the package, whose startup file this class
- * will represent.
- */
- static CSisxUIStartupFile* NewL( const TUid& aUid );
-
- /**
- * Destructor.
- */
- virtual ~CSisxUIStartupFile();
-
- public: // New functions
-
- /**
- * Checks if new startup file exists in the import directory.
- * @since 3.0
- * @return ETrue, EFalse.
- */
- TBool NewFileExists();
-
- /**
- * Checks if old, processed startup file exists in the private directory.
- * @since 3.0
- * @return ETrue, EFalse.
- */
- TBool PrivateFileExists();
-
- /**
- * Read new startup file and process it's definitions. Creates a new private file
- * based on the resource file and returns all new startup items.
- * @since 3.0
- * @param aStartupItems - On return contains all startup items found from the
- * startup file.
- * @param aFiles - Array of file names, which are part of the pakcage.
- * @return On success KErrNone, otherwise one of the system wide error codes.
- */
- TInt ProcessNewFile( RArray<TStartupTaskParam>& aStartupItems,
- const RPointerArray<HBufC>& aFiles );
-
- /**
- * Deletes the old startup file from private directory and returns all startup
- * items in that file.
- * @since 3.0
- * @param aStartupItems - On return contains all startup items found from the
- * startup file.
- * @param aFiles - Array of file names, which are part of the pakcage.
- * @return On success KErrNone, otherwise one of the system wide error codes.
- */
- TInt RemovePrivateFile( RArray<TStartupTaskParam>& aStartupItems );
-
- /**
- * Deletes all startup resource files from import directory.
- * @since 3.0
- * @return On success KErrNone, otherwise one of the system wide error codes.
- */
- static TInt ClearAllNewFiles();
-
- private:
-
- /**
- * Constructor.
- */
- CSisxUIStartupFile();
-
- /**
- * 2nd phase constructor.
- * @param aUid - Uid of the package, whose startup file this class
- * will represent.
- */
- void ConstructL( const TUid& aUid );
-
- /**
- * Read new resource file and construct startup items from there.
- * @since 3.0
- * @param aStartupItems - On return contains all startup items found from the
- * startup file.
- * @param aFiles - Array of file names, which are part of the pakcage.
- */
- void ReadNewStartupItemsL( RArray<TStartupTaskParam>& aStartupItems,
- const RPointerArray<HBufC>& aFiles );
-
- /**
- * Read startup items from private file.
- * @since 3.0
- * @param aStartupItems - On return contains all startup items found from the
- * startup file.
- */
- void ReadPrivateStartupItemsL( RArray<TStartupTaskParam>& aStartupItems );
-
- /**
- * Write startup items into private file.
- * @since 3.0
- * @param aStartupItems - The startup items to be written to the private file.
- */
- void WritePrivateStartupItemsL( RArray<TStartupTaskParam>& aStartupItems );
-
- private: // Data
-
- HBufC* iPrivateFile;
- HBufC* iNewFile;
-
- RFs iFileSession;
- TFileName iTemp;
- };
-}
-
-#endif // SISXUISTARTUPFILE_H
-
-// End of File
--- a/appinstaller/AppinstUi/Plugin/SisxUI/Src/SisxUI.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,271 +0,0 @@
-/*
-* Copyright (c) 2002-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains the implementation of CSisxUI
-* class member functions.
-*
-*/
-
-
-// INCLUDE FILES
-#include <bautils.h>
-#include <eikenv.h>
-#include <data_caging_path_literals.hrh>
-#include <SisxUIData.rsg>
-
-#include "SisxUI.h"
-#include "SisxUIOperationWatcher.h"
-#include "SisxUIAppInfo.h"
-#include "SWInstDebug.h"
-#include "CUIUtils.h"
-
-using namespace SwiUI;
-
-_LIT( KSisxUIResourceFileName, "sisxuiData.rsc" );
-_LIT( KSisxUIResourceDir, "\\Resource\\" );
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CSisxUI::CSisxUI
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CSisxUI::CSisxUI()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUI::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CSisxUI::ConstructL()
- {
- TFileName fileName;
- fileName.Append( KSisxUIResourceDir );
- fileName.Append( KSisxUIResourceFileName );
- iResourceFileOffset = CommonUI::CUIUtils::LoadResourceFileL( fileName, CEikonEnv::Static() );
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUI::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CSisxUI* CSisxUI::NewL()
- {
- CSisxUI* self = new( ELeave ) CSisxUI();
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-// Destructor
-CSisxUI::~CSisxUI()
- {
- delete iWatcher;
-
- if( iResourceFileOffset )
- {
- CEikonEnv::Static()->DeleteResourceFile( iResourceFileOffset );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUI::InstallL
-// Perform installation.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUI::InstallL( RFile& aFile,
- TInstallReq& aInstallParams,
- TBool aIsDRM,
- TRequestStatus& aStatus )
- {
- __ASSERT_ALWAYS( !iWatcher, User::Leave( KErrInUse ) );
- FLOG_2( _L("SisxUI: Install request with chrSet: %d, ap: %d"),
- aInstallParams.iCharsetId, aInstallParams.iIAP );
- iWatcher = CSisxUIOperationWatcher::NewL();
- iWatcher->InstallL( aFile, aInstallParams.iMIME, aIsDRM, aStatus );
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUI::SilentInstallL
-// Perform silent installation.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUI::SilentInstallL( RFile& aFile,
- TInstallReq& aInstallParams,
- TBool aIsDRM,
- TInstallOptions& aOptions,
- TRequestStatus& aStatus )
- {
- __ASSERT_ALWAYS( !iWatcher, User::Leave( KErrInUse ) );
- FLOG_2( _L("SisxUI: SilentInstall request with chrSet: %d, ap: %d"),
- aInstallParams.iCharsetId, aInstallParams.iIAP );
-
- iWatcher = CSisxUIOperationWatcher::NewL();
- iWatcher->SilentInstallL( aFile, aInstallParams.iMIME, aIsDRM, aOptions, aStatus );
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUI::UninstallL
-// Perform uninstallation.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUI::UninstallL( const TUid& aUid,
- const TDesC8& /*aMIME*/,
- TRequestStatus& aStatus )
- {
- __ASSERT_ALWAYS( !iWatcher, User::Leave( KErrInUse ) );
- FLOG_1( _L("SisxUI: Uninstall request with uid: %x"), aUid.iUid );
-
- iWatcher = CSisxUIOperationWatcher::NewL();
- iWatcher->UninstallL( aUid, aStatus );
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUI::SilentUninstallL
-// Perform silent uninstallation.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUI::SilentUninstallL( const TUid& aUid,
- const TDesC8& /*aMIME*/,
- TUninstallOptions& aOptions,
- TRequestStatus& aStatus )
- {
- __ASSERT_ALWAYS( !iWatcher, User::Leave( KErrInUse ) );
- FLOG_1( _L("SisxUI: SilentUninstall request with uid: %x"), aUid.iUid );
-
- iWatcher = CSisxUIOperationWatcher::NewL();
- iWatcher->SilentUninstallL( aUid, aOptions, aStatus );
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUI::IsAppShellUpdate
-// Indicates if the application shell must be updated.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CSisxUI::IsAppShellUpdate()
- {
- return EFalse;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUI::CompleteL
-// Cancel the current operation.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUI::Cancel()
- {
- if ( iWatcher )
- {
- iWatcher->Cancel();
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUI::CompleteL
-// Informs the plugin about completed operation. Called when all tasks are
-// completed.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUI::CompleteL()
- {
- if ( iWatcher )
- {
- iWatcher->FinalCompleteL();
- }
- }
-
-/**
-*
-*/
-CErrDetails* CSisxUI::GetErrorDetails()
- {
- return NULL;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUI::CustomUninstallL
-// Perform a custom uninstallation.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUI::CustomUninstallL( TOperation aOperation,
- const TDesC8& aParams,
- TRequestStatus& aStatus )
- {
- __ASSERT_ALWAYS( !iWatcher, User::Leave( KErrInUse ) );
-
- if ( aOperation == EOperationUninstallIndex )
- {
- // The client wants to uninstall a specific augmentation
-
- // We need to get uid and index from the parambuffer
- TOpUninstallIndexParam params;
- TPckg<TOpUninstallIndexParam> pckg( params );
- pckg.Copy( aParams );
-
- // Launch the uninstall
- iWatcher = CSisxUIOperationWatcher::NewL();
- iWatcher->UninstallAugmentationL( params.iUid, params.iIndex, aStatus );
- }
- else
- {
- User::Leave( KErrNotSupported );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUI::SilentCustomUninstallL
-// Perform a silent custom uninstallation.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUI::SilentCustomUninstallL( TOperation aOperation,
- TUninstallOptions& aOptions,
- const TDesC8& aParams,
- TRequestStatus& aStatus )
- {
- __ASSERT_ALWAYS( !iWatcher, User::Leave( KErrInUse ) );
-
- if ( aOperation == EOperationUninstallIndex )
- {
- // The client wants to uninstall a specific augmentation
-
- // We need to get uid and index from the parambuffer
- TOpUninstallIndexParam params;
- TPckg<TOpUninstallIndexParam> pckg( params );
- pckg.Copy( aParams );
-
- // Launch the uninstall
- iWatcher = CSisxUIOperationWatcher::NewL();
- iWatcher->SilentUninstallAugmentationL( params.iUid, aOptions, params.iIndex, aStatus );
- }
- else
- {
- User::Leave( KErrNotSupported );
- }
- }
-
-// End of File
--- a/appinstaller/AppinstUi/Plugin/SisxUI/Src/SisxUIAppInfo.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,330 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This module contains the implementation of CSisxUIAppInfo
-* class member functions.
-*
-*/
-
-
-// INCLUDE FILES
-
-#include <StringLoader.h>
-#include <SWInstCommonUI.rsg>
-#include <AknUtils.h>
-
-#include "SisxUIAppInfo.h"
-#include "CUIUtils.h"
-
-_LIT( KSymbian, "Symbian OS\x2122" );
-_LIT( KLRE, "\x202A" );
-_LIT( KPDF, "\x202C" );
-_LIT( KLeftParenthes, "(" );
-
-using namespace SwiUI;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CSisxUIAppInfo::CSisxUIAppInfo
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CSisxUIAppInfo::CSisxUIAppInfo( TBool aIsTrusted )
- : iIsTrusted( aIsTrusted )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIAppInfo::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CSisxUIAppInfo::ConstructL( const Swi::CAppInfo& aInfo )
- {
- iName = aInfo.AppName().AllocL();
- iVendor = aInfo.AppVendor().AllocL();
- iVersion = aInfo.AppVersion();
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIAppInfo::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CSisxUIAppInfo* CSisxUIAppInfo::NewL( const Swi::CAppInfo& aInfo, TBool aIsTrusted )
- {
- CSisxUIAppInfo* self = new ( ELeave ) CSisxUIAppInfo( aIsTrusted );
- CleanupStack::PushL( self );
- self->ConstructL( aInfo );
- CleanupStack::Pop( self );
- return self;
- }
-
-// Destructor
-CSisxUIAppInfo::~CSisxUIAppInfo()
- {
- FreeIterator();
-
- delete iName;
- delete iVendor;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIAppInfo::Name
-// Return name of the package.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-const TDesC& CSisxUIAppInfo::Name() const
- {
- return *iName;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIAppInfo::SetNameL
-// Set the name of the package
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUIAppInfo::SetNameL( const TDesC& aName )
- {
- delete iName;
- iName = NULL;
- iName = aName.AllocL();
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIAppInfo::Vendor
-// Return the package vendor.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-const TDesC& CSisxUIAppInfo::Vendor() const
- {
- return *iVendor;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIAppInfo::SetVendorL
-// Set the vendor of the package
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUIAppInfo::SetVendorL( const TDesC& aVendor )
- {
- delete iVendor;
- iVendor = NULL;
- iVendor = aVendor.AllocL();
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIAppInfo::Version
-// Return the package version.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-const TVersion& CSisxUIAppInfo::Version() const
- {
- return iVersion;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIAppInfo::SetTrusted
-// Set the trusted status of the package.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUIAppInfo::SetTrusted( TBool aIsTrusted )
- {
- iIsTrusted = aIsTrusted;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIAppInfo::IsTrusted
-// Indicates the trusted status of the package.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CSisxUIAppInfo::IsTrusted() const
- {
- return iIsTrusted;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIAppInfo::SetUid
-// Sets the Uid of the package.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUIAppInfo::SetUid( const TUid& aUid )
- {
- iUid.iUid = aUid.iUid;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIAppInfo::Uid
-// Return the Uid of the package.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TUid CSisxUIAppInfo::Uid() const
- {
- return iUid;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIAppInfo::PrepareIteratorL
-// Prepares the iterator to be shown in details dialog.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUIAppInfo::PrepareIteratorL( const Swi::CAppInfo& /*aInfo*/ )
- {
- FreeIterator();
-
- iKeys = new( ELeave )CDesCArrayFlat( 6 );
- iValues = new( ELeave )CDesCArrayFlat( 6 );
-
- // Name
- SetFieldL( R_SWCOMMON_DETAIL_NAME, Name() );
-
- // Version
- HBufC* stringBuf = CommonUI::CUIUtils::ConstructVersionStringLC( Version().iMajor,
- Version().iMinor,
- Version().iBuild );
- TPtr ptr = stringBuf->Des();
- AknTextUtils::DisplayTextLanguageSpecificNumberConversion( ptr );
- HBufC* tmpBuf = HBufC::NewLC( KLRE().Length() + stringBuf->Length() + KPDF().Length() );
- TInt position = stringBuf->Find( KLeftParenthes() );
- if ( position >= 0 )
- {
- tmpBuf->Des() = stringBuf->Mid( 0, position );
- tmpBuf->Des() += KLRE();
- tmpBuf->Des() += stringBuf->Mid( position, stringBuf->Length() - position );
- tmpBuf->Des() += KPDF();
- }
- else
- {
- tmpBuf->Des() = *stringBuf;
- }
- SetFieldL( R_SWCOMMON_DETAIL_VERSION, *tmpBuf );
- CleanupStack::PopAndDestroy( tmpBuf );
- CleanupStack::PopAndDestroy( stringBuf );
-
- // Supplier
- if ( IsTrusted() )
- {
- SetFieldL( R_SWCOMMON_DETAIL_SUPPLIER, Vendor() );
- }
- else
- {
- tmpBuf = StringLoader::LoadLC( R_SWCOMMON_DETAIL_VALUE_UNKNOWN_SUPPLIER );
- SetFieldL( R_SWCOMMON_DETAIL_SUPPLIER, *tmpBuf );
- CleanupStack::PopAndDestroy( tmpBuf );
- }
-
- // size
- tmpBuf = StringLoader::LoadLC( R_SWCOMMON_DETAIL_VALUE_UNKNOWN_SIZE );
- SetFieldL( R_SWCOMMON_DETAIL_APPSIZE, *tmpBuf );
- CleanupStack::PopAndDestroy( tmpBuf );
-
- // Technology
- tmpBuf = HBufC::NewLC( KLRE().Length() + KSymbian().Length() + KPDF().Length() );
- tmpBuf->Des() = KLRE();
- tmpBuf->Des() += KSymbian();
- tmpBuf->Des() += KPDF();
- SetFieldL( R_SWCOMMON_DETAIL_TECHNOLOGY, *tmpBuf );
- CleanupStack::PopAndDestroy( tmpBuf );
-
- // Type
- tmpBuf = StringLoader::LoadLC( R_SWCOMMON_DETAIL_VALUE_APPLICATION );
- SetFieldL( R_SWCOMMON_DETAIL_TYPE, *tmpBuf );
- CleanupStack::PopAndDestroy( tmpBuf );
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIAppInfo::FreeIterator
-// Frees the memory reserved for the iterator.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUIAppInfo::FreeIterator()
- {
- if ( iKeys )
- {
- iKeys->Reset();
- }
- delete iKeys;
- iKeys = NULL;
-
- if ( iValues )
- {
- iValues->Reset();
- }
- delete iValues;
- iValues = NULL;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIAppInfo::HasNext
-// Indicates if the iterator has any more fields left.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CSisxUIAppInfo::HasNext() const
- {
- return ( ( iKeys->Count() ) > iCurrentIndex );
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIAppInfo::Next
-// Get the next field.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUIAppInfo::Next( TPtrC& aKey, TPtrC& aValue )
- {
- aKey.Set( ( *iKeys )[iCurrentIndex] );
- aValue.Set( ( *iValues )[iCurrentIndex] );
- iCurrentIndex++;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIAppInfo::Reset
-// Reset the iterator. After calling this, Next() will return the first value.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUIAppInfo::Reset()
- {
- iCurrentIndex = 0;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIAppInfo::SetFieldL
-// Sets a new field for the iterator with given parameter values.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUIAppInfo::SetFieldL( TInt aResourceId, const TDesC& aValue )
- {
- HBufC* temp = StringLoader::LoadLC( aResourceId );
- iKeys->AppendL( temp->Des() );
- CleanupStack::PopAndDestroy( temp );
- iValues->AppendL( aValue );
- }
-
-
-// End of File
--- a/appinstaller/AppinstUi/Plugin/SisxUI/Src/SisxUICertificateInfo.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,190 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains the implementation of CSisxUICertificateInfo
-* class member functions.
-*
-*/
-
-
-// INCLUDE FILES
-#include "SisxUICertificateInfo.h"
-#include <swi/msisuihandlers.h>
-
-
-using namespace SwiUI;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CSisxUICertificateInfo::CSisxUICertificateInfo
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CSisxUICertificateInfo::CSisxUICertificateInfo( const Swi::CCertificateInfo& aCertInfo )
- : iCertInfo( aCertInfo )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUICertificateInfo::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CSisxUICertificateInfo::ConstructL()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUICertificateInfo::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CSisxUICertificateInfo* CSisxUICertificateInfo::NewL(
- const Swi::CCertificateInfo& aCertInfo )
- {
- CSisxUICertificateInfo* self = new( ELeave ) CSisxUICertificateInfo( aCertInfo );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-// Destructor
-CSisxUICertificateInfo::~CSisxUICertificateInfo()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUICertificateInfo::SubjectName
-// Getter for subject field.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-const TDesC& CSisxUICertificateInfo::SubjectNameL() const
- {
- return iCertInfo.SubjectName();
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUICertificateInfo::IssuerName
-// Getter for issuer field.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-const TDesC& CSisxUICertificateInfo::IssuerNameL() const
- {
- return iCertInfo.IssuerName();
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUICertificateInfo::ValidFrom
-// Getter for valid from field.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TDateTime CSisxUICertificateInfo::ValidFromL() const
- {
- return iCertInfo.ValidFrom();
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUICertificateInfo::ValidTo
-// Getter for certificate expiration date.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TDateTime CSisxUICertificateInfo::ValidToL() const
- {
- return iCertInfo.ValidTo();
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUICertificateInfo::Fingerprint
-// Getter for fingerprint of the certificate.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-const TDesC8& CSisxUICertificateInfo::FingerprintL() const
- {
- return iCertInfo.Fingerprint();
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUICertificateInfo::SerialNumber
-// Getter for serial number of the certificate.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-const TDesC8& CSisxUICertificateInfo::SerialNumberL() const
- {
- return iCertInfo.SerialNumber();
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUICertificateInfo::IsSelfSignedL
-// Indicates wheter this certificate is self signed.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CSisxUICertificateInfo::IsSelfSignedL() const
- {
- return EFalse;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUICertificateInfo::EncodingL
-// Gets the full encoding of this certificate.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-const TDesC8& CSisxUICertificateInfo::EncodingL() const
- {
- return KNullDesC8();
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUICertificateInfo::SignatureL
-// Gets the signature of this certificate.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-const TDesC8& CSisxUICertificateInfo::SignatureL() const
- {
- return KNullDesC8();
- }
-
-// -----------------------------------------------------------------------------
-// CCUICertificateInfo::PublicKeyAlgorithmL
-// Gets the public key algorithm of the certificate.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TAlgorithmId CSisxUICertificateInfo::PublicKeyAlgorithmL() const
- {
- return TAlgorithmId( -1 );
- }
-
-// -----------------------------------------------------------------------------
-// CCUICertificateInfo::DigestAlgorithmL
-// Gets the digest algorithm of the certificate.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TAlgorithmId CSisxUICertificateInfo::DigestAlgorithmL() const
- {
- return TAlgorithmId( -1 );
- }
-
-// End of File
--- a/appinstaller/AppinstUi/Plugin/SisxUI/Src/SisxUIHandler.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1848 +0,0 @@
-/*
-* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains the implementation of CSisxUIHandler
-* class member functions.
-*
-*/
-
-
-// INCLUDE FILES
-#include <StringLoader.h>
-#include <barsread.h>
-#include <eikenv.h>
-#include <aknlistquerydialog.h>
-#include <aknmessagequerydialog.h>
-#include <aknnotewrappers.h>
-#include <SisxUIData.rsg>
-#include <SWInstCommonUI.rsg>
-#include <SWInstDefs.h>
-#include <featmgr.h>
-//#include <csxhelp/am.hlp.hrh>
-#include <swi/sisinstallerrors.h>
-#include <AknUtils.h>
-#include <eikfrlb.h> //for the marquee effect
-#include <eikfrlbd.h> //for the marquee effect
-
-#include "SisxUIHandler.h"
-#include "SisxUICertificateInfo.h"
-#include "SisxUIAppInfo.h"
-#include "SisxUISelectionCache.h"
-#include "SisxUIResult.h"
-#include "SisxUILangName.h" // CLangName
-#include "SisxUICleanupUtils.h" // CleanupResetAndDestroyPushL
-#include "CUIUtils.h"
-#include "SWInstDebug.h"
-
-using namespace SwiUI;
-
-_LIT( KDetailedError,"%S (%d)" );
-_LIT( KSwiTempFile,"c:\\temp\\swierrors.txt" );
-_LIT( KNextLine, "\n" );
-_LIT( KLeftParenthes, "(" );
-//directional marks needed for Arabic language
-_LIT( KLRE, "\x202A" );
-_LIT( KPDF, "\x202C" );
-
-const TInt KSpaceForErrorCode = 12; // space for " (-12345678)"
-
-// ============================ LOCAL FUNCTIONS ================================
-
-TBool HasLangId( const TLanguage* aId, const CLangName& aLang )
- {
- return( *aId == aLang.Id() );
- }
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CSisxUIHandler::CSisxUIHandler
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CSisxUIHandler::CSisxUIHandler( TInstallMode aMode, MSisxUICancelObserver* aCancelObserver )
- : iMode( aMode ),
- iCancelObserver( aCancelObserver ),
- iAllowUntrusted( ETrue )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIHandler::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CSisxUIHandler::ConstructL()
- {
- iCommonDialogs = CommonUI::CCUIDialogs::NewL();
- iCache = CSisxUISelectionCache::NewL();
- if ( iMode == EModeInstall )
- {
- iCommonDialogs->ShowWaitDialogL( R_SISXUI_PREPARING, this, R_AVKON_SOFTKEYS_EMPTY );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIHandler::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CSisxUIHandler* CSisxUIHandler::NewL( TInstallMode aMode, MSisxUICancelObserver* aCancelObserver )
- {
- CSisxUIHandler* self = new( ELeave ) CSisxUIHandler( aMode, aCancelObserver );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-// Destructor
-CSisxUIHandler::~CSisxUIHandler()
- {
- // If wait dialog is showing close it.
- if ( iShowingWaitDialog )
- {
- if ( iCommonDialogs )
- {
- TRAP_IGNORE( iCommonDialogs->CloseWaitDialogL() );
- }
- }
- delete iCommonDialogs;
- iCertificateArray.ResetAndDestroy();
- delete iCache;
- iPackages.ResetAndDestroy();
- iDrmFile.Close();
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIHandler::DisplayInstallL
-// Displays a dialog at the beginning of an installation with details about the
-// SISX package being installed. This dialog must be shown in TrustedUI mode.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CSisxUIHandler::DisplayInstallL(
-#ifdef RD_COMBINE_INSTALLATION_QUERIES
- const Swi::CAppInfo& /*aAppInfo*/,
-#else
- const Swi::CAppInfo& aAppInfo,
-#endif //RD_COMBINE_INSTALLATION_QUERIES
- const CApaMaskedBitmap* /*aLogo*/,
- const RPointerArray<Swi::CCertificateInfo>& /*aCertificates*/ )
- {
-#ifdef RD_COMBINE_INSTALLATION_QUERIES //with new dialog sequence
-
- TBool result( ETrue );
- // Mark the integrity as done
- iIntegrityCheckDone = ETrue;
- iShowingDialog = EFalse;
-
-#else // show using old dialog sequence
- iShowingDialog = ETrue;
-
- // Close the preparing wait dialog
- iCommonDialogs->CloseWaitDialogL();
-
- TBool result( EFalse );
-
- HBufC* prompt = StringLoader::LoadLC( R_SISXUI_INSTALL_PROMPT, aAppInfo.AppName() );
- if ( iCommonDialogs->ShowConfirmationQueryL( *prompt, R_AVKON_SOFTKEYS_YES_NO__YES ) )
- {
- result = ETrue;
- }
- else
- {
- iResult = TSisxUIResult( EUiResultCancelled );
- // Make sure no notes are shown after this
- iShownFinalNote = ETrue;
- }
-
- CleanupStack::PopAndDestroy( prompt );
-
- // Mark the integrity as done
- iIntegrityCheckDone = ETrue;
-
- iShowingDialog = EFalse;
-#endif //RD_COMBINE_INSTALLATION_QUERIES
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIHandler::DisplayGrantCapabilitiesL
-// displays a dialog requesting that the user grants these capabilities to the
-// SISX package being installed. This dialog must be shown in TrustedUI mode.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CSisxUIHandler::DisplayGrantCapabilitiesL( const Swi::CAppInfo& /*aAppInfo*/,
- const TCapabilitySet& aCapabilitySet )
- {
- iShowingDialog = ETrue;
-
- TBool result( ETrue );
-
- // Add the text heading
- HBufC* messageString = StringLoader::LoadLC( R_SISXUI_CAPAB_HEADING );
-
- if ( aCapabilitySet.HasCapability( ECapabilityLocalServices ) )
- {
- AddCapabilityL( messageString, R_SISXUI_CAPAB_LOCAL );
- }
-
- if ( aCapabilitySet.HasCapability( ECapabilityReadUserData ) )
- {
- AddCapabilityL( messageString, R_SISXUI_CAPAB_READ_USER );
- }
-
- if ( aCapabilitySet.HasCapability( ECapabilityWriteUserData ) )
- {
- AddCapabilityL( messageString, R_SISXUI_CAPAB_WRITE_USER );
- }
-
- if ( aCapabilitySet.HasCapability( ECapabilityUserEnvironment ) )
- {
- AddCapabilityL( messageString, R_SISXUI_CAPAB_USERENV );
- }
-
- if ( aCapabilitySet.HasCapability( ECapabilityNetworkServices ) )
- {
- AddCapabilityL( messageString, R_SISXUI_CAPAB_NETWORK );
- }
-
- if ( aCapabilitySet.HasCapability( ECapabilityLocation ) )
- {
- AddCapabilityL( messageString, R_SISXUI_CAPAB_LOCATION );
- }
-
- HBufC* linkText = NULL;
- if ( FeatureManager::FeatureSupported( KFeatureIdHelp ) )
- {
- linkText = StringLoader::LoadLC( R_SISXUI_CAPAB_MORE_INFO );
- }
- else
- {
- linkText = KNullDesC().AllocLC();
- }
-
- HBufC* finalMessage = HBufC::NewLC( messageString->Length() + linkText->Length() + 1);
- TPtr msgPtr( finalMessage->Des() );
-
- msgPtr += *messageString;
- msgPtr += KNextLine;
- msgPtr += *linkText;
-
- // Show the dialog
- CAknMessageQueryDialog* dlg = CAknMessageQueryDialog::NewL( *finalMessage );
- dlg->PrepareLC( R_SISXUI_CAPAB_DIALOG );
- if ( FeatureManager::FeatureSupported( KFeatureIdHelp ) )
- {
- dlg->SetLinkTextL( *linkText );
- TCallBack callback( ShowCapabilitiesHelp, this );
- dlg->SetLink( callback );
- }
-
- if ( !dlg->RunLD() )
- {
- // User cancelled
- iResult = TSisxUIResult( EUiResultCancelled );
- result = EFalse;
- }
-
- CleanupStack::PopAndDestroy( 3, messageString ); // finalMessage, linkText, messageString
-
- iShowingDialog = EFalse;
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIHandler::DisplayLanguageL
-// requests preferred language and dialect information from the UI.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CSisxUIHandler::DisplayLanguageL( const Swi::CAppInfo& /*aAppInfo*/,
- const RArray<TLanguage>& aLanguages )
- {
- TInt languageIndex( 0 );
- TInt index( 0 );
- TLanguage phoneLanguage( User::Language() );
-
- // If phones default language is available in the file, do not query the user
- for ( index = 0; index < aLanguages.Count(); index++ )
- {
- // Check if this matches the phone language
- if( aLanguages[ index ] == phoneLanguage )
- {
- return index;
- }
-
- // Check if user has already selected this language during installation
- if( iCache->LanguageCached() && aLanguages[index] == iCache->Language() )
- {
- // Do not query user, we have a cached language
- return index;
- }
- }
-
- // If there is only one language in the list, do not query the user
- if( aLanguages.Count() == 1 )
- {
- return 0;
- }
-
- iShowingDialog = ETrue;
-
- // Prepare for showing the language selection dialog
- CDesCArray *itemArray = new( ELeave ) CDesCArrayFlat(4);
- CleanupStack::PushL( itemArray );
-
- // construct the array of available languages
- TResourceReader reader;
- CEikonEnv::Static()->CreateResourceReaderLC( reader, R_SISXUI_LANGUAGES_ARRAY );
- RPointerArray<CLangName> langNameArray;
- CleanupResetAndDestroyPushL( langNameArray );
- TInt count = reader.ReadInt16();
- while( --count >= 0 )
- {
- CLangName* langName = CLangName::NewL( reader );
- langNameArray.AppendL( langName );
- }
-
- for ( index = 0; index <= aLanguages.Count() - 1; index++ )
- {
- TLanguage language = aLanguages[ index ];
- TInt nameIndex = langNameArray.Find( language, HasLangId );
- if ( nameIndex == KErrNotFound )
- {
- nameIndex = TLanguage( 0 ); // produces qtn_swins_lqi_unknow
- }
- itemArray->AppendL( langNameArray[ nameIndex ]->Name() );
- }
-
- // show list query
- CAknListQueryDialog* dlg = new ( ELeave ) CAknListQueryDialog( &languageIndex );
- dlg->PrepareLC( R_SISXUI_LANGUAGE_QUERY );
- dlg->SetItemTextArray( itemArray );
- dlg->SetOwnershipType( ELbmDoesNotOwnItemArray );
-
- if( languageIndex != 0 )
- {
- dlg->ListBox()->SetCurrentItemIndex( languageIndex );
- }
-
- TInt queryOk = dlg->RunLD();
-
- CleanupStack::PopAndDestroy( 3, itemArray ); // langNameArray, reader, itemArray
-
- if ( !queryOk )
- {
- languageIndex = -1;
- iResult = TSisxUIResult( EUiResultCancelled );
- }
-
- // Cache only if no previous cache is found
- if( languageIndex != -1 && !iCache->LanguageCached() )
- {
- iCache->SetLanguage( aLanguages[languageIndex] );
- }
-
- iShowingDialog = EFalse;
- return languageIndex;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIHandler::DisplayDriveL
-// Requests the drive to install the package on, from the UI.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CSisxUIHandler::DisplayDriveL( const Swi::CAppInfo& /*aAppInfo*/,
- TInt64 aSize,
- const RArray<TChar>& aDriveLetters,
- const RArray<TInt64>& aDriveSpaces )
- {
- if ( aDriveLetters.Count() <= 0 )
- {
- iResult = TSisxUIResult( EUiResultInsufficientMemory );
- return -1;
- }
-
- iShowingDialog = ETrue;
-
- RArray<TDriveUnit> driveUnits;
- CleanupClosePushL( driveUnits );
-
- TInt index( 0 );
-
- // Convert drive letters to TDriveUnits
- for ( index = 0; index < aDriveLetters.Count(); index++ )
- {
- TBuf<2> tmp;
- tmp.Append( aDriveLetters[index] );
- driveUnits.Append( TDriveUnit( tmp ) );
- }
-
- TInt selection( -1 );
- TInt dlgResult( KErrNone );
-
- // See if the selection has been cached
- if ( iCache->DriveCached() )
- {
- for ( index = 0; index < aDriveLetters.Count(); index++ )
- {
- if ( (TInt)iCache->Drive() == (TInt)driveUnits[index] )
- {
- // Make sure, we have enough size in the cached drive
- if ( aSize < aDriveSpaces[index] )
- {
- selection = index;
- break;
- }
- else
- {
- // Cached drive has insufficient memory, ask user again
- dlgResult = iCommonDialogs->ShowDriveSelectionDialogL( aSize,
- driveUnits,
- aDriveSpaces,
- selection );
-
- break;
- }
- }
- }
- }
- // Not cached
- else
- {
- dlgResult = iCommonDialogs->ShowDriveSelectionDialogL( aSize,
- driveUnits,
- aDriveSpaces,
- selection );
- }
-
- if ( dlgResult == KErrNoMemory )
- {
- // No memory
- iResult = TSisxUIResult( EUiResultInsufficientMemory );
- selection = -1;
- }
-
- else if ( dlgResult == KErrCancel )
- {
- // User cancelled
- iResult = TSisxUIResult( EUiResultCancelled );
- selection = -1;
- }
-
- // If the result is valid, put it to the cache
- else if ( selection >= 0 )
- {
- iCache->SetDrive( driveUnits[selection] );
- }
-
- CleanupStack::PopAndDestroy(); // driveUnits
-
- iShowingDialog = EFalse;
- return selection;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIHandler::DisplayUpgradeL
-// Displays a dialog asking whether we want to upgrade an application present
-// on the device.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CSisxUIHandler::DisplayUpgradeL( const Swi::CAppInfo& aAppInfo,
- const Swi::CAppInfo& aExistingAppInfo )
- {
- iShowingDialog = ETrue;
-
- TBool result( EFalse );
-
- TVersion newVersion = aAppInfo.AppVersion();
- TVersion oldVersion = aExistingAppInfo.AppVersion();
-
- // Display "Replace?" confirmation query only if the new version is older
- // than the currently installed old version (i.e. when downgrading). See
- // also User::QueryVersionSupported() although it has bit different meaning.
- TBool downgrading = ( newVersion.iMajor < oldVersion.iMajor ||
- ( newVersion.iMajor == oldVersion.iMajor && newVersion.iMinor < oldVersion.iMinor ) );
- if( !downgrading )
- {
- iShowingDialog = EFalse;
- return ETrue;
- }
-
- // Create strings from the version numbers
- //
- HBufC* tempBuf =
- CommonUI::CUIUtils::ConstructVersionStringLC( oldVersion.iMajor,
- oldVersion.iMinor,
- oldVersion.iBuild );
-
- HBufC* oldVersionBuf = HBufC::NewLC( KLRE().Length() + tempBuf->Length() + KPDF().Length() );
- TInt position = tempBuf->Find( KLeftParenthes() );
- if ( position >= 0 )
- {
- oldVersionBuf->Des() = tempBuf->Mid( 0, position );
- oldVersionBuf->Des() += KLRE();
- oldVersionBuf->Des() += tempBuf->Mid( position, tempBuf->Length() - position );
- oldVersionBuf->Des() += KPDF();
- }
- else
- {
- oldVersionBuf->Des() = *tempBuf;
- }
- CleanupStack::Pop( oldVersionBuf );
- CleanupStack::PopAndDestroy( tempBuf );
- CleanupStack::PushL( oldVersionBuf );
- tempBuf = NULL;
-
- tempBuf = CommonUI::CUIUtils::ConstructVersionStringLC( newVersion.iMajor,
- newVersion.iMinor,
- newVersion.iBuild );
-
- HBufC* newVersionBuf = HBufC::NewLC( KLRE().Length() + tempBuf->Length() + KPDF().Length() );
-
- position = tempBuf->Find( KLeftParenthes() );
- if ( position >= 0 )
- {
- newVersionBuf->Des() = tempBuf->Mid( 0, position );
- newVersionBuf->Des() += KLRE();
- newVersionBuf->Des() += tempBuf->Mid( position, tempBuf->Length() - position );
- newVersionBuf->Des() += KPDF();
- }
- else
- {
- newVersionBuf->Des() = *tempBuf;
- }
- CleanupStack::Pop( newVersionBuf );
- CleanupStack::PopAndDestroy( tempBuf );
- CleanupStack::PushL( newVersionBuf );
-
- CDesCArray* stringArray = new ( ELeave ) CDesCArrayFlat( 4 );
- CleanupStack::PushL( stringArray );
-
- stringArray->AppendL( aAppInfo.AppName() );
- stringArray->AppendL( *oldVersionBuf );
- stringArray->AppendL( *newVersionBuf );
-
- HBufC* upgradeString =
- StringLoader::LoadLC( R_SISXUI_UPGRADE_PROMPT, *stringArray );
- TPtr ptr = upgradeString->Des();
- AknTextUtils::DisplayTextLanguageSpecificNumberConversion( ptr );
-
-
- if ( iCommonDialogs->ShowConfirmationQueryL( *upgradeString ) )
- {
- result = ETrue;
- }
- else
- {
- // User selected cancel.
- iResult = TSisxUIResult( EUiResultCancelled );
- }
-
- CleanupStack::PopAndDestroy( 4 ); // upgradeString, stringArray, newVersionBuf, oldVersionBuf
-
- iShowingDialog = EFalse;
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIHandler::DisplayOptionsL
-// Displays a dialog box asking which options the user wishes to install.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CSisxUIHandler::DisplayOptionsL( const Swi::CAppInfo& /*aAppInfo*/,
- const RPointerArray<TDesC>& aOptions,
- RArray<TBool>& aSelections )
- {
- iShowingDialog = ETrue;
-
- TBool response;
- TInt index = 0;
-
- if ( aOptions.Count() < 1 )
- {
- User::Leave( KErrArgument );
- }
-
- CDesCArray* itemArray = new ( ELeave ) CDesCArrayFlat( 4 );
- CleanupStack::PushL( itemArray );
-
- // Construct text array for the dialog
- for( index = 0; index < aOptions.Count(); index++ )
- {
- TPtrC itemLabel( *( aOptions[index] ) ) ;
- HBufC *itemLine = HBufC::NewLC( itemLabel.Length() + 2 ); // Add 2 for "1\t"
- TPtr itemPtr = itemLine->Des();
- itemPtr.Copy( _L("1\t") );
- itemPtr.Append( itemLabel );
-
- itemArray->AppendL( itemPtr );
-
- CleanupStack::PopAndDestroy( itemLine );
- }
-
- // Create and selection index array for multiselection list
- CListBoxView::CSelectionIndexArray* selections =
- new ( ELeave ) CArrayFixFlat<TInt>( aSelections.Count() );
- CleanupStack::PushL( selections );
- // Set all selections marked by default.
- for ( index = 0; index < aSelections.Count(); index++ )
- {
- selections->AppendL( index );
- }
-
- // Create multiselection list query
- CAknListQueryDialog* dlg = new ( ELeave ) CAknListQueryDialog( selections );
-
- dlg->PrepareLC( R_SISXUI_OPTIONS_QUERY );
- dlg->SetItemTextArray( itemArray );
- // Set all selections marked by default.
- dlg->ListBox()->SetSelectionIndexesL( selections );
-
- dlg->SetOwnershipType( ELbmDoesNotOwnItemArray );
- ((CEikFormattedCellListBox*)(dlg->ListBox()))->ItemDrawer()->FormattedCellData()->EnableMarqueeL( ETrue );
- TInt queryOk = dlg->RunLD();
-
- if( !queryOk )
- {
- response = EFalse;
- iResult = TSisxUIResult( EUiResultCancelled );
- }
- else
- {
- response = ETrue;
-
- // First set all items in aSelections to EFalse
- for( index = 0; index < aSelections.Count(); index++ )
- {
- aSelections[index] = EFalse;
- }
- // Then copy selections to aSelections
- for( index = 0; index < selections->Count(); index++ )
- {
- TInt selectedItem = selections->At( index );
- aSelections[selectedItem] = ETrue;
- }
-
- }
-
- CleanupStack::PopAndDestroy( 2 ); // itemArray, selections
-
- iShowingDialog = EFalse;
- return response;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIHandler::HandleInstallEventL
-// Informs the UI of events occurring during installation.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CSisxUIHandler::HandleInstallEventL( const Swi::CAppInfo& aAppInfo,
- Swi::TInstallEvent aEvent,
- TInt aValue,
- const TDesC& /*aDesC*/ )
- {
- TBool result( ETrue );
- iShowingDialog = ETrue;
-
- switch ( aEvent )
- {
- case Swi::EEventSetProgressBarFinalValue:
- if ( iMode == EModeInstall )
- {
- // Show installing progress dialog.
- iCommonDialogs->ShowProgressDialogL( R_SISXUI_INSTALLING, this );
-
- // Here we need to update the name and vendor of the main package.
- // They might have changed when a language has been selected.
- if ( iPackages.Count() > 0 )
- {
- iPackages[0]->SetNameL( aAppInfo.AppName() );
- iPackages[0]->SetVendorL( aAppInfo.AppVendor() );
- }
- }
- else
- {
- // Show uninstalling progress dialog.
- iCommonDialogs->ShowProgressDialogL( R_SISXUI_UNINSTALLING, this, R_AVKON_SOFTKEYS_EMPTY );
- }
- iCommonDialogs->SetProgressDialogFinalValueL( aValue );
-
- break;
-
- case Swi::EEventUpdateProgressBar:
- iCommonDialogs->UpdateProgressDialogValueL( aValue );
- break;
-
- case Swi::EEventOcspCheckEnd:
- iCommonDialogs->CloseWaitDialogL();
- iOcspInProgress = EFalse;
- break;
-
- case Swi::EEventDevCert:
- {
- HBufC* messageString = StringLoader::LoadLC( R_SISXUI_DEVCERT_WARNING );
- CAknMessageQueryDialog* dlg =
- CAknMessageQueryDialog::NewL( *messageString, CAknQueryDialog::EWarningTone );
- if ( !dlg->ExecuteLD( R_SISXUI_DEVCERT_DIALOG ) )
- {
- // User cancelled
- iResult = TSisxUIResult( EUiResultCancelled );
- result = EFalse;
- }
- CleanupStack::PopAndDestroy( messageString );
- }
- break;
-
- // Ignored
- case Swi::EEventCompletedUnInstall:
- case Swi::EEventCompletedInstall:
- case Swi::EEventAbortedInstall:
- case Swi::EEventAbortedUnInstall:
- case Swi::EEventLeave:
- default:
- break;
-
- }
-
- // See if user has requested an cancel and our state is cancellable
- if ( result && iCancelRequested &&
- ( aEvent == Swi::EEventSetProgressBarFinalValue ||
- aEvent == Swi::EEventUpdateProgressBar ||
- aEvent == Swi::EEventOcspCheckEnd ) )
- {
- iCancelRequested = EFalse;
- // Show the confirmation prompt
- if ( iCommonDialogs->ShowConfirmationQueryL( R_SWCOMMON_CANCEL_INSTALLATION,
- R_AVKON_SOFTKEYS_YES_NO__YES ) )
- {
- // Ok to cancel
- iResult = TSisxUIResult( EUiResultCancelled );
- iCancelObserver->UserCancelL( ETrue );
- }
- }
-
- iShowingDialog = EFalse;
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIHandler::HandleCancellableInstallEventL
-// Informs the UI of cancellable events occurring during installation.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUIHandler::HandleCancellableInstallEventL( const Swi::CAppInfo& /*aAppInfo*/,
- Swi::TInstallCancellableEvent aEvent,
- Swi::MCancelHandler& /*aCancelHandler*/,
- TInt /*aValue*/,
- const TDesC& /*aDes*/ )
- {
- switch ( aEvent )
- {
- case Swi::EEventOcspCheckStart:
- {
- // Show ocsp wait dialog
- iCommonDialogs->ShowWaitDialogL( R_SISXUI_DOING_OCSP, this );
- iOcspInProgress = ETrue;
- break;
- }
-
- // These are ignored
- case Swi::EEventRemovingFiles:
- case Swi::EEventCopyingFiles:
- case Swi::EEventShuttingDownApps:
- default:
- break;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIHandler::DisplaySecurityWarningL
-// Displays a dialog indicating that the package is unsigned, or that signature
-// validation has failed.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CSisxUIHandler::DisplaySecurityWarningL( const Swi::CAppInfo& aAppInfo,
- Swi::TSignatureValidationResult aSigValidationResult,
- RPointerArray<CPKIXValidationResultBase>& aPkixResults,
- RPointerArray<Swi::CCertificateInfo>& aCertificates,
- TBool aInstallAnyway )
- {
-#ifdef RD_COMBINE_INSTALLATION_QUERIES //with new dialog sequence
- // Close the preparing wait dialog
- iCommonDialogs->CloseWaitDialogL();
-#endif //RD_COMBINE_INSTALLATION_QUERIES
- iShowingDialog = ETrue;
-
- FLOG_1( _L("CSisxUIHandler::DisplaySecurityWarningL: %d"), aSigValidationResult );
- TBool result( ETrue );
-
- switch ( aSigValidationResult )
- {
- case Swi::EValidationSucceeded:
- {
- CSisxUIAppInfo* appInfo = CSisxUIAppInfo::NewL( aAppInfo, ETrue );
- iPackages.Append( appInfo );
-
- for ( TInt index = 0; index < aCertificates.Count(); index++ )
- {
- TValidationStatus status = aPkixResults[index]->Error();
- if ( status.iReason == EValidatedOK )
- {
- CSisxUICertificateInfo* certInfo = CSisxUICertificateInfo::NewL( *aCertificates[index] );
- CleanupStack::PushL( certInfo );
- User::LeaveIfError( iCertificateArray.Append( certInfo ));
- CleanupStack::Pop( certInfo );
- }
- }
-
- appInfo->PrepareIteratorL( aAppInfo );
-#ifdef RD_COMBINE_INSTALLATION_QUERIES //with new dialog sequence
- CommonUI::CCUIDetailsDialog* details =
- CommonUI::CCUIDetailsDialog::NewL( R_AVKON_SOFTKEYS_OK_CANCEL__OK, ETrue );
-#else //with old dialog sequence
- CommonUI::CCUIDetailsDialog* details =
- CommonUI::CCUIDetailsDialog::NewL( R_SWCOMMON_SOFTKEYS_CONTINUE_CANCEL__CONTINUE, ETrue );
-#endif //RD_COMBINE_INSTALLATION_QUERIES
- if ( !iIsDrmFileSet )
- {
- result = details->ExecuteLD( *appInfo, iCertificateArray );
- }
- else
- {
- result = details->ExecuteLD( *appInfo, iCertificateArray, iDrmFile );
- }
- appInfo->FreeIterator();
-
- if ( !result )
- {
- // User cancelled
- iResult = TSisxUIResult( EUiResultCancelled );
- }
-
- iCertificateArray.ResetAndDestroy();
-
- break;
- }
-
- // Non fatals
- case Swi::ESignatureSelfSigned:
- case Swi::ESignatureNotPresent:
- case Swi::ENoCertificate:
- case Swi::ECertificateValidationError:
- case Swi::ENoCodeSigningExtension:
- case Swi::ENoSupportedPolicyExtension:
- // Fatals with aInstallAnyway set as EFalse
- case Swi::ESignatureCouldNotBeValidated:
- case Swi::EMandatorySignatureMissing:
- {
- // Check if we are allowed to continue installation
- if ( aInstallAnyway && iAllowUntrusted )
- {
-#ifdef RD_COMBINE_INSTALLATION_QUERIES //with new dialog sequence
-
- CSisxUIAppInfo* appInfo = CSisxUIAppInfo::NewL( aAppInfo, EFalse );
- iPackages.Append( appInfo );
- appInfo->PrepareIteratorL( aAppInfo );
- CommonUI::CCUIDetailsDialog* details =
- CommonUI::CCUIDetailsDialog::NewL( R_AVKON_SOFTKEYS_OK_CANCEL__OK, ETrue );
- if ( !iIsDrmFileSet )
- {
- result = details->ExecuteLD( *appInfo );
- }
- else
- {
- result = details->ExecuteLD( *appInfo, iDrmFile );
- }
- appInfo->FreeIterator();
- if ( result )
- {
- result = iCommonDialogs->ShowSecurityWarningDialogL();
- }
-
-#else //with old dialog sequence
-
- result = iCommonDialogs->ShowSecurityWarningDialogL();
-
- if ( result )
- {
- CSisxUIAppInfo* appInfo = CSisxUIAppInfo::NewL( aAppInfo, EFalse );
- iPackages.Append( appInfo );
- appInfo->PrepareIteratorL( aAppInfo );
- CommonUI::CCUIDetailsDialog* details =
- CommonUI::CCUIDetailsDialog::NewL( R_SWCOMMON_SOFTKEYS_CONTINUE_CANCEL__CONTINUE );
- if ( !iIsDrmFileSet )
- {
- result = details->ExecuteLD( *appInfo );
- }
- else
- {
- result = details->ExecuteLD( *appInfo, iDrmFile );
- }
- appInfo->FreeIterator();
- }
-
-#endif //RD_COMBINE_INSTALLATION_QUERIES
-
- if ( !result )
- {
- // User cancelled
- iResult = TSisxUIResult( EUiResultCancelled );
- }
- }
- else
- {
- iResult = TSisxUIResult( aSigValidationResult );
- result = EFalse;
-
- // Fatal error, not allowed to continue
- // Try to see if the error was due to invalid date in the certificate
- for ( TInt index = 0; index < aPkixResults.Count(); index++ )
- {
- TValidationStatus status = aPkixResults[index]->Error();
- if ( status.iReason == EDateOutOfRange )
- {
- // Compare timestamps, use secure time if available
- TTime now;
- if( now.UniversalTimeSecure() != KErrNone )
- {
- // KErrNoSecureTime or other error
- now.UniversalTime();
- }
- TTime validFrom( aCertificates[index]->ValidFrom() );
-
- if ( now < validFrom )
- {
- // Certificate valid in future
- iResult = TSisxUIResult( EUiResultCertificateValidInFuture );
- }
- else
- {
- // Certificate expired
- iResult = TSisxUIResult( EUiResultCertificateExpired );
- }
-
- break;
- }
- }
- }
- break;
- }
-
- default:
- iResult = TSisxUIResult( aSigValidationResult );
- result = EFalse;
- break;
- }
-
- iShowingDialog = EFalse;
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIHandler::DisplayOcspResultL
-// Displays a dialog indicating that there was an error carrying out online
-// certificate status checking.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CSisxUIHandler::DisplayOcspResultL( const Swi::CAppInfo& /*aAppInfo*/,
- Swi::TRevocationDialogMessage aMessage,
- RPointerArray<TOCSPOutcome>& /*aOutcomes*/,
- RPointerArray<Swi::CCertificateInfo>& /*aCertificates*/,
- TBool aWarningOnly )
- {
- iShowingDialog = ETrue;
-
- FLOG_1( _L("CSisxUIHandler::DisplayOcspResultL: %d"), aMessage );
- TBool result( ETrue );
-
- // This will be treated as warning if engine says it's a warning and
- // ocsp setting is on. In case it's must, we abort the installation.
- if ( aWarningOnly && iOcspProc == ESisxUIOcspProcOn )
- {
- result = iCommonDialogs->ShowConfirmationQueryL( R_SISXUI_OCSP_SECURITY_WARNING );
- if ( !result )
- {
- // User cancelled the installation
- iResult = TSisxUIResult( EUiResultCancelled );
- }
- }
- // error or ocsp is set to must
- else
- {
- iResult = TSisxUIResult( aMessage );
- result = EFalse;
- }
-
- iShowingDialog = EFalse;
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIHandler::DisplayCannotOverwriteFileL
-// Used to inform the user the installation they are attempting is trying to
-// overwrite a file that does not belong to it. Following this message
-// installation is aborted.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUIHandler::DisplayCannotOverwriteFileL( const Swi::CAppInfo& /*aAppInfo*/,
- const Swi::CAppInfo& /*aInstalledAppInfo*/,
- const TDesC& aFileName )
- {
- FLOG_1( _L("CSisxUIHandler::DisplayCannotOverwriteFileL: %S"), &aFileName );
- iResult = TSisxUIResult( EUiResultUnableToOverwrite );
- // Keep compiler happy
- (void)aFileName;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIHandler::DisplayMissingDependencyL
-// Used to inform the user of a missing dependency needed to install the
-// current package. It is up to the UI implementors and/or the user whether
-// or not this warning can be overridden.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CSisxUIHandler::DisplayMissingDependencyL( const Swi::CAppInfo& /*aAppInfo*/,
- const TDesC& aDependencyName,
- TVersion aWantedVersionFrom,
- TVersion aWantedVersionTo,
- TVersion aInstalledVersion )
- {
- iShowingDialog = ETrue;
-
- TBool result( EFalse );
-
- // Dependency component not installed
- if ( ( aInstalledVersion.iMajor == 0 &&
- aInstalledVersion.iMinor == 0 &&
- aInstalledVersion.iBuild == 0 ) ||
- ( aWantedVersionFrom.iMajor == 0 &&
- aWantedVersionFrom.iMinor == 0 &&
- aWantedVersionFrom.iBuild == 0 ) )
- {
- HBufC* prompt =
- StringLoader::LoadLC( R_SISXUI_COMPONENT_MISSING, aDependencyName );
-
- if ( iCommonDialogs->ShowConfirmationQueryL( *prompt ) )
- {
- result = ETrue;
- }
-
- CleanupStack::PopAndDestroy( prompt );
- }
-
- else
- {
- CDesCArray* stringArray = new ( ELeave ) CDesCArrayFlat( 2 );
- CleanupStack::PushL( stringArray );
-
- stringArray->AppendL( aDependencyName );
- stringArray->AppendL( aWantedVersionFrom.Name() );
-
- HBufC* string = NULL;
-
- // Specific version is needed
- if ( aWantedVersionTo.iMajor == aWantedVersionFrom.iMajor &&
- aWantedVersionTo.iMinor == aWantedVersionFrom.iMinor &&
- aWantedVersionTo.iBuild == aWantedVersionFrom.iBuild )
- {
- string = StringLoader::LoadLC( R_SISXUI_REQUIRE_VER, *stringArray );
- }
-
- // Version or greater is needed
- else
- {
- string = StringLoader::LoadLC( R_SISXUI_REQUIRE_VER_OR_GREATER, *stringArray );
- }
-
- TPtr ptr = string->Des();
- AknTextUtils::DisplayTextLanguageSpecificNumberConversion( ptr );
-
- ShowErrorL( *string );
-
- CleanupStack::PopAndDestroy( 2); // stringArray, string
- }
-
- if ( !result )
- {
- iResult = TSisxUIResult( EUiResultCancelled );
- }
-
- iShowingDialog = EFalse;
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIHandler::DisplayUninstallL
-// Displays a dialog at the start of the uninstallation with information about
-// the application to be uninstalled. The user may cancel the uninstallation at
-// this stage. This dialog must be shown in TrustedUI mode.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CSisxUIHandler::DisplayUninstallL( const Swi::CAppInfo& aAppInfo )
- {
- iShowingDialog = ETrue;
-
- TBool result( EFalse );
-
- CSisxUIAppInfo* appInfo = CSisxUIAppInfo::NewL( aAppInfo, EFalse );
- iPackages.Append( appInfo );
-
- HBufC* prompt = StringLoader::LoadLC( R_SISXUI_UNINSTALL_PROMPT, aAppInfo.AppName() );
- if ( iCommonDialogs->ShowConfirmationQueryL( *prompt, R_AVKON_SOFTKEYS_YES_NO__YES ) )
- {
- result = ETrue;
- }
- else
- {
- iResult = TSisxUIResult( EUiResultCancelled );
- // Make sure no notes are shown after this
- iShownFinalNote = ETrue;
- }
- CleanupStack::PopAndDestroy( prompt );
-
- iShowingDialog = EFalse;
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIHandler::DisplayTextL
-// Displays a dialog containing text. This dialog has only a Continue button if
-// aOption is EInstFileTextOptionContinue, or Yes and No buttons otherwise.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CSisxUIHandler::DisplayTextL( const Swi::CAppInfo& aAppInfo,
- Swi::TFileTextOption aOption,
- const TDesC& aText )
- {
- iShowingDialog = ETrue;
-
- HBufC* text = aText.AllocLC();
- CAknMessageQueryDialog* dlg = CAknMessageQueryDialog::NewL( *text );
- dlg->PrepareLC( R_SISXUI_TEXT_DIALOG );
- CleanupStack::PushL( dlg );
-
- switch ( aOption )
- {
- case Swi::EInstFileTextOptionContinue:
- dlg->ButtonGroupContainer().SetCommandSetL( R_SISXUI_SOFTKEYS_CONTINUE_EMPTY__CONTINUE );
- break;
-
- case Swi::EInstFileTextOptionSkipOneIfNo:
- dlg->ButtonGroupContainer().SetCommandSetL( R_AVKON_SOFTKEYS_YES_NO__YES );
- break;
-
- case Swi::EInstFileTextOptionAbortIfNo:
- dlg->ButtonGroupContainer().SetCommandSetL( R_AVKON_SOFTKEYS_OK_CANCEL__OK );
- break;
-
- case Swi::EInstFileTextOptionExitIfNo:
- dlg->ButtonGroupContainer().SetCommandSetL( R_AVKON_SOFTKEYS_OK_CANCEL__OK );
- break;
-
- default:
- dlg->ButtonGroupContainer().SetCommandSetL( R_AVKON_SOFTKEYS_OK_EMPTY__OK );
- break;
- }
-
- dlg->QueryHeading()->SetTextL( aAppInfo.AppName() );
- CleanupStack::Pop( dlg );
- TBool result = dlg->RunLD();
-
- CleanupStack::PopAndDestroy( text );
-
- if ( !result )
- {
- iResult = TSisxUIResult( EUiResultCancelled );
- }
-
- iShowingDialog = EFalse;
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIHandler::DisplayErrorL
-// Displays a dialog showing an error message.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUIHandler::DisplayErrorL( const Swi::CAppInfo& /*aAppInfo*/,
- Swi::TErrorDialog aType,
- const TDesC& aParam )
- {
- FLOG_2( _L("CSisxUIHandler::DisplayErrorL: %d, %S"), aType, &aParam );
- iResult = TSisxUIResult( aType );
- // Keep compiler happy
- (void)aParam;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIHandler::DisplayDependencyBreakL
-// Displays a dialog indicating that a component which is being uninstalled is
-// a dependency of another component installed.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CSisxUIHandler::DisplayDependencyBreakL( const Swi::CAppInfo& /*aAppInfo*/,
- const RPointerArray<TDesC>& /*aComponents*/ )
- {
- iShowingDialog = ETrue;
-
- TBool result( ETrue );
-
- result = iCommonDialogs->ShowConfirmationQueryL( R_SISXUI_DEPENDENCY_BREAK );
-
- if ( !result )
- {
- iResult = TSisxUIResult( EUiResultCancelled );
- }
-
- iShowingDialog = EFalse;
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIHandler::DisplayApplicationsInUseL
-// Informs user that the applications are in use during an (un)installation.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CSisxUIHandler::DisplayApplicationsInUseL( const Swi::CAppInfo& /*aAppInfo*/,
- const RPointerArray<TDesC>& /*aAppNames*/ )
- {
- iShowingDialog = ETrue;
-
- TBool result( ETrue );
-
- if ( iMode == EModeInstall )
- {
- result = iCommonDialogs->ShowConfirmationQueryL( R_SISXUI_CLOSE_MULTI_INST );
- }
- else
- {
- result = iCommonDialogs->ShowConfirmationQueryL( R_SISXUI_CLOSE_MULTI_UNINST );
- }
-
- if ( !result )
- {
- TRAP_IGNORE( iCommonDialogs->CloseProgressDialogL() );
- iResult = TSisxUIResult( EUiResultCancelled );
- if ( iMode == EModeUninstall )
- {
- // Display Wait dialog while Symbian SWI is cancelling uninstall process.
- iCommonDialogs->ShowWaitDialogL( R_SISXUI_CANCELLING,
- this,
- R_AVKON_SOFTKEYS_EMPTY );
- iShowingWaitDialog = ETrue;
- }
-
- }
-
- iShowingDialog = EFalse;
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIHandler::DisplayQuestionL
-// Displays a generic question dialog with a Yes/No answer.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CSisxUIHandler::DisplayQuestionL( const Swi::CAppInfo& /*aAppInfo*/,
- Swi::TQuestionDialog aQuestion,
- const TDesC& /*aDes*/ )
- {
- iShowingDialog = ETrue;
-
- TBool result( ETrue );
-
- if ( aQuestion == Swi::EQuestionIncompatible && !iIncompatibleShown )
- {
- // Incompatible application
- result = iCommonDialogs->ShowConfirmationQueryL( R_SISXUI_INCOMP_PACKAGE, R_AVKON_SOFTKEYS_YES_NO__YES );
- // Make sure this question is not asked twice.
- iIncompatibleShown = ETrue;
- }
-
- if ( !result )
- {
- iResult = TSisxUIResult( EUiResultCancelled );
- }
-
- iShowingDialog = EFalse;
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIHandler::HandleDialogExitL
-// Called when wait/progress dialog is about to be cancelled.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CSisxUIHandler::HandleDialogExitL( TInt aButtonId )
- {
- TBool result( EFalse );
-
- if ( aButtonId == EAknSoftkeyCancel )
- {
- if ( iOcspInProgress )
- {
- result = ETrue;
- // We need to cancel immediately
- iResult = TSisxUIResult( EUiResultCancelled );
- iCancelObserver->UserCancelL( EFalse );
- }
- else
- {
- // User will still get confirmation
- iCancelRequested = ETrue;
- }
-
- }
-
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIHandler::ProcessResult
-// Process the result of the (un)installation.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUIHandler::ProcessResult( TInt aResult )
- {
- // In case we havent got a result from callbacks, we need to use one
- // from the engine complete code.
- if ( iResult.iResult == EUiResultNoResult )
- {
- switch ( aResult )
- {
- case KErrNone:
- // This means that the result was ok
- iResult = TSisxUIResult( EUiResultOk );
- break;
-
- case KErrAccessDenied:
- iResult = TSisxUIResult( EUiResultAccessDenied );
- break;
-
- case KSWInstErrUserCancel:
- iResult = TSisxUIResult( EUiResultCancelled );
- break;
-
- case KSWInstErrFileCorrupted:
- iResult = TSisxUIResult( EUiResultFileCorrupt );
- break;
-
- case KErrInvalidUpgrade:
- iResult = TSisxUIResult( EUiResultInvalidUpgrade );
- break;
-
- case KErrNoMemory:
- case KErrDiskFull:
- iResult = TSisxUIResult( EUiResultInsufficientMemory );
- break;
-
- case KErrCancel:
- iResult = TSisxUIResult( EUiResultCancelled );
- break;
-
- default:
- if ( iMode == EModeInstall && !iIntegrityCheckDone )
- {
- // Sisx integrity check has not been done, report file
- // corrupt
- iResult = TSisxUIResult( EUiResultFileCorrupt );
- }
- else
- {
- // Report general error
- iResult = TSisxUIResult( EUiResultGeneralError );
- iResult.iDetailedErrorCode = aResult;
- }
- break;
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIHandler::GetResult
-// Return result of the installation.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TSisxUIResult CSisxUIHandler::GetResult() const
- {
- return iResult;
- }
-
-
-// -----------------------------------------------------------------------------
-// CSisxUIHandler::ShowFinalNoteL
-// Show the final note.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUIHandler::ShowFinalNoteL()
- {
- switch ( iResult.iResult )
- {
- case EUiResultOk:
- DisplayCompleteL();
- break;
-
- case EUiResultCancelled:
- DisplayCancelL();
- break;
-
- case EUiResultUnableToOverwrite:
- case EUiResultInvalidUpgrade:
- case EUiResultBlockingEclipsingFile:
- ShowErrorL( R_SISXUI_UPDATE_ERROR );
- break;
-
- case EUiResultAlreadyInRom:
- ShowErrorL( R_SISXUI_ALREADY_IN_ROM );
- break;
-
- case EUiResultUnknownFile:
- case EUiResultFileNotFound:
- case EUiResultInvalidFileName:
- case EUiResultFileCorrupt:
- ShowErrorL( R_SISXUI_FILE_CORRUPT );
- break;
-
- case EUiResultDiskNotPresent:
- ShowErrorL( R_SISXUI_DISK_NOT_PRESENT );
- break;
-
- case EUiResultCannotRead:
- ShowErrorL( R_SISXUI_CANNOT_READ );
- break;
-
- case EUiResultCannotDelete:
- ShowErrorL( R_SISXUI_CANNOT_DELETE );
- break;
-
- case EUiResultInsufficientMemory:
- case EUiResultInsufficientSpaceOnDrive:
- ShowErrorL( R_SISXUI_NOT_ENOUGH_MEMORY );
- break;
-
- case EUiResultCapabilitiesCannotBeGranted:
- ShowErrorL( R_SISXUI_CAPABILITIES_CANNOT_BE_GRANTED );
- break;
-
- case EUiResultNoCertificate:
- case EUiResultCertificateValidationError:
- case EUiResultSignatureNotPresent:
- case EUiResultSignatureCouldNotBeValidated:
- case EUiResultNoCodeSigningExtension:
- case EUiResultNoSupportedPolicyExtension:
- case EUiResultMandatorySignatureMissing:
- ShowErrorL( R_SISXUI_CERTIFICATE_ERROR );
- break;
- case EUiResultSignatureSelfSigned:
- ShowErrorL( R_SISXUI_SELFSIGNED_ERROR );
- break;
- case EUiResultCertificateExpired:
- ShowErrorL( R_SISXUI_CERT_EXPIRED );
- break;
-
- case EUiResultCertificateValidInFuture:
- ShowErrorL( R_SISXUI_CERT_DATE_INVALID );
- break;
-
- case EUiResultInvalidRevocationServerResponse:
- case EUiResultInvalidRevocationServerUrl:
- case EUiResultResponseSignatureValidationFailure:
- ShowErrorL( R_SISXUI_OCSP_SETTINGS_ERROR );
- break;
-
- case EUiResultUnableToObtainCertificateStatus:
- case EUiResultInvalidCertificateStatusInformation:
- case EUiResultCertificateStatusIsUnknown:
- case EUiResultCertificateStatusIsUnknownSelfSigned:
- ShowErrorL( R_SISXUI_OCSP_GENERAL_ERROR );
- break;
-
- case EUiResultCertificateStatusIsRevoked:
- ShowErrorL( R_SISXUI_OCSP_REVOKED );
- break;
-
- case EUiResultAccessDenied:
- case EUiResultOSExeViolation:
- ShowErrorL( R_SISXUI_ACCESS_DENIED );
- break;
-
- case EUiResultMissingBasePackage:
- ShowErrorL( R_SISXUI_BASE_MISSING );
- break;
-
- case EUiResultCannotUninstallPartialUpgrade:
- ShowErrorL( R_SISXUI_UNINSTALL_PARTIAL_ERROR );
- break;
-
- case EUiResultSIDViolation:
- case EUiResultVIDViolation:
- case EUiResultUIDPackageViolation:
- case EUiResultSIDMismatch:
- ShowErrorL( R_SISXUI_PROTECTED_ERROR );
- break;
-
- case EUiResultConstraintsExceeded:
- ShowErrorL( R_SISXUI_CONSTRAINED_ERROR );
- break;
-
- //These should not come here
- case EUiResultMissingDependency:
- case EUiResultRequireVer:
- case EUiResultRequireVerOrGreater:
- //
- case EUiResultGeneralError:
- case EUiResultNoResult:
- default:
- if ( iMode == EModeInstall )
- {
- ShowErrorL( R_SISXUI_INSTALL_ERROR );
- }
- else
- {
- ShowErrorL( R_SISXUI_UNINSTALL_ERROR );
- }
- break;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIHandler::ProcessedPackages
-// Return the package information about this install/uninstall.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUIHandler::ProcessedPackages( RPointerArray<CSisxUIAppInfo>& aPackages )
- {
- for ( TInt index = 0; index < iPackages.Count(); index++ )
- {
- aPackages.Append( iPackages[index] );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIHandler::InstallMode
-// Return the install mode of this instance.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CSisxUIHandler::TInstallMode CSisxUIHandler::InstallMode() const
- {
- return iMode;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIHandler::SetOcspProcedure
-// Sets the ocsp procedure for the installation.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUIHandler::SetOcspProcedure( const TSisxUIOcspProc& aOcspProc )
- {
- iOcspProc = aOcspProc;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIHandler::IsShowingDialog
-// Indicates if a dialog is shown to user and expecting some user input.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CSisxUIHandler::IsShowingDialog()
- {
- return iShowingDialog;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIHandler::ShowCancellingL
-// Shows a cancelling wait dialog.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUIHandler::ShowCancellingL()
- {
- // We need to show this only in case of ocsp.
- if ( iOcspInProgress )
- {
- // Show cancelling wait dialog
- iCommonDialogs->ShowDelayedWaitDialogL( R_SISXUI_CANCELLING,
- this,
- R_AVKON_SOFTKEYS_EMPTY );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIHandler::DoNotShowFinalNote
-// Sets the UI not to show final note.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUIHandler::DoNotShowFinalNote()
- {
- iShownFinalNote = ETrue;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIHandler::ResetResult
-// Resets the result to no result.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUIHandler::ResetResult()
- {
- iResult.iResult = EUiResultNoResult;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIHandler::SetFileForDrm
-// Sets the file handle for showing drm details.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUIHandler::SetFileForDrm( RFile& aFile )
- {
- iDrmFile.Duplicate( aFile );
- iIsDrmFileSet = ETrue;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIHandler::SetAllowUntrusted
-// Sets the policy for allowing the installation of untrusted packages.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUIHandler::SetAllowUntrusted( TBool aAllowUntrusted )
- {
- iAllowUntrusted = aAllowUntrusted;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIHandler::DisplayCancelL
-// Displays a cancel note.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUIHandler::DisplayCancelL()
- {
- if ( !iShownFinalNote )
- {
- // Make sure that no wait or progress dialog is running
- Finalize();
-
- HBufC* string = NULL;
- if ( iMode == EModeInstall )
- {
- string = StringLoader::LoadLC( R_SISXUI_INSTALL_CANCELLED );
- }
- else
- {
- string = StringLoader::LoadLC( R_SISXUI_UNINSTALL_CANCELLED );
- }
-
- CAknInformationNote* note = new (ELeave) CAknInformationNote( ETrue );
- note->ExecuteLD( *string );
- CleanupStack::PopAndDestroy( string );
- }
-
- iShownFinalNote = ETrue;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIHandler::DisplayCompleteL
-// Displays a complete note.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUIHandler::DisplayCompleteL()
- {
- if ( !iShownFinalNote )
- {
- // Make sure that no wait or progress dialog is running
- Finalize();
-
- HBufC* string = NULL;
- if ( iMode == EModeInstall )
- {
- string = StringLoader::LoadLC( R_SISXUI_INSTALL_COMPLETED );
- }
- else
- {
- string = StringLoader::LoadLC( R_SISXUI_UNINSTALL_COMPLETED );
- }
-
- CAknConfirmationNote* note = new (ELeave) CAknConfirmationNote( ETrue );
- note->ExecuteLD( *string );
- CleanupStack::PopAndDestroy( string );
- }
-
- iShownFinalNote = ETrue;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIHandler::ShowErrorL
-// Convenience function for showing a Sisx specific error.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUIHandler::ShowErrorL( TInt aResourceString )
- {
- if ( !iShownFinalNote )
- {
- Finalize();
-
- HBufC* errorString = StringLoader::LoadLC( aResourceString );
-
- RFs fs;
- User::LeaveIfError( fs.Connect() );
- CleanupClosePushL( fs );
-
- CAknErrorNote* note = new (ELeave) CAknErrorNote( ETrue );
-
- TEntry entry;
- TInt status = fs.Entry( KSwiTempFile, entry );
-
- if ( status == KErrNone )
- {
- // File exists. Status code will be appended to the message
- HBufC* detailedMessage = HBufC::NewLC( errorString->Length() + KSpaceForErrorCode );
- if( iResult.iResult != EUiResultGeneralError ) {
- detailedMessage->Des().Format( KDetailedError, errorString, iResult.iResult );
- } else {
- detailedMessage->Des().Format( KDetailedError, errorString,
- iResult.iDetailedErrorCode );
- }
- note->ExecuteLD( *detailedMessage );
- CleanupStack::PopAndDestroy( detailedMessage );
- }
- else
- {
- // File doesn't exist. Show the message without status code
- note->ExecuteLD( *errorString );
- }
-
- CleanupStack::PopAndDestroy( 2 ); // fs, errorString
-
- // No notes after error
- iShownFinalNote = ETrue;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIHandler::ShowErrorL
-// Convenience function for showing a Sisx specific error.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUIHandler::ShowErrorL( const TDesC& aDes )
- {
- if ( !iShownFinalNote )
- {
- Finalize();
-
- CAknErrorNote* note = new (ELeave) CAknErrorNote( ETrue );
- note->ExecuteLD( aDes );
-
- // No notes after error
- iShownFinalNote = ETrue;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIHandler::AddCapabilityL
-// Adds the given capability string to the descriptor.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUIHandler::AddCapabilityL( HBufC*& aString, TInt aResourceId )
- {
- HBufC* tmpString = StringLoader::LoadLC( aResourceId );
- HBufC* newString;
-
- if ( aString->Length() > 0 )
- {
- newString = HBufC::NewL( tmpString->Length() + aString->Length() + 1 ); // + \n
-
- TPtr ptr( newString->Des() );
- ptr += *aString;
- ptr += KNextLine;
- ptr += *tmpString;
- }
- else
- {
- newString = HBufC::NewL( tmpString->Length() );
-
- TPtr ptr( newString->Des() );
- ptr += *tmpString;
- }
-
- CleanupStack::PopAndDestroy( tmpString );
- CleanupStack::PopAndDestroy( aString );
-
- aString = newString;
- CleanupStack::PushL( aString );
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIHandler::Finalize
-// Finalizes the installation by closing all open dialogs.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUIHandler::Finalize()
- {
- TRAP_IGNORE( iCommonDialogs->CloseWaitDialogL() );
- TRAP_IGNORE( iCommonDialogs->CloseProgressDialogL() );
- // No notes after this
- iShownFinalNote = ETrue;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIHandler::ShowCapabilitiesHelp
-// Callback used in message query.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CSisxUIHandler::ShowCapabilitiesHelp( TAny* aPtr )
- {
- //TRAP_IGNORE(
- // reinterpret_cast<CSisxUIHandler*>(aPtr)->iCommonDialogs->LaunchHelpL( KAM_HLP_INSTALL_CAPAB )
- // );
-
- return KErrNone;
- }
-
-
-// End of File
--- a/appinstaller/AppinstUi/Plugin/SisxUI/Src/SisxUILangName.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: CLangName class contains language id amd name
-*
-*/
-
-
-#include "SisxUILangName.h" // CLangName
-#include <barsread.h> // TResourceReader
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CLangName::NewL()
-// ---------------------------------------------------------------------------
-//
-CLangName* CLangName::NewL( TResourceReader& aReader )
- {
- CLangName* self = new (ELeave) CLangName;
- CleanupStack::PushL( self );
- self->ConstructFromResourceL( aReader );
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CLangName::~CLangName()
-// ---------------------------------------------------------------------------
-//
-CLangName::~CLangName()
- {
- delete iName;
- }
-
-// ---------------------------------------------------------------------------
-// CLangName::Id()
-// ---------------------------------------------------------------------------
-//
-TLanguage CLangName::Id() const
- {
- return iId;
- }
-
-// ---------------------------------------------------------------------------
-// CLangName::Name()
-// ---------------------------------------------------------------------------
-//
-TPtrC CLangName::Name() const
- {
- return *iName;
- }
-
-// ---------------------------------------------------------------------------
-// CLangName::CLangName()
-// ---------------------------------------------------------------------------
-//
-CLangName::CLangName()
- {
- }
-
-// ---------------------------------------------------------------------------
-// CLangName::ConstructFromResourceL()
-// ---------------------------------------------------------------------------
-//
-void CLangName::ConstructFromResourceL( TResourceReader& aReader )
- {
- iId = static_cast< TLanguage >( aReader.ReadInt16() );
- iName = aReader.ReadHBufC16L();
- }
--- a/appinstaller/AppinstUi/Plugin/SisxUI/Src/SisxUIMain.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This class contains the ECom specific implementations for
-* Native application UI plugin.
-*
-*/
-
-
-// INCLUDE FILES
-#include <e32std.h>
-#include <ecom/implementationproxy.h>
-
-#include "SisxUI.h"
-#include "SWInstPrivateUid.h"
-
-using namespace SwiUI;
-
-// CONSTANTS
-
-const TImplementationProxy KImplementationTable[] =
- {
- IMPLEMENTATION_PROXY_ENTRY( KSWInstSisxImplementationUid,
- CSisxUI::NewL )
- };
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-
-// -----------------------------------------------------------------------------
-// ImplementationGroupProxy
-// Returns the filters implemented in this DLL
-// Returns: The filters implemented in this DLL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy( TInt& aTableCount )
- {
- aTableCount = sizeof( KImplementationTable ) / sizeof( TImplementationProxy );
- return KImplementationTable;
- }
-
-// End of File
--- a/appinstaller/AppinstUi/Plugin/SisxUI/Src/SisxUIOperationWatcher.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1409 +0,0 @@
-/*
-* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This module contains the implementation of CSisxUIOperationWatcher
-* class member functions.
-*
-*/
-
-
-// INCLUDE FILES
-
-#include <swi/asynclauncher.h>
-#include <swi/sisregistrysession.h>
-#include <swi/sisregistryentry.h>
-#include <swi/sisregistrypackage.h>
-#include <centralrepository.h>
-#include <SWInstallerInternalCRKeys.h>
-#include <pathinfo.h>
-#include <zipfilemember.h>
-#include <DRMLicenseManager.h>
-#include <SisxUIData.rsg>
-#include <SWInstTaskManager.h>
-#include <SWInstTask.h>
-#include <SWInstDefs.h>
-#include <featmgr.h>
-#include <SWInstFileTaskParam.h>
-#include <e32property.h>
-#include <SWInstallerInternalPSKeys.h>
-#include <Oma2Agent.h> // KOmaDrm2AgentName
-#include <syslangutil.h>
-#include <caf/manager.h> // ContentAccess::CManager
-#include <caf/agent.h> // ContentAccess::TAgent
-
-#include <DcfEntry.h> // JPAA-7GEB7P
-#include <DcfRep.h> // JPAA-7GEB7P
-
-#include "SisxUIOperationWatcher.h"
-#include "SisxUIHandler.h"
-#include "SisxUIResult.h"
-#include "SisxUIAppInfo.h"
-#include "SisxUIStartupFile.h"
-#include "SWInstDebug.h"
-#include "SisxUISilentHandler.h"
-#include "SisxUICleanupUtils.h" // JPAA-7GEB7P
-
-_LIT( KTempDir, "piptemp\\" );
-_LIT( KPipFileMatch, "*" );
-const TUint KSisxFileUidPosition = 8;
-const TUint KDot = 0x2E; // Dot
-_LIT(KSisString, "sis");
-_LIT( KSkinExtension, "*.skn" ); // JPAA-7GEB7P
-
-using namespace SwiUI;
-using namespace ContentAccess;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CSisxUIOperationWatcher::CSisxUIOperationWatcher
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CSisxUIOperationWatcher::CSisxUIOperationWatcher()
- : CActive( CActive::EPriorityStandard ),
- iIsSilent( EFalse ),
- iDoSilentOcsp( EFalse )
- {
- CActiveScheduler::Add( this );
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIOperationWatcher::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CSisxUIOperationWatcher::ConstructL()
- {
- iTaskManager = CTaskManager::NewL();
- User::LeaveIfError( iRfs.Connect() );
- iRfs.ShareProtected();
- FeatureManager::InitializeLibL();
- iLauncher = Swi::CAsyncLauncher::NewL();
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIOperationWatcher::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CSisxUIOperationWatcher* CSisxUIOperationWatcher::NewL()
- {
- CSisxUIOperationWatcher* self = new( ELeave ) CSisxUIOperationWatcher();
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-// Destructor
-CSisxUIOperationWatcher::~CSisxUIOperationWatcher()
- {
- iDeletionOngoing = ETrue;
- if ( iCanceller )
- {
- iCanceller->Cancel();
- delete iCanceller;
- }
-
- delete iLauncher;
- iLauncher = NULL;
- CActive::Cancel();
-
- iSupportedLanguages.Close();
- delete iUIHandler;
- delete iTaskManager;
- delete iMIME;
-
- NotifyEndUninstall();
-
- iInstalledFiles.ResetAndDestroy();
- iAugmentations.ResetAndDestroy();
-
- iTempFile.Close();
- iRfs.Close();
-
- FeatureManager::UnInitializeLib();
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIOperationWatcher::InstallL
-// Handle install request.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUIOperationWatcher::InstallL( RFile& aFile,
- const TDesC8& aMIME,
- TBool aIsDRM,
- TRequestStatus& aRequestStatus )
- {
- // Set client request to pending state
- iRequestStatus = &aRequestStatus;
- *iRequestStatus = KRequestPending;
-
- iSourceFile = aFile;
- iMIME = aMIME.AllocL();
-
- // Create the ui
- iUIHandler = CSisxUIHandler::NewL( CSisxUIHandler::EModeInstall, this );
- if ( aIsDRM )
- {
- // We need to pass the handle to ui handler, so that it can shown
- // details of drm
- iUIHandler->SetFileForDrm( aFile );
- }
-
- iPreparing = ETrue;
- // Kick off the RunL
- TRequestStatus* stat = &iStatus;
- User::RequestComplete( stat, KErrNone );
- SetActive();
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIOperationWatcher::SilentInstallL
-// Handle silentinstall request.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUIOperationWatcher::SilentInstallL( RFile& aFile,
- const TDesC8& aMIME,
- TBool aIsDRM,
- TInstallOptions& aOptions,
- TRequestStatus& aRequestStatus )
- {
- // Set client request to pending state
- iRequestStatus = &aRequestStatus;
- *iRequestStatus = KRequestPending;
-
- iIsSilent = ETrue;
- iSourceFile = aFile;
- iMIME = aMIME.AllocL();
- if ( aOptions.iOCSP == EPolicyAllowed )
- {
- iDoSilentOcsp = ETrue;
- }
-
- // Create the ui
- iUIHandler = CSisxUISilentHandler::NewL( aOptions, this );
- if ( aIsDRM )
- {
- // We need to pass the handle to ui handler, so that it can shown
- // details of drm
- iUIHandler->SetFileForDrm( aFile );
- }
-
- iPreparing = ETrue;
- // Kick off the RunL
- TRequestStatus* stat = &iStatus;
- User::RequestComplete( stat, KErrNone );
- SetActive();
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIOperationWatcher::UninstallL
-// Handle uninstall request.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUIOperationWatcher::UninstallL( const TUid& aUid, TRequestStatus& aRequestStatus )
- {
- // Set client request to pending state
- iRequestStatus = &aRequestStatus;
- *iRequestStatus = KRequestPending;
-
- iUninstalledUid = aUid;
-
- TRAP_IGNORE( NotifyStartUninstallL(aUid ) );
- iUIHandler = CSisxUIHandler::NewL( CSisxUIHandler::EModeUninstall, this );
-
- iLauncher->UninstallL( *iUIHandler, aUid, iStatus );
- SetActive();
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIOperationWatcher::UninstallL
-// Handle uninstall request.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUIOperationWatcher::SilentUninstallL( const TUid& aUid,
- TUninstallOptions& aOptions,
- TRequestStatus& aRequestStatus )
- {
- // Set client request to pending state
- iRequestStatus = &aRequestStatus;
- *iRequestStatus = KRequestPending;
-
- iIsSilent = ETrue;
- iUninstalledUid = aUid;
-
- iUIHandler = CSisxUISilentHandler::NewL( aOptions, this );
-
- TRAP_IGNORE( NotifyStartUninstallL(aUid ) );
- iLauncher->UninstallL( *iUIHandler, aUid, iStatus );
- SetActive();
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIOperationWatcher::UninstallAugmentationL
-// Uninstalls only a specific augmentation (sispatch)
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUIOperationWatcher::UninstallAugmentationL( const TUid& aUid,
- TInt aIndex,
- TRequestStatus& aRequestStatus )
- {
- // Set client request to pending state
- iRequestStatus = &aRequestStatus;
- *iRequestStatus = KRequestPending;
-
- iUninstalledUid = aUid;
-
- TRAP_IGNORE( NotifyStartUninstallL(aUid ) );
- iUIHandler = CSisxUIHandler::NewL( CSisxUIHandler::EModeUninstall, this );
-
- DoUninstallAugmentationL( aUid, aIndex );
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIOperationWatcher::SilentUninstallAugmentationL
-// Uninstalls only a specific augmentation (sispatch)
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUIOperationWatcher::SilentUninstallAugmentationL( const TUid& aUid,
- TUninstallOptions& aOptions,
- TInt aIndex,
- TRequestStatus& aRequestStatus )
- {
- // Set client request to pending state
- iRequestStatus = &aRequestStatus;
- *iRequestStatus = KRequestPending;
-
- iIsSilent = ETrue;
- iUninstalledUid = aUid;
-
- TRAP_IGNORE( NotifyStartUninstallL(aUid ) );
- iUIHandler = CSisxUISilentHandler::NewL( aOptions, this );
-
- DoUninstallAugmentationL( aUid, aIndex );
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIOperationWatcher::FinalCompleteL
-// Informs the UI, about final completion.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUIOperationWatcher::FinalCompleteL()
- {
- iTempFile.Close();
-
- if ( iUIHandler )
- {
- iUIHandler->ShowFinalNoteL();
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIOperationWatcher::Cancel
-// Override of CActive::Cancel
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUIOperationWatcher::Cancel()
- {
- if ( !iCancelOngoing )
- {
- iUIHandler->ProcessResult( KSWInstErrUserCancel );
-
- if ( iPreparing )
- {
- CActive::Cancel();
- iUIHandler->DoNotShowFinalNote();
- // Just complete the client request
- CompleteRequest( KSWInstErrUserCancel );
- }
- else
- {
- // If we are installing/uninstalling we may have a dialog waiting
- // for user input. We need to use this special method to cancel
- // the operation.
- TRAPD( err,
- iCanceller = CommonUI::CCUICancelTimer::NewL( this );
- iCanceller->StartCancelling();
- );
- if ( err != KErrNone )
- {
- // Complete the original request from client
- CompleteRequest( KSWInstErrUserCancel );
- }
- }
-
- iCancelOngoing = ETrue;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIOperationWatcher::RunL
-// Called by framework when request is finished.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUIOperationWatcher::RunL()
- {
- FLOG_1( _L("SisxUI: RunL() status: %d"), iStatus.Int() );
-
- // If we got here, we don't need the canceller anymore
- if ( iCanceller )
- {
- iCanceller->Cancel();
- delete iCanceller;
- iCanceller = NULL;
- }
-
- if ( iPreparing )
- {
- // Do all the necessary preparations
- PrepareInstallL();
- return;
- }
-
- // Let the UI know about the result
- iUIHandler->ProcessResult( iStatus.Int() );
-
- if ( iUIHandler->GetResult().iResult == EUiResultOk )
- {
- // Install case
- if ( iUIHandler->InstallMode() == CSisxUIHandler::EModeInstall )
- {
- TRAP_IGNORE( CompleteInstallationL() );
- }
- // Uninstall case
- else
- {
- TRAP_IGNORE( CompleteUninstallationL() );
- }
- }
-
- CompleteRequest( iUIHandler->GetResult().CommonResult() );
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIOperationWatcher::DoCancelL
-// Called by framework when request is cancelled.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUIOperationWatcher::DoCancel()
- {
- // This function is usually not used because of overridden Cancel().
- // Usually CActive::Cancel() followed by CompleteRequest() is used to
- // cancel active CSisxUIOperationWatcher. However, when active operation
- // watcher is deleted, this function must complete the client request
- // (to avoid deadlock when client calls CActive::Cancel() later).
- if( iDeletionOngoing && iRequestStatus )
- {
- CompleteRequest( KErrCancel );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIOperationWatcher::DoCancelL
-// Handles a leave occurring in the request completion event handler RunL().
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CSisxUIOperationWatcher::RunError( TInt aError )
- {
- // Report the error to the UI
- iUIHandler->ProcessResult( aError );
- // Complete client request
- CompleteRequest( aError );
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIOperationWatcher::UserCancelL
-// Called when user has cancelled the operation.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUIOperationWatcher::UserCancelL( TBool aCancelImmediately )
- {
- iIsUserCancel = ETrue;
- if ( !aCancelImmediately )
- {
- Cancel();
- }
- else
- {
- CancelEngine();
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIOperationWatcher::IsShowingDialog
-// Indicates if a modal dialog is currently shown.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CSisxUIOperationWatcher::IsShowingDialog()
- {
- return iUIHandler->IsShowingDialog();
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIOperationWatcher::CancelEngine
-// Cancels the installation engine.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUIOperationWatcher::CancelEngine()
- {
- if ( iLauncher )
- {
- iLauncher->CancelOperation();
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIOperationWatcher::ForceCancel
-// Called when nothing else has worked.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUIOperationWatcher::ForceCancel()
- {
- // We need to make a dirty cancel
- // Kill the async launcher
- delete iLauncher;
- iLauncher = NULL;
-
- // We can cancel the AO, launcher has completed the request
- CActive::Cancel();
-
- // Complete the client request
- CompleteRequest( KSWInstErrUserCancel );
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIOperationWatcher::StartedCancellingL
-// Called to indicate that the cancelling progress has been started.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUIOperationWatcher::StartedCancellingL()
- {
- // Show the dialog only if this is user initiated cancel.
- if ( iIsUserCancel )
- {
- iUIHandler->ShowCancellingL();
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIOperationWatcher::DoCancelL
-// Completes the pending request.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUIOperationWatcher::CompleteRequest( TInt aResult )
- {
- iTempFile.Close();
-
- if ( iRequestStatus )
- {
- FLOG_1( _L("SisxUI: Completing with: %d"), aResult );
- User::RequestComplete( iRequestStatus, aResult );
- iRequestStatus = NULL;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIOperationWatcher::AddStartupItemsL
-// Add files to startup list.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUIOperationWatcher::AddStartupItemsL( RArray<TStartupTaskParam>& aParams )
- {
- if ( FeatureManager::FeatureSupported( KFeatureIdExtendedStartup ) )
- {
- if ( aParams.Count() > 0 )
- {
- CTask* task = CTask::NewL( KSTartupTaskAddImplUid, ETrue );
- CleanupStack::PushL( task );
- for ( TInt index = 0; index < aParams.Count(); index++ )
- {
- TStartupTaskParamPckg pckg( aParams[index] );
- task->SetParameterL( pckg, index );
- }
-
- iTaskManager->AddTaskL( task );
- CleanupStack::Pop( task );
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIOperationWatcher::RemoveStartupItemsL
-// Remove files from the startup list.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUIOperationWatcher::RemoveStartupItemsL( RArray<TStartupTaskParam>& aParams )
- {
- if ( FeatureManager::FeatureSupported( KFeatureIdExtendedStartup ) )
- {
- if ( aParams.Count() > 0 )
- {
- CTask* task = CTask::NewL( KSTartupTaskRemoveImplUid, ETrue );
- CleanupStack::PushL( task );
- for ( TInt index = 0; index < aParams.Count(); index++ )
- {
- TStartupTaskParamPckg pckg( aParams[index] );
- task->SetParameterL( pckg, index );
- }
-
- iTaskManager->AddTaskL( task );
- CleanupStack::Pop( task );
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIOperationWatcher::RemoveStartupFileL
-// Checks if the given uid has installed a startup file. If it finds one
-// it removes it and creates a task to remove the items as well.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUIOperationWatcher::RemoveStartupFileL( TUid aUid )
- {
- if ( FeatureManager::FeatureSupported( KFeatureIdExtendedStartup ) )
- {
- // Handle startup list
- CSisxUIStartupFile* startupFile = CSisxUIStartupFile::NewL( aUid );
- CleanupStack::PushL( startupFile );
- if ( !startupFile->NewFileExists() )
- {
- FLOG( _L("SisxUI: Removal of import file") );
-
- // First see if we have a control file for this package
- if ( startupFile->PrivateFileExists() )
- {
- RArray<TStartupTaskParam> params;
- startupFile->RemovePrivateFile( params );
- CleanupClosePushL( params );
- RemoveStartupItemsL( params );
- CleanupStack::PopAndDestroy(); // params
- iInstalledFiles.ResetAndDestroy();
-
- // Put the flag on that we did modify the startup list
- iStartupModified = ETrue;
- }
- }
-
- CleanupStack::PopAndDestroy( startupFile );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIOperationWatcher::HandleLogL
-// Handles the log entry addition.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUIOperationWatcher::HandleLogL( const CSisxUIAppInfo& aAppInfo,
- const TLogTaskAction& aAction,
- TBool aIsStartup )
- {
- // Create a log task object, non-persistent
- CTask* task = CTask::NewL( KLogTaskImplUid, EFalse );
- CleanupStack::PushL( task );
-
- // Construct log task parameters
- TLogTaskParam params;
-
- // Make sure that we don't copy over limits
- params.iName.Copy( aAppInfo.Name().Left( KMaxLogNameLength ) );
- params.iVendor.Copy( aAppInfo.Vendor().Left( KMaxLogNameLength ) );
-
- params.iVersion = aAppInfo.Version();
- params.iUid = aAppInfo.Uid();
- // The time must be in universal time
- TTime time;
- time.UniversalTime();
- params.iTime = time;
- params.iAction = aAction;
- params.iIsStartup = aIsStartup;
-
- TLogTaskParamPckg pckg( params );
- task->SetParameterL( pckg, 0 );
-
- // Add the log task to the task list
- iTaskManager->AddTaskL( task );
-
- CleanupStack::Pop( task );
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIOperationWatcher::HandlePipFileL
-// Helper to handle the case of pip file.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUIOperationWatcher::HandlePipFileL( RFile& aPipFileHandle, RFile& aSisFileHandle )
- {
- FLOG( _L("SisxUI: Handle pip file") );
-
- // PIP package, we need to use license manager to extract the sis file
- // First construct the temp path
- iRfs.PrivatePath( iTempDir );
- iTempDir.Insert( 0, TParsePtrC( PathInfo::PhoneMemoryRootPath() ).Drive() );
- iTempDir.Append( KTempDir );
- iRfs.MkDir( iTempDir );
-
- // Add task to delete the extracted sis file
- HBufC* pipFileMatch = HBufC::NewLC( KMaxFileName );
- pipFileMatch->Des().Copy( iTempDir );
- pipFileMatch->Des().Append( KPipFileMatch );
-
- // Create a delete file task
- CTask* task = CTask::NewL( KFileTaskDeleteImplUid, ETrue );
- CleanupStack::PushL( task );
-
- // Construct file task parameters
- TFileTaskDeleteParam params;
- params.iFile = *pipFileMatch;
- TFileTaskDeleteParamPckg pckg( params );
- task->SetParameterL( pckg, 0 );
-
- // Add the task to the task list
- iTaskManager->AddTaskL( task );
- CleanupStack::Pop( task );
- iTaskManager->CommitL();
-
- CleanupStack::PopAndDestroy( pipFileMatch );
-
- // Use license manager to extract files from the pip package
- CDRMLicenseManager* licenseMgr = CDRMLicenseManager::NewL();
- CleanupStack::PushL( licenseMgr );
- User::LeaveIfError( licenseMgr->ExtractSISFileL( aPipFileHandle, iTempDir ) );
-
- // Get the sis file name and open temporary handle to it.
- // HLEI-7EGFRE
- CZipFileMember* sisMember( licenseMgr->GetSISMemberL() );
- CleanupStack::PushL( sisMember );
- iTempDir.Append( *sisMember->Name() );
- CleanupStack::PopAndDestroy( sisMember );
- sisMember = NULL;
-
- User::LeaveIfError( aSisFileHandle.Open( iRfs, iTempDir, EFileShareAny ) );
- iIsPipFile = ETrue;
-
- CleanupStack::PopAndDestroy( licenseMgr );
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIOperationWatcher::PrepareOCSPL
-// Helper to read ocsp values from central repository and prepare the ui.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUIOperationWatcher::PrepareOCSPL( CSisxUIHandler* aUIHandler,
- Swi::CInstallPrefs* aPrefs )
- {
- TSWInstallerOcspProcedure ocspProc( ESWInstallerOcspProcedureOff );
-
- if ( !iIsSilent || iDoSilentOcsp )
- {
- CRepository* repository = CRepository::NewL( KCRUidSWInstallerSettings );
- CleanupStack::PushL( repository );
-
- if ( !iIsSilent )
- {
- // In case of normal installation we check the ocsp value from central rep
- TInt value( 0 );
- repository->Get( KSWInstallerOcspProcedure, value );
- ocspProc = TSWInstallerOcspProcedure( value );
- }
- else
- {
- // In case of silent install, the client sets the value
- ocspProc = ESWInstallerOcspProcedureOn;
- }
-
- // Get default OCSP URL
- HBufC* ocspURL = HBufC::NewLC( NCentralRepositoryConstants::KMaxUnicodeStringLength );
- TPtr ptr( ocspURL->Des() );
- repository->Get( KSWInstallerOcspDefaultURL, ptr );
-
- // Convert to 8 byte
- HBufC8* ocspURL8 = HBufC8::NewLC( ocspURL->Length() );
- ocspURL8->Des().Copy( *ocspURL );
-
- aPrefs->SetRevocationServerUriL( *ocspURL8 );
- CleanupStack::PopAndDestroy( 3, repository );
- }
-
- if ( ocspProc == ESWInstallerOcspProcedureOn ||
- ocspProc == ESWInstallerOcspProcedureMust )
- {
- if ( ocspProc == ESWInstallerOcspProcedureOn )
- {
- aUIHandler->SetOcspProcedure( ESisxUIOcspProcOn );
- }
- else
- {
- aUIHandler->SetOcspProcedure( ESisxUIOcspProcMust );
- }
-
- aPrefs->SetPerformRevocationCheck( ETrue );
- }
- else
- {
- aUIHandler->SetOcspProcedure( ESisxUIOcspProcOff );
- aPrefs->SetPerformRevocationCheck( EFalse );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIOperationWatcher::GetInstalledPackagesL
-// Helper to get the packages that were installed in this session.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUIOperationWatcher::GetInstalledPackagesL( RPointerArray<CSisxUIAppInfo>& aPackages )
- {
- ContentAccess::CContent* content = NULL;
- if ( iIsPipFile )
- {
- // The source file is a pip file, we need to use the extracted sis file instead.
- content = ContentAccess::CContent::NewLC( iTempFile );
- }
- else
- {
- content = ContentAccess::CContent::NewLC( iSourceFile );
- }
-
- ContentAccess::CData* data = content->OpenContentLC( ContentAccess::EExecute );
-
- // Read the uid from the package
- TInt32 uid( 0 );
- TPckg<TInt32> uidpkg( uid );
- TInt pos( KSisxFileUidPosition );
- data->Seek( ESeekStart, pos );
- data->Read( uidpkg, sizeof( TInt32 ) );
-
- CleanupStack::PopAndDestroy( 2, content );
-
- iUIHandler->ProcessedPackages( aPackages );
-
- // Currently we can only get the parent package
- for ( TInt index = 0; index < 1 && index < aPackages.Count(); index++ )
- {
- aPackages[index]->SetUid( TUid::Uid( uid ) );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIOperationWatcher::HandleStartupAdditionL
-// Helper to handle startup list addition.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUIOperationWatcher::HandleStartupAdditionL( const CSisxUIAppInfo& aAppInfo )
- {
- FLOG( _L("SisxUI: Handle startup") );
-
- if ( FeatureManager::FeatureSupported( KFeatureIdExtendedStartup ) )
- {
- CSisxUIStartupFile* startupFile = CSisxUIStartupFile::NewL( aAppInfo.Uid() );
- CleanupStack::PushL( startupFile );
-
- // First check if there is a control file in import dir
- if ( startupFile->NewFileExists() )
- {
- FLOG( _L("SisxUI: Processing control file") );
-
- // Get all files installed by this package
- Swi::RSisRegistrySession regSession;
- CleanupClosePushL( regSession );
- User::LeaveIfError( regSession.Connect() );
-
- Swi::RSisRegistryEntry regEntry;
- CleanupClosePushL( regEntry );
- User::LeaveIfError( regEntry.Open( regSession, aAppInfo.Uid() ) );
-
- regEntry.FilesL( iInstalledFiles );
-
- CleanupStack::PopAndDestroy( 2 ); // regEntry, regSession
-
- RArray<TStartupTaskParam> params;
-
- // See if there are some old items, if so remove them
- if ( startupFile->PrivateFileExists() )
- {
- startupFile->RemovePrivateFile( params );
- CleanupClosePushL( params );
- RemoveStartupItemsL( params );
- CleanupStack::Pop(); // params
- params.Reset();
- }
-
- startupFile->ProcessNewFile( params, iInstalledFiles );
-
- CleanupClosePushL( params );
- AddStartupItemsL( params );
- CleanupStack::PopAndDestroy(); // params
- iInstalledFiles.ResetAndDestroy();
- }
-
- iTaskManager->CommitL();
-
- CleanupStack::PopAndDestroy( startupFile );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIOperationWatcher::PrepareInstallL
-// Prepares the installation.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUIOperationWatcher::PrepareInstallL()
- {
- Swi::CInstallPrefs* prefs = Swi::CInstallPrefs::NewL();
- CleanupStack::PushL( prefs );
-
- // Prepare for possible OCSP
- PrepareOCSPL( iUIHandler, prefs );
-
- // Check if we allow untrusted SW to be installed
- CRepository* repository = CRepository::NewL( KCRUidSWInstallerSettings );
- CleanupStack::PushL( repository );
- TInt value( 1 );
- repository->Get( KSWInstallerAllowUntrusted, value );
- if ( !value )
- {
- iUIHandler->SetAllowUntrusted( EFalse );
- }
- else
- {
- iUIHandler->SetAllowUntrusted( ETrue );
- }
- CleanupStack::PopAndDestroy( repository );
-
- // Get supported language ids in a RArray for Swi::CAsyncLauncher::InstallL()
- iSupportedLanguages.Reset();
- CArrayFixFlat<TInt>* installedLanguages = NULL;
- TInt err = SysLangUtil::GetInstalledLanguages( installedLanguages, &iRfs );
- CleanupStack::PushL( installedLanguages );
- User::LeaveIfError( err );
- if( installedLanguages )
- {
- for( TInt lang = 0; lang < installedLanguages->Count(); lang++ )
- {
- iSupportedLanguages.AppendL( (*installedLanguages)[ lang ] );
- }
- }
- CleanupStack::PopAndDestroy( installedLanguages );
-
- if ( *iMIME == KPipMimeType )
- {
- // Handle the pip file
- HandlePipFileL( iSourceFile, iTempFile );
-
- // Start installation
- iLauncher->InstallL( *iUIHandler, iTempFile, *prefs, iSupportedLanguages, iStatus );
- }
- else
- {
- // Start installation
- iLauncher->InstallL( *iUIHandler, iSourceFile, *prefs, iSupportedLanguages, iStatus );
- }
-
- CleanupStack::PopAndDestroy( prefs );
-
- // Preparing done
- iPreparing = EFalse;
- SetActive();
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIOperationWatcher::CompleteInstallationL
-// Completes the installation
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUIOperationWatcher::CompleteInstallationL()
- {
- FLOG( _L("SisxUI: CompleteInstallationL ->") );
- // If this was a pip file, process it
- if ( iIsPipFile )
- {
- FLOG( _L("SisxUI: PIP file") );
-
- CDRMLicenseManager* licenseMgr = CDRMLicenseManager::NewL();
- CleanupStack::PushL( licenseMgr );
- TInt err = licenseMgr->ProcessL( iSourceFile, KNullDesC() );
- if ( err != KErrNone )
- {
- // Reset the OK result so that we can show the error.
- iUIHandler->ResetResult();
- User::Leave( KSWInstErrFileCorrupted );
- }
-
- CleanupStack::PopAndDestroy( licenseMgr );
-
-// RVIN-6JUGWH
- HBufC* fileName = HBufC::NewLC( 100 );
- TPtr fileNamePtr( fileName->Des() );
- TInt err2 = iSourceFile.Name( fileNamePtr );
-
- FLOG_1( _L("Original file name: %S"), &fileNamePtr );
-
- TInt i = 0;
- for ( ; i < fileNamePtr.Length(); i++ )
- {
- if ( fileNamePtr[i] == KDot )
- {
- break;
- }
- }
-
- HBufC* tmpFile = HBufC::NewLC( i + 4 );
- TPtr tmpFilePtr( tmpFile->Des() );
- tmpFilePtr = fileNamePtr.Left( i + 1 );
- tmpFilePtr.Append( KSisString );
-
- FLOG_1( _L( "Changed file name: %S" ), &tmpFilePtr );
-
- // Create data supplier
- CContent* content = CContent::NewLC( iSourceFile );
-
- HBufC* contentID = HBufC::NewLC( KMaxCafContentName );
- TPtr contPtr(NULL, NULL);
-
- // create attribute set
- ContentAccess::RStringAttributeSet stringAttSet;
- //RStringAttributeSet stringAttSet;
- CleanupClosePushL( stringAttSet );
-
- stringAttSet.AddL( EContentID );
-
- content->GetStringAttributeSet( stringAttSet );
-
- // pass on values of string attributes
- contPtr.Set( contentID->Des() );
-
- err = stringAttSet.GetValue( EContentID, contPtr );
-
- if ( err != KErrNone )
- {
- FLOG_1( _L("SisxUI: ContentID error = %d"), err );
- // Reset the OK result so that we can show the error.
- iUIHandler->ResetResult();
- User::Leave( KSWInstErrGeneralError );
- }
-
- HBufC8* contentID8 = HBufC8::NewLC( contentID->Length() );
- TPtr8 cont8Ptr = contentID8->Des();
-
- // Copy 8bit data from contentID buffer.
- // Note that AgentSpecificCommand function take's only 8bit data.
- cont8Ptr.Copy( contPtr );
-
- HBufC8* buffer = HBufC8::NewMaxLC( sizeof( TInt ) +
- contentID8->Size() +
- tmpFilePtr.Size() );
- TUint8* bptr = const_cast<TUint8*>( buffer->Ptr() );
-
- TUint length = tmpFilePtr.Length();
- TPtr8 temp( NULL, 0, 0 );
- TPtr8 buf( buffer->Des() );
- Mem::Copy(bptr, &length, sizeof(TInt));
- Mem::Copy(bptr+sizeof( TInt ), tmpFilePtr.Ptr(), length * 2 );
- Mem::Copy(bptr+sizeof( TInt )+( length * 2 ), contentID8->Ptr(), contentID8->Size());
-
- ContentAccess::CManager* manager = NULL;
- ContentAccess::TAgent agent;
-
- // Find the caf agent and create manager
- manager = GetCafDataL( agent );
-
- // ignore any error, we couldn't do anything about it anyway
- length = manager->AgentSpecificCommand( agent, ContentAccess::ESetContentName,
- buf, temp);
-
- FLOG( _L("SisxUI: PopAndDestroy") );
- // buffer, tmpfile, fileName, content, contentID, stringAttSet, contentID8
- CleanupStack::PopAndDestroy( 7 );
- delete manager;
-// RVIN-6JUGWH
- }
-
- FLOG( _L("SisxUI: GetInstalledPackagesL") );
-
- // Here we get only the first package in case of embedded packages
- // as currently there is no means to get the sub packages
- RPointerArray<CSisxUIAppInfo> packages;
- GetInstalledPackagesL( packages );
- CleanupClosePushL( packages );
-
- // Create log entry for every installed package and handle possible
- // startup list addition.
- for ( TInt index = 0; index < packages.Count(); index++ )
- {
- // Handle startup list
- // Currently, if embedded sis, only the first package can contain
- // startup items
- if ( !index && packages[index]->IsTrusted() )
- {
- HandleStartupAdditionL( *packages[index] );
-
- // Handle log
- HandleLogL( *packages[index], ELogTaskActionInstall, ETrue );
- }
- else
- {
- // Handle log
- HandleLogL( *packages[index], ELogTaskActionInstall, EFalse );
- }
- }
-
-// JPAA-7GEB7P
- // Register PIP file content to DRM DCF server.
- if ( iIsPipFile )
- {
- TInt siscount = packages.Count();
- FLOG_1( _L("SisxUI: packages.Count() = %d"), siscount );
-
- if ( siscount )
- {
- TUid pkgUid( packages[0]->Uid() );
- FLOG_1( _L("SisxUI: package UID: 0x%x"), pkgUid.iUid );
- RegisterContentToDCF( pkgUid );
- }
- }
-// JPAA-7GEB7P
-
- FLOG( _L("SisxUI: PopAndDestroy") );
- CleanupStack::PopAndDestroy(); // packages
-
- FLOG( _L("SisxUI: CompleteInstallationL <-") );
-
- // Make sure that all other control files are removed.
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIOperationWatcher::CompleteUninstallationL
-// Completes the uninstallation
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUIOperationWatcher::CompleteUninstallationL()
- {
- NotifyEndUninstall();
-
- RemoveStartupFileL( iUninstalledUid );
- iTaskManager->CommitL();
-
- RPointerArray<CSisxUIAppInfo> packages;
- iUIHandler->ProcessedPackages( packages );
- CleanupClosePushL( packages );
-
- if ( packages.Count() > 0 )
- {
- packages[0]->SetUid( iUninstalledUid );
-
- HandleLogL( *packages[0], ELogTaskActionUninstall, iStartupModified );
- }
- CleanupStack::PopAndDestroy(); // packages
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIOperationWatcher::DoUninstallAugmentationL
-// Performs the uninstallation of augmentation.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUIOperationWatcher::DoUninstallAugmentationL( TUid aUid, TInt aIndex )
- {
- // Find the augmentation
- Swi::RSisRegistrySession regSession;
- CleanupClosePushL( regSession );
- User::LeaveIfError( regSession.Connect() );
-
- Swi::RSisRegistryEntry regEntry;
- CleanupClosePushL( regEntry );
- User::LeaveIfError( regEntry.Open( regSession, aUid ) );
-
- regEntry.AugmentationsL( iAugmentations );
-
- for ( TInt i( 0 ); i < iAugmentations.Count(); i++ )
- {
- if ( iAugmentations[i]->Index() == aIndex )
- {
- iIsAugmentation = ETrue;
- // We found the correct package, now uninstall it
- iLauncher->UninstallL( *iUIHandler, *iAugmentations[i], iStatus );
- SetActive();
- break;
- }
- if ( i == iAugmentations.Count() + 1 )
- {
- // We have gone through the whole list and couldn't find the package
- User::Leave( KErrNotFound );
- }
- }
-
- iAugmentations.ResetAndDestroy();
- CleanupStack::PopAndDestroy( 2, ®Session );
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIOperationWatcher::NotifyStartUninstallL
-// Notifies that uninstallation is about to start.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUIOperationWatcher::NotifyStartUninstallL( TUid aUid )
- {
- _LIT_SECURITY_POLICY_PASS( KPropReadPolicy );
- _LIT_SECURITY_POLICY_C1( KPropWritePolicy, ECapabilityWriteDeviceData );
-
- // Try to define the property if this is the first time
- TInt err = RProperty::Define( KPSUidSWInstallerUiNotification,
- KSWInstallerUninstallation,
- RProperty::EInt,
- KPropReadPolicy,
- KPropWritePolicy );
- if ( err != KErrNone && err != KErrAlreadyExists )
- {
- User::Leave( err );
- }
-
- // Set the package uid as the value
- err = RProperty::Set( KPSUidSWInstallerUiNotification,
- KSWInstallerUninstallation,
- aUid.iUid );
- User::LeaveIfError( err );
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIOperationWatcher::NotifyEndUninstall
-// Notifies that uninstallation has been completed.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUIOperationWatcher::NotifyEndUninstall()
- {
- RProperty::Set( KPSUidSWInstallerUiNotification,
- KSWInstallerUninstallation,
- 0 );
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIOperationWatcher::GetCafDataL
-// Handles searching correct DRM agent and manager.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-ContentAccess::CManager* CSisxUIOperationWatcher::GetCafDataL( ContentAccess::TAgent& aAgent )
- {
- RArray<TAgent> agents;
-
- CleanupClosePushL( agents );
- CManager* manager = CManager::NewLC();
-
- manager->ListAgentsL( agents );
-
- for ( TInt i = 0; i < agents.Count(); i++ )
- {
- if (agents[i].Name().Compare(KOmaDrm2AgentName) == 0)
- {
- aAgent = agents[i];
- break;
- }
- }
- CleanupStack::Pop( manager );
- CleanupStack::PopAndDestroy( &agents );
- return manager;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIOperationWatcher::RegisterContentToDCF
-// This function does register PIP packages content to DCF server.
-// -----------------------------------------------------------------------------
-//
-void CSisxUIOperationWatcher::RegisterContentToDCF( TUid aUid )
- {
- // Note that currently we do register only skin (*.skn)
- // files since there is not way to SisxUI plugin to know
- // which files should be registerd to DCF. It is not reasonable
- // to push all files to DCF and hope that some is correct one.
-
- FLOG( _L("SisxUI: RegisterContentToDCF") );
- Swi::RSisRegistrySession sisRegSession;
- User::LeaveIfError( sisRegSession.Connect() );
- CleanupClosePushL( sisRegSession );
-
- // Get current package UID and open the entry.
- Swi::RSisRegistryEntry entry;
- // Open entry
- TInt error = entry.Open( sisRegSession, aUid );
- FLOG_1( _L("SisxUI: SisEntry open error: %d"), error );
-
- if ( error == KErrNone )
- {
- CleanupClosePushL( entry );
- // Get all files to array for DCF update.
- RPointerArray<HBufC> fileArray;
- CleanupResetAndDestroyPushL( fileArray );
- TInt index = 0;
- // It seems that some PIP pkg do not have files in
- // main pacakge, but let's make sure that we do not
- // miss any files.
- FLOG( _L("SisxUI: Get files from main pkg") );
- RPointerArray<HBufC> sisFileArray;
- entry.FilesL( sisFileArray );
- CleanupResetAndDestroyPushL( sisFileArray );
-
- // Add main package's file paths to file array.
- SearchFilesForDCFL( sisFileArray, fileArray );
-
- // Let's see if there is augmentations to this main pkg.
- RPointerArray<Swi::CSisRegistryPackage> augPackages;
- entry.AugmentationsL( augPackages );
- CleanupResetAndDestroyPushL( augPackages );
-
- TInt augCount = augPackages.Count();
- FLOG_1( _L("SisxUI: augmentations count = %d"), augCount );
-
- if ( augCount )
- {
- // There may be several augmentaion pkgs and we need
- // check them all.
- for ( TInt augInd = 0; augInd < augCount; augInd++ )
- {
- FLOG_1( _L("SisxUI: augm. index = %d"), augInd );
- Swi::RSisRegistryEntry augEntry;
-
- error = augEntry.OpenL(
- sisRegSession,
- *augPackages[augInd] );
- FLOG_1( _L("SisxUI: Open augm. error = %d"), error );
-
- if ( !error )
- {
- CleanupClosePushL( augEntry );
-
- RPointerArray<HBufC> augFileArray;
- augEntry.FilesL( augFileArray );
- CleanupResetAndDestroyPushL( augFileArray );
-
- // Add file paths to file array.
- SearchFilesForDCFL( augFileArray, fileArray );
-
- // augEntry, augFileArray
- CleanupStack::PopAndDestroy( 2, &augEntry );
- }
- }//for
- }
- // sisFileArray, augPackages
- CleanupStack::PopAndDestroy( 2, &sisFileArray );
-
- // Ok let's start to register files to DCF server.
- TInt fileCount = fileArray.Count();
-
- if ( fileCount )
- {
- FLOG( _L("SisxUI: Create DCF entry") );
- CDcfEntry* dcfEntry = CDcfEntry::NewL();
- CleanupStack::PushL( dcfEntry );
-
- CDcfRep* dcfRep = CDcfRep::NewL();
- CleanupStack::PushL( dcfRep );
-
- for (index = 0; index < fileCount; index++ )
- {
- TPtr fileBufPtr = fileArray[index]->Des();
- FLOG_1( _L("SisxUI: DCF SetLocationL with file: %S"), &fileBufPtr );
-
- TRAP( error, dcfEntry->SetLocationL( fileBufPtr, 0 ) );
- FLOG_1( _L("SisxUI: SetLocationL err = %d"), error );
- // Note UpdateL function needs to be TRAPed. It
- // does leave if file type is not supported.
- TRAP( error, dcfRep->UpdateL( dcfEntry ) );
- FLOG_1( _L("SisxUI: UpdateL err = %d"), error );
- }
- // dcfRep, dcfEntry
- CleanupStack::PopAndDestroy( 2 );
- }
- // fileArray
- CleanupStack::PopAndDestroy( 1, &fileArray );
- // sisRegSession, sisRegEntry
- CleanupStack::PopAndDestroy( 2, &sisRegSession );
- }
- }
-
-
-// -----------------------------------------------------------------------------
-// CSisxUIOperationWatcher::SearchFilesForDCFL
-// This function finds files for DCF server.
-// -----------------------------------------------------------------------------
-//
-void CSisxUIOperationWatcher::SearchFilesForDCFL(
- RPointerArray<HBufC>& aSourceArray,
- RPointerArray<HBufC>& aTargetArray )
- {
- FLOG( _L("SisxUI: SearchFilesForDCFL") );
- // Currently we do register only skin files.
- // Note for now there is no way to get list from file types
- // which DCF server will accecpt. PIP package contais
- // some txt file which specifies files to be registred,
- // but SisxUI do not have acceess to that file since DRM
- // has extracts the pip content.
-
- TInt fileCount = aSourceArray.Count();
- FLOG_1( _L("SisxUI: package file count = %d"), fileCount );
-
- if ( fileCount )
- {
- for ( TInt index = 0; index < fileCount; index++ )
- {
- HBufC* tempPath = aSourceArray[index];
- // Search extension
- FLOG( _L("SisxUI: Search extension") );
- if ( tempPath->Match( KSkinExtension ) != KErrNotFound )
- {
- // Ok correct file extension found. Alloc memory
- // because source may be deleted.
- HBufC* filePath = tempPath->AllocL();
- aTargetArray.Append( filePath );
-#ifdef _DEBUG
- TPtr tempPtr = filePath->Des();
- FLOG_1( _L("SisxUI: Add file to array: %S"), &tempPtr );
-#endif
- }
- }
- }
- }
-
-// End of File
--- a/appinstaller/AppinstUi/Plugin/SisxUI/Src/SisxUIResult.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,346 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains the implementation of CSisxUI
-* class member functions.
-*
-*/
-
-
-// INCLUDE FILES
-
-#include <SWInstDefs.h>
-
-#include "SisxUIResult.h"
-
-using namespace SwiUI;
-
-// -----------------------------------------------------------------------------
-// TSisxUIResult::TSisxUIResult
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-TSisxUIResult::TSisxUIResult()
- : iResult( EUiResultNoResult ), iDetailedErrorCode( 0 )
- {
- }
-
-// -----------------------------------------------------------------------------
-// TSisxUIResult::TSisxUIResult
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-TSisxUIResult::TSisxUIResult( const TSisxResultCode& aResult )
- : iResult( aResult ), iDetailedErrorCode( 0 )
- {
- }
-
-// -----------------------------------------------------------------------------
-// TSisxUIResult::TSisxUIResult
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-TSisxUIResult::TSisxUIResult( const Swi::TRevocationDialogMessage& aResult )
- {
- switch ( aResult )
- {
- case Swi::EInvalidRevocationServerUrl:
- iResult = EUiResultInvalidRevocationServerUrl;
- break;
-
- case Swi::EUnableToObtainCertificateStatus:
- iResult = EUiResultUnableToObtainCertificateStatus;
- break;
-
- case Swi::EResponseSignatureValidationFailure:
- iResult = EUiResultResponseSignatureValidationFailure;
- break;
-
- case Swi::EInvalidRevocationServerResponse:
- iResult = EUiResultInvalidRevocationServerResponse;
- break;
-
- case Swi::EInvalidCertificateStatusInformation:
- iResult = EUiResultInvalidCertificateStatusInformation;
- break;
-
- case Swi::ECertificateStatusIsUnknown:
- iResult = EUiResultCertificateStatusIsUnknown;
- break;
-
- case Swi::ECertificateStatusIsRevoked:
- iResult = EUiResultCertificateStatusIsRevoked;
- break;
-
- case Swi::ECertificateStatusIsUnknownSelfSigned:
- iResult = EUiResultCertificateStatusIsUnknownSelfSigned;
- break;
-
- default:
- iResult = EUiResultGeneralError;
- iDetailedErrorCode = aResult;
- break;
- }
- }
-
-// -----------------------------------------------------------------------------
-// TSisxUIResult::TSisxUIResult
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-TSisxUIResult::TSisxUIResult( const Swi::TSignatureValidationResult& aResult )
- {
- switch ( aResult )
- {
- case Swi::ESignatureNotPresent:
- iResult = EUiResultSignatureNotPresent;
- break;
-
- case Swi::ENoCertificate:
- iResult = EUiResultNoCertificate;
- break;
-
- case Swi::ECertificateValidationError:
- iResult = EUiResultCertificateValidationError;
- break;
-
- case Swi::ENoCodeSigningExtension:
- iResult = EUiResultNoCodeSigningExtension;
- break;
-
- case Swi::ENoSupportedPolicyExtension:
- iResult = EUiResultNoSupportedPolicyExtension;
- break;
-
- case Swi::ESignatureCouldNotBeValidated:
- iResult = EUiResultSignatureCouldNotBeValidated;
- break;
-
- case Swi::EMandatorySignatureMissing:
- iResult = EUiResultMandatorySignatureMissing;
- break;
-
- case Swi::ESignatureSelfSigned:
- iResult = EUiResultSignatureSelfSigned;
- break;
-
- default:
- iResult = EUiResultGeneralError;
- iDetailedErrorCode = aResult;
- break;
- }
- }
-
-// -----------------------------------------------------------------------------
-// TSisxUIResult::TSisxUIResult
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-TSisxUIResult::TSisxUIResult( const Swi::TErrorDialog& aResult )
- {
- switch ( aResult )
- {
- case Swi::EUiAlreadyInRom:
- iResult = EUiResultAlreadyInRom;
- break;
-
- case Swi::EUiMissingDependency:
- iResult = EUiResultMissingDependency;
- break;
-
- case Swi::EUiRequireVer:
- iResult = EUiResultRequireVer;
- break;
-
- case Swi::EUiRequireVerOrGreater:
- iResult = EUiResultRequireVerOrGreater;
- break;
-
- case Swi::EUiFileCorrupt:
- iResult = EUiResultFileCorrupt;
- break;
-
- case Swi::EUiDiskNotPresent:
- iResult = EUiResultDiskNotPresent;
- break;
-
- case Swi::EUiCannotRead:
- iResult = EUiResultCannotRead;
- break;
-
- case Swi::EUiCannotDelete:
- iResult = EUiResultCannotDelete;
- break;
-
- case Swi::EUiInvalidFileName:
- iResult = EUiResultInvalidFileName;
- break;
-
- case Swi::EUiFileNotFound:
- iResult = EUiResultFileNotFound;
- break;
-
- case Swi::EUiInsufficientSpaceOnDrive:
- case Swi::EUiNoMemoryInDrive:
- iResult = EUiResultInsufficientSpaceOnDrive;
- break;
-
- case Swi::EUiCapabilitiesCannotBeGranted:
- iResult = EUiResultCapabilitiesCannotBeGranted;
- break;
-
- case Swi::EUiUnknownFile:
- iResult = EUiResultUnknownFile;
- break;
-
- case Swi::EUiMissingBasePackage:
- iResult = EUiResultMissingBasePackage;
- break;
-
- case Swi::EUiConstraintsExceeded:
- iResult = EUiResultConstraintsExceeded;
- break;
-
- case Swi::EUiSIDViolation:
- iResult = EUiResultSIDViolation;
- break;
-
- case Swi::EUiVIDViolation:
- iResult = EUiResultVIDViolation;
- break;
-
- case Swi::EUiUIDPackageViolation:
- iResult = EUiResultUIDPackageViolation;
- break;
-
- case Swi::EUiBlockingEclipsingFile:
- iResult = EUiResultBlockingEclipsingFile;
- break;
-
- case Swi::EUiOSExeViolation:
- iResult = EUiResultOSExeViolation;
- break;
-
- case Swi::EUiSIDMismatch:
- iResult = EUiResultSIDMismatch;
- break;
-
- default:
- iResult = EUiResultGeneralError;
- iDetailedErrorCode = aResult;
- break;
- }
- }
-
-// -----------------------------------------------------------------------------
-// TSisxUIResult::CommonResult
-// Returns the common SWInst result code for this result.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt TSisxUIResult::CommonResult() const
- {
- TInt result( KErrNone );
-
- switch ( iResult )
- {
- case EUiResultOk:
- result = KErrNone;
- break;
-
- case EUiResultCancelled:
- result = KSWInstErrUserCancel;
- break;
-
- case EUiResultAlreadyInRom:
- case EUiResultUnableToOverwrite:
- case EUiResultCannotDelete:
- result = KSWInstErrFileInUse;
- break;
-
- case EUiResultUnknownFile:
- case EUiResultFileNotFound:
- case EUiResultInvalidFileName:
- case EUiResultFileCorrupt:
- case EUiResultCannotRead:
- result = KSWInstErrFileCorrupted;
- break;
-
- case EUiResultInsufficientMemory:
- case EUiResultInsufficientSpaceOnDrive:
- result = KSWInstErrInsufficientMemory;
- break;
-
- case EUiResultNoCertificate:
- case EUiResultCertificateValidationError:
- case EUiResultSignatureNotPresent:
- case EUiResultSignatureCouldNotBeValidated:
- case EUiResultNoCodeSigningExtension:
- case EUiResultNoSupportedPolicyExtension:
- case EUiResultMandatorySignatureMissing:
- case EUiResultInvalidRevocationServerResponse:
- case EUiResultInvalidRevocationServerUrl:
- case EUiResultUnableToObtainCertificateStatus:
- case EUiResultResponseSignatureValidationFailure:
- case EUiResultInvalidCertificateStatusInformation:
- case EUiResultCertificateStatusIsUnknown:
- case EUiResultCertificateStatusIsRevoked:
- case EUiResultCertificateStatusIsUnknownSelfSigned:
- case EUiResultCertificateExpired:
- case EUiResultCertificateValidInFuture:
- case EUiResultSignatureSelfSigned:
- case EUiResultCapabilitiesCannotBeGranted:
- case EUiResultSIDViolation:
- case EUiResultVIDViolation:
- case EUiResultConstraintsExceeded:
- case EUiResultUIDPackageViolation:
- case EUiResultSIDMismatch:
- result = KSWInstErrSecurityFailure;
- break;
-
- case EUiResultAccessDenied:
- case EUiResultCannotUninstallPartialUpgrade:
- case EUiResultOSExeViolation:
- result = KSWInstErrAccessDenied;
- break;
-
- case EUiResultMissingDependency:
- case EUiResultRequireVer:
- case EUiResultRequireVerOrGreater:
- case EUiResultMissingBasePackage:
- result = KSWInstErrMissingDependency;
- break;
-
- case EUiResultInvalidUpgrade:
- case EUiResultBlockingEclipsingFile:
- result = KSWInstUpgradeError;
- break;
-
- case EUiResultGeneralError:
- case EUiResultDiskNotPresent:
- case EUiResultNoResult:
- default:
- result = KSWInstErrGeneralError;
- break;
- }
-
- return result;
- }
-
-
-// End of File
--- a/appinstaller/AppinstUi/Plugin/SisxUI/Src/SisxUISelectionCache.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,213 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains the implementation of CSisxUISelectionCache
-* class member functions.
-*
-*/
-
-
-// INCLUDE FILES
-#include "SisxUISelectionCache.h"
-
-using namespace SwiUI;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CSisxUISelectionCache::CSisxUISelectionCache
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CSisxUISelectionCache::CSisxUISelectionCache()
- {
-
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUISelectionCache::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CSisxUISelectionCache::ConstructL()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUISelectionCache::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CSisxUISelectionCache* CSisxUISelectionCache::NewL()
- {
- CSisxUISelectionCache* self = new( ELeave ) CSisxUISelectionCache();
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-// Destructor
-CSisxUISelectionCache::~CSisxUISelectionCache()
- {
- iOptions.ResetAndDestroy();
- iSelections.Reset();
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUISelectionCacheAppInfo::LanguageCached
-// Indicates if language selection is cached.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CSisxUISelectionCache::LanguageCached() const
- {
- return iLanguageCached;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUISelectionCacheAppInfo::LanguageCached
-// Returns cached language.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TLanguage CSisxUISelectionCache::Language() const
- {
- return iLanguage;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUISelectionCacheAppInfo::LanguageCached
-// Sets the cached language.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUISelectionCache::SetLanguage( const TLanguage& aLanguage )
- {
- iLanguage = aLanguage;
- iLanguageCached = ETrue;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUISelectionCacheAppInfo::LanguageCached
-// Indicates if drive selection is cached.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CSisxUISelectionCache::DriveCached() const
- {
- TBool result( EFalse );
-
- if ( iDrive != 0 )
- {
- result = ETrue;
- }
- return result;
- }
-
-
-
-// -----------------------------------------------------------------------------
-// CSisxUISelectionCacheAppInfo::LanguageCached
-// Returns cached drive.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TDriveUnit CSisxUISelectionCache::Drive() const
- {
- return iDrive;
- }
-
-
-
-// -----------------------------------------------------------------------------
-// CSisxUISelectionCacheAppInfo::LanguageCached
-// Sets the cached drive.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUISelectionCache::SetDrive( TDriveUnit aDrive )
- {
- iDrive = aDrive;
- }
-
-
-// -----------------------------------------------------------------------------
-// CSisxUISelectionCacheAppInfo::LanguageCached
-// Indicates if options selection is cached.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CSisxUISelectionCache::OptionsCached( const RPointerArray<TDesC>& aOptions ) const
- {
- TBool result( EFalse );
-
- if ( iOptions.Count() > 0 && aOptions.Count() == iOptions.Count() )
- {
- for ( TInt index = 0; index < iOptions.Count(); index++ )
- {
- if ( aOptions[index] != iOptions[index] )
- {
- result = EFalse;
- break;
- }
- }
- result = ETrue;
- }
-
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUISelectionCacheAppInfo::LanguageCached
-// Returns cached option selections.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUISelectionCache::Options( RArray<TBool>& aSelections )
- {
- for ( TInt index = 0; index < aSelections.Count(); index++ )
- {
- aSelections[index] = iSelections[index];
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUISelectionCacheAppInfo::SetOptionsL
-// Sets the cached options.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUISelectionCache::SetOptionsL( const RPointerArray<TDesC>& aOptions,
- const RArray<TBool>& aSelections )
- {
- TInt index( 0 );
-
- iOptions.ResetAndDestroy();
- iSelections.Reset();
-
- for ( index = 0; index < aOptions.Count(); index++ )
- {
- HBufC* tmp = aOptions[index]->AllocLC();
- iOptions.Append( tmp );
- }
-
- for ( index = 0; index < aSelections.Count(); index++ )
- {
- iSelections.Append( aSelections[index] );
- }
- }
-
-
-// End of File
--- a/appinstaller/AppinstUi/Plugin/SisxUI/Src/SisxUISilentHandler.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,747 +0,0 @@
-/*
-* Copyright (c) 2002-2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains the implementation of CSisxUISilentHandler
-* class member functions.
-*
-*/
-
-
-// INCLUDE FILES
-#include <eikenv.h>
-#include <apgtask.h>
-#include <SWInstDefs.h>
-
-
-#include "SisxUISilentHandler.h"
-#include "SisxUICertificateInfo.h"
-#include "SisxUIAppInfo.h"
-#include "SisxUISelectionCache.h"
-#include "SisxUIResult.h"
-
-
-using namespace SwiUI;
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CSisxUISilentHandler::CSisxUISilentHandler
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CSisxUISilentHandler::CSisxUISilentHandler( const TInstallOptions &aOptions,
- MSisxUICancelObserver* aCancelObserver )
- : CSisxUIHandler( EModeInstall, aCancelObserver), iOptions( aOptions )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUISilentHandler::CSisxUISilentHandler
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CSisxUISilentHandler::CSisxUISilentHandler( const TUninstallOptions &aOptions,
- MSisxUICancelObserver* aCancelObserver )
- : CSisxUIHandler( EModeUninstall, aCancelObserver ), iUninstallOptions( aOptions )
- {
- }
-// -----------------------------------------------------------------------------
-// CSisxUISilentHandler::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CSisxUISilentHandler::ConstructL()
- {
- iCache = CSisxUISelectionCache::NewL();
- // created just to load resources
- iCommonDialogs = CommonUI::CCUIDialogs::NewL();
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUISilentHandler::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CSisxUISilentHandler* CSisxUISilentHandler::NewL( const TInstallOptions &aOptions,
- MSisxUICancelObserver* aCancelObserver )
- {
- CSisxUISilentHandler* self = new( ELeave ) CSisxUISilentHandler( aOptions, aCancelObserver );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-CSisxUISilentHandler* CSisxUISilentHandler::NewL( const TUninstallOptions &aOptions,
- MSisxUICancelObserver* aCancelObserver )
- {
- CSisxUISilentHandler* self = new( ELeave ) CSisxUISilentHandler( aOptions, aCancelObserver );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-
-// Destructor
-CSisxUISilentHandler::~CSisxUISilentHandler()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUISilentHandler::DisplayInstallL
-// Displays a dialog at the beginning of an installation with details about the
-// SISX package being installed. This dialog must be shown in TrustedUI mode.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CSisxUISilentHandler::DisplayInstallL(
- const Swi::CAppInfo& /*aAppInfo*/,
- const CApaMaskedBitmap* /*aLogo*/,
- const RPointerArray<Swi::CCertificateInfo>& /*aCertificates*/ )
- {
- // Mark the integrity as done
- iIntegrityCheckDone = ETrue;
- TBool result( ETrue );
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUISilentHandler::DisplayGrantCapabilitiesL
-// displays a dialog requesting that the user grants these capabilities to the
-// SISX package being installed. This dialog must be shown in TrustedUI mode.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CSisxUISilentHandler::DisplayGrantCapabilitiesL( const Swi::CAppInfo& /*aAppInfo*/,
- const TCapabilitySet& /*aCapabilitySet*/ )
- {
- TBool result( EFalse );
- switch ( iOptions.iCapabilities )
- {
- case EPolicyAllowed:
- {
- result = ETrue;
- break;
- }
- case EPolicyUserConfirm:
- default:
- iResult = TSisxUIResult( EUiResultCapabilitiesCannotBeGranted );
- break;
- }
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUISilentHandler::DisplayLanguageL
-// requests preferred language and dialect information from the UI.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CSisxUISilentHandler::DisplayLanguageL( const Swi::CAppInfo& /*aAppInfo*/,
- const RArray<TLanguage>& aLanguages )
- {
- TInt languageIndex( -1 );
- TInt index( 0 ) ;
- if ( iOptions.iUsePhoneLang )
- {
- TLanguage phoneLanguage( User::Language() );
-
- // If phones default language is available in the file, do not query the user
- for ( index = 0; index < aLanguages.Count(); index++ )
- {
- // Check if this matches the phone language
- if( aLanguages[ index ] == phoneLanguage )
- {
- return index;
- }
-
- // Check if user has already selected this language during installation
- if( iCache->LanguageCached() && aLanguages[index] == iCache->Language() )
- {
- // Do not query user, we have a cached language
- return index;
- }
- }
- }
-
- if ( iOptions.iLang == ELangNone )
- {
- // Don't bother to see if there's ELangNone in language list
- if ( aLanguages.Count() > 0 )
- {
- languageIndex = 0;
- }
- }
- else
- {
- for ( index = 0; index < aLanguages.Count(); index++ )
- {
- // Check if this matches the language defined by silent install options
- if( aLanguages[ index ] == iOptions.iLang)
- {
- languageIndex = index;
- break;
- }
-
- // Check if user has already selected this language during installation
- if( iCache->LanguageCached() && aLanguages[index] == iCache->Language() )
- {
- // Do not query user, we have a cached language
- languageIndex = index;
- break;
- }
- }
- if ( languageIndex == -1 )
- {
- if ( aLanguages.Count() > 0 )
- {
- languageIndex = 0;
- }
- else
- {
- iResult = TSisxUIResult( EUiResultCancelled );
- }
- }
- else
- {
- // Cache only if no previous cache is found
- if( !iCache->LanguageCached() )
- {
- iCache->SetLanguage( aLanguages[languageIndex] );
- }
- }
- }
- return languageIndex;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUISilentHandler::DisplayDriveL
-// Requests the drive to install the package on, from the UI.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CSisxUISilentHandler::DisplayDriveL( const Swi::CAppInfo& /*aAppInfo*/,
- TInt64 aSize,
- const RArray<TChar>& aDriveLetters,
- const RArray<TInt64>& aDriveSpaces )
- {
- TInt selection( -1 );
-
- if ( aDriveLetters.Count() <= 0 )
- {
- iResult = TSisxUIResult( EUiResultInsufficientMemory );
- }
- else
- {
- // Find the drive specified in options
- for ( TInt index( aDriveLetters.Count() - 1 ); index >= 0; index-- )
- {
- TChar givenDrive( aDriveLetters[index] );
- givenDrive.Fold();
- TChar optionsDrive( iOptions.iDrive );
- optionsDrive.Fold();
-
- if ( givenDrive == optionsDrive || optionsDrive == KUserConfirmDrive )
- {
- if ( aDriveSpaces[index] > aSize )
- {
- selection = index;
- break;
- }
- else
- {
- iResult = TSisxUIResult( EUiResultInsufficientMemory );
- break;
- }
- }
- }
- if ( selection == -1 )
- {
- iResult = TSisxUIResult( EUiResultDiskNotPresent );
- }
- }
- return selection;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUISilentHandler::DisplayUpgradeL
-// Displays a dialog asking whether we want to upgrade an application present
-// on the device.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CSisxUISilentHandler::DisplayUpgradeL( const Swi::CAppInfo& /*aAppInfo*/,
- const Swi::CAppInfo& /*aExistingAppInfo*/ )
- {
- TBool result( EFalse );
- if ( iOptions.iUpgrade == EPolicyAllowed )
- {
- result = ETrue;
- }
- else
- {
- iResult = TSisxUIResult( EUiResultCancelled );
- }
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUISilentHandler::DisplayOptionsL
-// Displays a dialog box asking which options the user wishes to install.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CSisxUISilentHandler::DisplayOptionsL( const Swi::CAppInfo& /*aAppInfo*/,
- const RPointerArray<TDesC>& aOptions,
- RArray<TBool>& aSelections )
- {
- TBool response ( ETrue );
- if ( aOptions.Count() < 1 )
- {
- User::Leave( KErrArgument );
- }
- TBool allow( iOptions.iOptionalItems == EPolicyAllowed );
- // set all to
- for( TInt index( 0 ); index < aSelections.Count(); index++ )
- {
- aSelections[index] = allow ;
- }
- if ( !allow )
- {
- iResult = TSisxUIResult( EUiResultCancelled );
- }
- return response;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUISilentHandler::HandleInstallEventL
-// Informs the UI of events occurring during installation.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CSisxUISilentHandler::HandleInstallEventL( const Swi::CAppInfo& aAppInfo,
- Swi::TInstallEvent aEvent,
- TInt /*aValue*/,
- const TDesC& /*aDesC*/ )
- {
- switch ( aEvent )
- {
- case Swi::EEventSetProgressBarFinalValue:
- // Here we need to update the name and vendor of the main package.
- // They might have changed when a language has been selected.
- if ( iPackages.Count() > 0 )
- {
- iPackages[0]->SetNameL( aAppInfo.AppName() );
- iPackages[0]->SetVendorL( aAppInfo.AppVendor() );
- }
-
- break;
- case Swi::EEventOcspCheckEnd:
- iOcspInProgress = EFalse;
- break;
- default:
- break;
- }
- return ETrue;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUISilentHandler::HandleCancellableInstallEventL
-// Informs the UI of cancellable events occurring during installation.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUISilentHandler::HandleCancellableInstallEventL( const Swi::CAppInfo& /*aAppInfo*/,
- Swi::TInstallCancellableEvent /*aEvent*/,
- Swi::MCancelHandler& /*aCancelHandler*/,
- TInt /*aValue*/,
- const TDesC& /*aDes*/ )
- {
- // Empty
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUISilentHandler::DisplaySecurityWarningL
-// Displays a dialog indicating that the package is unsigned, or that signature
-// validation has failed.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CSisxUISilentHandler::DisplaySecurityWarningL( const Swi::CAppInfo& aAppInfo,
- Swi::TSignatureValidationResult aSigValidationResult,
- RPointerArray<CPKIXValidationResultBase>& /*aPkixResults*/,
- RPointerArray<Swi::CCertificateInfo>& /*aCertificates*/,
- TBool aInstallAnyway )
- {
- TBool result( EFalse );
- switch ( aSigValidationResult )
- {
- case Swi::EValidationSucceeded:
- {
- result = ETrue;
- CSisxUIAppInfo* appInfo = CSisxUIAppInfo::NewL( aAppInfo, ETrue );
- iPackages.Append( appInfo );
- break;
- }
-
- // Non fatals
- case Swi::ESignatureSelfSigned:
- case Swi::ESignatureNotPresent:
- case Swi::ENoCertificate:
- case Swi::ECertificateValidationError:
- case Swi::ENoCodeSigningExtension:
- case Swi::ENoSupportedPolicyExtension:
- // Fatals with aInstallAnyway set as EFalse
- case Swi::ESignatureCouldNotBeValidated:
- case Swi::EMandatorySignatureMissing:
- {
- // Check if we are allowed to continue installation
- if ( aInstallAnyway && iAllowUntrusted )
- {
- if ( iOptions.iUntrusted == EPolicyAllowed )
- {
- result = ETrue;
- CSisxUIAppInfo* appInfo = CSisxUIAppInfo::NewL( aAppInfo, ETrue );
- iPackages.Append( appInfo );
- }
- else
- {
- iResult = TSisxUIResult( aSigValidationResult );
- }
- }
- else
- {
- // Fatal error, not allowed to continue
- iResult = TSisxUIResult( aSigValidationResult );
- }
- break;
- }
-
- default:
- iResult = TSisxUIResult( aSigValidationResult );
- break;
- }
-
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUISilentHandler::DisplayOcspResultL
-// Displays a dialog indicating that there was an error carrying out online
-// certificate status checking.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CSisxUISilentHandler::DisplayOcspResultL( const Swi::CAppInfo& /*aAppInfo*/,
- Swi::TRevocationDialogMessage aMessage,
- RPointerArray<TOCSPOutcome>& /*aOutcomes*/,
- RPointerArray<Swi::CCertificateInfo>& /*aCertificates*/,
- TBool aWarningOnly )
- {
- TBool result( ETrue );
-
- // This will be treated as warning if engine says it's a warning and
- // ocsp setting is on. In case it's must, we abort the installation.
- if ( aWarningOnly && iOcspProc == ESisxUIOcspProcOn )
- {
- switch ( iOptions.iIgnoreOCSPWarnings )
- {
- case EPolicyAllowed:
- {
- result = ETrue;
- break;
- }
- case EPolicyUserConfirm:
- default:
- {
- result = EFalse;
- break;
- }
- }
- if ( !result )
- {
- iResult = TSisxUIResult( EUiResultCancelled );
- }
- }
- // error or ocsp is set to must
- else
- {
- iResult = TSisxUIResult( aMessage );
- result = EFalse;
- }
-
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUISilentHandler::DisplayCannotOverwriteFileL
-// Used to inform the user the installation they are attempting is trying to
-// overwrite a file that does not belong to it. Following this message
-// installation is aborted.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUISilentHandler::DisplayCannotOverwriteFileL( const Swi::CAppInfo& /*aAppInfo*/,
- const Swi::CAppInfo& /*aInstalledAppInfo*/,
- const TDesC& /*aFileName*/ )
- {
- iResult = TSisxUIResult( EUiResultUnableToOverwrite );
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUISilentHandler::DisplayMissingDependencyL
-// Used to inform the user of a missing dependency needed to install the
-// current package. It is up to the UI implementors and/or the user whether
-// or not this warning can be overridden.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CSisxUISilentHandler::DisplayMissingDependencyL( const Swi::CAppInfo& /*aAppInfo*/,
- const TDesC& /*aDependencyName*/,
- TVersion /*aWantedVersionFrom*/,
- TVersion /*aWantedVersionTo*/,
- TVersion /*aInstalledVersion*/ )
- {
- TBool result( EFalse );
- iResult = TSisxUIResult( EUiResultMissingDependency );
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUISilentHandler::DisplayUninstallL
-// Displays a dialog at the start of the uninstallation with information about
-// the application to be uninstalled. The user may cancel the uninstallation at
-// this stage. This dialog must be shown in TrustedUI mode.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CSisxUISilentHandler::DisplayUninstallL( const Swi::CAppInfo& aAppInfo )
- {
- TBool result( ETrue );
- CSisxUIAppInfo* appInfo = CSisxUIAppInfo::NewL( aAppInfo, EFalse );
- iPackages.Append( appInfo );
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUISilentHandler::DisplayTextL
-// Displays a dialog containing text. This dialog has only a Continue button if
-// aOption is EInstFileTextOptionContinue, or Yes and No buttons otherwise.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CSisxUISilentHandler::DisplayTextL( const Swi::CAppInfo& aAppInfo,
- Swi::TFileTextOption aOption,
- const TDesC& aText )
- {
- TBool result( EFalse );
- switch ( iOptions.iPackageInfo )
- {
- case EPolicyAllowed:
- {
- result = ETrue;
- break;
- }
- case EPolicyUserConfirm:
- {
- BringToForeground( ETrue);
- result = CSisxUIHandler::DisplayTextL( aAppInfo, aOption, aText );
- BringToForeground( EFalse);
- break;
- }
- default:
- {
- iResult = TSisxUIResult( EUiResultCancelled );
- break;
- }
- }
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUISilentHandler::DisplayErrorL
-// Displays a dialog showing an error message.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUISilentHandler::DisplayErrorL( const Swi::CAppInfo& /*aAppInfo*/,
- Swi::TErrorDialog aType,
- const TDesC& /*aParam*/ )
- {
- iResult = TSisxUIResult( aType );
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUISilentHandler::DisplayDependencyBreakL
-// Displays a dialog indicating that a component which is being uninstalled is
-// a dependency of another component installed.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CSisxUISilentHandler::DisplayDependencyBreakL( const Swi::CAppInfo& /*aAppInfo*/,
- const RPointerArray<TDesC>& /*aComponents */)
- {
- TBool result( EFalse );
- switch ( iUninstallOptions.iBreakDependency )
- {
- case EPolicyAllowed:
- {
- result = ETrue;
- break;
- }
- case EPolicyUserConfirm:
- default:
- iResult = TSisxUIResult( EUiResultCancelled );
- break;
- }
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUISilentHandler::DisplayApplicationsInUseL
-// Informs user that the applications are in use during an (un)installation.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CSisxUISilentHandler::DisplayApplicationsInUseL( const Swi::CAppInfo& /*aAppInfo*/,
- const RPointerArray<TDesC>& /*aAppNames */)
- {
- TBool result( EFalse );
- TPolicy policy;
- if ( iMode == EModeInstall )
- {
- policy = iOptions.iKillApp ;
- }
- else
- {
- policy = iUninstallOptions.iKillApp ;
- }
- switch ( policy )
- {
- case EPolicyAllowed:
- {
- result = ETrue;
- break;
- }
- case EPolicyUserConfirm:
- default:
- break;
- }
- if ( !result )
- {
- iResult = TSisxUIResult( EUiResultCancelled );
- }
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUISilentHandler::DisplayQuestionL
-// Displays a generic question dialog with a Yes/No answer.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CSisxUISilentHandler::DisplayQuestionL( const Swi::CAppInfo& /*aAppInfo*/,
- Swi::TQuestionDialog aQuestion,
- const TDesC& /*aDes*/ )
- {
- TBool result( EFalse );
- switch ( aQuestion )
- {
- case Swi::EQuestionIncompatible:
- {
- switch ( iOptions.iPackageInfo )
- {
- case EPolicyAllowed:
- case EPolicyUserConfirm:
- {
- result = ETrue;
- break;
- }
- default:
- iResult = TSisxUIResult( EUiResultCancelled );
- break;
- }
- break;
- }
- case Swi::EQuestionOverwriteFile:
- {
- switch ( iOptions.iOverwrite )
- {
- case EPolicyAllowed:
- {
- result = ETrue;
- break;
- }
- case EPolicyUserConfirm:
- default:
- iResult = TSisxUIResult( EUiResultCancelled );
- break;
- }
- break;
- }
- }
- return result;
- }
-
-
-// -----------------------------------------------------------------------------
-// CSisxUISilentHandler::ShowFinalNoteL
-// Show the final note.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUISilentHandler::ShowFinalNoteL()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUISilentHandler::BringToForeground
-// Swithces application to foreground or background. Used when user confirmation
-// dialog is used dialog is used in silent installation
-// -----------------------------------------------------------------------------
-//
-void CSisxUISilentHandler::BringToForeground( TBool aForeground )
- {
- RWsSession ws;
-
- if ( ws.Connect() == KErrNone )
- {
- CleanupClosePushL(ws);
- TApaTaskList tasklist(ws);
-
- if ( aForeground )
- {
- TApaTask task = tasklist.FindApp( TUid::Uid(KSWInstSvrUid) );
- if ( task.Exists() )
- {
- task.BringToForeground();
- }
- }
- else
- {
- TApaTask task = tasklist.FindApp( TUid::Uid(KSWInstSvrUid) );
- if ( task.Exists() )
- {
- task.SendToBackground();
- }
- }
-
- CleanupStack::PopAndDestroy(); //ws
- }
- }
-
-// End of File
--- a/appinstaller/AppinstUi/Plugin/SisxUI/Src/SisxUIStartupFile.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,379 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains the implementation of CSisxUIStartupFile
-* class member functions.
-*
-*/
-
-
-// INCLUDE FILES
-#include <s32file.h>
-#include <barsc.h>
-#include <barsread.h>
-#include <data_caging_path_literals.hrh>
-#include <pathinfo.h>
-#include <SWInstStartupTaskParam.h>
-
-#include "SisxUIStartupFile.h"
-
-using namespace SwiUI;
-
-_LIT( KNewFileFormat, "%S.rsc" );
-_LIT( KNewFileMatch, "[*].rsc" );
-_LIT( KPrivateFileDir, "startup\\" );
-_LIT( KPrivateFileFormat, "%S.dat" );
-_LIT( KImportDir, "Import\\" );
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CSisxUIStartupFile::CSisxUIStartupFile
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CSisxUIStartupFile::CSisxUIStartupFile()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIStartupFile::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CSisxUIStartupFile::ConstructL( const TUid& aUid )
- {
- User::LeaveIfError( iFileSession.Connect() );
-
- TUidName uidStr = aUid.Name();
- TFileName tmp;
-
- iFileSession.PrivatePath( tmp );
- tmp.Insert( 0, TParsePtrC( PathInfo::PhoneMemoryRootPath() ).Drive() );
- tmp.Append( KImportDir );
- tmp.AppendFormat( KNewFileFormat, &uidStr );
- iNewFile = tmp.AllocL();
- tmp.Zero();
-
- iFileSession.PrivatePath( tmp );
- tmp.Insert( 0, TParsePtrC( PathInfo::PhoneMemoryRootPath() ).Drive() );
- tmp.Append( KPrivateFileDir );
- iFileSession.MkDir( tmp );
- tmp.AppendFormat( KPrivateFileFormat, &uidStr );
- iPrivateFile = tmp.AllocL();
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIStartupFile::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CSisxUIStartupFile* CSisxUIStartupFile::NewL( const TUid& aUid )
- {
- CSisxUIStartupFile* self = new( ELeave ) CSisxUIStartupFile();
- CleanupStack::PushL( self );
- self->ConstructL( aUid );
- CleanupStack::Pop( self );
- return self;
- }
-
-// Destructor
-CSisxUIStartupFile::~CSisxUIStartupFile()
- {
- iFileSession.Close();
- delete iPrivateFile;
- delete iNewFile;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIStartupFile::NewFileExists
-// Checks if new startup file exists in the import directory.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CSisxUIStartupFile::NewFileExists()
- {
- TBool result ( EFalse );
-
- // See if the file exists
- TUint dummy;
- if ( iFileSession.Att( *iNewFile, dummy ) == KErrNone )
- {
- result = ETrue;
- }
-
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIStartupFile::PrivateFileExists
-// Checks if old, processed startup file exists in the private directory.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CSisxUIStartupFile::PrivateFileExists()
- {
- TBool result ( EFalse );
-
- // See if the file exists
- TUint dummy;
- if ( iFileSession.Att( *iPrivateFile, dummy) == KErrNone )
- {
- result = ETrue;
- }
-
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIStartupFile::ProcessNewFile
-// Moves the new startup file from import directory to private directory and
-// returns all startup items in that file.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CSisxUIStartupFile::ProcessNewFile( RArray<TStartupTaskParam>& aStartupItems,
- const RPointerArray<HBufC>& aFiles )
- {
- TInt result( KErrNone );
- // should check if old file is already there
-
- TRAP( result, ReadNewStartupItemsL( aStartupItems, aFiles ) );
- if ( result == KErrNone )
- {
- TRAP( result, WritePrivateStartupItemsL( aStartupItems ) );
- }
-
- if ( result != KErrNone )
- {
- // Do some cleanup
- aStartupItems.Close();
- if ( PrivateFileExists() )
- {
- iFileSession.Delete( *iPrivateFile );
- }
- }
-
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIStartupFile::RemovePrivateFile
-// Deletes the old startup file from private directory and returns all startup
-// items in that file.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CSisxUIStartupFile::RemovePrivateFile( RArray<TStartupTaskParam>& aStartupItems )
- {
- TInt result( KErrNone );
- TRAP( result, ReadPrivateStartupItemsL( aStartupItems ) );
- if ( result == KErrNone )
- {
- iFileSession.Delete( *iPrivateFile );
- }
- else
- {
- // Do some cleanup
- aStartupItems.Close();
- }
-
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIStartupFile::ClearAllNewFiles
-// Deletes all resource files from import directory.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CSisxUIStartupFile::ClearAllNewFiles()
- {
- TInt result( KErrNone );
- RFs fileSess;
- CFileMan* fileMan = NULL;
-
- result = fileSess.Connect();
- if ( result == KErrNone )
- {
- TRAP( result, fileMan = CFileMan::NewL( fileSess ) );
- }
-
- if ( result == KErrNone )
- {
- TFileName resFile;
- fileSess.PrivatePath( resFile );
- resFile.Insert( 0, TParsePtrC( PathInfo::PhoneMemoryRootPath() ).Drive() );
- resFile.Append( KImportDir );
- resFile.Append( KNewFileMatch );
- fileMan->Delete( resFile );
- }
-
- delete fileMan;
- fileSess.Close();
-
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIStartupFile::ReadStartupItemsL
-// Get all startup items from the given resource file.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUIStartupFile::ReadNewStartupItemsL( RArray<TStartupTaskParam>& aStartupItems,
- const RPointerArray<HBufC>& aFiles )
- {
- RResourceFile resource;
- CleanupClosePushL( resource );
- resource.OpenL( iFileSession, *iNewFile );
-
- TInt index( 0 );
-
- // Read resources
- for ( index = 1; resource.OwnsResourceId( index ); index++ )
- {
- // Create the reader
- HBufC8* resBuffer = resource.AllocReadLC( index );
- TResourceReader reader;
- reader.SetBuffer( resBuffer );
-
- // Read version byte
- TInt version = reader.ReadUint8();
-
- // Read actual parameters
- TStartupTaskParam item;
- item.iFileName.Copy( reader.ReadTPtrC() );
- item.iRecoveryPolicy = (TStartupExceptionPolicy) reader.ReadUint16();
-
- aStartupItems.Append( item );
-
- CleanupStack::PopAndDestroy( resBuffer );
- }
-
- // Validate the array. Each and every executable to be added to the
- // startup list must also be installed by this package.
- for ( index = 0; index < aStartupItems.Count(); index++ )
- {
- // Sanity check
- if ( !aStartupItems[index].iFileName.Length() )
- {
- continue;
- }
-
- TBool entryFound( EFalse );
- TInt j( 0 );
- iTemp = aStartupItems[index].iFileName;
- iTemp.Delete( 0, 1 );
- iTemp.Fold();
-
- for ( j = 0; j < aFiles.Count(); j++ )
- {
- if ( aFiles[j]->FindF( iTemp ) >= 0 )
- {
- entryFound = ETrue;
- // Replace the possible ! with correct drive
- if ( aStartupItems[index].iFileName[0] == '!' )
- {
- TBuf<1> temp;
- temp.Append( (*aFiles[j])[0] );
- aStartupItems[index].iFileName.Replace(0, 1, temp );
- }
-
- break;
- }
- }
-
- if ( !entryFound )
- {
- aStartupItems.Remove( index );
- index--;
- }
- }
-
- CleanupStack::PopAndDestroy(); // resource
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIStartupFile::ReadPrivateStartupItemsL
-// Read startup items from private file.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUIStartupFile::ReadPrivateStartupItemsL( RArray<TStartupTaskParam>& aStartupItems )
- {
- RFileReadStream reader;
- reader.PushL();
-
- User::LeaveIfError( reader.Open( iFileSession, *iPrivateFile, EFileRead ) );
-
- // Read the number of entries
- TInt count = reader.ReadInt32L();
-
- // Read file names from the file
- while ( count-- )
- {
- TStartupTaskParam item;
-
- HBufC* fileName = HBufC::NewLC( reader, KMaxFileName );
- item.iFileName.Copy( *fileName );
- CleanupStack::PopAndDestroy( fileName);
-
- aStartupItems.Append( item );
- }
-
- CleanupStack::PopAndDestroy(); // reader
- }
-
-// -----------------------------------------------------------------------------
-// CSisxUIStartupFile::WritePrivateStartupItemsL
-// Write startup items into private file.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSisxUIStartupFile::WritePrivateStartupItemsL( RArray<TStartupTaskParam>& aStartupItems )
- {
- if ( PrivateFileExists() )
- {
- iFileSession.Delete( *iPrivateFile );
- }
-
- if ( aStartupItems.Count() > 0 )
- {
- RFileWriteStream writer;
- writer.PushL();
- User::LeaveIfError( writer.Create( iFileSession, *iPrivateFile, EFileWrite ) );
-
- // Write the number of entries to the file
- writer.WriteInt32L( aStartupItems.Count() );
-
- // Write file names to the file
- for ( TInt index = 0; index < aStartupItems.Count(); index++ )
- {
- if ( iFileSession.IsValidName( aStartupItems[index].iFileName ) )
- {
- writer << aStartupItems[index].iFileName;
- }
- else
- {
- User::Leave( KErrArgument );
- }
- }
-
- writer.CommitL();
- CleanupStack::PopAndDestroy(); // writer
- }
- }
-
-// End of File
--- a/appinstaller/AppinstUi/Plugin/TaskManager/Inc/TaskManagerImpl.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,183 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains the header file of the CTaskManagerImpl class.
-*
-*/
-
-
-#ifndef SWINSTTASKMANAGERIMPL_H
-#define SWINSTTASKMANAGERIMPL_H
-
-// INCLUDES
-#include <e32base.h>
-#include <f32file.h>
-
-namespace SwiUI
-{
-
-class CTask;
-
-/**
-* TaskManagerImpl handles persistent and nonpersistent tasks in the subsystem. It
-* can be used to make sure that critical tasks are executed even in case of
-* fatal error such as power failure.
-*
-* @since 3.0
-* @lib SWInstTaskManagerImpl.lib
-*/
-NONSHARABLE_CLASS( CTaskManagerImpl ) : public CBase
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- */
- static CTaskManagerImpl* NewL();
-
- /**
- * Destructor.
- */
- virtual ~CTaskManagerImpl();
-
- public: // New functions
-
- /**
- * Adds a task to the task list.
- * @since 3.0
- * @param aTask - Pointer to the CTask object. Transfers ownership to TaskManagerImpl.
- */
- void AddTaskL( CTask* aTask );
-
- /**
- * Removes a task from the task list.
- * @since 3.0
- * @param aTask - Pointer to the CTask object.
- */
- void RemoveTaskL( CTask* aTask );
-
- /**
- * Removes tasks from task list without executing them.
- * @since 3.0
- */
- void FlushTasks();
-
- /**
- * Executes all pending tasks that are added to the task list within
- * the lifetime of this thread.
- * In order to recover from fatal error, please use ExecutelRecoveryTasksL.
- * @since 3.0
- */
- void ExecutePendingTasksL();
-
- /**
- * Executes all tasks from non persistent and persistent memory. This
- * should be used to recover from fatal error e.g. power loss.
- * @since 3.0
- */
- void ExecuteRecoveryTasksL();
-
- /**
- * Writes all persistent tasks from the task list to a persistent storage.
- * @since 3.0
- */
- void CommitL();
-
- /**
- * Increase the count of clients.
- * @since 3.0
- */
- void IncreaseClientCount();
-
- /**
- * Decrease the count of clients.
- * @since 3.0
- */
- void DecreaseClientCount();
-
- /**
- * Indicates if no more clients have open instances and memory can be freed.
- * @since 3.0
- */
- TBool CanBeFreed();
-
- private: // New functions
-
- /**
- * Constructor.
- */
- CTaskManagerImpl();
-
- /**
- * 2nd phase constructor.
- */
- void ConstructL();
-
- /**
- * Removes task from persistent storage.
- * @since 3.0
- * @param aTask - Task to be removed.
- */
- void RemovePersistentTask( const CTask& aTask );
-
- /**
- * Deletes all tasks from persistent storage.
- * @since 3.0
- */
- void DeleteTaskFilesL();
-
- /**
- * Creates the directory where persistent tasks are stored.
- * @since 3.0
- */
- void CreateTaskDirL();
-
- /**
- * Gets the directory where persistent tasks are stored.
- * @since 3.0
- * @param aFilePath - On return will contain the path.
- */
- void GetTaskDir( TDes& aFilePath );
-
- /**
- * Gets the full path to the persistent task file.
- * @since 3.0
- * @param aFilePath - On return will contain the path.
- * @param aTaskId - Id of the task.
- */
- void GetTaskFilePath( TDes& aFilePath, TInt aTaskId );
-
- /**
- * Reads all persistent task from storage and populates the task list.
- * @since 3.0
- */
- void PopulatePersistentTasksL();
-
- /**
- * Gets the next free id that can be assigned to a task.
- * @since 3.0
- * return Task id.
- */
- TInt GetFreeTaskIdL();
-
- private: // Data
-
- RPointerArray<CTask> iTaskList;
- TUint iClientCount;
- RFs iRFs;
- };
-}
-
-#endif // SWINSTTASKMANAGER_H
-
-// End of File
--- a/appinstaller/AppinstUi/Plugin/TaskManager/Src/TaskManager.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,173 +0,0 @@
-/*
-* Copyright (c) 2002-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This module contains the implementation of CTaskManager class
-* member functions.
-*
-*/
-
-
-// INCLUDE FILES
-
-#include "SWInstTaskManager.h"
-#include "SWInstTask.h"
-#include "TaskManagerImpl.h"
-
-using namespace SwiUI;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CTaskManager::CTaskManager
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CTaskManager::CTaskManager()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CTaskManager::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CTaskManager::ConstructL()
- {
- if ( !Dll::Tls() )
- {
- Dll::SetTls( CTaskManagerImpl::NewL() );
- }
-
- // Increase the client count
- iImpl = Impl();
- iImpl->IncreaseClientCount();
- }
-
-// -----------------------------------------------------------------------------
-// CTaskManager::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CTaskManager* CTaskManager::NewL()
- {
- CTaskManager* self = new( ELeave ) CTaskManager();
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-// Destructor
-EXPORT_C CTaskManager::~CTaskManager()
- {
- // Decrease the client count
- iImpl->DecreaseClientCount();
-
- // Check if no more clients so that TLS can be freed.
- if ( iImpl->CanBeFreed() )
- {
- delete iImpl;
- Dll::SetTls( NULL );
- }
- }
-
-// -----------------------------------------------------------------------------
-// TaskManager::AddTaskL
-// Adds a task to the task list.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CTaskManager::AddTaskL( CTask* aTask )
- {
- if ( aTask == NULL )
- {
- User::Leave( KErrArgument );
- }
-
- iImpl->AddTaskL( aTask );
- }
-
-// -----------------------------------------------------------------------------
-// TaskManager::RemoveTaskL
-// Removes a task from the task list.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CTaskManager::RemoveTaskL( CTask* aTask )
- {
- if ( aTask == NULL )
- {
- User::Leave( KErrArgument );
- }
-
- iImpl->RemoveTaskL( aTask );
- }
-
-// -----------------------------------------------------------------------------
-// TaskManager::FlushTasks
-// Removes tasks from task list without executing them.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CTaskManager::FlushTasks()
- {
- iImpl->FlushTasks();
- }
-
-// -----------------------------------------------------------------------------
-// TaskManager::ExecutePendingTasksL
-// Executes all pending tasks that are added to the task list within the
-// lifetime of this thread.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CTaskManager::ExecutePendingTasksL()
- {
- iImpl->ExecutePendingTasksL();
- }
-
-// -----------------------------------------------------------------------------
-// TaskManager::ExecuteRecoveryTasksL
-// Executes all tasks from non persistent and persistent memory.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CTaskManager::ExecuteRecoveryTasksL()
- {
- iImpl->ExecuteRecoveryTasksL();
- }
-
-// -----------------------------------------------------------------------------
-// TaskManager::CommitL
-// Writes all persistent tasks from the task list to a persistent storage.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CTaskManager::CommitL()
- {
- iImpl->CommitL();
- }
-
-// -----------------------------------------------------------------------------
-// TaskManager::Impl
-// Return pointer to TaskManager implementation.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CTaskManagerImpl* CTaskManager::Impl()
- {
- return static_cast<CTaskManagerImpl*> (Dll::Tls());
- }
-
-// End of File
--- a/appinstaller/AppinstUi/Plugin/TaskManager/Src/TaskManagerImpl.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,451 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This module contains the implementation of CTaskManagerImpl
-* class member functions.
-*
-*/
-
-
-// INCLUDE FILES
-
-#include <s32file.h>
-#include <pathinfo.h>
-
-#include "TaskManagerImpl.h"
-#include "SWInstTask.h"
-
-using namespace SwiUI;
-
-_LIT( KTaskDir, "Tasks\\" );
-_LIT( KTaskListMatch, "*" );
-
-const TUint KMaxNumLength = 20;
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CTaskManagerImpl::CTaskManagerImpl
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CTaskManagerImpl::CTaskManagerImpl()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CTaskManagerImpl::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CTaskManagerImpl::ConstructL()
- {
- User::LeaveIfError( iRFs.Connect() );
- }
-
-// -----------------------------------------------------------------------------
-// CTaskManagerImpl::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CTaskManagerImpl* CTaskManagerImpl::NewL()
- {
- CTaskManagerImpl* self = new( ELeave ) CTaskManagerImpl();
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-// Destructor
-CTaskManagerImpl::~CTaskManagerImpl()
- {
- iTaskList.ResetAndDestroy();
- iRFs.Close();
- }
-
-// -----------------------------------------------------------------------------
-// TaskManagerImpl::AddTaskL
-// Adds a task to the task list.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CTaskManagerImpl::AddTaskL( CTask* aTask )
- {
- iTaskList.Append( aTask );
- }
-
-// -----------------------------------------------------------------------------
-// TaskManagerImpl::RemoveTaskL
-// Removes a task from the task list.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CTaskManagerImpl::RemoveTaskL( CTask* aTask )
- {
- TInt index = iTaskList.Find( aTask );
-
- if ( aTask->IsPersistent() )
- {
- RemovePersistentTask( *aTask );
- }
-
- iTaskList.Remove( index );
- delete aTask;
- }
-
-// -----------------------------------------------------------------------------
-// TaskManagerImpl::FlushTasks
-// Removes tasks from task list without executing them.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CTaskManagerImpl::FlushTasks()
- {
- while ( iTaskList.Count() )
- {
- CTask* task = iTaskList[0];
- iTaskList.Remove( 0 );
-
- if ( task->IsPersistent() )
- {
- RemovePersistentTask( *task );
- }
-
- delete task;
- }
-
- iTaskList.Reset();
- }
-
-// -----------------------------------------------------------------------------
-// TaskManagerImpl::ExecutePendingTasksL
-// Executes all pending tasks that are added to the task list within the
-// lifetime of this thread.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CTaskManagerImpl::ExecutePendingTasksL()
- {
- TInt error( KErrNone );
-
- while ( iTaskList.Count() )
- {
- CTask* task = iTaskList[0];
- TRAP( error, task->ExecuteL() );
- iTaskList.Remove( 0 );
-
- if ( error == KErrNone && task->IsPersistent() )
- {
- RemovePersistentTask( *task );
- }
-
- delete task;
- }
-
- iTaskList.Reset();
-
- if ( error != KErrNone )
- {
- User::Leave( error );
- }
- }
-
-// -----------------------------------------------------------------------------
-// TaskManagerImpl::ExecuteRecoveryTasksL
-// Executes all tasks from non persistent and persistent memory.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CTaskManagerImpl::ExecuteRecoveryTasksL()
- {
- TInt error( KErrNone );
-
- PopulatePersistentTasksL();
-
- while ( iTaskList.Count() )
- {
- CTask* task = iTaskList[0];
- TRAP( error, task->ExecuteL() );
- iTaskList.Remove( 0 );
-
- if ( task->IsPersistent() )
- {
- RemovePersistentTask( *task );
- }
-
- delete task;
- }
-
- iTaskList.Reset();
- DeleteTaskFilesL();
-
- if ( error != KErrNone )
- {
- User::Leave( error );
- }
- }
-
-// -----------------------------------------------------------------------------
-// TaskManagerImpl::CommitL
-// Writes all persistent tasks from the task list to a persistent storage.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CTaskManagerImpl::CommitL()
- {
- CreateTaskDirL();
-
- for ( TInt index = 0; index < iTaskList.Count(); index++ )
- {
- CTask* task = iTaskList[index];
-
- // Write to store only if this task is persistent and it has no id
- // (already written)
- if ( task->IsPersistent() && !task->Id() )
- {
- // Get an id for the task
- TInt id = GetFreeTaskIdL();
- task->SetId( id );
-
- // Create stream
- RFileWriteStream stream;
- stream.PushL();
- TFileName filePath;
- GetTaskFilePath( filePath, id );
- User::LeaveIfError( stream.Create( iRFs, filePath, EFileWrite ) );
-
- // Externalize task
- stream.WriteInt32L( task->ImplementationUid().iUid );
- stream << *task;
- stream.CommitL();
- CleanupStack::PopAndDestroy(); // stream
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// TaskManagerImpl::IncreaseClientCount
-// Increase the count of clients.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CTaskManagerImpl::IncreaseClientCount()
- {
- ++iClientCount;
- }
-
-// -----------------------------------------------------------------------------
-// TaskManagerImpl::DecreaseClientCount
-// Decrease the count of clients.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CTaskManagerImpl::DecreaseClientCount()
- {
- --iClientCount;
- }
-
-// -----------------------------------------------------------------------------
-// TaskManagerImpl::CanBeFreed
-// Indicates if no more clients have open instances and memory can be freed.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CTaskManagerImpl::CanBeFreed()
- {
- if ( iClientCount > 0 )
- {
- return EFalse;
- }
- else
- {
- return ETrue;
- }
- }
-
-// -----------------------------------------------------------------------------
-// TaskManagerImpl::RemovePersistentTask
-// Removes task from persistent storage.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CTaskManagerImpl::RemovePersistentTask( const CTask& aTask )
- {
- // Remove only if task is committed, i.e. it has an id.
- if ( aTask.Id() )
- {
- TFileName fileName;
- GetTaskFilePath( fileName, aTask.Id() );
- iRFs.Delete( fileName );
- }
- }
-
-// -----------------------------------------------------------------------------
-// TaskManagerImpl::DeleteTaskFilesL
-// Deletes all tasks from persistent storage.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CTaskManagerImpl::DeleteTaskFilesL()
- {
- TFileName fileMatch;
- GetTaskDir( fileMatch );
- fileMatch.Append( KTaskListMatch );
-
- CFileMan* fileMan = CFileMan::NewL( iRFs );
- fileMan->Delete( fileMatch );
- delete fileMan;
- }
-
-// -----------------------------------------------------------------------------
-// TaskManagerImpl::CreateTaskDirL
-// Creates the directory where persistent tasks are stored.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CTaskManagerImpl::CreateTaskDirL()
- {
- TInt drive = 0;
- iRFs.CharToDrive( TParsePtrC( PathInfo::PhoneMemoryRootPath() ).Drive()[0], drive );
- iRFs.CreatePrivatePath( drive );
-
- TFileName taskDir;
- GetTaskDir( taskDir );
- iRFs.MkDir( taskDir );
- }
-
-// -----------------------------------------------------------------------------
-// TaskManagerImpl::GetTaskDir
-// Gets the directory where persistent tasks are stored.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CTaskManagerImpl::GetTaskDir( TDes& aFilePath )
- {
- iRFs.PrivatePath( aFilePath );
- aFilePath.Insert( 0, TParsePtrC( PathInfo::PhoneMemoryRootPath() ).Drive() );
- aFilePath.Append( KTaskDir );
- }
-
-// -----------------------------------------------------------------------------
-// TaskManagerImpl::GetTaskFilePath
-// Gets the full path to the persistent task file.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CTaskManagerImpl::GetTaskFilePath( TDes& aFilePath, TInt aTaskId )
- {
- GetTaskDir( aFilePath );
- aFilePath.AppendNum( aTaskId );
- }
-
-// -----------------------------------------------------------------------------
-// TaskManagerImpl::PopulatePersistentTasksL
-// Reads all persistent task from storage and populates the task list.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CTaskManagerImpl::PopulatePersistentTasksL()
- {
- // Get task dir matcher
- HBufC* taskDir = HBufC::NewLC( KMaxFileName );
- TPtr dirPtr( taskDir->Des() );
- GetTaskDir( dirPtr );
- dirPtr.Append( KTaskListMatch );
-
- // Get dir contents
- CDir* dirList;
- iRFs.GetDir( dirPtr, KEntryAttMaskSupported, ESortByDate, dirList );
-
- if ( dirList )
- {
- CleanupStack::PushL( dirList );
-
- HBufC* taskPath = HBufC::NewLC( KMaxFileName );
- TPtr pathPtr( taskPath->Des() );
- GetTaskDir( dirPtr );
-
- // Go through the list and internalize tasks
- for ( TInt index = 0; index < dirList->Count(); index++ )
- {
- pathPtr.Copy( dirPtr );
- pathPtr.Append( (*dirList)[index].iName );
-
- // Create stream
- RFileReadStream stream;
- stream.PushL();
- User::LeaveIfError( stream.Open( iRFs, pathPtr, EFileRead ) );
-
- // Internalize task
- TUid uid;
- uid.iUid = stream.ReadInt32L();
- CTask* task = CTask::NewL( uid, ETrue );
- stream >> *task;
- iTaskList.Append( task );
- CleanupStack::PopAndDestroy(); // stream
- }
-
- CleanupStack::PopAndDestroy( 2, dirList );
- }
- CleanupStack::PopAndDestroy( taskDir );
- }
-
-// -----------------------------------------------------------------------------
-// TaskManagerImpl::GetFreeTaskIdL
-// Gets the next free id that can be assigned to a task.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CTaskManagerImpl::GetFreeTaskIdL()
- {
- TInt result( 0 );
-
- // Get task dir matcher
- HBufC* taskDir = HBufC::NewL( KMaxFileName );
- TPtr dirPtr( taskDir->Des() );
- GetTaskDir( dirPtr );
- dirPtr.Append( KTaskListMatch );
-
- // Get dir contents
- CDir* dirList;
- iRFs.GetDir( dirPtr, KEntryAttMaskSupported, ESortByDate, dirList );
- delete taskDir;
-
- if ( dirList )
- {
- // Find the first free slot
- TInt index( 0 );
- while ( index < dirList->Count() )
- {
- TBuf<KMaxNumLength> temp;
- // Make sure that first index is 1
- temp.Num( index + 1 );
- if ( TParsePtrC( (*dirList)[index].iName ).Name() != temp )
- {
- break;
- }
- ++index;
- }
-
- delete dirList;
- // Make sure that the first index is 1
- result = index + 1;
- }
-
- return result;
- }
-
-// End of File
--- a/appinstaller/AppinstUi/Plugin/Tasks/FileTask/Data/102073EC.rss Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: ECOM resource definition for Log task plugin.
-*
-*/
-
-
-// INCLUDES
-#include <ecom/registryinfov2.rh>
-#include <SWInstUid.h>
-#include "SWInstPrivateUid.h"
-
-// RESOURCE DEFINITIONS
-
-RESOURCE REGISTRY_INFO registry_info
- {
- resource_format_version = RESOURCE_FORMAT_VERSION_2;
- // UID for the DLL
- dll_uid = KSWInstFileTaskUid;
-
- // Interface info array
- interfaces =
- {
- INTERFACE_INFO
- {
- // UID of the implemented interface
- interface_uid = KSWInstTaskInterfaceUid;
-
- implementations =
- {
- IMPLEMENTATION_INFO
- {
- implementation_uid = KSWInstFileTaskDeleteImplUid;
- version_no = 1;
- display_name = "Delete File task implementation";
- default_data = "*";
- opaque_data = " ";
- rom_only = 1;
- }
- };
- }
- };
- }
-
-
-// End of File
--- a/appinstaller/AppinstUi/Plugin/Tasks/FileTask/Inc/FileTaskDelete.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,97 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains the header file of the CFileTaskDelete
-* class.
-*
-*/
-
-
-#ifndef FILETASKDELETE_H
-#define FILETASKDELETE_H
-
-// INCLUDES
-#include <e32base.h>
-#include <SWInstTask.h>
-#include <SWInstFileTaskParam.h>
-
-namespace SwiUI
-{
-
-/**
-* Base abstract class for startup list operations.
-*
-* @since 3.0
-*/
-class CFileTaskDelete : public CTask
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- */
- static CFileTaskDelete* NewL();
-
- /**
- * Destructor.
- */
- virtual ~CFileTaskDelete();
-
- public: // Functions from base classes
-
- /**
- * From CTask, Executes the task.
- * @since 3.0
- */
- void ExecuteL();
-
- /**
- * From CTask, Adds a parameter to the task.
- * @since 3.0
- * @param aParam - Packaged paramter to set.
- * @param aIndex - Index of the parameter.
- */
- void SetParameterL( const TDesC8& aParam, TInt aIndex );
-
- protected: // Functions from base classes.
-
- /**
- * From CTask, Externalizes the task.
- * @since 3.0
- * @param aStream - The stream where to externalize.
- */
- void DoExternalizeL( RWriteStream& aStream ) const;
-
- /**
- * From CTask, Internalizes the task.
- * @since 3.0
- * @param aStream - The stream where to internalize.
- */
- void DoInternalizeL( RReadStream & aStream );
-
- private: // New functions
-
- /**
- * Constructor.
- */
- CFileTaskDelete();
-
- private: // Data
-
- TFileTaskDeleteParam iParam;
- };
-}
-
-#endif // FILETASKDELETE_H
-
-// End of File
--- a/appinstaller/AppinstUi/Plugin/Tasks/FileTask/Src/FileTaskDelete.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,124 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains the implementation of CFileTaskDelete
-* class member functions.
-*
-*/
-
-
-// INCLUDE FILES
-#include <f32file.h>
-#include "FileTaskDelete.h"
-
-using namespace SwiUI;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CFileTaskDelete::CFileTaskDelete
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CFileTaskDelete::CFileTaskDelete()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CFileTaskDelete::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CFileTaskDelete* CFileTaskDelete::NewL()
- {
- return new(ELeave) CFileTaskDelete();
- }
-
-// Destructor
-CFileTaskDelete::~CFileTaskDelete()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CFileTaskDelete::ExecuteL
-// Executes the task.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CFileTaskDelete::ExecuteL()
- {
- RFs rfs;
- User::LeaveIfError( rfs.Connect() );
- CleanupClosePushL( rfs );
-
- CFileMan* fileMan = CFileMan::NewL( rfs );
- CleanupStack::PushL( fileMan );
-
- TInt err( KErrNone );
-
- if ( TParsePtrC( iParam.iFile ).NameOrExtPresent() )
- {
- // We want to delete files only
- err = fileMan->Delete( iParam.iFile );
- }
- else
- {
- // We want to delete a directory
- err = fileMan->RmDir( iParam.iFile );
- }
-
- CleanupStack::PopAndDestroy( fileMan );
- CleanupStack::PopAndDestroy(); // rfs
-
- if ( err == KErrInUse )
- {
- User::Leave( err );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CFileTaskDelete::SetParameterL
-// Adds a parameter to the task.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CFileTaskDelete::SetParameterL( const TDesC8& aParam, TInt /*aIndex*/ )
- {
- TFileTaskDeleteParamPckg pckg( iParam );
- pckg.Copy( aParam );
- }
-
-// -----------------------------------------------------------------------------
-// CFileTaskDelete::ExternalizeL
-// Externalizes the task.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CFileTaskDelete::DoExternalizeL( RWriteStream& aStream ) const
- {
- aStream << iParam.iFile;
- }
-
-// -----------------------------------------------------------------------------
-// CFileTaskDelete::DoInternalizeL
-// Internalizes the task.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CFileTaskDelete::DoInternalizeL( RReadStream& aStream )
- {
- aStream >> iParam.iFile;
- }
-
-// End of File
--- a/appinstaller/AppinstUi/Plugin/Tasks/FileTask/Src/FileTaskMain.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This class contains the ECom specific implementations for
-* file task plugins.
-*
-*/
-
-
-// INCLUDE FILES
-#include <e32std.h>
-#include <ecom/implementationproxy.h>
-
-#include "FileTaskDelete.h"
-#include "SWInstUid.h"
-
-using namespace SwiUI;
-
-// CONSTANTS
-
-const TImplementationProxy KImplementationTable[] =
- {
- IMPLEMENTATION_PROXY_ENTRY( KSWInstFileTaskDeleteImplUid,
- CFileTaskDelete::NewL )
- };
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-// -----------------------------------------------------------------------------
-// ImplementationGroupProxy
-// Returns the filters implemented in this DLL
-// Returns: The filters implemented in this DLL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy( TInt& aTableCount )
- {
- aTableCount = sizeof( KImplementationTable ) / sizeof( TImplementationProxy );
- return KImplementationTable;
- }
-
-// End of File
--- a/appinstaller/AppinstUi/Plugin/Tasks/LogTask/Data/10207211.rss Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: ECOM resource definition for Log task plugin.
-*
-*/
-
-
-// INCLUDES
-#include <ecom/registryinfov2.rh>
-#include <SWInstUid.h>
-#include "SWInstPrivateUid.h"
-
-// RESOURCE DEFINITIONS
-
-RESOURCE REGISTRY_INFO registry_info
- {
- resource_format_version = RESOURCE_FORMAT_VERSION_2;
- // UID for the DLL
- dll_uid = KSWInstLogTaskUid;
-
- // Interface info array
- interfaces =
- {
- INTERFACE_INFO
- {
- // UID of the implemented interface
- interface_uid = KSWInstTaskInterfaceUid;
-
- implementations =
- {
- IMPLEMENTATION_INFO
- {
- implementation_uid = KSWInstLogTaskImplUid;
- version_no = 1;
- display_name = "Log task implementation";
- default_data = "*";
- opaque_data = " ";
- rom_only = 1;
- }
- };
- }
- };
- }
-
-
-// End of File
Binary file appinstaller/AppinstUi/Plugin/Tasks/LogTask/Data/10207216.SPD has changed
--- a/appinstaller/AppinstUi/Plugin/Tasks/LogTask/Data/10207216.txt Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,11 +0,0 @@
-[database]
-read
-capability = ReadDeviceData
-write
-capability = WriteDeviceData
-schema
-capability = WriteDeviceData
-
-[backup]
-SID = 101F875A
-
--- a/appinstaller/AppinstUi/Plugin/Tasks/LogTask/Inc/LogTask.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,112 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains the header file of the CLogTask
-* class.
-*
-*/
-
-
-#ifndef LOGTASK_H
-#define LOGTASK_H
-
-// INCLUDES
-#include <e32base.h>
-#include <SWInstTask.h>
-#include <SWInstLogTaskParam.h>
-
-namespace SwiUI
-{
-
-/**
-* Base abstract class for startup list operations.
-*
-* @since 3.0
-*/
-class CLogTask : public CTask
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- */
- static CLogTask* NewL();
-
- /**
- * Destructor.
- */
- virtual ~CLogTask();
-
- public: // Functions from base classes
-
- /**
- * From CTask, Executes the task.
- * @since 3.0
- */
- void ExecuteL();
-
- /**
- * From CTask, Adds a parameter to the task.
- * @since 3.0
- * @param aParam - Packaged paramter to set.
- * @param aIndex - Index of the parameter.
- */
- void SetParameterL( const TDesC8& aParam, TInt aIndex );
-
- protected: // Functions from base classes.
-
- /**
- * From CTask, Externalizes the task.
- * @since 3.0
- * @param aStream - The stream where to externalize.
- */
- void DoExternalizeL( RWriteStream& aStream ) const;
-
- /**
- * From CTask, Internalizes the task.
- * @since 3.0
- * @param aStream - The stream where to internalize.
- */
- void DoInternalizeL( RReadStream & aStream );
-
- private: // New functions
-
- /**
- * Constructor.
- */
- CLogTask();
-
- /**
- * Constructs a version string..
- * @since 3.0
- * @param aMajor - Major version number.
- * @param aMinor - Minor version number.
- * @return Created descriptor containing the version string.
- */
- HBufC* ConstructVersionStringLC( TInt aMajor, TInt aMinor, TInt aBuild );
-
- /**
- * Helper to executes the task.
- * @since 3.0
- */
- void DoExecuteL();
-
- private: // Data
-
- TLogTaskParam iLogEntry;
- };
-}
-
-#endif // LOGTASK_H
-
-// End of File
--- a/appinstaller/AppinstUi/Plugin/Tasks/LogTask/Src/LogTask.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,254 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains the implementation of CLogTask
-* class member functions.
-*
-*/
-
-
-// INCLUDE FILES
-#include <d32dbms.h>
-#include "LogTask.h"
-
-_LIT( KLogSecureFormat, "SECURE%S" );
-const TUint KMaxTimeStringLength = 20;
-const TUint KExtraCharsInSql = 16;
-const TUint KMaxLogEntryCount = 50;
-
-using namespace SwiUI;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CLogTask::CLogTask
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CLogTask::CLogTask()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CLogTask::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CLogTask* CLogTask::NewL()
- {
- return new(ELeave) CLogTask();
- }
-
-// Destructor
-CLogTask::~CLogTask()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CLogTask::ExecuteL
-// Executes the task.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLogTask::ExecuteL()
- {
- TRAP_IGNORE( DoExecuteL() );
- }
-
-// -----------------------------------------------------------------------------
-// CLogTask::SetParameterL
-// Adds a parameter to the task.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLogTask::SetParameterL( const TDesC8& aParam, TInt /*aIndex*/ )
- {
- TLogTaskParamPckg pckg( iLogEntry );
- pckg.Copy( aParam );
- }
-
-// -----------------------------------------------------------------------------
-// CLogTask::ExternalizeL
-// Externalizes the task.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLogTask::DoExternalizeL( RWriteStream& /*aStream*/ ) const
- {
- // Task is not persistent
- }
-
-// -----------------------------------------------------------------------------
-// CLogTask::DoInternalizeL
-// Internalizes the task.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLogTask::DoInternalizeL( RReadStream& /*aStream*/ )
- {
- // Task is not persistent
- }
-
-// -----------------------------------------------------------------------------
-// CLogTask::ConstructVersionString
-// Construct a string representation of given version.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-HBufC* CLogTask::ConstructVersionStringLC( TInt aMajor, TInt aMinor, TInt aBuild )
- {
-
- // First calculate the number of digits in version numbers
- TInt result( 0 );
- TInt majorDigits( 1 );
- TInt minorDigits( 1 );
- TInt buildDigits( 1 );
-
- result = aMajor / 10;
- while ( result > 0 )
- {
- result = result / 10;
- majorDigits++;
- }
-
- result = aMinor / 10;
- while ( result > 0 )
- {
- result = result / 10;
- minorDigits++;
- }
-
- result = aBuild / 10;
- while ( result > 0 )
- {
- result = result / 10;
- buildDigits++;
- }
-
- // Now we can construct the actual version descriptor
-
- HBufC* tmp = HBufC::NewLC( majorDigits + minorDigits + buildDigits + 4 ); // . + possible 0 and brackets
- TPtr tmpBuf( tmp->Des() );
-
- //tmpBuf.Append( ' ' );
- tmpBuf.AppendNum( aMajor );
- tmpBuf.Append( '.' );
- if ( aMinor < 10 )
- {
- tmpBuf.Append('0');
- }
-
- tmpBuf.AppendNum( aMinor );
-
- tmpBuf.Append( '(' );
- tmpBuf.AppendNum( aBuild );
- tmpBuf.Append( ')' );
-
- return tmp;
- }
-
-// -----------------------------------------------------------------------------
-// CLogTask::DoExecuteL
-// Helper to executes the task.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLogTask::DoExecuteL()
- {
- RDbs dbSession;
- User::LeaveIfError( dbSession.Connect() );
- CleanupClosePushL( dbSession );
-
- // Construct the db format string
- HBufC* formatString = HBufC::NewLC( KLogSecureFormat().Length() +
- KLogAccessPolicyUid.Name().Length() );
- TPtr ptr( formatString->Des() );
- TUidName uidStr = KLogAccessPolicyUid.Name();
- ptr.Format( KLogSecureFormat, &uidStr );
-
- RDbNamedDatabase dbs;
- // Try to open the db
- TInt err = dbs.Open( dbSession, KLogDatabaseName, *formatString );
- if ( err == KErrNotFound )
- {
- // DB not exist, create it
- User::LeaveIfError( dbs.Create( dbSession, KLogDatabaseName, *formatString ) );
- }
- else if ( err != KErrNone )
- {
- User::Leave( err );
- }
- CleanupClosePushL( dbs );
-
- // See if the log table already exists
- TBool needCompact( EFalse );
- RDbTable table;
- err = table.Open( dbs, KLogTableName );
- if ( err != KErrNone )
- {
- // Table does not exist
- // Create the table
- User::LeaveIfError( dbs.Execute( KLogCreateTableSQL ) );
- }
- else
- {
- // Check that we don't have too many rows
- CleanupClosePushL( table );
- if ( table.CountL( RDbTable::EQuick ) >= KMaxLogEntryCount )
- {
- // Delete the first row
- table.FirstL();
- table.DeleteL();
- needCompact = ETrue;
- }
- CleanupStack::PopAndDestroy( &table );
- }
-
- // Add entry to the table
-
- // Time
- HBufC* timeString = HBufC::NewLC( KMaxTimeStringLength );
- TPtr timePtr( timeString->Des() );
- timePtr.Num( iLogEntry.iTime.Int64() );
-
- // Version
- HBufC* version = ConstructVersionStringLC( iLogEntry.iVersion.iMajor,
- iLogEntry.iVersion.iMinor,
- iLogEntry.iVersion.iBuild );
-
- // Construct the sql query
- HBufC* sqlQuery = HBufC::NewLC( KLogInsertSQLFormat().Length() +
- KMaxLogNameLength +
- KMaxLogVendorLength +
- version->Length() +
- timeString->Length() +
- KExtraCharsInSql );
- TPtr sqlPtr( sqlQuery->Des() );
- sqlPtr.Format( KLogInsertSQLFormat, timeString, iLogEntry.iUid.iUid, &(iLogEntry.iName),
- &(iLogEntry.iVendor), version, iLogEntry.iAction, iLogEntry.iIsStartup );
-
- // Execute the query
- User::LeaveIfError( dbs.Execute( *sqlQuery ) );
-
- // Compact the db if needed
- if ( needCompact )
- {
- dbs.Compact();
- }
-
- CleanupStack::PopAndDestroy( 6 ); // sqlQuery, version, timeString, dbs, formatString, dbSession
- }
-
-
-// End of File
--- a/appinstaller/AppinstUi/Plugin/Tasks/LogTask/Src/LogTaskMain.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This class contains the ECom specific implementations for
-* startuptask plugin.
-*
-*/
-
-
-// INCLUDE FILES
-#include <e32std.h>
-#include <ecom/implementationproxy.h>
-
-#include "LogTask.h"
-#include "SWInstUid.h"
-
-using namespace SwiUI;
-
-// CONSTANTS
-
-const TImplementationProxy KImplementationTable[] =
- {
- IMPLEMENTATION_PROXY_ENTRY( KSWInstLogTaskImplUid,
- CLogTask::NewL )
- };
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-// -----------------------------------------------------------------------------
-// ImplementationGroupProxy
-// Returns the filters implemented in this DLL
-// Returns: The filters implemented in this DLL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy( TInt& aTableCount )
- {
- aTableCount = sizeof( KImplementationTable ) / sizeof( TImplementationProxy );
- return KImplementationTable;
- }
-
-// End of File
--- a/appinstaller/AppinstUi/Plugin/Tasks/StartupTask/Data/1020720E.rss Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: ECOM resource definition for Startup task plugin.
-*
-*/
-
-
-// INCLUDES
-#include <ecom/registryinfov2.rh>
-#include <SWInstUid.h>
-#include "SWInstPrivateUid.h"
-
-// RESOURCE DEFINITIONS
-
-RESOURCE REGISTRY_INFO registry_info
- {
- resource_format_version = RESOURCE_FORMAT_VERSION_2;
- // UID for the DLL
- dll_uid = KSWInstStartupTaskUid;
-
- // Interface info array
- interfaces =
- {
- INTERFACE_INFO
- {
- // UID of the implemented interface
- interface_uid = KSWInstTaskInterfaceUid;
-
- implementations =
- {
- IMPLEMENTATION_INFO
- {
- implementation_uid = KSWInstStartupAddImplUid;
- version_no = 1;
- display_name = "Startuplist addition task implementation";
- default_data = "*";
- opaque_data = " ";
- rom_only = 1;
- },
- IMPLEMENTATION_INFO
- {
- implementation_uid = KSWInstStartupRemoveImplUid;
- version_no = 1;
- display_name = "Startuplist removal task implementation";
- default_data = "*";
- opaque_data = " ";
- rom_only = 1;
- }
- };
- }
- };
- }
-
-
-// End of File
--- a/appinstaller/AppinstUi/Plugin/Tasks/StartupTask/Inc/StartupItem.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,107 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains the header file of the CStartupItem
-* class.
-*
-*/
-
-
-#ifndef STARTUPITEM_H
-#define STARTUPITEM_H
-
-// INCLUDES
-#include <e32base.h>
-#include <StartupItem.hrh>
-#include "SWInstStartupTaskParam.h"
-
-class RReadStream;
-class RWriteStream;
-
-namespace SwiUI
-{
-
-/**
-* Class to represent a single item in startup list.
-*
-* @since 3.0
-*/
-class CStartupItem : public CBase
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- */
- static CStartupItem* NewL( const TStartupTaskParam& aParam );
-
- /**
- * Two-phased constructor.
- */
- static CStartupItem* NewL( RReadStream& aStream );
-
- /**
- * Destructor.
- */
- virtual ~CStartupItem();
-
- public: // New functions
-
- /**
- * Get the executable file of this startup item.
- * @since 3.0
- * @return Full path to executable file.
- */
- const TDesC& ExecutableFile() const;
-
- /**
- * Get the startup recovery policy for this item.
- * @since 3.0
- * @return Recovery policy.
- */
- TStartupExceptionPolicy RecoveryPolicy() const;
-
- /**
- * Externalize the class.
- * @since 3.0
- * @param - aStream stream where to externalize.
- */
- void ExternalizeL( RWriteStream &aStream ) const;
-
- private:
-
- /**
- * Constructor.
- */
- CStartupItem();
-
- /**
- * 2nd phase constructor.
- */
- void ConstructL( const TStartupTaskParam& aParam );
-
- /**
- * 2nd phase constructor.
- */
- void ConstructL( RReadStream& aStream );
-
- private: // Data
-
- HBufC* iExecutableFile;
- TStartupExceptionPolicy iRecoveryPolicy;
- };
-}
-
-#endif // STARTUPITEM_H
-
-// End of File
--- a/appinstaller/AppinstUi/Plugin/Tasks/StartupTask/Inc/StartupTask.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,93 +0,0 @@
-/*
-* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains the header file of the CStartupTask
-* class.
-*
-*/
-
-
-#ifndef STARTUPTASK_H
-#define STARTUPTASK_H
-
-// INCLUDES
-#include <e32base.h>
-#include <SWInstTask.h>
-#include "StartupItem.h"
-
-class RDscStore;
-
-namespace SwiUI
-{
-
-/**
-* Base abstract class for startup list operations.
-*
-* @since 3.0
-*/
-class CStartupTask : public CTask
- {
- public: // Constructors and destructor
-
- /**
- * Destructor.
- */
- virtual ~CStartupTask();
-
- public: // Functions from base classes
-
- /**
- * From CTask, Adds a parameter to the task.
- * @since 3.0
- * @param aParam - Packaged paramter to set.
- * @param aIndex - Index of the parameter.
- */
- void SetParameterL( const TDesC8& aParam, TInt aIndex );
-
- protected: // New functions
-
- /**
- * Constructor.
- */
- CStartupTask();
-
- /**
- * Helper function to create RDscStore when needed.
- */
- static void CreateIfNotExistL( RDscStore& aDsc );
-
- protected: // Functions from base classes.
-
- /**
- * From CTask, Externalizes the task.
- * @since 3.0
- * @param aStream - The stream where to externalize.
- */
- void DoExternalizeL( RWriteStream& aStream ) const;
-
- /**
- * From CTask, Internalizes the task.
- * @since 3.0
- * @param aStream - The stream where to internalize.
- */
- void DoInternalizeL( RReadStream & aStream );
-
- protected: // Data
-
- RPointerArray<CStartupItem> iItems;
- };
-}
-
-#endif // STARTUPTASK_H
-
-// End of File
--- a/appinstaller/AppinstUi/Plugin/Tasks/StartupTask/Inc/StartupTaskAdd.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains the header file of the CStartupTaskAdd
-* class.
-*
-*/
-
-
-#ifndef STARTUPTASKADD_H
-#define STARTUPTASKADD_H
-
-// INCLUDES
-#include <e32base.h>
-#include "StartupTask.h"
-
-namespace SwiUI
-{
-
-/**
-* Implementation of CTask ECOM interface for startup list addition task.
-*
-* @since 3.0
-*/
-class CStartupTaskAdd : public CStartupTask
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- */
- static CStartupTaskAdd* NewL();
-
- /**
- * Destructor.
- */
- virtual ~CStartupTaskAdd();
-
- public: // Functions from base classes
-
- /**
- * From CTask, Executes the task.
- * @since 3.0
- */
- void ExecuteL();
-
- private: // New functions
-
- /**
- * Constructor.
- */
- CStartupTaskAdd();
- };
-}
-
-#endif // TASK_H
-
-// End of File
--- a/appinstaller/AppinstUi/Plugin/Tasks/StartupTask/Inc/StartupTaskRemove.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains the header file of the CStartupTaskRemove
-* class.
-*
-*/
-
-
-#ifndef STARTUPTASKREMOVE_H
-#define STARTUPTASKREMOVE_H
-
-// INCLUDES
-#include <e32base.h>
-#include "StartupTask.h"
-
-namespace SwiUI
-{
-
-/**
-* Implementation of CTask ECOM interface for startup list removal task.
-*
-* @since 3.0
-*/
-class CStartupTaskRemove : public CStartupTask
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- */
- static CStartupTaskRemove* NewL();
-
- /**
- * Destructor.
- */
- virtual ~CStartupTaskRemove();
-
- public: // New functions
-
- /**
- * From CTask, Executes the task.
- * @since 3.0
- */
- void ExecuteL();
-
- private: // New functions
-
- /**
- * Constructor.
- */
- CStartupTaskRemove();
- };
-}
-
-#endif // TASK_H
-
-// End of File
--- a/appinstaller/AppinstUi/Plugin/Tasks/StartupTask/Src/StartupItem.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,137 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains the implementation of CStartupItem
-* class member functions.
-*
-*/
-
-
-// INCLUDE FILES
-#include <starterclient.h>
-#include <s32strm.h>
-#include "StartupItem.h"
-
-using namespace SwiUI;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CStartupItem::CStartupItem
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CStartupItem::CStartupItem()
- : iRecoveryPolicy( EStartupItemExPolicyNone )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CStartupItem::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CStartupItem::ConstructL( const TStartupTaskParam& aParam )
- {
- iExecutableFile = aParam.iFileName.AllocL();
- iRecoveryPolicy = aParam.iRecoveryPolicy;
- }
-
-// -----------------------------------------------------------------------------
-// CStartupItem::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CStartupItem::ConstructL( RReadStream& aStream )
- {
- iExecutableFile = HBufC::NewL( aStream, KMaxFileName );
- iRecoveryPolicy = TStartupExceptionPolicy( aStream.ReadInt32L() );
- }
-
-// -----------------------------------------------------------------------------
-// CStartupItem::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CStartupItem* CStartupItem::NewL( const TStartupTaskParam& aParam )
- {
- CStartupItem* self = new( ELeave ) CStartupItem();
- CleanupStack::PushL( self );
- self->ConstructL( aParam );
- CleanupStack::Pop( self );
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CStartupItem::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
- CStartupItem* CStartupItem::NewL( RReadStream& aStream )
- {
- CStartupItem* self = new( ELeave ) CStartupItem();
- CleanupStack::PushL( self );
- self->ConstructL( aStream );
- CleanupStack::Pop( self );
- return self;
- }
-
-// Destructor
-CStartupItem::~CStartupItem()
- {
- delete iExecutableFile;
- }
-
-// -----------------------------------------------------------------------------
-// CStartupItem::ExecutableFile
-// Get the executable file of this startup item.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
- const TDesC& CStartupItem::ExecutableFile() const
- {
- if ( iExecutableFile )
- {
- return *iExecutableFile;
- }
- else
- {
- return KNullDesC();
- }
- }
-
-// -----------------------------------------------------------------------------
-// CStartupItem::RecoveryPolicy
-// Get the startup recovery policy for this item.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
- TStartupExceptionPolicy CStartupItem::RecoveryPolicy() const
- {
- return iRecoveryPolicy;
- }
-
-// -----------------------------------------------------------------------------
-// CStartupItem::ExternalizeL
-// Externalize the class.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CStartupItem::ExternalizeL( RWriteStream& aStream ) const
- {
- aStream << *iExecutableFile;
- aStream.WriteInt32L( iRecoveryPolicy );
- }
-
-// End of File
--- a/appinstaller/AppinstUi/Plugin/Tasks/StartupTask/Src/StartupTask.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,104 +0,0 @@
-/*
-* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains the implementation of CStartupTask
-* class member functions.
-*
-*/
-
-
-#include <dscstore.h> // RDscStore
-#include "StartupTask.h"
-#include "SWInstStartupTaskParam.h"
-
-using namespace SwiUI;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CStartupTask::CStartupTask
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CStartupTask::CStartupTask()
- {
- }
-
-// Destructor
-CStartupTask::~CStartupTask()
- {
- iItems.ResetAndDestroy();
- }
-
-// -----------------------------------------------------------------------------
-// CStartupTask::SetParameterL
-// Adds a parameter to the task.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CStartupTask::SetParameterL( const TDesC8& aParam, TInt aIndex )
- {
- TStartupTaskParam param;
- TStartupTaskParamPckg pckg( param );
- pckg.Copy( aParam );
-
- CStartupItem* item = CStartupItem::NewL( param );
- iItems.Insert( item, aIndex );
- }
-
-// -----------------------------------------------------------------------------
-// CStartupTask::SetParameterL
-// Checks if given RDcsStore exists, and creates it if necessary.
-// -----------------------------------------------------------------------------
-//
-void CStartupTask::CreateIfNotExistL( RDscStore& aDsc )
- {
- if( !aDsc.DscExistsL() )
- {
- aDsc.CreateDscL();
- }
- }
-
-// -----------------------------------------------------------------------------
-// CStartupTask::DoExternalizeL
-// Externalizes the task.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CStartupTask::DoExternalizeL( RWriteStream& aStream ) const
- {
- aStream.WriteInt32L( iItems.Count() );
- for ( TInt index = 0; index < iItems.Count(); index++ )
- {
- aStream << *(iItems[index]);
- }
- }
-
-// -----------------------------------------------------------------------------
-// CStartupTask::DoInternalizeL
-// Internalizes the task.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CStartupTask::DoInternalizeL( RReadStream & aStream )
- {
- TInt itemCount( aStream.ReadInt32L() );
- for ( TInt index = 0; index < itemCount; index++ )
- {
- CStartupItem* item = CStartupItem::NewL( aStream );
- iItems.Append( item );
- }
- }
-
-// End of File
--- a/appinstaller/AppinstUi/Plugin/Tasks/StartupTask/Src/StartupTaskAdd.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-/*
-* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains the implementation of CStartupTaskAdd
-* class member functions.
-*
-*/
-
-
-#include <dscstore.h> // RDscStore
-#include <dscitem.h> // CDscItem
-#include "StartupTaskAdd.h"
-#include "SWInstDebug.h"
-
-using namespace SwiUI;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CStartupTaskAdd::CStartupTaskAdd
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CStartupTaskAdd::CStartupTaskAdd()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CStartupTaskAdd::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CStartupTaskAdd* CStartupTaskAdd::NewL()
- {
- return new(ELeave) CStartupTaskAdd();
- }
-
-// Destructor
-CStartupTaskAdd::~CStartupTaskAdd()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CStartupTaskAdd::ExecuteL
-// Executes the task.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CStartupTaskAdd::ExecuteL()
- {
- RDscStore dsc;
- dsc.OpenL();
- CleanupClosePushL( dsc );
- CreateIfNotExistL( dsc );
-
- for( TInt index = 0; index < iItems.Count(); index++ )
- {
- const TDesC& fileName = iItems[index]->ExecutableFile();
-
- CDscItem* item = CDscItem::NewLC( fileName, KNullDesC );
- // Currently only EStartupItemExPolicyNone is supported,
- // hence CStartupItem::RecoveryPolicy() is not used.
-
- FLOG_1( _L("StartupTaskAdd: Adding %S"), &fileName );
- dsc.AddItemL( *item );
-
- CleanupStack::PopAndDestroy( item );
- }
-
- CleanupStack::PopAndDestroy( &dsc );
- }
-
-
-// End of File
--- a/appinstaller/AppinstUi/Plugin/Tasks/StartupTask/Src/StartupTaskMain.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This class contains the ECom specific implementations for
-* startuptask plugin.
-*
-*/
-
-
-// INCLUDE FILES
-#include <e32std.h>
-#include <ecom/implementationproxy.h>
-
-#include "StartupTaskAdd.h"
-#include "StartupTaskRemove.h"
-#include "SWInstUid.h"
-
-using namespace SwiUI;
-
-// CONSTANTS
-
-const TImplementationProxy KImplementationTable[] =
- {
- IMPLEMENTATION_PROXY_ENTRY( KSWInstStartupAddImplUid,
- CStartupTaskAdd::NewL ),
- IMPLEMENTATION_PROXY_ENTRY( KSWInstStartupRemoveImplUid,
- CStartupTaskRemove::NewL )
- };
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-// -----------------------------------------------------------------------------
-// ImplementationGroupProxy
-// Returns the filters implemented in this DLL
-// Returns: The filters implemented in this DLL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy( TInt& aTableCount )
- {
- aTableCount = sizeof( KImplementationTable ) / sizeof( TImplementationProxy );
- return KImplementationTable;
- }
-
-// End of File
--- a/appinstaller/AppinstUi/Plugin/Tasks/StartupTask/Src/StartupTaskRemove.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +0,0 @@
-/*
-* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains the implementation of CStartupTaskRemove
-* class member functions.
-*
-*/
-
-
-#include <dscstore.h> // RDscStore
-#include <dscitem.h> // CDscItem
-#include "StartupTaskRemove.h"
-#include "SWInstDebug.h"
-
-using namespace SwiUI;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CStartupTaskRemove::CStartupTaskRemove
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CStartupTaskRemove::CStartupTaskRemove()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CStartupTaskRemove::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CStartupTaskRemove* CStartupTaskRemove::NewL()
- {
- return new(ELeave) CStartupTaskRemove();
- }
-
-// Destructor
-CStartupTaskRemove::~CStartupTaskRemove()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CStartupTaskRemove::ExecuteL
-// Executes the task.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CStartupTaskRemove::ExecuteL()
- {
- RDscStore dsc;
- dsc.OpenL();
- CleanupClosePushL( dsc );
- CreateIfNotExistL( dsc );
-
- for( TInt index = 0; index < iItems.Count(); index++ )
- {
- const TDesC& fileName = iItems[index]->ExecutableFile();
- CDscItem* item = CDscItem::NewLC( fileName, KNullDesC );
-
- FLOG_1( _L("StartupTaskRemove: Searching for %S"), &fileName );
- if( dsc.ItemExistsL( *item ) )
- {
- FLOG_1( _L("StartupTaskRemove: Removing %S"), &fileName );
- dsc.DeleteItemL( *item );
- }
-
- CleanupStack::PopAndDestroy( item );
- }
-
- CleanupStack::PopAndDestroy( &dsc );
- }
-
-
-// End of File
--- a/appinstaller/AppinstUi/Server/Data/SWInstSvrUI.rss Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-/*
-* Copyright (c) 2002-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-// RESOURCE IDENTIFIER
-NAME SWUI
-
-#include <eikon.rh>
-#include <avkon.rsg>
-#include <avkon.rh>
-#include <avkon.mbg>
-#include <avkon.loc>
-#include <appinfo.rh>
-#include <data_caging_paths_strings.hrh>
-
-#include <appinstui.loc>
-
-RESOURCE RSS_SIGNATURE { }
-
-RESOURCE TBUF { buf = ""; }
-
-RESOURCE LOCALISABLE_APP_INFO r_swinstsvrui_localisable_app_info
- {
- short_caption = qtn_installer_short_title;
- caption_and_icon =
- CAPTION_AND_ICON_INFO
- {
- caption = qtn_installer_title;
-#ifdef __SCALABLE_ICONS
- number_of_icons = 1;
- icon_file = APP_BITMAP_DIR"\\SWInstSvrUI_aif.mif";
-#else
- number_of_icons = 2;
- icon_file = APP_BITMAP_DIR"\\SWInstSvrUI_aif.mbm";
-#endif
- };
- }
-
-
-RESOURCE TBUF r_swinstsvrui_not_supp { buf = qtn_swins_note_not_supp; }
-RESOURCE TBUF r_swinstsvrui_busy_install { buf = qtn_inst_err_installer_active; }
-RESOURCE TBUF r_swinstsvrui_no_rights { buf = qtn_am_note_drm_notrecieved; }
-
-// End of File
-
--- a/appinstaller/AppinstUi/Server/Data/SWInstSvrUI_reg.rss Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
-* Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-#include <appinfo.rh>
-#include <data_caging_paths_strings.hrh>
-#include <SWInstSvrUI.rsg>
-#include "SWInstPrivateUid.h"
-
-UID2 KUidAppRegistrationResourceFile
-UID3 KSWInstSvrUid
-
-RESOURCE APP_REGISTRATION_INFO
- {
- app_file = "SWInstSvrUI";
- localisable_resource_file = APP_RESOURCE_DIR"\\SWInstSvrUI";
- localisable_resource_id = R_SWINSTSVRUI_LOCALISABLE_APP_INFO;
- embeddability = KAppEmbeddable;
- hidden = KAppIsHidden;
- newfile = KAppDoesNotSupportNewFile;
-
- datatype_list=
- {
- DATATYPE { priority=EDataTypePriorityLow; type="x-epoc/x-sisx-app"; },
- DATATYPE { priority=EDataTypePriorityLow; type="application/vnd.symbian.install"; },
- DATATYPE { priority=EDataTypePriorityLow; type="x-epoc/x-app268436505"; }, /* x-epoc/x-app + Decimal value of 0x10000049 (UID3 of legacy sis files) */
- DATATYPE { priority=EDataTypePriorityLow; type="text/vnd.sun.j2me.app-descriptor"; },
- DATATYPE { priority=EDataTypePriorityLow; type="application/java-archive"; },
- DATATYPE { priority=EDataTypePriorityLow; type="application/x-java-archive"; },
- DATATYPE { priority=EDataTypePriorityLow; type="application/java"; },
- DATATYPE { priority=EDataTypePriorityLow; type="application/x-pip"; }
-#ifdef __WEB_WIDGETS
- , DATATYPE { priority=EDataTypePriorityLow; type="application/x-nokia-widget"; }
- , DATATYPE { priority=EDataTypePriorityLow; type="application/widget"; }
-#endif
- };
- }
-
-// End of File
-
--- a/appinstaller/AppinstUi/Server/Inc/SWInstAppUi.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,125 +0,0 @@
-/*
-* Copyright (c) 2002-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains the header file of the CSWInstAppUi class
-*
-* This class is a part of the standard application framework.
-* It instantiates the application views.
-* It also acts as the default command handler for the application.
-*
-*/
-
-
-#ifndef SWINSTAPPUI_H
-#define SWINSTAPPUI_H
-
-// INCLUDES
-#include <aknappui.h>
-#include "SWInstRequestObject.h"
-
-namespace SwiUI
-{
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-
-/**
-* This class is a part of the standard application framework.
-* It instantiates the application views.
-* It also acts as the default command handler for the application.
-*/
-class CSWInstAppUi : public CAknAppUi, public MRequestCallback
- {
- public: // Constructors and destructor
-
- /**
- * Constructor.
- */
- CSWInstAppUi();
-
- /**
- * 2nd phase constructor.
- */
- void ConstructL();
-
- /**
- * Destructor.
- */
- virtual ~CSWInstAppUi();
-
- public: // New functions
-
- /**
- * Perform installation.
- * @since 3.0
- * @param aFileName - Full path to the package to be installed.
- */
- void InstallL( const TDesC& aFileName );
-
- /**
- * Perform installation.
- * @since 3.0
- * @param aFile - Handle to the file to be installed.
- */
- void InstallL( RFile& aFile );
-
- public: // Functions from base classes
-
- /**
- * From MRequestCallback, Called when request is completed.
- * @param aResult - Result of the request.
- */
- void RequestCompleted( TInt aResult );
-
- private: // Functions from base classes
-
- /**
- * From CEikAppUi, Handles user commands.
- * @since 3.0
- * @param aCommand - Command ID
- */
- virtual void HandleCommandL( TInt aCommand );
-
- /**
- * From CEikAppUi, Processes shell commands.
- * @since 3.0
- * @param aCommand - The shell command sent to the application
- * @param aDocumentName - The document name that will be given to
- * OpenFileL()
- * @param aTail - The rest of the command line
- * @return Whether the final document name represents an existing file
- */
- virtual TBool ProcessCommandParametersL( TApaCommand aCommand,
- TFileName& aDocumentName,
- const TDesC8& aTail );
-
- /**
- * From CEikAppUi, Handles system events.
- * @since 3.0
- * @param aEvent - Event to handle.
- */
- virtual void HandleSystemEventL( const TWsEvent &aEvent );
-
- private: // Data
-
- CSWInstRequestObject* iReqObj;
- TBool iCancelInProgress;
- TBool iOkToExit;
- };
-
-}
-
-#endif // SWINSTAPPUI_H
-
-// End of File
--- a/appinstaller/AppinstUi/Server/Inc/SWInstApplication.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains the header file of the CSWInstApplication
-* class.
-*
-* This class is a part of the standard application framework.
-* The application gets instantiated starting from this class.
-* Provides a factory method for instantiating the document object.
-*
-*
-*/
-
-
-#ifndef CSWINSTAPPLICATION_H
-#define CSWINSTAPPLICATION_H
-
-// INCLUDES
-#include <aknapp.h>
-
-namespace SwiUI
-{
-
-// CLASS DECLARATION
-
-/**
-* This class is a part of the standard application framework.
-* The application gets instantiated starting from this class.
-* Provides a factory method for instantiating the document object.
-*
-*/
-class CSWInstApplication : public CAknApplication
- {
- private:
- /**
- * From CApaApplication, Creates CSWInstApplication document object.
- * @since 3.0
- * @return A pointer to the created document object.
- */
- CApaDocument* CreateDocumentL();
-
- /**
- * From CApaApplication, Returns application's UID.
- * @since 3.0
- * @return The value of KUidSWInstSvr.
- */
- TUid AppDllUid() const;
-
- /**
- * From CAknApplication, Creates application server.
- * @since 3.0
- */
- void NewAppServerL( CApaAppServer*& aAppServer );
- };
-
-}
-
-#endif // CSWINSTAPPLICATION_H
-
-// End of File
--- a/appinstaller/AppinstUi/Server/Inc/SWInstDocument.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains the header file of the CSWDocument class
-*
-* This class is a part of the standard application framework.
-* Declares the document class for this application.
-*
-*/
-
-
-#ifndef SWDOCUMENT_H
-#define SWDOCUMENT_H
-
-// INCLUDES
-#include <AknDoc.h>
-
-namespace SwiUI
-{
-
-// CLASS DECLARATION
-
-/**
-* This class is a part of the standard application framework.
-* Declares the document class for this application.
-*/
-class CSWInstDocument : public CAknDocument
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- */
- static CSWInstDocument* NewL( CEikApplication& aApp );
-
- /**
- * Destructor.
- */
- virtual ~CSWInstDocument();
-
- public: // Functions from base classes
-
- /**
- * From CEikDocument, Called by the framework to open a file.
- * @since 3.0
- * @param aDoOpen - Open an existing file if ETrue, otherwise create a
- * new file.
- * @param aFilename - The file to open or create.
- * @param aFs - The file server session to use.
- * @return File store object referring to the newly-opened file.
- */
- CFileStore* OpenFileL( TBool aDoOpen, const TDesC& aFilename, RFs& aFs );
-
- /**
- * From CEikDocument, Called by the framework to open a file.
- * @since 3.0
- */
- void OpenFileL(CFileStore*& aFileStore, RFile& aFile);
-
- /**
- * From CEikDocument, Creates CSWAppUi object.
- * @since 3.0
- * @return CSWAppUi object
- */
- CEikAppUi* CreateAppUiL();
-
- private:
-
- /**
- * Symbian OS default constructor.
- */
- CSWInstDocument( CEikApplication& aApp );
-
- };
-}
-
-#endif // SWINSTDOCUMENT_H
-
-// End of File
--- a/appinstaller/AppinstUi/Server/Inc/SWInstInstallRequest.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,186 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains the header file of the CSWInstInstallRequest
-* class
-*
-* This class implements functionality for install request.
-*
-*/
-
-
-#ifndef SWINSTINSTALLREQUEST_H
-#define SWINSTINSTALLREQUEST_H
-
-// INCLUDES
-#include <e32base.h>
-#include <SWInstDefs.h>
-
-#include "SWInstRequestObject.h"
-
-// FORWARD DECLARATIONS
-namespace ContentAccess { class CContent; }
-
-namespace SwiUI
-{
-
-// FORWARD DECLARATIONS
-
-class CSWInstUIPluginAPI;
-
-// CLASS DECLARATION
-
-/**
-* This class implements functionality for install request.
-*
-* @since 3.0
-*/
-class CSWInstInstallRequest : public CSWInstRequestObject
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- * @param aMessage - Message object having this request.
- */
- static CSWInstInstallRequest* NewL( const RMessage2& aMessage );
-
- /**
- * Two-phased constructor.
- * @param aMessage - Message object having this request.
- */
- static CSWInstInstallRequest* NewL( TInt aObjectId );
-
- /**
- * Destructor.
- */
- virtual ~CSWInstInstallRequest();
-
- public: // New functions
-
- /**
- * Perform installation
- * @since 3.0
- * @param aFile - Handle to the installation package.
- * @param aParams - install parameters.
- */
- void Install( RFile& aFile, const TInstallReq& aParams );
-
- /**
- * Perform installation
- * @since 3.0
- * @param aFileName - Path to the installation package.
- * @param aParams - install parameters.
- */
- void Install( const TDesC& aFileName, const TInstallReq& aParams );
-
- /**
- * Perform silent installation
- * @since 3.0
- * @param aFile - Handle to the installation package.
- * @param aParams - install parameters.
- * @param aOptions - Options for installation
- */
- void SilentInstall( RFile& aFile,
- const TInstallReq& aParams,
- const TInstallOptions& aOptions );
-
- /**
- * Perform silent installation
- * @since 3.0
- * @param aFileName - Path to the installation package.
- * @param aParams - install parameters.
- * @param aOptions - Options for installation
- */
- void SilentInstall( const TDesC& aFileName,
- const TInstallReq& aParams,
- const TInstallOptions& aOptions );
-
- protected: // Functions from base classes
-
- /**
- * From CSWInstRequestObject, Cancels the current request.
- * @since 3.0
- */
- void CancelRequest();
-
- /**
- * From CSWInstRequestObject, Gets called when the request is completed.
- * @since 3.0
- */
- void RequestCompleteL( TInt aResult );
-
- private: // New functions
-
- /**
- * C++ default constructor.
- * @param aMessage - Message object having this request.
- */
- CSWInstInstallRequest( const RMessage2& aMessage );
-
- /**
- * C++ default constructor.
- * @param aMessage - Message object having this request.
- */
- CSWInstInstallRequest( TInt aObjectId );
-
- /**
- * 2nd phase constructor.
- */
- void ConstructL();
-
- /**
- * Handles the error when installation of the given package is not supported.
- * @since 3.0
- * @param aFileName - File name of the package.
- */
- void HandleNotSupportedL( const TDesC& aFileName ) const;
-
- /**
- * Performs the actual installation.
- * @since 3.0
- * @param aFile - Handle to the package.
- */
- void DoInstallL( RFile& aFile);
-
- /**
- * Gets MIME type of the package.
- * @since 3.0
- * @param aContent - Package content.
- * @param aMIME - On return contains the MIME type of the package.
- */
- void GetMIMETypeL( const ContentAccess::CContent& aContent, TDes8& aMIME );
-
- /**
- * Helper to handle protected content.
- * @since 3.0
- * @param aFile - Handle to the package.
- * @param
- * @return ETrue if rights exist and package can be installed.
- * EFalse if the installation needs to be terminated.
- */
- TBool HandleProtectedContentL( RFile& aFile );
-
- private: // Data
-
- TInstallReq iParams;
- TInstallOptions iOptions;
-
- RFile iFile;
- RFs iFs;
- };
-}
-
-#endif // SWINSTINSTALLREQUEST_H
-
-// End of File
--- a/appinstaller/AppinstUi/Server/Inc/SWInstRequestObject.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,214 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains the header file of the CSWInstRequestObject
-* class.
-*
-* This class is a base class for request handler objects.
-*
-*/
-
-
-#ifndef SWINSTREQUESTOBJECT_H
-#define SWINSTREQUESTOBJECT_H
-
-// INCLUDES
-#include <e32base.h>
-
-namespace SwiUI
-{
-
-// FORWARD DECLARATIONS
-class CSWInstUIPluginAPI;
-class CStartupItem;
-class CTaskManager;
-
-/**
-* Callback interface for observing request completion.
-*
-* @since 3.0
-*/
-class MRequestCallback
- {
- public:
-
- /**
- * Called when request is completed.
- * @param aResult - Result of the request.
- */
- virtual void RequestCompleted( TInt aResult ) = 0;
- };
-
-// CLASS DECLARATION
-
-/**
-* This class is a base class for request handler objects.
-*
-* @since 3.0
-*/
-class CSWInstRequestObject : public CActive
- {
- public: // Constructors and destructor
-
- /**
- * C++ default constructor.
- * @param aMessage - Message object having this request. The ipc code of the message
- * will be used as the object's id.
- */
- CSWInstRequestObject( const RMessage2& aMessage );
-
- /**
- * C++ default constructor.
- * @param aObjectId - Id of the request.
- */
- CSWInstRequestObject( TInt aObjectId );
-
- /**
- * Destructor.
- */
- virtual ~CSWInstRequestObject();
-
- public: // New functions
-
- /**
- * Returns the message object having this request.
- * @since 3.0
- * @return Message object. If no message object has been set, the value is NULL.
- */
- RMessage2* Message();
-
- /**
- * Returns the request id of this object.
- * @since 3.0
- * @return Handle of the object.
- */
- TInt ObjectId() const;
-
- /**
- * Completes the request.
- * If callback has been set, the callback function will be called.
- * If the ipc message object has been set, the message will be completed.
- * @since 3.0
- * @param aResult - Result of the request.
- */
- void Complete( TInt aResult );
-
- /**
- * Sets the request callback handler.
- * @since 3.0
- * @param aCallback - Callback handler.
- */
- void SetCallback( MRequestCallback* aCallback );
-
- /**
- * Cancel current operation. Asynchronous.
- * @since 3.0
- */
- void Cancel();
-
- /**
- * Cancel current operation. Asynchronous.
- * @since 3.0
- * @param aMessage - Cancel message. Will be completed after the cancel
- * is completed.
- */
- void Cancel( const RMessage2& aMessage );
-
- protected: // New functions
-
- /**
- * 2nd phase constructor.
- */
- void BaseConstructL();
-
- /**
- * Creates a UI plugin based on the given mime time. Deriving objects must call this
- * function before accessing the UI plugin!
- * @since 3.0
- * @param aMime - Mime type.
- */
- void CreatePluginL( const TDesC8& aMime );
-
- /**
- * Checks if there is another request object in use globally. Leaves with
- * KSWInstErrBusy if there is.
- * @since 3.0
- */
- void LeaveIfInUseL();
-
- /**
- * Cancel current request to be implemented by derived classes.
- * @since 3.0
- */
- virtual void CancelRequest() = 0;
-
- /**
- * Gets called when the request is completed.
- * @since 3.0
- * @param aResult - Result of the request.
- */
- virtual void RequestCompleteL( TInt aResult ) = 0;
-
- /**
- * Completes this active object.
- * @since 3.0
- * @param aResult - Result of the request.
- */
- void CompleteSelf( TInt aResult );
-
- private: // Functions from base classes
-
- /**
- * From CActive, Called by framework when request is finished.
- * @since 3.0
- */
- void RunL();
-
- /**
- * From CActive, Called by framework when request is cancelled.
- * @since 3.0
- */
- void DoCancel();
-
- /**
- * From CActive, Handles a leave occurring in the request completion
- * event handler RunL().
- * @since 3.0
- */
- TInt RunError( TInt aError );
-
- protected: // Data
-
- CSWInstUIPluginAPI* iUIPlugin; // UI plugin, see CreatePluginL
- TBool iCancelling;
- TBool iIsSilent;
- CTaskManager* iTaskManager;
-
- private: // Data
-
- RMessage2 iMessage; // Message object
- TBool iMessageSet;
-
- TInt iObjectId;
- MRequestCallback* iCallback;
-
- RMutex iSingleInstanceMutex;
-
- RMessage2 iCancelMessage; // Cancel message object
- TBool iCancelMessageSet;
- };
-}
-
-#endif // SWINSTREQUESTOBJECT_H
-
-// End of File
--- a/appinstaller/AppinstUi/Server/Inc/SWInstRequestStore.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,131 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains the header file of the CSWInstRequestStore
-* class.
-*
-* This class stores all outstanding requests and makes sure that
-* no more than allowed number of simultaneous requests may be
-* issued.
-*
-* Currently only 1 outstanding request is supported.
-*
-*/
-
-
-#ifndef SWINSTREQUESTSTORE_H
-#define SWINSTREQUESTSTORE_H
-
-// INCLUDES
-#include <e32base.h>
-
-namespace SwiUI
-{
-class CSWInstRequestObject;
-
-const TUint KMaxRequestCount = 1;
-
-// CLASS DECLARATION
-
-/**
-* This class stores all outstanding requests. Currently only 1 simultaneous
-* request is supported.
-*
-* @since 3.0
-*/
-class CSWInstRequestStore : public CBase
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- */
- static CSWInstRequestStore* NewL();
-
- /**
- * Destructor.
- */
- virtual ~CSWInstRequestStore();
-
- public: // New functions
-
- /**
- * Returns the request object based on the given id.
- * @since 3.0
- * @return Request object. NULL if not found. Client must not delete the object.
- */
- CSWInstRequestObject* GetRequest( TInt aRequestId );
-
- /**
- * Returns the current total request count.
- * @since 3.0
- * @return Request count.
- */
- TInt RequestCount();
-
- /**
- * Returns the current outstanding request count.
- * @since 3.0
- * @return Request count.
- */
- TInt PendingRequestCount();
-
- /**
- * Adds the given request to the store. Leaves with KSWInstErrBusy if
- * the maximum number of outstanding requests is exceeded.
- * @since 3.0
- * @param aRequest - The request object.
- */
- void AddRequestL( CSWInstRequestObject* aRequest );
-
- /**
- * Destroy a request and remove it from the store.
- * @since 3.0
- * @param aIpc - Request id of the object.
- * @return KErrNone, if no error, KErrNotFound if the object is not in the store.
- */
- TInt DestroyRequest( TInt aRequestId );
-
- /**
- * Destroys all completed requests.
- * @since 3.0
- */
- void Flush();
-
- /**
- * Cancels all requests. Asynchronous.
- * @since 3.0
- */
- void CancelAllRequests();
-
- private:
-
- /**
- * C++ default constructor.
- */
- CSWInstRequestStore();
-
- /**
- * 2nd phase constructor.
- */
- void ConstructL();
-
- private: // Data
-
- RPointerArray<CSWInstRequestObject> iRequests;
- };
-}
-
-#endif // SWINSTREQUESTSTORE_H
-
-// End of File
--- a/appinstaller/AppinstUi/Server/Inc/SWInstServer.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,96 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains the header file of the CSWInstServer class
-*
-*/
-
-
-#ifndef SWINSTSERVER_H
-#define SWINSTSERVER_H
-
-// INCLUDES
-#include <AknServerApp.h>
-
-namespace SwiUI
-{
-
-// FORWARD DECLARATIONS
-class MRequestCallback;
-
-// CLASS DECLARATION
-
-/**
-* This class represents the SWInstaller server.
-*
-* @since 3.0
-*/
-class CSWInstServer : public CAknAppServer
- {
- public: // Constructors and destructor
-
- /**
- * Constructor.
- * @return Instance of the created server object.
- */
- static CSWInstServer* NewL();
-
- /**
- * Destructor.
- */
- virtual ~CSWInstServer();
-
- public: // New functions
-
- /**
- * Prepare the server for exit.
- * @since 3.0
- * @param aExitCallback - Will be called when the server is ready for exit.
- */
- void PrepareForExit( MRequestCallback* aExitCallback );
-
- public: // Functions from base classes
-
- /**
- * From CApaAppServiceBase, Service creation function.
- * @since 3.0
- */
- CApaAppServiceBase* CreateServiceL( TUid aServiceType ) const;
-
- /**
- * From CEikAppServer, Security check for services.
- * @since 3.0
- */
- CPolicyServer::TCustomResult CreateServiceSecurityCheckL( TUid aServiceType,
- const RMessage2& aMsg,
- TInt& aAction,
- TSecurityInfo& aMissing );
-
- private:
-
- /**
- * Constructor.
- */
- CSWInstServer();
-
- /**
- * 2nd phase constructor.
- * @param aServerName - Name of the server
- */
- void ConstructL();
- };
-}
-
-#endif // SWINSTSERVER_H
-
-// End of File
--- a/appinstaller/AppinstUi/Server/Inc/SWInstServerPanic.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file declares panic functions for the server purposes.
-*
-*/
-
-
-#ifndef SWINSTSERVERPANIC_H
-#define SWINSTSERVERPANIC_H
-
-// INCLUDES
-#include <e32base.h>
-#include "SWInstCommon.h"
-
-namespace SwiUI
-{
-
-//FORWARD DECLARATIONS
-
-
-// FUNCTION PROTOTYPES
-
-/**
-* Panics the server.
-* @since 3.0
-* @param aPanic - Reason for the panic.
-*/
-GLDEF_C void PanicServer( TSWInstPanic aPanic );
-
-/**
-* Panics the client.
-* @since 3.0
-* @param aMessage
-* @param aPanic - Reason for the panic.
-*/
-GLDEF_C void PanicClient( const RMessage2& aMessage, TSWInstPanic aPanic );
-
-}
-
-#endif
-
-// End of File
--- a/appinstaller/AppinstUi/Server/Inc/SWInstSession.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,188 +0,0 @@
-/*
-* Copyright (c) 2002-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains the header file of the CSWInstSession class
-*
-*/
-
-
-#ifndef SWINSTSESSION_H
-#define SWINSTSESSION_H
-
-// INCLUDES
-#include <AknServerApp.h>
-#include <SWInstDefs.h>
-
-#include "SWInstRequestObject.h"
-#include "CUICancelTimer.h"
-
-namespace SwiUI
-{
-
-// FORWARD DECLARATIONS
-class CSWInstRequestStore;
-class CSWInstServer;
-class MRequestCallback;
-
-// CLASS DECLARATION
-
-/**
-* This class represents the main server session.
-*
-* @since 3.0
-*/
-class CSWInstSession : public CAknAppServiceBase, public MRequestCallback,
- public CommonUI::MCUICancellable
- {
- public: // Constructors and destructor
-
- /**
- * C++ default constructor.
- */
- CSWInstSession();
-
- /**
- * Destructor.
- */
- virtual ~CSWInstSession();
-
- public: // New functions
-
- /**
- * Prepare the session for exit.
- * @since 3.0
- * @param aExitCallback - Will be called when the session is ready for exit.
- */
- void PrepareForExit( MRequestCallback* aExitCallback );
-
- public: // Functions from base classes
-
- /**
- * From CAknAppServiceBase, Handles the received message.
- * The method simply calls HandleRequestL under trap harness.
- * @since 3.0
- */
- void ServiceL( const RMessage2& aMessage );
-
- /**
- * From CAknAppServiceBase, Called back by the server framework if this
- * session's RunL function returns an error.
- * @since 3.0
- */
- void ServiceError( const RMessage2& aMessage, TInt aError );
-
- /**
- * From CAknAppServiceBase, Completes construction of this server-side
- * client session object.
- * @since 3.0
- */
- void CreateL();
-
- /**
- * From MRequestCallback, Called when request is completed.
- * @since 3.0
- */
- void RequestCompleted( TInt aResult );
-
- public:
-
- /**
- * From MCUICancellable.
- * @since 3.2
- * @return Boolean ETrue.
- */
- TBool IsShowingDialog();
-
- /**
- * From MCUICancellable.
- * @since 3.2
- */
- void CancelEngine();
-
- /**
- * From MCUICancellable.
- * @since 3.2
- */
- void ForceCancel();
-
- /**
- * From MCUICancellable.
- * @since 3.2
- */
- void StartedCancellingL();
-
- private:
-
- /**
- * Returns reference to the server.
- * @since 3.0
- * @return Reference to the server.
- */
- CSWInstServer& Server();
-
- /**
- * Handles the request.
- * @since 3.0
- * @param aMessage - Reference to the message that contains the request.
- */
- void HandleRequestL( const RMessage2& aMessage );
-
- /**
- * Helper to retrieve an int parameter from message.
- * @since 3.0
- * @param aMessage - Reference to the message that contains the request.
- * @param aIpcSlot - Slot where the parameter is retrieved.
- */
- TInt GetInt( const RMessage2& aMessage, TInt aIpcSlot );
-
- /**
- * Sends application to background.
- * @since 3.2
- */
- void SendAppToBackgroundL();
-
- /**
- * Get parameters from descriptor. Adds url to iHeapSourceUrl
- * @since 3.1
- * @param aParamsDes - Descriptor containing inst. params and url.
- * @param aParams - Install params read form given descriptor.
- */
- void GetReqParamsL( TDesC8& aParamsDes, TInstallReq& aParams );
-
-
- private: // Functions from base classes
-
- /**
- * From CApaAppServiceBase, Virtual framework function that is called
- * on receipt of a message from the client. This allows the service
- * implementation to define a security policy for messages from the client.
- * @since 3.0
- */
- CPolicyServer::TCustomResult SecurityCheckL( const RMessage2& aMsg,
- TInt& aAction,
- TSecurityInfo& aMissing );
-
- private: // Data
-
- CSWInstRequestStore* iRequestStore;
-
- MRequestCallback* iExitCallback;
- TBool iAppInForeground;
- CommonUI::CCUICancelTimer* iCanceller;
- HBufC* iHeapSourceUrl;
- };
-}
-
-#endif // SWINSTSESSION_H
-
-// End of File
--- a/appinstaller/AppinstUi/Server/Inc/SWInstUninstallRequest.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,181 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains the header file of the CSWInstUninstallRequest class
-*
-* This class implements functionality for install request.
-*
-*/
-
-
-#ifndef SWINSTUNINSTALLREQUEST_H
-#define SWINSTUNINSTALLREQUEST_H
-
-// INCLUDES
-#include <e32base.h>
-#include <SWInstDefs.h>
-#include "SWInstRequestObject.h"
-
-namespace SwiUI
-{
-
-// FORWARD DECLARATIONS
-
-class CSWInstUIPluginAPI;
-
-// CLASS DECLARATION
-
-/**
-* This class implements functionality for install request.
-*
-* @since 3.0
-*/
-class CSWInstUninstallRequest : public CSWInstRequestObject
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- * @param aMessage - Message object having this request.
- */
- static CSWInstUninstallRequest* NewL( const RMessage2& aMessage );
-
- /**
- * Two-phased constructor.
- * @param aMessage - Message object having this request.
- */
- static CSWInstUninstallRequest* NewL( TInt aObjectId );
-
- /**
- * Destructor.
- */
- virtual ~CSWInstUninstallRequest();
-
- public: // New functions
-
- /**
- * Perform uninstallation
- * @since 3.0
- * @param aUid - Uid of the package to uninstall.
- * @patam aMIME - Mime of the package to uninstall.
- */
- void Uninstall( const TUid& aUid, const TDesC8& aMIME );
-
- /**
- * Perform silent uninstallation
- * @since 3.0
- * @param aUid - Uid of the package to uninstall.
- * @patam aMIME - Mime of the package to uninstall.
- * @param aOptions - Options for uninstallation
- */
- void SilentUninstall( const TUid& aUid,
- const TDesC8& aMIME,
- TUninstallOptions& aOptions );
-
- /**
- * Perform a custom uninstallation.
- * @since 3.0
- * @param aOperation - Operation to be performed.
- * @param aParams - Parameters of the operation.
- * @param aMIME - Mime of the package to uninstall.
- */
- void CustomUninstall( TOperation aOperation,
- const TDesC8& aParams,
- const TDesC8& aMIME );
-
- /**
- * Perform a silent custom uninstallation.
- * @since 3.0
- * @param aOperation - Operation to be performed.
- * @param aOptions - Options for the silent operation.
- * @param aParams - Parameters of the operation.
- * @param aMIME - Mime of the package to uninstall.
- */
- void SilentCustomUninstall( TOperation aOperation,
- TUninstallOptions& aOptions,
- const TDesC8& aParams,
- const TDesC8& aMIME );
-
- protected: // Functions from base classes
-
- /**
- * From CSWInstRequestObject, Cancels the current request.
- * @since 3.0
- */
- void CancelRequest();
-
- /**
- * From CSWInstRequestObject, Gets called when the request is completed.
- * @since 3.0
- */
- void RequestCompleteL( TInt aResult );
-
- private:
-
- /**
- * C++ default constructor.
- * @param aMessage - Message object having this request.
- */
- CSWInstUninstallRequest( const RMessage2& aMessage );
-
- /**
- * C++ default constructor.
- * @param aMessage - Message object having this request.
- */
- CSWInstUninstallRequest( TInt aObjectId );
-
- /**
- * 2nd phase constructor.
- */
- void ConstructL();
-
- /**
- * Performs the actual uninstallation.
- * @since 3.0
- */
- void DoUninstallL( const TDesC8& aMIME );
-
- /**
- * Perform a custom uninstallation.
- * @since 3.0
- * @param aOperation - Operation to be performed.
- * @param aParams - Parameters of the operation.
- * @param aMIME - Mime of the package to uninstall.
- */
- void DoCustomUninstallL( TOperation aOperation,
- const TDesC8& aParams,
- const TDesC8& aMIME );
-
- /**
- * Perform a silent custom uninstallation.
- * @since 3.0
- * @param aOperation - Operation to be performed.
- * @param aOptions - Options for the silent operation.
- * @param aParams - Parameters of the operation.
- * @param aMIME - Mime of the package to uninstall.
- */
- void DoSilentCustomUninstallL( TOperation aOperation,
- TUninstallOptions& aOptions,
- const TDesC8& aParams,
- const TDesC8& aMIME );
-
- private: // Data
-
- TUid iUid;
- TUninstallOptions iOptions;
- };
-}
-
-#endif // SWINSTUNINSTALLREQUEST_H
-
-// End of File
--- a/appinstaller/AppinstUi/Server/Src/SWInstAppUi.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,187 +0,0 @@
-/*
-* Copyright (c) 2002-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains the implementation of CSWInstAppUi
-* class member functions.
-*
-*/
-
-
-// INCLUDE FILES
-
-#include <aknenv.h>
-#include <SWInstDefs.h>
-#include <f32file.h>
-
-#include "SWInstAppUi.h"
-#include "SWInstInstallRequest.h"
-#include "SWInstServer.h"
-#include "SWInstDefs.h"
-
-using namespace SwiUI;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CSWInstAppUi::CSWInstAppUi
-// -----------------------------------------------------------------------------
-//
-CSWInstAppUi::CSWInstAppUi()
- {
- SetFullScreenApp( EFalse );
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstAppUi::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CSWInstAppUi::ConstructL()
- {
- BaseConstructL( EStandardApp | ENoScreenFurniture | ENonStandardResourceFile
- | EAknEnableSkin | EAknEnableMSK | EAknSingleClickCompatible );
-
- // Create private path for the process
- iEikonEnv->FsSession().CreatePrivatePath( EDriveC );
- iOkToExit = ETrue;
- }
-
-// Destructor
-CSWInstAppUi::~CSWInstAppUi()
- {
- if ( iReqObj )
- {
- iReqObj->Cancel();
- delete iReqObj;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstAppUi::RunFileL
-// Process file.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSWInstAppUi::InstallL( const TDesC& aFileName )
- {
- // Currently only installation supported from here
- __ASSERT_ALWAYS( !iReqObj, User::Leave( KSWInstErrBusy ) );
-
- TInstallReq params;
- iReqObj = CSWInstInstallRequest::NewL( ERequestInstall );
- iReqObj->SetCallback( this );
- static_cast<CSWInstInstallRequest*>(iReqObj)->Install( aFileName, params );
- }
-
-void CSWInstAppUi::InstallL( RFile& aFile )
- {
- // Currently only installation supported from here
- __ASSERT_ALWAYS( !iReqObj, User::Leave( KSWInstErrBusy ) );
-
- TInstallReq params;
- iReqObj = CSWInstInstallRequest::NewL( ERequestInstall );
- iReqObj->SetCallback( this );
-
- RFile file;
- file.Duplicate( aFile );
-
- static_cast<CSWInstInstallRequest*>(iReqObj)->Install( file, params ); // Ownership of file transfers
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstAppUi::RequestCompleted
-// Called when request is completed.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSWInstAppUi::RequestCompleted( TInt /*aResult*/ )
- {
- iOkToExit = ETrue;
-
- RunAppShutter();
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstAppUi::HandleCommandL
-// Handles user commands.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSWInstAppUi::HandleCommandL( TInt aCommand )
- {
- if ( aCommand == EEikCmdExit )
- {
- CSWInstServer* server = reinterpret_cast<CSWInstServer*>(iEikonEnv->AppServer());
-
- if ( iReqObj && iReqObj->IsActive() && !iCancelInProgress )
- {
- // In this case we have no server running.
- iCancelInProgress = ETrue;
- iOkToExit = EFalse;
-
- // We must cancel the request before we can exit
- iReqObj->Cancel();
- }
- else if ( server && !iCancelInProgress )
- {
- // In this case we might have an pending request in the server side.
-// iCancelInProgress = ETrue;
- iOkToExit = EFalse;
-
- // Prepare the server for exit. This will eventually call RequestCompletedL
- // when all requests have been cancelled.
- server->PrepareForExit( this );
- }
-
- if ( iOkToExit )
- {
- Exit();
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstAppUi::ProcessCommandParametersL
-// Processes shell commands.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CSWInstAppUi::ProcessCommandParametersL( TApaCommand /*aCommand*/,
- TFileName& /*aDocumentName*/,
- const TDesC8& /*aTail*/)
- {
- return ETrue;
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstAppUi::HandleSystemEventL
-// Handles system events.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSWInstAppUi::HandleSystemEventL( const TWsEvent &aEvent )
- {
- switch (*(TApaSystemEvent*)(aEvent.EventData()))
- {
- case EApaSystemEventShutdown:
- // We need to exit
- HandleCommandL( EEikCmdExit );
- break;
- default:
- CAknAppUi::HandleSystemEventL(aEvent);
- break;
- }
- }
-
-
-// End of File
--- a/appinstaller/AppinstUi/Server/Src/SWInstApplication.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains the implementation of CSWInstApplication
-* class member functions.
-*
-*/
-
-
-// INCLUDE FILES
-
-#include "SWInstApplication.h"
-#include "SWInstDocument.h"
-#include "SWInstCommon.h"
-#include "SWInstServer.h"
-
-using namespace SwiUI;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CSWInstApplication::AppDllUid
-// Creates CSWInstApplication document object.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CApaDocument* CSWInstApplication::CreateDocumentL()
- {
- return CSWInstDocument::NewL( *this );
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstApplication::AppDllUid
-// Returns application's UID
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TUid CSWInstApplication::AppDllUid() const
- {
- return KUidSWInstSvr;
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstApplication::NewAppServerL
-// Creates application server.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSWInstApplication::NewAppServerL( CApaAppServer*& aAppServer )
- {
- aAppServer = CSWInstServer::NewL();
- }
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-#include <eikstart.h>
-
-LOCAL_C CApaApplication* NewApplication()
- {
- return new CSWInstApplication;
- }
-
-GLDEF_C TInt E32Main()
- {
- return EikStart::RunApplication( NewApplication );
- }
-
-// End of File
--- a/appinstaller/AppinstUi/Server/Src/SWInstDocument.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,97 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains the implementation of CSWInstDocument
-* class member functions.
-*
-*/
-
-
-// INCLUDE FILES
-
-#include "SWInstDocument.h"
-#include "SWInstAppUi.h"
-#include "SWInstDefs.h"
-
-using namespace SwiUI;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CSWInstDocument::CSWInstDocument
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CSWInstDocument::CSWInstDocument( CEikApplication& aApp )
- : CAknDocument( aApp )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstDocument::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CSWInstDocument* CSWInstDocument::NewL( CEikApplication& aApp )
- {
- return new(ELeave) CSWInstDocument( aApp );
- }
-
-// Destructor
-CSWInstDocument::~CSWInstDocument()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstDocument::OpenFileL
-// Called by the framework to open a file.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CFileStore* CSWInstDocument::OpenFileL( TBool /*aDoOpen*/,
- const TDesC& aFilename,
- RFs& /*aFs*/ )
- {
- TRAPD( err, static_cast<CSWInstAppUi*>(iAppUi)->InstallL( aFilename ) );
- if ( err != KErrNone && err != KSWInstErrBusy )
- {
- static_cast<CSWInstAppUi*>(iAppUi)->RequestCompleted( err );
- }
-
- return NULL;
- }
-
-void CSWInstDocument::OpenFileL(CFileStore*& aFileStore, RFile& aFile)
- {
- aFileStore = NULL;
- TRAPD( err, static_cast<CSWInstAppUi*>(iAppUi)->InstallL( aFile ) );
- if ( err != KErrNone && err != KSWInstErrBusy )
- {
- static_cast<CSWInstAppUi*>(iAppUi)->RequestCompleted( err );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstDocument::CreateAppUiL
-// Creates CSWInstAppUi object.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CEikAppUi* CSWInstDocument::CreateAppUiL()
- {
- return new( ELeave ) CSWInstAppUi;
- }
-
-
-// End of File
--- a/appinstaller/AppinstUi/Server/Src/SWInstInstallRequest.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,440 +0,0 @@
-/*
-* Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This module contains the implementation of
-* CSWInstInstallRequest class member functions.
-*
-*/
-
-
-// INCLUDE FILES
-
-#include <DRMHelper.h>
-#include <aknnotewrappers.h>
-#include <StringLoader.h>
-#include <SWInstSvrUI.rsg>
-#include <SWInstCommonUI.rsg>
-#include <SWInstTaskManager.h>
-#include <caf/caf.h>
-#include <coemain.h>
-#include <sysutil.h>
-
-#include "SWInstInstallRequest.h"
-#include "SWInstUIPluginAPI.h"
-#include "SWInstServerPanic.h"
-#include "CUIDialogs.h"
-
-using namespace SwiUI;
-
-const TInt KSystemFileRequirement = 4096; // 4 KB
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CSWInstInstallRequest::CSWInstInstallRequest
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CSWInstInstallRequest::CSWInstInstallRequest( const RMessage2& aMessage )
- : CSWInstRequestObject( aMessage )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstInstallRequest::CSWInstInstallRequest
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CSWInstInstallRequest::CSWInstInstallRequest( TInt aObjectId )
- : CSWInstRequestObject( aObjectId )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstInstallRequest::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CSWInstInstallRequest::ConstructL()
- {
- BaseConstructL();
- User::LeaveIfError( iFs.Connect() );
- iFs.ShareProtected();
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstInstallRequest::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CSWInstInstallRequest* CSWInstInstallRequest::NewL( const RMessage2& aMessage )
- {
- CSWInstInstallRequest* self = new ( ELeave ) CSWInstInstallRequest( aMessage );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstInstallRequest::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CSWInstInstallRequest* CSWInstInstallRequest::NewL( TInt aObjectId )
- {
- CSWInstInstallRequest* self = new ( ELeave ) CSWInstInstallRequest( aObjectId );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-// Destructor
-CSWInstInstallRequest::~CSWInstInstallRequest()
- {
- iFile.Close();
- iFs.Close();
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstInstallRequest::Install
-// Perform installation
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSWInstInstallRequest::Install( RFile& aFile, const TInstallReq& aParams )
- {
- iIsSilent = EFalse;
- iParams = aParams;
- iFile = aFile;
-
- TRAPD( err, DoInstallL( aFile ) );
-
- if ( err != KErrNone )
- {
- CompleteSelf( err );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstInstallRequest::Install
-// Perform installation
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSWInstInstallRequest::Install( const TDesC& aFileName, const TInstallReq& aParams )
- {
- iIsSilent = EFalse;
- iParams = aParams;
-
- // Copy the package path to source url
- if ( !iParams.iSourceURL.Length() )
- {
- iParams.iSourceURL = TParsePtrC( aFileName ).DriveAndPath();
- }
-
- // Open file handle to the package
- TInt err = iFile.Open( iFs, aFileName, EFileRead | EFileShareReadersOnly );
- if ( err == KErrNone )
- {
- TRAP( err, DoInstallL( iFile ) );
- }
-
- if ( err != KErrNone )
- {
- CompleteSelf( err );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstInstallRequest::SilentInstall
-// Perform silent installation
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSWInstInstallRequest::SilentInstall( RFile& aFile,
- const TInstallReq& aParams,
- const TInstallOptions& aOptions )
- {
- iIsSilent = ETrue;
- iParams = aParams;
- iOptions = aOptions;
- iFile = aFile;
-
- TRAPD( err, DoInstallL( aFile ) );
-
- if ( err != KErrNone )
- {
- CompleteSelf( err );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstInstallRequest::SilentInstall
-// Perform silent installation
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSWInstInstallRequest::SilentInstall( const TDesC& aFileName,
- const TInstallReq& aParams,
- const TInstallOptions& aOptions )
- {
- iIsSilent = ETrue;
- iParams = aParams;
- iOptions = aOptions;
-
- // Copy the package path to source url
- if ( !iParams.iSourceURL.Length() )
- {
- iParams.iSourceURL = TParsePtrC( aFileName ).DriveAndPath();
- }
-
- // Open file handle to the package
- TInt err = iFile.Open( iFs, aFileName, EFileRead | EFileShareReadersOnly );
- if ( err == KErrNone )
- {
- TRAP( err, DoInstallL( iFile ) );
- }
-
- if ( err != KErrNone )
- {
- CompleteSelf( err );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstInstallRequest::CancelRequest
-// Cancels the current request.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSWInstInstallRequest::CancelRequest()
- {
- // If we have a pending install request, cancel it
- if ( iUIPlugin )
- {
- iUIPlugin->Cancel();
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstInstallRequest::RequestCompleteL
-// Gets called when the request is completed.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSWInstInstallRequest::RequestCompleteL( TInt aResult )
- {
- // First see if we even have a ui plugin
- if ( iUIPlugin )
- {
- // Run outstanding tasks
- TRAP_IGNORE( iTaskManager->ExecutePendingTasksL() );
-
- // Inform the ui
- iUIPlugin->CompleteL();
-
- // Delete the plugin and try to run outstanding tasks once again.
- delete iUIPlugin;
- iUIPlugin = NULL;
- TRAP_IGNORE( iTaskManager->ExecutePendingTasksL() );
- }
-
- iFile.Close();
-
- // Complete the client message
- Complete( aResult );
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstInstallRequest::HandleNotSupportedL
-// Handles the error when installation of the given package is not supported.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSWInstInstallRequest::HandleNotSupportedL( const TDesC& aFileName ) const
- {
- if ( !iIsSilent )
- {
- // Display an error to the user
- HBufC* errorString = StringLoader::LoadLC( R_SWINSTSVRUI_NOT_SUPP,
- TParsePtrC( aFileName ).NameAndExt() );
- CommonUI::CCUIDialogs* commonDlgs = CommonUI::CCUIDialogs::NewL();
- CleanupStack::PushL( commonDlgs );
- commonDlgs->ShowErrorNoteL( *errorString );
- CleanupStack::PopAndDestroy( 2, errorString );
- }
- User::Leave( KSWInstErrPackageNotSupported );
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstInstallRequest::DoInstallL
-// Performs the actual installation.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSWInstInstallRequest::DoInstallL( RFile& aFile )
- {
- // Check that no instances of installer is running
- LeaveIfInUseL();
-
- // Try to recover in case of old fatal error
- TRAP_IGNORE( iTaskManager->ExecuteRecoveryTasksL() );
-
- // If there is no mime type in the parameters try to get it based on content.
- // If mime is supplied in parameters, it is always used first!
- if ( !iParams.iMIME.Length() )
- {
- ContentAccess::CContent* content = ContentAccess::CContent::NewLC( aFile );
- GetMIMETypeL( *content, iParams.iMIME );
- CleanupStack::PopAndDestroy( content );
- }
-
- // If the mime could not be detected, cancel the installation.
- if ( !iParams.iMIME.Length() )
- {
- TFileName name;
- aFile.Name( name );
- HandleNotSupportedL( name );
- }
- else
- {
- // Make sure that we are not running out of disk space.
- // We need to make sure that there is enough space at least for possible
- // persistent tasks.
- if ( SysUtil::FFSSpaceBelowCriticalLevelL( &iFs, KSystemFileRequirement ) )
- {
- if ( !iIsSilent )
- {
- CommonUI::CCUIDialogs* commonDlgs = CommonUI::CCUIDialogs::NewL();
- CleanupStack::PushL( commonDlgs );
- commonDlgs->ShowErrorNoteL( R_SWCOMMON_NOT_ENOUGH_MEMORY );
- CleanupStack::PopAndDestroy( commonDlgs );
- }
- User::Leave( KSWInstErrInsufficientMemory );
- }
- TInt err = 0;
- // Try to create the plugin based on the MIME type
- TRAP( err, CreatePluginL( iParams.iMIME ) );
- if ( err == KErrNotFound ) //lets try again by asking mime type from the content
- {
- ContentAccess::CContent* content = ContentAccess::CContent::NewLC( aFile );
- GetMIMETypeL( *content, iParams.iMIME );
- CleanupStack::PopAndDestroy( content );
- TRAP( err, CreatePluginL( iParams.iMIME ) );
- }
- if ( err == KErrNotFound )
- {
- TFileName name;
- aFile.Name( name );
- HandleNotSupportedL( name );
- }
- else if ( err != KErrNone )
- {
- User::Leave( err );
- }
- else
- {
- TInt isProtected( EFalse );
-
- // See if this is protected content
- ContentAccess::CContent* content = ContentAccess::CContent::NewLC( aFile );
- content->GetAttribute( ContentAccess::EIsProtected, isProtected );
- CleanupStack::PopAndDestroy( content );
-
- // We can launch the installation if this is not protected or
- // rights exist for the protected content.
- if ( !isProtected || HandleProtectedContentL( aFile ) )
- {
- if ( !iIsSilent )
- {
- iUIPlugin->InstallL( aFile, iParams, isProtected, iStatus );
- }
- else
- {
- iUIPlugin->SilentInstallL( aFile, iParams, isProtected, iOptions, iStatus );
- }
-
- SetActive();
- }
- else
- {
- User::Leave( KSWInstErrNoRights );
- }
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstInstallRequest::GetMIMETypeL
-// Gets MIME type of the package.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSWInstInstallRequest::GetMIMETypeL( const ContentAccess::CContent& aContent,
- TDes8& aMIME )
- {
- HBufC* tmpMIME = HBufC::NewLC( KMaxDataTypeLength );
- TPtr mimePtr( tmpMIME->Des() );
- User::LeaveIfError( aContent.GetStringAttribute( ContentAccess::EMimeType, mimePtr ) );
- aMIME.Copy( *tmpMIME );
- CleanupStack::PopAndDestroy( tmpMIME );
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstInstallRequest::HandleProtectedContentL
-// Helper to handle protected content.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CSWInstInstallRequest::HandleProtectedContentL( RFile& aFile )
- {
- TBool result( EFalse );
-
- // Try to open the content, if we get an error, let the DRMHelper handle it
- ContentAccess::CContent* content = ContentAccess::CContent::NewLC( aFile );
- CData* pkgData = NULL;
- TRAPD( err, pkgData = content->OpenContentL( ContentAccess::EExecute ) ); // Install needs EExecute
- delete pkgData;
- pkgData = NULL;
- CleanupStack::PopAndDestroy( content );
-
- if ( err != KErrNone && !iIsSilent )
- {
- CDRMHelper* drmHelper = CDRMHelper::NewL( *CCoeEnv::Static() );
- TRAPD( helperErr, drmHelper->HandleErrorL( err, aFile ) );
- delete drmHelper;
- drmHelper = NULL;
-
- if ( helperErr != KErrNone )
- {
- // Some error from helper
- CommonUI::CCUIDialogs* commonDlgs = CommonUI::CCUIDialogs::NewL();
- CleanupStack::PushL( commonDlgs );
- commonDlgs->ShowErrorNoteL( R_SWINSTSVRUI_NO_RIGHTS );
- CleanupStack::PopAndDestroy( commonDlgs );
- }
- }
- else if ( err == KErrNone )
- {
- // We have rights
- result = ETrue;
- }
-
- return result;
- }
-
-// End of File
--- a/appinstaller/AppinstUi/Server/Src/SWInstRequestObject.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,263 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This module contains the implementation of CSWInstRequestObject
-* class member functions.
-*
-*/
-
-
-// INCLUDE FILES
-
-#include <StringLoader.h>
-#include <SWInstDefs.h>
-#include <SWInstSvrUI.rsg>
-#include <SWInstTaskManager.h>
-
-#include "SWInstRequestObject.h"
-#include "SWInstUIPluginAPI.h"
-#include "CUIDialogs.h"
-#include "SWInstServerPanic.h"
-
-using namespace SwiUI;
-
-_LIT( KSWInstSingleInstanceMutex, "SWINST_INSTANCE" );
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CSWInstRequestObject::CSWInstRequestObject
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CSWInstRequestObject::CSWInstRequestObject( const RMessage2& aMessage )
- : CActive( CActive::EPriorityStandard ),
- iMessage( aMessage ),
- iMessageSet( ETrue ),
- iObjectId( aMessage.Function() )
- {
- CActiveScheduler::Add( this );
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstRequestObject::CSWInstRequestObject
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CSWInstRequestObject::CSWInstRequestObject( TInt aObjectId )
- : CActive( CActive::EPriorityStandard ),
- iObjectId( aObjectId )
- {
- CActiveScheduler::Add( this );
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstRequestObject::BaseConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CSWInstRequestObject::BaseConstructL()
- {
- iTaskManager = CTaskManager::NewL();
- }
-
-// Destructor
-CSWInstRequestObject::~CSWInstRequestObject()
- {
- delete iUIPlugin;
- CActive::Cancel();
- delete iTaskManager;
- iSingleInstanceMutex.Close();
- }
-
-
-// -----------------------------------------------------------------------------
-// CSWInstRequestObject::Message
-// Returns the message object having this request.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-RMessage2* CSWInstRequestObject::Message()
- {
- return &iMessage;
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstRequestObject::ObjectHandle
-// Returns the request id of this object.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CSWInstRequestObject::ObjectId() const
- {
- return iObjectId;
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstRequestObject::Complete
-// Completes the request.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSWInstRequestObject::Complete( TInt aResult )
- {
- iSingleInstanceMutex.Close();
-
- if ( iMessageSet )
- {
- iMessage.Complete( aResult );
- }
-
- if ( iCancelMessageSet )
- {
- iCancelMessage.Complete( KErrNone );
- }
-
- if ( iCallback )
- {
- iCallback->RequestCompleted( aResult );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstRequestObject::SetCallback
-// Sets the request callback handler.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSWInstRequestObject::SetCallback( MRequestCallback* aCallback )
- {
- iCallback = aCallback;
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstRequestObject::Cancel
-// Cancel current operation.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSWInstRequestObject::Cancel()
- {
- if ( IsActive() )
- {
- iCancelling = ETrue;
- CancelRequest();
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstRequestObject::Cancel
-// Cancel current operation.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSWInstRequestObject::Cancel( const RMessage2& aMessage )
- {
- if ( IsActive() )
- {
- iCancelMessage = aMessage;
- iCancelMessageSet = ETrue;
- iCancelling = ETrue;
- CancelRequest();
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstRequestObject::CreatePluginL
-// Creates a UI plugin based on the given mime time.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSWInstRequestObject::CreatePluginL( const TDesC8& aMime )
- {
- iUIPlugin = CSWInstUIPluginAPI::NewL( aMime );
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstRequestObject::LeaveIfInUseL
-// Checks if there is another request object in use globally. Leaves with
-// KSWInstErrBusy if there is.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSWInstRequestObject::LeaveIfInUseL()
- {
- TInt err = iSingleInstanceMutex.CreateGlobal( KSWInstSingleInstanceMutex() );
- if ( err == KErrAlreadyExists )
- {
- if ( !iIsSilent )
- {
- HBufC* noteText = StringLoader::LoadLC( R_SWINSTSVRUI_BUSY_INSTALL );
- CommonUI::CCUIDialogs* commonDlg = CommonUI::CCUIDialogs::NewL();
- CleanupStack::PushL( commonDlg );
- commonDlg->ShowErrorNoteL( *noteText );
- CleanupStack::PopAndDestroy( 2, noteText );
- }
- User::Leave( KSWInstErrBusy );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstRequestObject::CompleteSelf
-// Completes this active object.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSWInstRequestObject::CompleteSelf( TInt aResult )
- {
- __ASSERT_ALWAYS( !IsActive(), PanicServer( ESWInstPanicBadHandle ) );
-
- TRequestStatus* stat = &iStatus;
- User::RequestComplete( stat, aResult );
- SetActive();
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstRequestObject::RunL
-// Called by framework when request is finished.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSWInstRequestObject::RunL()
- {
- RequestCompleteL( iStatus.Int() );
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstRequestObject::DoCancelL
-// Called by framework when request is cancelled.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSWInstRequestObject::DoCancel()
- {
- // Empty
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstRequestObject::RunError
-// Handles a leave occurring in the request completion event handler RunL().
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CSWInstRequestObject::RunError( TInt aError )
- {
- // Complete the client ipc message with the error
- Complete( aError );
-
- return KErrNone;
- }
-
-// End of File
--- a/appinstaller/AppinstUi/Server/Src/SWInstRequestStore.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,216 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This module contains the implementation of CSWInstRequestStore
-* class member functions.
-*
-*/
-
-
-// INCLUDE FILES
-#include <SWInstDefs.h>
-
-#include "SWInstRequestStore.h"
-#include "SWInstRequestObject.h"
-
-using namespace SwiUI;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CSWInstRequestStore::CSWInstRequestStore
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CSWInstRequestStore::CSWInstRequestStore()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstRequestStore::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CSWInstRequestStore::ConstructL()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstRequestStore::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CSWInstRequestStore* CSWInstRequestStore::NewL()
- {
- CSWInstRequestStore* self = new ( ELeave ) CSWInstRequestStore();
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-// Destructor
-CSWInstRequestStore::~CSWInstRequestStore()
- {
- iRequests.ResetAndDestroy();
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstRequestStore::GetRequest
-// Returns the request object based on the given id.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CSWInstRequestObject* CSWInstRequestStore::GetRequest( TInt aRequestId )
- {
- CSWInstRequestObject* obj = NULL;
-
- for ( TInt index = 0; index < iRequests.Count(); index++ )
- {
- if ( iRequests[index]->ObjectId() == aRequestId )
- {
- obj = iRequests[index];
- break;
- }
- }
-
- return obj;
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstRequestStore::RequestCount
-// Returns the current total request count.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CSWInstRequestStore::RequestCount()
- {
- return iRequests.Count();
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstRequestStore::PendingRequestCount
-// Returns the current outstanding request count.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CSWInstRequestStore::PendingRequestCount()
- {
- TInt result( 0 );
-
- for ( TInt index = 0; index < iRequests.Count(); index++ )
- {
- if ( iRequests[index]->IsActive() )
- {
- ++result;
- }
- }
-
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstRequestStore::AddRequestL
-// Adds the given request to the store.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSWInstRequestStore::AddRequestL( CSWInstRequestObject* aRequest )
- {
- if ( iRequests.Count() == KMaxRequestCount )
- {
- User::Leave( KSWInstErrBusy );
- }
-
- if ( !GetRequest( aRequest->ObjectId() ) )
- {
- iRequests.Append( aRequest );
- }
-
- else
- {
- User::Leave( KSWInstErrBusy );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstRequestStore::DestroyRequest
-// Destroy a request and remove it from the store.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CSWInstRequestStore::DestroyRequest( TInt aRequestId )
- {
- TInt result( KErrNotFound );
-
- for ( TInt index = 0; index < iRequests.Count(); index++ )
- {
- if ( iRequests[index]->ObjectId() == aRequestId )
- {
- CSWInstRequestObject* obj = iRequests[index];
- iRequests.Remove( index );
- delete obj;
- result = KErrNone;
- break;
- }
- }
-
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstRequestStore::Flush
-// Destroys all completed requests.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSWInstRequestStore::Flush()
- {
- TInt count = iRequests.Count();
- TInt index( 0 );
-
- while ( count )
- {
- CSWInstRequestObject* obj = iRequests[index];
- if ( !obj->IsActive() )
- {
- iRequests.Remove( index );
- delete obj;
- }
- else
- {
- ++index;
- }
- --count;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstRequestStore::CancelAllRequests
-// Cancels all requests. Asynchronous.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSWInstRequestStore::CancelAllRequests()
- {
- for ( TInt index = 0; index < iRequests.Count(); index++ )
- {
- if ( iRequests[index]->IsActive() )
- {
- iRequests[index]->Cancel();
- }
- }
- }
-
-// End of File
--- a/appinstaller/AppinstUi/Server/Src/SWInstServer.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,153 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This module contains the implementation of CSWInstServer class
-* member functions.
-*
-*/
-
-
-// INCLUDE FILES
-#include <coemain.h>
-
-#include "SWInstServer.h"
-#include "SWInstSession.h"
-#include "SWInstPrivateUid.h"
-#include "SWInstAppUi.h"
-
-using namespace SwiUI;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CSWInstServer::CSWInstServer
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CSWInstServer::CSWInstServer()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstServer::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CSWInstServer::ConstructL()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstServer::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CSWInstServer* CSWInstServer::NewL()
- {
- CSWInstServer* self = new (ELeave) CSWInstServer();
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop();
- return self;
- }
-
-// Destructor
-CSWInstServer::~CSWInstServer()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstServer::PrepareForExit
-// Prepare the session for exit.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSWInstServer::PrepareForExit( MRequestCallback* aExitCallback )
- {
- // We may assume that this server can have only one connected session
- iSessionIter.SetToFirst();
- CSWInstSession* session = reinterpret_cast<CSWInstSession*>(iSessionIter++);
- if ( session )
- {
- session->PrepareForExit( aExitCallback );
- }
- else
- {
- // No connected sessions
- aExitCallback->RequestCompleted( KErrNone );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstServer::CreateServiceL
-// Service creation function.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CApaAppServiceBase* CSWInstServer::CreateServiceL( TUid aServiceType ) const
- {
- if ( aServiceType == TUid::Uid( KSWInstInstallServiceUid ) )
- {
- return new (ELeave) CSWInstSession();
- }
- else if ( aServiceType == TUid::Uid( KSWInstSilentInstallServiceUid ) )
- {
- CCoeEnv* coe = CCoeEnv::Static();
- CSWInstAppUi* appui = reinterpret_cast<CSWInstAppUi*>( coe->AppUi() );
- appui->HideApplicationFromFSW( ETrue );
-
- return new (ELeave) CSWInstSession();
- }
- else
- {
- return CAknAppServer::CreateServiceL( aServiceType );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstServer::CreateServiceL
-// Security check for services.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CPolicyServer::TCustomResult CSWInstServer::CreateServiceSecurityCheckL( TUid aServiceType,
- const RMessage2& aMsg,
- TInt& aAction,
- TSecurityInfo& aMissing )
- {
- if ( aServiceType == TUid::Uid( KSWInstInstallServiceUid ) )
- {
- // No capabilities needed for normal installation
- return CPolicyServer::EPass;
- }
- else if ( aServiceType == TUid::Uid( KSWInstSilentInstallServiceUid ) )
- {
- if ( aMsg.HasCapability( TCapability( ECapabilityTrustedUI ) ) )
- {
- return CPolicyServer::EPass;
- }
- else
- {
- return CPolicyServer::EFail;
- }
- }
- else
- {
- return CAknAppServer::CreateServiceSecurityCheckL( aServiceType, aMsg, aAction, aMissing );
- }
- }
-
-
-
-// End of File
--- a/appinstaller/AppinstUi/Server/Src/SWInstServerPanic.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains implementations of server panic functions.
-*
-*/
-
-
-// INCLUDE FILES
-
-#include "SWInstServerPanic.h"
-
-// ==================== LOCAL FUNCTIONS ====================
-
-// -----------------------------------------------------------------------------
-// PanicServer
-// Panics the server
-// Returns: None
-// -----------------------------------------------------------------------------
-//
-GLDEF_C void SwiUI::PanicServer( TSWInstPanic aPanic )
- {
- User::Panic( KSWInstSvrName, aPanic );
- }
-
-// -----------------------------------------------------------------------------
-// PanicClient
-// Panics the client.
-// Returns: None
-// -----------------------------------------------------------------------------
-//
-GLDEF_C void SwiUI::PanicClient( const RMessage2& aMessage, TSWInstPanic aPanic )
- {
- aMessage.Panic( KSWInstSvrName, aPanic );
- }
-
-// End of File
--- a/appinstaller/AppinstUi/Server/Src/SWInstSession.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,754 +0,0 @@
-/*
-* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This module contains the implementation of CSWInstSession class
-* member functions.
-*
-*/
-
-
-// INCLUDE FILES
-#include <ecom/ecom.h>
-#include <w32std.h>
-#include <apgtask.h>
-#include <s32mem.h> //RDesReadStream
-
-#include "SWInstSession.h"
-#include "SWInstServer.h"
-#include "SWInstServerPanic.h"
-#include "SWInstInstallRequest.h"
-#include "SWInstUninstallRequest.h"
-#include "SWInstRequestStore.h"
-#include "SWInstPrivateUid.h"
-
-using namespace SwiUI;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CSWInstSession::CSWInstSession
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CSWInstSession::CSWInstSession()
- {
- }
-
-// Destructor
-CSWInstSession::~CSWInstSession()
- {
- if ( iCanceller )
- {
- iCanceller->Cancel();
- delete iCanceller;
- }
-
- delete iRequestStore;
- // Call final close for ecom
- REComSession::FinalClose();
-
- delete iHeapSourceUrl;
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstSession::PrepareForExit
-// Prepare the session for exit.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSWInstSession::PrepareForExit( MRequestCallback* aExitCallback )
- {
- iExitCallback = aExitCallback;
-
- // If we have any pending requests, cancel them all
- if ( iRequestStore )
- {
- iRequestStore->CancelAllRequests();
- }
-
- if ( iExitCallback )
- {
- iExitCallback->RequestCompleted( KErrNone );
- iExitCallback = NULL;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstSession::ServiceL
-// Handles the received message.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSWInstSession::ServiceL( const RMessage2& aMessage )
- {
- // Dispatch the message in trap harness.
- TRAPD( result, HandleRequestL( aMessage ) );
-
- if ( result == KErrBadDescriptor )
- {
- PanicClient( aMessage, ESWInstPanicBadDescriptor );
- }
-
- // In case of leave, we need to complete the client request here
- else if ( result != KErrNone )
- {
- if ( iRequestStore )
- {
- CSWInstRequestObject* req = iRequestStore->GetRequest( aMessage.Function() );
- if ( req && req->IsActive() )
- {
- req->Cancel();
- }
- else
- {
- // No active request found, we must complete the message manually
- aMessage.Complete( result );
- }
- }
- else
- {
- aMessage.Complete( result );
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstSession::ServiceError
-// Called back by the server framework if this sessions RunL function returns an
-// error.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSWInstSession::ServiceError( const RMessage2& aMessage, TInt aError )
- {
- // A bad descriptor error implies a badly programmed client, so panic it;
- // otherwise use the default handling (report the error to the client)
- if ( aError == KErrBadDescriptor )
- {
- PanicClient( aMessage, ESWInstPanicBadDescriptor );
- }
- CAknAppServiceBase::ServiceError( aMessage, aError );
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstSession::CreateL
-// Completes construction of this server-side client session object.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSWInstSession::CreateL()
- {
- iRequestStore = CSWInstRequestStore::NewL();
- CAknAppServiceBase::CreateL();
- iAppInForeground = ETrue;
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstSession::RequestCompleted
-// Called when request is completed.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSWInstSession::RequestCompleted( TInt /*aResult*/ )
- {
- // Delete completed requests
- iRequestStore->Flush();
- TInt pendingRequests = iRequestStore->PendingRequestCount();
-
- // See if we need to notify this completion
- if( iExitCallback && !pendingRequests )
- {
- iExitCallback->RequestCompleted( KErrNone );
- iExitCallback = NULL;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstSession::Server
-// Returns reference to the server.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CSWInstServer& CSWInstSession::Server()
- {
- return *static_cast<CSWInstServer*>( const_cast<CServer2*>
- ( CSession2::Server() ) );
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstSession::HandleRequestL
-// Handles the request.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSWInstSession::HandleRequestL( const RMessage2& aMessage )
- {
- TServerRequest opCode( ( TServerRequest ) aMessage.Function() );
-
- // Send application to background if installation is silent. This way
- // we do not block other apps if installation takes long time.
- if ( opCode == ERequestSilentInstall && iAppInForeground ||
- opCode == ERequestSilentInstallParams && iAppInForeground ||
- opCode == ERequestSilentInstallHandle && iAppInForeground ||
- opCode == ERequestSilentInstallParamsHandle && iAppInForeground )
- {
- SendAppToBackgroundL();
- }
-
- // Handle requests for the session.
- switch ( opCode )
- {
- case ERequestCancelRequest:
- {
- // We need to cancel and destroy the corresponding request.
- TInt functionToCancel( GetInt( aMessage, KRequestIpcSlot ) );
- CSWInstRequestObject* requestObj = iRequestStore->GetRequest( functionToCancel );
- if ( requestObj && requestObj->IsActive() )
- {
- requestObj->Cancel( aMessage );
- }
- else
- {
- // If we are cancelling we may have a dialog waiting. We need to
- // use this special method to cancel dialog before exit.
- // See error TSW ELBA-78SBTS
- TRAP_IGNORE(
- iCanceller = CommonUI::CCUICancelTimer::NewL( this );
- iCanceller->StartCancelling();
- );
-
- aMessage.Complete( KErrNotFound );
- }
-
- break;
- }
-
- case ERequestInstall:
- case ERequestInstallParams:
- case ERequestSilentInstall:
- case ERequestSilentInstallParams:
- {
- // Delete completed requests
- iRequestStore->Flush();
-
- CSWInstInstallRequest* installRequestObj = CSWInstInstallRequest::NewL( aMessage );
- CleanupStack::PushL( installRequestObj );
- // If store is full, this leaves with KSWInstErrBusy
- iRequestStore->AddRequestL( installRequestObj ); // Ownership transfers to store
- CleanupStack::Pop( installRequestObj );
-
- TFileName fileName;
- TInstallReq params;
-
- // Parse filename
- __ASSERT_ALWAYS( aMessage.GetDesLength( KFileNameIpcSlot ) > 0,
- User::Leave( KErrBadDescriptor ) );
-
- aMessage.ReadL( KFileNameIpcSlot, fileName );
-
- if ( opCode == ERequestInstall )
- {
- installRequestObj->Install( fileName, params );
- }
-
- else if( opCode == ERequestSilentInstall )
- {
- __ASSERT_ALWAYS( aMessage.GetDesLength( KOptionsIpcSlot ) > 0,
- User::Leave( KErrBadDescriptor ) );
-
- // Parse install options
- TInstallOptions options;
- TPckg<TInstallOptions> optionsPckg( options );
- aMessage.ReadL( KOptionsIpcSlot, optionsPckg );
-
- installRequestObj->SilentInstall( fileName, params, options );
- }
-
- else if ( opCode == ERequestInstallParams )
- {
- //TSW JROL-7B8K6H
- TPckg<TInstallReq> paramsPckg( params );
- TInt desLength = aMessage.GetDesLength( KParamsIpcSlot );
- __ASSERT_ALWAYS( desLength > 0,
- User::Leave( KErrBadDescriptor ) );
-
- // If length is more then sizeof TInstallReqPckg, input data
- // is stored to to heap. Read data to descriptor.
- if ( desLength > sizeof( TInstallReq ) )
- {
- HBufC8* paramDescriptor = HBufC8::NewLC( desLength );
- TPtr8 paramDesPtr = paramDescriptor->Des();
- aMessage.ReadL( KParamsIpcSlot, paramDesPtr );
- // Get install parameters and store URL to heap.
- GetReqParamsL( *paramDescriptor, params );
- CleanupStack::PopAndDestroy( paramDescriptor );
- }
- else
- {
- aMessage.ReadL( KParamsIpcSlot, paramsPckg );
- }
-
- installRequestObj->Install( fileName, params );
- }
-
- else if ( opCode == ERequestSilentInstallParams )
- {
- __ASSERT_ALWAYS( aMessage.GetDesLength( KParamsIpcSlot ) > 0 &&
- aMessage.GetDesLength( KOptionsIpcSlot ) > 0,
- User::Leave( KErrBadDescriptor ) );
-
- //TSW JROL-7B8K6H
- TPckg<TInstallReq> paramsPckg( params );
- TInt desLength = aMessage.GetDesLength( KParamsIpcSlot );
-
- // If length is more then sizeof TInstallReqPckg, input data
- // is stored to to heap. Read data to descriptor.
- if ( desLength > sizeof( TInstallReq ) )
- {
- HBufC8* paramDescriptor = HBufC8::NewLC( desLength );
- TPtr8 paramDesPtr = paramDescriptor->Des();
- aMessage.ReadL( KParamsIpcSlot, paramDesPtr );
- // Get install parameters and store URL to heap.
- GetReqParamsL( *paramDescriptor, params );
- CleanupStack::PopAndDestroy( paramDescriptor );
- }
- // Read params to pckg if lenght is more then 0.
- else
- {
- aMessage.ReadL( KParamsIpcSlot, paramsPckg );
- }
-
- // Parse install options
- TInstallOptions options;
- TPckg<TInstallOptions> optionsPckg( options );
- aMessage.ReadL( KOptionsIpcSlot, optionsPckg );
-
- installRequestObj->SilentInstall( fileName, params, options );
- }
-
- break;
- }
-
- case ERequestInstallHandle:
- case ERequestInstallParamsHandle:
- case ERequestSilentInstallHandle:
- case ERequestSilentInstallParamsHandle:
- {
- // Delete completed requests
- iRequestStore->Flush();
-
- CSWInstInstallRequest* installRequestObj = CSWInstInstallRequest::NewL( aMessage );
- CleanupStack::PushL( installRequestObj );
- // If store is full, this leaves with KSWInstErrBusy
- iRequestStore->AddRequestL( installRequestObj ); // Ownership transfers to store
- CleanupStack::Pop( installRequestObj );
-
- RFile file;
- TInstallReq params;
-
- // Get the file handle
- User::LeaveIfError( file.AdoptFromClient( aMessage, KFileHandleIpcSlot, KFileSrvSessionIpcSlot ) );
- CleanupClosePushL( file );
-
- if ( opCode == ERequestInstallHandle )
- {
- installRequestObj->Install( file, params ); // Ownership of file transfers
- CleanupStack::Pop(); // file
- }
-
- else if( opCode == ERequestSilentInstallHandle )
- {
- __ASSERT_ALWAYS( aMessage.GetDesLength( KOptionsIpcSlot ) > 0,
- User::Leave( KErrBadDescriptor ) );
-
- // Parse install options
- TInstallOptions options;
- TPckg<TInstallOptions> optionsPckg( options );
- aMessage.ReadL( KOptionsIpcSlot, optionsPckg );
-
- installRequestObj->SilentInstall( file, params, options ); // Ownership of file transfers
- CleanupStack::Pop(); // file
- }
-
- else if ( opCode == ERequestInstallParamsHandle )
- {
- TPckg<TInstallReq> paramsPckg( params );
- TInt desLength = aMessage.GetDesLength( KParamsIpcSlot );
- __ASSERT_ALWAYS( desLength > 0,
- User::Leave( KErrBadDescriptor ) );
-
- // If length is more then sizeof TInstallReqPckg, input data
- // is stored to to heap. Read data to descriptor.
- if ( desLength > sizeof( TInstallReq ) )
- {
- HBufC8* paramDescriptor = HBufC8::NewLC( desLength );
- TPtr8 paramDesPtr = paramDescriptor->Des();
- aMessage.ReadL( KParamsIpcSlot, paramDesPtr );
- // Get install parameters and store URL to heap.
- GetReqParamsL( *paramDescriptor, params );
- CleanupStack::PopAndDestroy( paramDescriptor );
- }
- else
- {
- aMessage.ReadL( KParamsIpcSlot, paramsPckg );
- }
-
- installRequestObj->Install( file, params ); // Ownership of file transfers
- CleanupStack::Pop(); // file
- }
-
- else if ( opCode == ERequestSilentInstallParamsHandle )
- {
- __ASSERT_ALWAYS( aMessage.GetDesLength( KParamsIpcSlot ) > 0 &&
- aMessage.GetDesLength( KOptionsIpcSlot ) > 0,
- User::Leave( KErrBadDescriptor ) );
-
- TPckg<TInstallReq> paramsPckg( params );
- TInt desLength = aMessage.GetDesLength( KParamsIpcSlot );
-
- // If length is more then sizeof TInstallReqPckg, input data
- // is stored to to heap. Read data to descriptor.
- if ( desLength > sizeof( TInstallReq ) )
- {
- HBufC8* paramDescriptor = HBufC8::NewLC( desLength );
- TPtr8 paramDesPtr = paramDescriptor->Des();
- aMessage.ReadL( KParamsIpcSlot, paramDesPtr );
- // Get install parameters and store URL to heap.
- GetReqParamsL( *paramDescriptor, params );
- CleanupStack::PopAndDestroy( paramDescriptor );
- }
- else
- {
- aMessage.ReadL( KParamsIpcSlot, paramsPckg );
- }
-
- // Parse install options
- TInstallOptions options;
- TPckg<TInstallOptions> optionsPckg( options );
- aMessage.ReadL( KOptionsIpcSlot, optionsPckg );
-
- installRequestObj->SilentInstall( file, params, options ); // Ownership of file transfers
- CleanupStack::Pop(); // file
- }
-
- break;
- }
-
- case ERequestUninstall:
- case ERequestSilentUninstall:
- {
- // Delete completed requests
- iRequestStore->Flush();
-
- CSWInstUninstallRequest* uninstRequestObj = CSWInstUninstallRequest::NewL( aMessage );
- CleanupStack::PushL( uninstRequestObj );
- // If store is full, this leaves with KSWInstErrBusy
- iRequestStore->AddRequestL( uninstRequestObj ); // Ownership transfers to store
- CleanupStack::Pop( uninstRequestObj );
-
- TUid uid;
- HBufC8* mime = NULL;
-
- if ( opCode == ERequestUninstall )
- {
- __ASSERT_ALWAYS( aMessage.GetDesLength( KMimeIpcSlot ) > 0,
- User::Leave( KErrBadDescriptor ) );
-
- // Parse Uid
- uid.iUid = GetInt( aMessage, KUidIpcSlot );
-
- // Parse the mime
- mime = HBufC8::NewLC( aMessage.GetDesLength( KMimeIpcSlot ) );
- TPtr8 ptr( mime->Des() );
- aMessage.ReadL( KMimeIpcSlot, ptr );
-
- uninstRequestObj->Uninstall( uid, *mime );
- CleanupStack::PopAndDestroy( mime );
- }
-
- else if ( opCode == ERequestSilentUninstall )
- {
- __ASSERT_ALWAYS( aMessage.GetDesLength( KOptionsIpcSlot ) > 0 &&
- aMessage.GetDesLength( KMimeIpcSlot ) > 0,
- User::Leave( KErrBadDescriptor ) );
-
- // Parse Uid
- uid.iUid = GetInt( aMessage, KUidIpcSlot );
-
- TUninstallOptions options;
- // Parse uninstall options
- TPckg<TUninstallOptions> optionsPckg( options );
- aMessage.ReadL( KOptionsIpcSlot, optionsPckg );
-
- // Parse the mime
- mime = HBufC8::NewLC( aMessage.GetDesLength( KMimeIpcSlot ) );
- TPtr8 ptr( mime->Des() );
- aMessage.ReadL( KMimeIpcSlot, ptr );
-
- uninstRequestObj->SilentUninstall( uid, *mime, options );
- CleanupStack::PopAndDestroy( mime );
- }
-
- break;
- }
-
- case ERequestCustomUninstall:
- case ERequestSilentCustomUninstall:
- {
- __ASSERT_ALWAYS( aMessage.GetDesLength( KCommonParamsIpcSlot ) > 0 &&
- aMessage.GetDesLength( KMimeIpcSlot ) > 0,
- User::Leave( KErrBadDescriptor ) );
-
- // Get the operation we need to perform
- TOperation operation = (TOperation) GetInt( aMessage, KOperationIpcSlot );
-
- // Get the params
- HBufC8* params = HBufC8::NewLC( aMessage.GetDesLength( KCommonParamsIpcSlot ) );
- TPtr8 paramPtr( params->Des() );
- aMessage.ReadL( KCommonParamsIpcSlot, paramPtr );
-
- // Parse the mime
- HBufC8* mime = HBufC8::NewLC( aMessage.GetDesLength( KMimeIpcSlot ) );
- TPtr8 mimePtr( mime->Des() );
- aMessage.ReadL( KMimeIpcSlot, mimePtr );
-
- // Delete completed requests
- iRequestStore->Flush();
-
- CSWInstUninstallRequest* uninstRequestObj = CSWInstUninstallRequest::NewL( aMessage );
- CleanupStack::PushL( uninstRequestObj );
- // If store is full, this leaves with KSWInstErrBusy
- iRequestStore->AddRequestL( uninstRequestObj ); // Ownership transfers to store
- CleanupStack::Pop( uninstRequestObj );
-
- if ( opCode == ERequestSilentCustomUninstall )
- {
- __ASSERT_ALWAYS( aMessage.GetDesLength( KOptionsIpcSlot ) > 0,
- User::Leave( KErrBadDescriptor ) );
-
- TUninstallOptions options;
- // Parse uninstall options
- TPckg<TUninstallOptions> optionsPckg( options );
- aMessage.ReadL( KOptionsIpcSlot, optionsPckg );
-
- uninstRequestObj->SilentCustomUninstall( operation, options, *params, *mime );
- }
- else
- {
- uninstRequestObj->CustomUninstall( operation, *params, *mime );
- }
-
- CleanupStack::PopAndDestroy( 2, params );
- }
-
- break;
-
- default:
- CAknAppServiceBase::ServiceL( aMessage );
- break;
- }
-
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstSession::SecurityCheckL
-// Virtual framework function that is called on receipt of a message from the
-// client. This allows the service implementation to define a security policy
-// for messages from the client.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CPolicyServer::TCustomResult CSWInstSession::SecurityCheckL( const RMessage2& aMsg,
- TInt& aAction,
- TSecurityInfo& aMissing )
- {
- switch ( aMsg.Function() )
- {
- case ERequestSilentInstall:
- case ERequestSilentInstallParams:
- case ERequestSilentUninstall:
- case ERequestSilentInstallHandle:
- case ERequestSilentInstallParamsHandle:
-
- if ( aMsg.HasCapability( TCapability( ECapabilityTrustedUI ) ) )
- {
- // AllFiles capability required to install untrusted SW silently.
- if( aMsg.Function() != ERequestSilentUninstall )
- {
- TInstallOptions options;
- TPckg<TInstallOptions> optionsPckg( options );
- aMsg.ReadL( KOptionsIpcSlot, optionsPckg );
- if( options.iUntrusted == EPolicyAllowed )
- {
- if( !aMsg.HasCapability( TCapability( ECapabilityAllFiles ) ) )
- {
- return CPolicyServer::EFail;
- }
- }
- }
-
- return CPolicyServer::EPass;
- }
- else
- {
- return CPolicyServer::EFail;
- }
-
- case ERequestInstall:
- case ERequestInstallParams:
- case ERequestUninstall:
- case ERequestInstallHandle:
- case ERequestInstallParamsHandle:
- case ERequestCancelRequest:
- // No capabilities needed for these
- return CPolicyServer::EPass;
-
- default:
- // Not recognized message, pass to CAknAppServiceBase
- return CAknAppServiceBase::SecurityCheckL( aMsg, aAction, aMissing );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstSession::GetInt
-// Helper to retrieve an int parameter from message.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CSWInstSession::GetInt( const RMessage2& aMessage, TInt aIpcSlot )
- {
- switch ( aIpcSlot )
- {
- case 0:
- return aMessage.Int0();
- case 1:
- return aMessage.Int1();
- case 2:
- return aMessage.Int2();
- case 3:
- return aMessage.Int3();
- default:
- return 0;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstSession::SendAppToBackgroundL
-// Sends application to background. This is used in silent install to prevent
-// blocking of other applications UI.
-// -----------------------------------------------------------------------------
-//
-void CSWInstSession::SendAppToBackgroundL()
- {
- RWsSession ws;
-
- if ( ws.Connect() == KErrNone )
- {
- CleanupClosePushL(ws);
- TApaTaskList tasklist(ws);
-
- TApaTask task = tasklist.FindApp( TUid::Uid(KSWInstSvrUid) );
-
- if ( task.Exists() )
- {
- task.SendToBackground();
- // Set to false, so we do not do this again.
- iAppInForeground = EFalse;
- }
-
- CleanupStack::PopAndDestroy(); //ws
- }
- }
-
-
-// -----------------------------------------------------------------------------
-// CSWInstSession::IsShowingDialog()
-// From MCUICancellable. Function returns always ETrue so StartCancelling()
-// function will start cancelling the dialog.
-// -----------------------------------------------------------------------------
-//
-TBool CSWInstSession::IsShowingDialog()
- {
- return ETrue;
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstSession::CancelEngine()
-// From MCUICancellable.
-// -----------------------------------------------------------------------------
-//
-void CSWInstSession::CancelEngine()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstSession::ForceCancel()
-// From MCUICancellable.
-// -----------------------------------------------------------------------------
-//
-void CSWInstSession::ForceCancel()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstSession::StartedCancellingL()
-// From MCUICancellable.
-// -----------------------------------------------------------------------------
-//
-void CSWInstSession::StartedCancellingL()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstSession::GetReqParamsL
-// Reads parameters from descriptor to TInstallReg and buffer.
-// -----------------------------------------------------------------------------
-//
-void CSWInstSession::GetReqParamsL( TDesC8& aParamsDes, TInstallReq& aParams )
- {
- // Delete previous URL.
- delete iHeapSourceUrl;
- iHeapSourceUrl = NULL;
-
- RDesReadStream paramStream( aParamsDes );
- CleanupClosePushL( paramStream );
-
- TPckg<TInstallReq> paramsPckg( aParams );
- // Read install parameters to pckg.
- paramStream.ReadL( paramsPckg );
- // Get length of url
- TInt urlLength = paramStream.ReadInt32L();
-
-
- // Check the url lenght.
- // Note that given url length may be zero in some cases.
- if( urlLength )
- {
- iHeapSourceUrl = HBufC::NewL( urlLength );
- TPtr urlPtr = iHeapSourceUrl->Des();
- // Get url to heap descriptor
- paramStream.ReadL( urlPtr, urlLength );
- // Set url's pointer.
- TInstallReqHeapURL heapURL;
- heapURL.iSourcePtr = iHeapSourceUrl;
-
- TInstallReqURLPckg heapPckg( heapURL );
- // Copy url pointer to TInstallReg params.
- aParams.iSourceURL.Copy( heapPckg );
- }
-
- CleanupStack::PopAndDestroy( ¶mStream );
- }
-
-// End of File
--- a/appinstaller/AppinstUi/Server/Src/SWInstUninstallRequest.cpp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,294 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This module contains the implementation of CSWInstUninstallRequest
-* class member functions.
-*
-*/
-
-
-// INCLUDE FILES
-#include <SWInstTaskManager.h>
-
-#include "SWInstUninstallRequest.h"
-#include "SWInstUIPluginAPI.h"
-#include "SWInstServerPanic.h"
-
-using namespace SwiUI;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CSWInstUninstallRequest::CSWInstUninstallRequest
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CSWInstUninstallRequest::CSWInstUninstallRequest( const RMessage2& aMessage )
- : CSWInstRequestObject( aMessage )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstUninstallRequest::CSWInstUninstallRequest
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CSWInstUninstallRequest::CSWInstUninstallRequest( TInt aObjectId )
- : CSWInstRequestObject( aObjectId )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstUninstallRequest::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CSWInstUninstallRequest::ConstructL()
- {
- BaseConstructL();
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstUninstallRequest::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CSWInstUninstallRequest* CSWInstUninstallRequest::NewL( const RMessage2& aMessage )
- {
- CSWInstUninstallRequest* self =
- new ( ELeave ) CSWInstUninstallRequest( aMessage );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstUninstallRequest::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CSWInstUninstallRequest* CSWInstUninstallRequest::NewL( TInt aObjectId )
- {
- CSWInstUninstallRequest* self = new ( ELeave ) CSWInstUninstallRequest( aObjectId );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-// Destructor
-CSWInstUninstallRequest::~CSWInstUninstallRequest()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstUninstallRequest::Uninstall
-// Perform uninstallation
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSWInstUninstallRequest::Uninstall( const TUid& aUid, const TDesC8& aMIME )
- {
- iIsSilent = EFalse;
- iUid = aUid;
-
- TRAPD( err, DoUninstallL( aMIME ) );
- if ( err != KErrNone )
- {
- CompleteSelf( err );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstUninstallRequest::SilentInstall
-// Perform silent uninstallation
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSWInstUninstallRequest::SilentUninstall( const TUid& aUid,
- const TDesC8& aMIME,
- TUninstallOptions& aOptions )
- {
- iIsSilent = ETrue;
- iUid = aUid;
-
- iOptions = aOptions;
-
- TRAPD( err, DoUninstallL( aMIME ) );
- if ( err != KErrNone )
- {
- CompleteSelf( err );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstUninstallRequest::CustomUninstall
-// Perform a custom uninstallation.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSWInstUninstallRequest::CustomUninstall( TOperation aOperation,
- const TDesC8& aParams,
- const TDesC8& aMIME )
- {
- iIsSilent = EFalse;
-
- TRAPD( err, DoCustomUninstallL( aOperation, aParams, aMIME ) );
-
- if ( err != KErrNone )
- {
- CompleteSelf( err );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstUninstallRequest::SilentCustomUninstall
-// Perform a custom uninstallation.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSWInstUninstallRequest::SilentCustomUninstall( TOperation aOperation,
- TUninstallOptions& aOptions,
- const TDesC8& aParams,
- const TDesC8& aMIME )
- {
- iIsSilent = ETrue;
-
- TRAPD( err, DoSilentCustomUninstallL( aOperation, aOptions, aParams, aMIME ) );
-
- if ( err != KErrNone )
- {
- CompleteSelf( err );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstUninstallRequest::CancelRequest
-// Cancels the current request.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSWInstUninstallRequest::CancelRequest()
- {
- // If we have a pending uninstall request, cancel it
- if ( iUIPlugin )
- {
- iUIPlugin->Cancel();
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstUninstallRequest::RequestCompleteL
-// Gets called when the request is completed.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSWInstUninstallRequest::RequestCompleteL( TInt aResult )
- {
- // First see if we even have a ui plugin
- if ( iUIPlugin )
- {
- // Run outstanding tasks
- TRAP_IGNORE( iTaskManager->ExecutePendingTasksL() );
-
- // Inform the ui
- iUIPlugin->CompleteL();
-
- // Delete the plugin and try to run outstanding tasks once again.
- delete iUIPlugin;
- iUIPlugin = NULL;
- TRAP_IGNORE( iTaskManager->ExecutePendingTasksL() );
- }
-
- // Complete the client message
- Complete( aResult );
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstUninstallRequest::DoUninstallL
-// Performs the actual uninstallation.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSWInstUninstallRequest::DoUninstallL( const TDesC8& aMIME )
- {
- __ASSERT_ALWAYS( iUid != TUid::Uid( 0 ), User::Leave( KErrBadDescriptor ) );
-
- // Check that no other instances of installer are running
- LeaveIfInUseL();
-
- // Try to recover in case of old fatal error
- TRAP_IGNORE( iTaskManager->ExecuteRecoveryTasksL() );
-
- // Create the plugin based on the mime type
- CreatePluginL( aMIME );
-
- if ( !iIsSilent )
- {
- iUIPlugin->UninstallL( iUid, aMIME, iStatus );
- }
- else
- {
- iUIPlugin->SilentUninstallL( iUid, aMIME, iOptions, iStatus );
- }
-
- SetActive();
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstUninstallRequest::DoCustomUninstall
-// Perform a custom uninstallation.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSWInstUninstallRequest::DoCustomUninstallL( TOperation aOperation,
- const TDesC8& aParams,
- const TDesC8& aMIME )
- {
- // Check that no other instances of installer are running
- LeaveIfInUseL();
-
- iTaskManager->ExecuteRecoveryTasksL();
-
- // Create the plugin based on the mime type
- CreatePluginL( aMIME );
- iUIPlugin->CustomUninstallL( aOperation, aParams, iStatus );
- SetActive();
- }
-
-// -----------------------------------------------------------------------------
-// CSWInstUninstallRequest::DoSilentCustomUninstall
-// Perform a custom uninstallation.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSWInstUninstallRequest::DoSilentCustomUninstallL( TOperation aOperation,
- TUninstallOptions& aOptions,
- const TDesC8& aParams,
- const TDesC8& aMIME )
- {
- // Check that no other instances of installer are running
- LeaveIfInUseL();
-
- iTaskManager->ExecuteRecoveryTasksL();
-
- // Create the plugin based on the mime type
- CreatePluginL( aMIME );
- iUIPlugin->SilentCustomUninstallL( aOperation, aOptions, aParams, iStatus );
- SetActive();
- }
-
-// End of File
--- a/appinstaller/AppinstUi/group/SWInstCli.mmp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Project specification for SWInstCli.
-* This project implements client API for SW Installer server UI.
-*
-*/
-
-
-// INCLUDES
-#include <platform_paths.hrh>
-#include "SWInstPrivateUid.h"
-
-TARGET SWInstCli.dll
-TARGETTYPE dll
-UID 0x1000008D KSWInstCliUid
-
-CAPABILITY CAP_CLIENT_DLL DRM
-VENDORID VID_DEFAULT
-
-SOURCEPATH ../Client/Src
-SOURCE SWInstLauncher.cpp
-SOURCE SWInstSilentLauncher.cpp
-
-USERINCLUDE . ../Client/Inc
-MW_LAYER_SYSTEMINCLUDE
-
-LIBRARY euser.lib
-LIBRARY avkon.lib
-LIBRARY eikcore.lib
-LIBRARY apparc.lib
-LIBRARY efsrv.lib
-LIBRARY cone.lib
-LIBRARY apgrfx.lib
-
-SMPSAFE
-
-// End of file
-
-
--- a/appinstaller/AppinstUi/group/SWInstCommonUI.mmp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,82 +0,0 @@
-/*
-* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Project specification for SWInstCommonUI.
-* This component implements common ui components for SW Installer
-* UIs.
-*
-*/
-
-
-// INCLUDES
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-#include "SWInstPrivateUid.h"
-
-TARGET SWInstCommonUI.dll
-TARGETTYPE dll
-UID 0x1000008D KSWInstCommonUIUid
-
-// Capability assignment.
-CAPABILITY CAP_GENERAL_DLL DRM
-VENDORID VID_DEFAULT
-
-// Resources
-
-START RESOURCE ../Plugin/CommonUI/Data/SWInstCommonUI.rss
-HEADER
-TARGETPATH RESOURCE_FILES_DIR
-LANGUAGE_IDS
-END
-
-// Sources
-SOURCEPATH ../Plugin/CommonUI/Src
-SOURCE CUIDialogs.cpp
-SOURCE CUIDriveUtils.cpp
-SOURCE CUIWaitDialog.cpp
-SOURCE CUIProgressDialog.cpp
-SOURCE CUIDetailsDialog.cpp
-SOURCE CUICertificateDetailsDialog.cpp
-SOURCE CUICertificateInfo.cpp
-SOURCE CUIUtils.cpp
-SOURCE CUICancelTimer.cpp
-
-// Includes
-USERINCLUDE . ../Plugin/CommonUI/Inc
-
-APP_LAYER_SYSTEMINCLUDE // For \epoc32\include\app\hlplch.h
-
-// Libraries
-LIBRARY euser.lib
-LIBRARY eikcore.lib
-LIBRARY bafl.lib
-LIBRARY avkon.lib
-LIBRARY cone.lib
-LIBRARY commonengine.lib
-LIBRARY eikcoctl.lib
-LIBRARY eikdlg.lib
-LIBRARY eikctl.lib
-LIBRARY platformenv.lib
-//LIBRARY commondialogs.lib // Removed since CR 548
-LIBRARY efsrv.lib
-LIBRARY X509CertNameParser.lib
-LIBRARY x509.lib
-LIBRARY crypto.lib
-LIBRARY hlplch.lib
-LIBRARY featmgr.lib
-LIBRARY DRMHelper.lib
-LIBRARY sysutil.lib
-LIBRARY egul.lib
-LIBRARY hash.lib
-
-SMPSAFE
--- a/appinstaller/AppinstUi/group/SWInstFileTask.mmp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Project specification for SWInstFileTask.
-* This is an ECOM plugin implementing task interface for file
-* tasks.
-*
-*/
-
-
-// INCLUDES
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-#include "SWInstPrivateUid.h"
-
-TARGET SWInstFileTask.dll
-TARGETTYPE PLUGIN
-UID 0x10009D8D KSWInstFileTaskUid
-
-// Capability assignment.
-CAPABILITY CAP_ECOM_PLUGIN DRM
-VENDORID VID_DEFAULT
-
-START RESOURCE ../Plugin/Tasks/FileTask/Data/102073EC.rss
-TARGET SWInstFileTask.rsc
-END
-
-// Sources
-SOURCEPATH ../Plugin/Tasks/FileTask/Src
-SOURCE FileTaskDelete.cpp
-SOURCE FileTaskMain.cpp
-
-// Includes
-USERINCLUDE . ../Plugin/Tasks/FileTask/Inc
-MW_LAYER_SYSTEMINCLUDE
-
-// Libraries
-LIBRARY euser.lib
-LIBRARY ecom.lib
-LIBRARY efsrv.lib
-LIBRARY estor.lib
-
-SMPSAFE
-
-// End of file
-
--- a/appinstaller/AppinstUi/group/SWInstLogTask.mmp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Project specification for SWInstLogTask.
-* This is an ECOM plugin implementing task interface for log
-* task.
-*
-*/
-
-
-// INCLUDES
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-#include "SWInstPrivateUid.h"
-
-TARGET SWInstLogTask.dll
-TARGETTYPE PLUGIN
-UID 0x10009D8D KSWInstLogTaskUid
-
-// Capability assignment.
-CAPABILITY CAP_ECOM_PLUGIN DRM
-VENDORID VID_DEFAULT
-
-START RESOURCE ../Plugin/Tasks/LogTask/Data/10207211.rss
-TARGET SWInstLogTask.rsc
-END
-
-// Sources
-SOURCEPATH ../Plugin/Tasks/LogTask/Src
-SOURCE LogTask.cpp
-SOURCE LogTaskMain.cpp
-
-// Includes
-USERINCLUDE . ../Plugin/Tasks/LogTask/Inc
-MW_LAYER_SYSTEMINCLUDE
-
-// Libraries
-LIBRARY euser.lib
-LIBRARY ecom.lib
-LIBRARY edbms.lib
-
-SMPSAFE
-
-// End of file
-
--- a/appinstaller/AppinstUi/group/SWInstPrivateUid.h Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Common header for AppInstUi component private UIDs. All
-* subcomponents should use the UID constants defined in this file.
-*
-*/
-
-
-#ifndef SWINSTPRIVATEUID_H
-#define SWINSTPRIVATEUID_H
-
-// MACROS
-
-// Server client
-#define KSWInstCliUid 0x101F8759
-
-// Server
-#define KSWInstSvrUid 0x101F875A
-
-// Common UI
-#define KSWInstCommonUIUid 0x101F875B
-
-// Sisx UI dll
-#define KSWInstSisxUIUid 0x101F875D
-
-// Sisx UI plugin implementation
-#define KSWInstSisxImplementationUid 0x101F875E
-
-// Midlet UI dll
-#define KSWInstMidletUIUid 0x101F875F
-
-// Midlet UI plugin implementation
-#define KSWInstMidletImplementationUid 0x101F8760
-
-// ApaGenerator dll
-#define KSWInstApaGeneratorUid 0x101F8A2B
-
-// CustomMIDletInstall dll
-#define KSWInstCustomMIDletInstallUid 0x10201507
-
-// Install service
-#define KSWInstInstallServiceUid 0x102071C1
-
-// TaskManager
-#define KSWInstTaskManagerUid 0x10207213
-
-// StatupTask
-#define KSWInstStartupTaskUid 0x1020720E
-
-// LogTask
-#define KSWInstLogTaskUid 0x10207211
-
-// FileTask
-#define KSWInstFileTaskUid 0x102073EC
-
-// Installer Help uid
-#define KSWInstHelpUid 0x101F8512
-
-// Silent Install service
-#define KSWInstSilentInstallServiceUid 0x102072F0
-
-#endif // SWINSTPRIVATEUID_H
-
-// End of File
--- a/appinstaller/AppinstUi/group/SWInstStartupTask.mmp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-/*
-* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Project specification for SWInstStartupTask.
-* This is an ECOM plugin implementing task interface for startup
-* task.
-*
-*/
-
-
-// INCLUDES
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-#include "SWInstPrivateUid.h"
-
-TARGET SWInstStartupTask.dll
-TARGETTYPE PLUGIN
-UID 0x10009D8D KSWInstStartupTaskUid
-
-// Capability assignment.
-CAPABILITY CAP_ECOM_PLUGIN DRM
-VENDORID VID_DEFAULT
-
-START RESOURCE ../Plugin/Tasks/StartupTask/Data/1020720E.rss
-TARGET SWInstStartupTask.rsc
-END
-
-// Sources
-SOURCEPATH ../Plugin/Tasks/StartupTask/Src
-SOURCE StartupItem.cpp
-SOURCE StartupTask.cpp
-SOURCE StartupTaskAdd.cpp
-SOURCE StartupTaskMain.cpp
-SOURCE StartupTaskRemove.cpp
-
-// Includes
-USERINCLUDE . ../Plugin/Tasks/StartupTask/Inc
-USERINCLUDE ../Client/Inc
-MW_LAYER_SYSTEMINCLUDE
-
-// Libraries
-LIBRARY euser.lib
-LIBRARY ecom.lib
-LIBRARY estor.lib
-LIBRARY dscstore.lib
-DEBUGLIBRARY flogger.lib
-
-SMPSAFE
-
-// End of file
-
--- a/appinstaller/AppinstUi/group/SWInstSvrUI.mmp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,84 +0,0 @@
-/*
-* Copyright (c) 2002-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Project specification for SWInstSvrUI.
-* This component is an server application providing S60 specific
-* UI for software installation.
-*
-*/
-
-
-// INCLUDES
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-#include "SWInstPrivateUid.h"
-
-TARGET SWInstSvrUI.exe
-EPOCSTACKSIZE 0x5000
-EPOCHEAPSIZE 0x1000 0x1000000
-TARGETTYPE exe
-UID 0x100039CE KSWInstSvrUid
-CAPABILITY CAP_SERVER AllFiles TrustedUI PowerMgmt
-VENDORID VID_DEFAULT
-
-// Resources
-
-START RESOURCE ../Server/Data/SWInstSvrUI.rss
-HEADER
-TARGETPATH APP_RESOURCE_DIR
-LANGUAGE_IDS
-END
-
-START RESOURCE ../Server/Data/SWInstSvrUI_reg.rss
-DEPENDS swinstsvrui.rsg
-// Do not change the UID below.
-TARGETPATH /private/10003a3f/apps
-END
-
-// Sources
-SOURCEPATH ../Server/Src
-SOURCE SWInstApplication.cpp
-SOURCE SWInstAppUi.cpp
-SOURCE SWInstDocument.cpp
-SOURCE SWInstServer.cpp
-SOURCE SWInstSession.cpp
-SOURCE SWInstServerPanic.cpp
-SOURCE SWInstRequestObject.cpp
-SOURCE SWInstInstallRequest.cpp
-SOURCE SWInstUninstallRequest.cpp
-SOURCE SWInstRequestStore.cpp
-
-// Includes
-USERINCLUDE . ../Server/Inc ../Client/Inc ../Plugin/Inc ../Plugin/CommonUI/Inc
-MW_LAYER_SYSTEMINCLUDE
-
-// Libraries
-LIBRARY euser.lib
-LIBRARY apparc.lib
-LIBRARY cone.lib
-LIBRARY eikcore.lib
-LIBRARY eikcoctl.lib
-LIBRARY avkon.lib
-LIBRARY ecom.lib
-LIBRARY efsrv.lib
-LIBRARY commonengine.lib
-LIBRARY caf.lib
-LIBRARY drmhelper.lib
-LIBRARY SWInstCommonUI.lib
-LIBRARY SWInstTaskManager.lib
-LIBRARY apgrfx.lib
-LIBRARY sysutil.lib
-LIBRARY ws32.lib // for RWsSession
-LIBRARY estor.lib //RDesReadStream
-
-SMPSAFE
--- a/appinstaller/AppinstUi/group/SWInstTaskManager.mmp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Project specification for SWInstTaskManager.
-* This component implements a Task Manager for SW Installer UIs.
-* It is used to store and execute persistent and nonpersistent
-* tasks for e.g. recovery purposes.
-*
-*/
-
-
-// INCLUDES
-#include <platform_paths.hrh>
-#include "SWInstPrivateUid.h"
-
-TARGET SWInstTaskManager.dll
-TARGETTYPE dll
-UID 0x1000008D KSWInstTaskManagerUid
-
-// Capability assignment.
-CAPABILITY CAP_GENERAL_DLL DRM
-VENDORID VID_DEFAULT
-
-// Sources
-SOURCEPATH ../Plugin/TaskManager/Src
-SOURCE TaskManager.cpp
-SOURCE TaskManagerImpl.cpp
-
-// Includes
-USERINCLUDE . ../Plugin/TaskManager/Inc
-MW_LAYER_SYSTEMINCLUDE
-
-// Libraries
-LIBRARY euser.lib
-LIBRARY ecom.lib
-LIBRARY estor.lib
-LIBRARY efsrv.lib
-LIBRARY platformenv.lib
-
-SMPSAFE
--- a/appinstaller/AppinstUi/group/SWInst_icons_aif_bitmaps_dc.mk Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-#
-# Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-#
-
-ifeq (WINS,$(findstring WINS, $(PLATFORM)))
-ZDIR=\epoc32\release\$(PLATFORM)\$(CFG)\z
-else
-ZDIR=\epoc32\data\z
-endif
-
-# ----------------------------------------------------------------------------
-# TARGET FILES: Configure these
-# ----------------------------------------------------------------------------
-
-TARGETDIR=$(ZDIR)\resource\apps
-ICONTARGETFILENAME=$(TARGETDIR)\swinstsvrui_aif.mbm
-
-do_nothing :
- @rem do_nothing
-
-MAKMAKE : do_nothing
-
-BLD : do_nothing
-
-CLEAN : do_nothing
-
-LIB : do_nothing
-
-CLEANLIB : do_nothing
-
-# ----------------------------------------------------------------------------
-# RESOURCE COMMANDS: Configure these.
-#
-# NOTE 1: DO NOT DEFINE MASK FILE NAMES! They are included automatically by
-# MifConv if the mask detph is defined.
-#
-# NOTE 2: Usually, source paths should not be included in the bitmap
-# definitions. MifConv searches for the icons in all icon directories in a
-# predefined order, which is currently \s60\icons, \s60\bitmaps2.
-# The directory \s60\icons is included in the search only if the feature flag
-# __SCALABLE_ICONS is defined.
-# ----------------------------------------------------------------------------
-
-RESOURCE :
- mifconv $(ICONTARGETFILENAME) \
- /c8 qgn_menu_memory_lst.bmp \
- /c8 qgn_menu_memory_cxt.bmp
-
-FREEZE : do_nothing
-
-SAVESPACE : do_nothing
-
-RELEASABLES :
- @echo $(ICONTARGETFILENAME)
-
-FINAL : do_nothing
--- a/appinstaller/AppinstUi/group/SWInst_icons_aif_scalable_dc.mk Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-#
-# Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-#
-
-ifeq (WINS,$(findstring WINS, $(PLATFORM)))
-ZDIR=\epoc32\release\$(PLATFORM)\$(CFG)\z
-else
-ZDIR=\epoc32\data\z
-endif
-
-# ----------------------------------------------------------------------------
-# TARGET FILES: Configure these
-# ----------------------------------------------------------------------------
-
-TARGETDIR=$(ZDIR)\resource\apps
-ICONTARGETFILENAME=$(TARGETDIR)\swinstsvrui_aif.mif
-
-do_nothing :
- @rem do_nothing
-
-MAKMAKE : do_nothing
-
-BLD : do_nothing
-
-CLEAN : do_nothing
-
-LIB : do_nothing
-
-CLEANLIB : do_nothing
-
-# ----------------------------------------------------------------------------
-# RESOURCE COMMANDS: Configure these.
-#
-# NOTE 1: DO NOT DEFINE MASK FILE NAMES! They are included automatically by
-# MifConv if the mask detph is defined.
-#
-# NOTE 2: Usually, source paths should not be included in the bitmap
-# definitions. MifConv searches for the icons in all icon directories in a
-# predefined order, which is currently \s60\icons, \s60\bitmaps2.
-# The directory \s60\icons is included in the search only if the feature flag
-# __SCALABLE_ICONS is defined.
-# ----------------------------------------------------------------------------
-
-RESOURCE :
- mifconv $(ICONTARGETFILENAME) \
- /c8,8 qgn_menu_am.svg
-
-FREEZE : do_nothing
-
-SAVESPACE : do_nothing
-
-RELEASABLES :
- @echo $(ICONTARGETFILENAME)
-
-FINAL : do_nothing
--- a/appinstaller/AppinstUi/group/SisxUI.mmp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +0,0 @@
-/*
-* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Project specification for SisxUI.
-* This is an ECOM plugin that handles SIS installations.
-*
-*/
-
-
-// INCLUDES
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-#include "SWInstPrivateUid.h"
-
-TARGET SisxUI.dll
-TARGETTYPE PLUGIN
-UID 0x10009D8D KSWInstSisxUIUid
-
-// Capability assignment.
-CAPABILITY CAP_ECOM_PLUGIN DRM
-VENDORID VID_DEFAULT
-
-// Resources
-
-
-START RESOURCE ../Plugin/SisxUI/Data/SisxUI.rss
-DEPENDS swinstcommonui.rsg
-DEPENDS swinstcommonui.rsg
-HEADER
-TARGET SisxUIData.rsc
-TARGETPATH RESOURCE_FILES_DIR
-LANGUAGE_IDS
-END
-
-START RESOURCE ../Plugin/SisxUI/Data/101F875D.rss
-TARGET SisxUI.rsc
-END
-
-// Sources
-SOURCEPATH ../Plugin/SisxUI/Src
-SOURCE SisxUIMain.cpp
-SOURCE SisxUI.cpp
-SOURCE SisxUIHandler.cpp
-SOURCE SisxUICertificateInfo.cpp
-SOURCE SisxUIAppInfo.cpp
-SOURCE SisxUISelectionCache.cpp
-SOURCE SisxUIOperationWatcher.cpp
-SOURCE SisxUIResult.cpp
-SOURCE SisxUIStartupFile.cpp
-SOURCE SisxUISilentHandler.cpp
-SOURCE SisxUILangName.cpp
-
-// Includes
-USERINCLUDE . ../Plugin/Inc ../Plugin/CommonUI/Inc ../Plugin/SisxUI/Inc
-USERINCLUDE ../Client/Inc
-MW_LAYER_SYSTEMINCLUDE
-
-// Libraries
-LIBRARY euser.lib
-LIBRARY ecom.lib
-LIBRARY avkon.lib
-LIBRARY SWInstCommonUI.lib
-LIBRARY cone.lib
-LIBRARY bafl.lib
-LIBRARY eikcoctl.lib
-LIBRARY eikdlg.lib
-LIBRARY sishelper.lib
-LIBRARY commonengine.lib
-LIBRARY sisregistryclient.lib
-LIBRARY efsrv.lib
-LIBRARY platformenv.lib
-LIBRARY estor.lib
-LIBRARY centralrepository.lib
-LIBRARY DRMLicenseManager.lib
-LIBRARY ezip.lib
-LIBRARY SWInstTaskManager.lib
-LIBRARY featmgr.lib
-LIBRARY pkixcertbase.lib
-LIBRARY caf.lib //CContent, CManager
-LIBRARY cafutils.lib //RStringAttributeSet
-LIBRARY drmhelper.lib
-LIBRARY apgrfx.lib
-LIBRARY ws32.lib // for RWsSession
-LIBRARY syslangutil.lib
-LIBRARY DcfRep.lib // for PIP sisx files
-
-DEBUGLIBRARY flogger.lib
-
-SMPSAFE
--- a/appinstaller/AppinstUi/group/backup_registration.xml Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
-<?xml version="1.0" standalone="yes"?>
-
-<backup_registration>
- <passive_backup>
- <include_directory name="startup"/>
- </passive_backup>
- <proxy_data_manager sid="0x10202BE9" />
- <dbms_backup policy="10207216"/>
- <restore requires_reboot="no"/>
-</backup_registration>
\ No newline at end of file
--- a/appinstaller/AppinstUi/group/bld.inf Thu Oct 14 14:11:30 2010 +0300
+++ b/appinstaller/AppinstUi/group/bld.inf Wed Oct 20 14:52:56 2010 +0300
@@ -15,75 +15,17 @@
*
*/
-
#include <platform_paths.hrh>
-PRJ_PLATFORMS
-DEFAULT
PRJ_EXPORTS
-
-//Configuration tool migration
-../conf/s60swinstalleruis.confml MW_LAYER_CONFML(s60swinstalleruis.confml)
-../conf/s60swinstalleruis_101FD64D.crml MW_LAYER_CRML(s60swinstalleruis_101FD64D.crml)
-../conf/s60swinstalleruis_101FD64E.crml MW_LAYER_CRML(s60swinstalleruis_101FD64E.crml)
-
-../Plugin/Tasks/LogTask/Data/10207216.SPD z:/private/100012a5/policy/10207216.spd
-
-backup_registration.xml z:/private/101F875A/backup_registration.xml
-
-// export iby files
-../rom/AppInstUI.iby CORE_MW_LAYER_IBY_EXPORT_PATH( AppInstUI.iby )
-../rom/AppInstResources.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH( AppInstResources.iby )
-
-PRJ_EXTENSIONS
-START EXTENSION s60/mifconv
- OPTION TARGETFILE swinstsvrui_aif.mif
- OPTION SOURCES -c8,8 qgn_menu_am
-END
-
-
-PRJ_MMPFILES
-/*
-#ifdef __SCALABLE_ICONS
- gnumakefile SWInst_icons_aif_scalable_dc.mk
-#else
- gnumakefile SWInst_icons_aif_bitmaps_dc.mk
-#endif
-*/
-// Server client
-SWInstCli.mmp
+../conf/s60swinstalleruis.confml MW_LAYER_CONFML( s60swinstalleruis.confml )
+../conf/s60swinstalleruis_101FD64D.crml MW_LAYER_CRML( s60swinstalleruis_101FD64D.crml )
+../conf/s60swinstalleruis_101FD64E.crml MW_LAYER_CRML( s60swinstalleruis_101FD64E.crml )
-// TaskManager
-SWInstTaskManager.mmp
-
-// CommonUI
-SWInstCommonUI.mmp
-
-// Server
-SWInstSvrUI.mmp
-
-#ifdef __INSTALLER_SISX
- // Sisx UI
-SisxUI.mmp
-#endif
-
-#ifdef __EXTENDED_STARTUP
- // StartupTask
-SWInstStartupTask.mmp
-#endif
-
-// LogTask
-SWInstLogTask.mmp
-
-// FileTask
-SWInstFileTask.mmp
-
-// Daemon
-daemon.mmp
-
-// SISX SIF plugin
+#include "../daemon/group/bld.inf"
#include "../sisxsifplugin/group/bld.inf"
-
-// Startup list updater
#include "../startuplistupdater/group/bld.inf"
+// TODO: remove when swinstcli.dll is not used any more
+#include "../swinstcli_stub/group/bld.inf"
+
--- a/appinstaller/AppinstUi/group/build.log Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
- make -r -f "\EPOC32\BUILD\S60\NEWAPPINST\GROUP\EXPORT.make" EXPORT VERBOSE=-s
-Nothing to do
- make -r -f "\EPOC32\BUILD\S60\NEWAPPINST\GROUP\WINS.make" MAKEFILE VERBOSE=-s
-perl -S makmake.pl -D \S60\NEWAPPINST\GROUP\SWINST WINS
-perl -S makmake.pl -D \S60\NEWAPPINST\GROUP\SWINSTSRV WINS
- make -r -f "\EPOC32\BUILD\S60\NEWAPPINST\GROUP\WINS.make" LIBRARY VERBOSE=-s
-nmake -nologo -x - -s -f "\EPOC32\BUILD\S60\NEWAPPINST\GROUP\SWINST\WINS\SWINST.WINS" LIBRARY
-nmake -nologo -x - -s -f "\EPOC32\BUILD\S60\NEWAPPINST\GROUP\SWINSTSRV\WINS\SWINSTSRV.WINS" LIBRARY
- make -r -f "\EPOC32\BUILD\S60\NEWAPPINST\GROUP\WINS.make" RESOURCE CFG=UDEB VERBOSE=-s
-nmake -nologo -x - -s -f "\EPOC32\BUILD\S60\NEWAPPINST\GROUP\SWINST\WINS\SWINST.WINS" RESOURCEUDEB
-nmake -nologo -x - -s -f "\EPOC32\BUILD\S60\NEWAPPINST\GROUP\SWINSTSRV\WINS\SWINSTSRV.WINS" RESOURCEUDEB
- make -r -f "\EPOC32\BUILD\S60\NEWAPPINST\GROUP\WINS.make" TARGET CFG=UDEB VERBOSE=-s
-nmake -nologo -x - -s -f "\EPOC32\BUILD\S60\NEWAPPINST\GROUP\SWINST\WINS\SWINST.WINS" UDEB
-nmake -nologo -x - -s -f "\EPOC32\BUILD\S60\NEWAPPINST\GROUP\SWINSTSRV\WINS\SWINSTSRV.WINS" UDEB
-Swinstsrv.uid.cpp
- Creating library \EPOC32\BUILD\S60\NEWAPPINST\GROUP\SWINSTSRV\WINS\UDEB\SWINSTSRV.lib and object \EPOC32\BUILD\S60\NEWAPPINST\GROUP\SWINSTSRV\WINS\UDEB\SWINSTSRV.exp
-Microsoft (R) COFF Binary File Dumper Version 6.00.8447
-Copyright (C) Microsoft Corp 1992-1998. All rights reserved.
-
- Creating library \EPOC32\BUILD\S60\NEWAPPINST\GROUP\SWINSTSRV\WINS\UDEB\SWINSTSRV.lib and object \EPOC32\BUILD\S60\NEWAPPINST\GROUP\SWINSTSRV\WINS\UDEB\SWINSTSRV.exp
- make -r -f "\EPOC32\BUILD\S60\NEWAPPINST\GROUP\WINS.make" FINAL CFG=UDEB VERBOSE=-s
--- a/appinstaller/AppinstUi/group/daemon.mmp Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,88 +0,0 @@
-/*
-* Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-
-MACRO __DATA_CAGING__
-
-CAPABILITY TrustedUI ReadUserData AllFiles WriteDeviceData ReadDeviceData
-
-TARGET swidaemon.exe
-TARGETTYPE exe
-TARGETPATH sys/bin
-
-UID 0x1000007A 0x10202DCE
-VENDORID VID_DEFAULT
-
-START RESOURCE ../Daemon/Src/swidaemon.rss
-HEADER
-TARGETPATH RESOURCE_FILES_DIR
-LANGUAGE_IDS
-END
-
-SOURCEPATH ../Daemon/Src
-SOURCE daemon.cpp
-SOURCE main.cpp
-SOURCE drivewatcher.cpp
-SOURCE daemonbehaviour.cpp
-SOURCE daemoninstaller.cpp
-SOURCE SilentLauncher.cpp
-SOURCE DialogWrapper.cpp
-SOURCE previouslyInstalledAppsCache.cpp
-SOURCE installationFailedAppsCache.cpp
-SOURCE ShutdownWatcher.cpp
-//Uninstaller
-SOURCE versionRevisor.cpp
-SOURCE uninstaller.cpp
-SOURCE programstatus.cpp
-SOURCE silentuninstaller.cpp
-//Dialog watcher AO
-SOURCE dialogwatcher.cpp
-
-USERINCLUDE ../Client/Inc
-USERINCLUDE . ../Daemon/Inc
-USERINCLUDE /sf/mw/appinstall/installationservices/swi/inc
-USERINCLUDE /sf/mw/appinstall/installationservices/swi/inc/swi
-
-MW_LAYER_SYSTEMINCLUDE
-
-LIBRARY euser.lib
-LIBRARY efsrv.lib
-LIBRARY apgrfx.lib //For AppForDocument()
-LIBRARY apmime.lib
-LIBRARY apparc.lib
-LIBRARY sisregistryclient.lib
-LIBRARY swinstcli.lib
-LIBRARY swidataprovider.lib
-LIBRARY sisxfile.lib
-LIBRARY estor.lib
-LIBRARY siscontroller.lib
-LIBRARY platformenv.lib
-LIBRARY sysutil.lib // For Uninstaller
-LIBRARY ecom.lib // For Plug-in support
-LIBRARY stsclient.lib
-LIBRARY swiobserverclient.lib
-LIBRARY sif.lib // USIF SW Installer FW
-LIBRARY scrclient.lib
-LIBRARY hbwidgets.lib // For Symbian Device Dialogs
-LIBRARY hbcore.lib // For HbIndicatorSymbian
-
-DEBUGLIBRARY flogger.lib
-
-SMPSAFE
--- a/appinstaller/AppinstUi/rom/AppInstResources.iby Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-/*
-* Copyright (c) 2002-2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Series 60 ROM description for Software install localised
-* resources.
-*
-*/
-
-
-#ifndef APPINSTRESOURCES_IBY
-#define APPINSTRESOURCES_IBY
-
-// Server app resource
-S60_APP_RESOURCE(SWInstSvrUI)
-S60_APP_CAPTION(SWInstSvrUI)
-
-// Common ui resources
-data=DATAZ_\RESOURCE_FILES_DIR\SWInstCommonUI.rsc RESOURCE_FILES_DIR\SWInstCommonUI.rsc
-
-#ifdef __INSTALLER_SISX
- // Sisx plugin resources
- data=DATAZ_\Resource\SisxUIData.rsc Resource\SisxUIData.rsc
-#endif
-
-// Daemon
-data=DATAZ_\RESOURCE_FILES_DIR\swidaemon.rsc RESOURCE_FILES_DIR\swidaemon.rsc
-
-#endif // APPINSTRESOURCES_IBY
-
-// End of File
\ No newline at end of file
--- a/appinstaller/AppinstUi/rom/AppInstUI.iby Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Series 60 ROM description for Software install application
-*
-*/
-
-
-#ifndef APPINSTUI_IBY
-#define APPINSTUI_IBY
-
-// Client API
-file = ABI_DIR\BUILD_DIR\SWInstCli.dll SHARED_LIB_DIR\SWInstCli.dll
-
-// Server application
-S60_APP_EXE(SWInstSvrUI)
-S60_APP_AIF_ICONS(SWInstSvrUI)
-S60_APP_AIF_RSC(SWInstSvrUI)
-
-// CommonUI
-file = ABI_DIR\BUILD_DIR\SWInstCommonUI.dll SHARED_LIB_DIR\SWInstCommonUI.dll
-
-#ifdef __INSTALLER_SISX
- // Sisx plugin
- ECOM_PLUGIN(SisxUI.dll,101F875D.rsc)
-#endif
-
-#ifndef RD_JAVA_ARCHITECTURE_RENEWAL_PHASE1
-#ifdef __JAVA_MIDP20
- // Midlet plugin
- ECOM_PLUGIN(MidletUI.dll,101F875F.rsc)
-#endif
-#endif
-
-// Task manager
-file = ABI_DIR\BUILD_DIR\SWInstTaskManager.dll SHARED_LIB_DIR\SWInstTaskManager.dll
-
-// Log task
-ECOM_PLUGIN(SWInstLogTask.dll,10207211.rsc)
-data=ZPRIVATE\100012a5\policy\10207216.spd PRIVATE\100012a5\policy\10207216.spd
-
-// File task
-ECOM_PLUGIN(SWInstFileTask.dll,102073EC.rsc)
-
-#ifdef __EXTENDED_STARTUP
- // Startup task
- ECOM_PLUGIN(SWInstStartupTask.dll,1020720E.rsc)
-#endif
-
-// Backup
-data=ZPRIVATE\101F875A\backup_registration.xml PRIVATE\101F875A\backup_registration.xml
-
-#endif // APPINSTUI_IBY
-
-// End of File
\ No newline at end of file
--- a/appinstaller/AppinstUi/sisxsifplugin/src/sisxsifpluginactiveimpl.cpp Thu Oct 14 14:11:30 2010 +0300
+++ b/appinstaller/AppinstUi/sisxsifplugin/src/sisxsifpluginactiveimpl.cpp Wed Oct 20 14:52:56 2010 +0300
@@ -38,10 +38,10 @@
// TODO: replace with proper logging
#ifdef _DEBUG
-#define FLOG(x) RDebug::Print(x);
-#define FLOG_1(x,y) RDebug::Print(x, y);
-#define FLOG_2(x,y,z) RDebug::Print(x, y, z);
-#define FLOG_3(x,y,z,v) RDebug::Print(x, y, z, v);
+#define FLOG(x) RDebug::Print(x)
+#define FLOG_1(x,y) RDebug::Print((x),(y))
+#define FLOG_2(x,y,z) RDebug::Print((x),(y),(z))
+#define FLOG_3(x,y,z,v) RDebug::Print((x),(y),(z),(v))
#else
#define FLOG(x)
#define FLOG_1(x,y)
@@ -633,6 +633,7 @@
TRequestStatus& aStatus )
{
CommonRequestPreambleL( aInputParams, aOutputParams, aStatus );
+ FLOG_1( _L("CSisxSifPluginActiveImpl::DoUninstallL, IsSilentMode=%d"), IsSilentMode() );
TUid uid;
CComponentEntry *entry = CComponentEntry::NewLC();
@@ -655,6 +656,7 @@
TRequestStatus& aStatus )
{
CommonRequestPreambleL( aStatus );
+ FLOG( _L("CSisxSifPluginActiveImpl::DoActivateL()") );
Swi::RSisRegistryWritableSession sisRegSession;
User::LeaveIfError( sisRegSession.Connect() );
@@ -677,6 +679,7 @@
TRequestStatus& aStatus )
{
CommonRequestPreambleL( aStatus );
+ FLOG( _L("CSisxSifPluginActiveImpl::DoDeactivateL()") );
Swi::RSisRegistryWritableSession sisRegSession;
User::LeaveIfError( sisRegSession.Connect() );
@@ -747,6 +750,7 @@
//
TComponentId CSisxSifPluginActiveImpl::GetLastInstalledComponentIdL()
{
+ FLOG( _L("CSisxSifPluginActiveImpl::GetLastInstalledComponentIdL, begin") );
__ASSERT_DEBUG( iOperation == EInstall, Panic( ESisxSifInternalError ) );
// Find the id of the last installed component and return it
@@ -761,6 +765,7 @@
TComponentId componentId = sisRegistrySession.GetComponentIdForUidL( tuid );
CleanupStack::PopAndDestroy( &sisRegistrySession );
+ FLOG_1( _L("CSisxSifPluginActiveImpl::GetLastInstalledComponentIdL, ret 0x%08x"), componentId );
return componentId;
}
@@ -831,6 +836,8 @@
//
void CSisxSifPluginActiveImpl::SetInstallPrefsRevocationServerUriL( const TDesC& aUri )
{
+ FLOG_1( _L("CSisxSifPluginActiveImpl::SetInstallPrefsRevocationServerUriL '%S'"), &aUri );
+
if( aUri.Length() )
{
HBufC8* uriBuf = HBufC8::NewLC( aUri.Length() );
@@ -851,37 +858,71 @@
//
void CSisxSifPluginActiveImpl::UpdateInstallPrefsForPerformingOcspL()
{
- if( IsSilentMode() )
+ FLOG( _L("CSisxSifPluginActiveImpl::UpdateInstallPrefsForPerformingOcspL") );
+
+ TBool performOcsp = EFalse;
+ /*
+ * performOcsp decision table:
+ *
+ * KSWInstallerOcspProcedure settings:
+ * | Must | On | Off | Undefined |
+ * ----------------+----------+----------+----------+-------------+
+ * Normal install: | ETrue | ETrue | EFalse | EFalse |
+ * ----------------+----------+----------+----------+-------------+
+ * Silent install having KSifInParam_PerformOCSP value: |
+ * - EAllowed | ETrue | ETrue | EFalse | EFalse |
+ * - ENotAllowed | ETrue | EFalse | EFalse | EFalse |
+ * - EUserConfirm | ETrue | ETrue | EFalse | EFalse |
+ * - undefined | ETrue | ETrue | EFalse | EFalse |
+ * ----------------+----------+----------+----------+-------------+
+ */
+
+ CRepository* cenRep = CRepository::NewLC( KCRUidSWInstallerSettings );
+ TInt ocspProcedure = ESWInstallerOcspProcedureOff;
+ cenRep->Get( KSWInstallerOcspProcedure, ocspProcedure ); // return value ignored
+ FLOG_1( _L("CSisxSifPluginActiveImpl::UpdateInstallPrefsForPerformingOcspL, ocspProcedure=%d"),
+ ocspProcedure );
+ switch( ocspProcedure )
{
- TBool performOcsp( iInstallParams->PerformOCSP() != ENotAllowed );
- iInstallPrefs->SetPerformRevocationCheck( performOcsp );
+ case ESWInstallerOcspProcedureMust:
+ performOcsp = ETrue;
+ break;
+ case ESWInstallerOcspProcedureOn:
+ if( IsSilentMode() )
+ {
+ performOcsp = ( iInstallParams->PerformOCSP() != ENotAllowed );
+ }
+ else
+ {
+ performOcsp = ETrue;
+ }
+ break;
+ case ESWInstallerOcspProcedureOff:
+ default:
+ // already EFalse
+ break;
+ }
+ FLOG_1( _L("CSisxSifPluginActiveImpl::UpdateInstallPrefsForPerformingOcspL, performOcsp=%d"),
+ performOcsp );
- if( performOcsp )
+ if( performOcsp )
+ {
+ if( IsSilentMode() && iInstallParams->OCSPUrl().Length() )
{
SetInstallPrefsRevocationServerUriL( iInstallParams->OCSPUrl() );
}
- }
- else
- {
- CRepository* cenRep = CRepository::NewLC( KCRUidSWInstallerSettings );
-
- TInt ocspProcedure = ESWInstallerOcspProcedureOff;
- (void)cenRep->Get( KSWInstallerOcspProcedure, ocspProcedure );
- TBool performOcsp( ocspProcedure != ESWInstallerOcspProcedureOff );
- iInstallPrefs->SetPerformRevocationCheck( performOcsp );
-
- if( performOcsp )
+ else
{
HBufC* ocspUrlBuf = HBufC::NewLC(
NCentralRepositoryConstants::KMaxUnicodeStringLength );
TPtr ocspUrl( ocspUrlBuf->Des() );
- (void)cenRep->Get( KSWInstallerOcspDefaultURL, ocspUrl );
+ cenRep->Get( KSWInstallerOcspDefaultURL, ocspUrl ); // return value ignored
SetInstallPrefsRevocationServerUriL( ocspUrl );
CleanupStack::PopAndDestroy( ocspUrlBuf );
}
+ }
- CleanupStack::PopAndDestroy( cenRep );
- }
+ CleanupStack::PopAndDestroy( cenRep );
}
// ---------------------------------------------------------------------------
@@ -890,6 +931,8 @@
//
void CSisxSifPluginActiveImpl::StartInstallingL()
{
+ FLOG( _L("CSisxSifPluginActiveImpl::StartInstallingL, begin") );
+
const CComponentInfo::CNode& rootNode( iComponentInfo->RootNodeL() );
TBool driveSelection = rootNode.DriveSeletionRequired();
iUiHandler->SetDriveSelectionRequired( driveSelection );
@@ -918,6 +961,8 @@
iPhase = ERunningOperation;
SetActive();
+
+ FLOG( _L("CSisxSifPluginActiveImpl::StartInstallingL, end") );
}
// ---------------------------------------------------------------------------
@@ -926,6 +971,8 @@
//
void CSisxSifPluginActiveImpl::StartSilentInstallingL()
{
+ FLOG( _L("CSisxSifPluginActiveImpl::StartSilentInstallingL, begin") );
+
// TODO: fix this, removed temporarily to allow installations
#ifdef _NOT_DEFINED_
const CComponentInfo::CNode& rootNode( iComponentInfo->RootNodeL() );
@@ -958,6 +1005,8 @@
{
StartInstallingL();
}
+
+ FLOG( _L("CSisxSifPluginActiveImpl::StartSilentInstallingL, end") );
}
// ---------------------------------------------------------------------------
@@ -966,6 +1015,8 @@
//
void CSisxSifPluginActiveImpl::FinalizeInstallationL()
{
+ FLOG( _L("CSisxSifPluginActiveImpl::FinalizeInstallationL, begin") );
+
UpdateStartupListL();
if( iOutputParams )
@@ -976,6 +1027,8 @@
iUiHandler->PublishCompletionL();
iUiHandler->DisplayCompleteL();
+
+ FLOG( _L("CSisxSifPluginActiveImpl::FinalizeInstallationL, end") );
}
// ---------------------------------------------------------------------------
@@ -984,14 +1037,19 @@
//
void CSisxSifPluginActiveImpl::UpdateStartupListL()
{
+ FLOG( _L("CSisxSifPluginActiveImpl::UpdateStartupListL, begin") );
+
if( FeatureManager::FeatureSupported( KFeatureIdExtendedStartup ) )
{
+ FLOG( _L("CSisxSifPluginActiveImpl::UpdateStartupListL, KFeatureIdExtendedStartup") );
+
TFullName name( KStartupListUpdaterName );
name.Append( '*' );
TFindProcess findProcess( name );
if( findProcess.Next( name ) == KErrNone )
{
// already running, no need to do anything
+ FLOG( _L("CSisxSifPluginActiveImpl::UpdateStartupListL, startuplistupdater running") );
return;
}
@@ -999,6 +1057,7 @@
CleanupClosePushL( process );
TInt result = process.Create( KStartupListUpdaterExecutable, KNullDesC );
+ FLOG_1( _L("CSisxSifPluginActiveImpl::UpdateStartupListL, create result=%d"), result );
if( result == KErrNone )
{
TRequestStatus rendezvousStatus;
@@ -1006,14 +1065,18 @@
// start process and wait until it is started
process.Resume();
+ FLOG( _L("CSisxSifPluginActiveImpl::UpdateStartupListL, waiting for rendezvous") );
User::WaitForRequest( rendezvousStatus );
// ignore possible errors
result = rendezvousStatus.Int();
+ FLOG_1( _L("CSisxSifPluginActiveImpl::UpdateStartupListL, result=%d"), result );
}
CleanupStack::PopAndDestroy( &process );
}
+
+ FLOG( _L("CSisxSifPluginActiveImpl::UpdateStartupListL, end") );
}
// ---------------------------------------------------------------------------
--- a/appinstaller/AppinstUi/sisxsifplugin/src/sisxsifplugininstallparams.cpp Thu Oct 14 14:11:30 2010 +0300
+++ b/appinstaller/AppinstUi/sisxsifplugin/src/sisxsifplugininstallparams.cpp Wed Oct 20 14:52:56 2010 +0300
@@ -20,6 +20,16 @@
using namespace Usif;
+#ifdef _DEBUG
+#define FLOG(x) RDebug::Print(x)
+#define FLOG_1(x,y) RDebug::Print((x),(y))
+#define FLOG_2(x,y,z) RDebug::Print((x),(y),(z))
+#else
+#define FLOG(x)
+#define FLOG_1(x,y)
+#define FLOG_2(x,y,z)
+#endif
+
// ---------------------------------------------------------------------------
// CSisxSifPluginInstallParams::NewL()
@@ -222,6 +232,7 @@
//
void CSisxSifPluginInstallParams::ConstructL( const COpaqueNamedParams& aParams )
{
+ FLOG( _L("CSisxSifPluginInstallParams::ConstructL, begin") );
iUseSilentMode = GetIntParam( aParams, KSifInParam_InstallSilently, EFalse );
iIsInstallInactive = GetIntParam( aParams, KSifInParam_InstallInactive, EFalse );
TRAPD( err, DoProcessDriveParamL( aParams ) );
@@ -244,6 +255,7 @@
GetPolicyParam( aParams, KSifInParam_AllowOverwrite, iAllowOverwrite, EAllowed );
GetPolicyParam( aParams, KSifInParam_PackageInfo, iPackageInfo, EAllowed );
GetPolicyParam( aParams, KSifInParam_AllowIncompatible, iAllowIncompatible, EAllowed );
+ FLOG( _L("CSisxSifPluginInstallParams::ConstructL, end") );
}
// ---------------------------------------------------------------------------
@@ -252,31 +264,64 @@
//
void CSisxSifPluginInstallParams::ConstructL( const CSisxSifPluginInstallParams& aParams )
{
+ FLOG( _L("CSisxSifPluginInstallParams::ConstructL") );
iUseSilentMode = aParams.iUseSilentMode;
+ FLOG_1( _L("CSisxSifPluginInstallParams::ConstructL, iUseSilentMode=%d"),
+ iUseSilentMode );
iIsInstallInactive = aParams.iIsInstallInactive;
+ FLOG_1( _L("CSisxSifPluginInstallParams::ConstructL, iIsInstallInactive=%d"),
+ iIsInstallInactive );
for( TInt index = 0; index < aParams.iDrives.Count(); index++ )
{
iDrives.AppendL( aParams.iDrives[ index ] );
+ FLOG_1( _L("CSisxSifPluginInstallParams::ConstructL, iDrives %d"),
+ aParams.iDrives[ index ] );
}
for( TInt index = 0; index < aParams.iLanguages.Count(); index++ )
{
iLanguages.AppendL( aParams.iLanguages[ index ] );
+ FLOG_1( _L("CSisxSifPluginInstallParams::ConstructL, iLanguages %d"),
+ aParams.iLanguages[ index ] );
}
if( aParams.iOCSPUrl )
{
iOCSPUrl = aParams.iOCSPUrl->AllocL();
+ FLOG_1( _L("CSisxSifPluginInstallParams::ConstructL, iOCSPUrl '%S'"), iOCSPUrl );
}
iPerformOCSP = aParams.iPerformOCSP;
+ FLOG_1( _L("CSisxSifPluginInstallParams::ConstructL, iPerformOCSP=%d"),
+ iPerformOCSP );
iIgnoreOCSPWarnings = aParams.iIgnoreOCSPWarnings;
+ FLOG_1( _L("CSisxSifPluginInstallParams::ConstructL, iIgnoreOCSPWarnings=%d"),
+ iIgnoreOCSPWarnings );
iAllowUpgrade = aParams.iAllowUpgrade;
+ FLOG_1( _L("CSisxSifPluginInstallParams::ConstructL, iAllowUpgrade=%d"),
+ iAllowUpgrade );
iInstallOptionalItems = aParams.iInstallOptionalItems;
+ FLOG_1( _L("CSisxSifPluginInstallParams::ConstructL, iInstallOptionalItems=%d"),
+ iInstallOptionalItems );
iAllowUntrusted = aParams.iAllowUntrusted;
+ FLOG_1( _L("CSisxSifPluginInstallParams::ConstructL, iAllowUntrusted=%d"),
+ iAllowUntrusted );
iGrantCapabilities = aParams.iGrantCapabilities;
+ FLOG_1( _L("CSisxSifPluginInstallParams::ConstructL, iGrantCapabilities=%d"),
+ iGrantCapabilities );
iAllowAppShutdown = aParams.iAllowAppShutdown;
+ FLOG_1( _L("CSisxSifPluginInstallParams::ConstructL, iAllowAppShutdown=%d"),
+ iAllowAppShutdown );
iAllowAppBreakDependency = aParams.iAllowAppBreakDependency;
+ FLOG_1( _L("CSisxSifPluginInstallParams::ConstructL, iAllowAppBreakDependency=%d"),
+ iAllowAppBreakDependency );
iAllowOverwrite = aParams.iAllowOverwrite;
+ FLOG_1( _L("CSisxSifPluginInstallParams::ConstructL, iAllowOverwrite=%d"),
+ iAllowOverwrite );
iPackageInfo = aParams.iPackageInfo;
+ FLOG_1( _L("CSisxSifPluginInstallParams::ConstructL, iPackageInfo=%d"),
+ iPackageInfo );
iAllowIncompatible = aParams.iAllowIncompatible;
+ FLOG_1( _L("CSisxSifPluginInstallParams::ConstructL, iAllowIncompatible=%d"),
+ iAllowIncompatible );
+ FLOG( _L("CSisxSifPluginInstallParams::ConstructL, end") );
}
// ---------------------------------------------------------------------------
@@ -291,6 +336,8 @@
TRAPD( err, paramFound = aParams.GetIntByNameL( aParamName, value ) );
if( !err && paramFound )
{
+ FLOG_2( _L("CSisxSifPluginInstallParams::GetIntParam, %S=%d"),
+ &aParamName, value );
return value;
}
return aDefaultValue;
@@ -308,6 +355,8 @@
TRAPD( err, paramFound = aParams.GetIntByNameL( aParamName, value ) );
if( !err && paramFound )
{
+ FLOG_2( _L("CSisxSifPluginInstallParams::GetPolicyParam, %S=%d"),
+ &aParamName, aPolicy );
aPolicy = static_cast<TSifPolicy>( value );
}
}
@@ -328,6 +377,8 @@
aBuf = NULL;
}
aBuf = value.AllocL();
+ FLOG_2( _L("CSisxSifPluginInstallParams::GetStringParamL, %S='%S'"),
+ &aParamName, aBuf );
}
}
@@ -341,6 +392,8 @@
iDrives.Reset();
for( TInt index = 0; index < driveArray.Count(); index++ )
{
+ FLOG_1( _L("CSisxSifPluginInstallParams::DoProcessDriveParamL, drive %d"),
+ driveArray[ index ] );
iDrives.AppendL( driveArray[ index ] );
}
}
@@ -355,6 +408,8 @@
iLanguages.Reset();
for( TInt index = 0; index < langArray.Count(); index++ )
{
+ FLOG_1( _L("CSisxSifPluginInstallParams::DoProcessLangParamL, lang %d"),
+ langArray[ index ] );
iLanguages.AppendL( static_cast<TLanguage>( langArray[ index ] ) );
}
}
--- a/appinstaller/AppinstUi/sisxsifplugin/src/sisxsifpluginuihandler.cpp Thu Oct 14 14:11:30 2010 +0300
+++ b/appinstaller/AppinstUi/sisxsifplugin/src/sisxsifpluginuihandler.cpp Wed Oct 20 14:52:56 2010 +0300
@@ -34,9 +34,9 @@
// TODO: replace with proper tracing support
#ifdef _DEBUG
-#define FLOG(x) RDebug::Print(x);
-#define FLOG_1(x,y) RDebug::Print(x, y);
-#define FLOG_2(x,y,z) RDebug::Print(x, y, z);
+#define FLOG(x) RDebug::Print(x)
+#define FLOG_1(x,y) RDebug::Print((x),(y))
+#define FLOG_2(x,y,z) RDebug::Print((x),(y),(z))
#else
#define FLOG(x)
#define FLOG_1(x,y)
@@ -103,6 +103,7 @@
break;
}
+ FLOG_1( _L("CSisxSifPluginUiHandler::DisplayTextL, okToContinue=%d"), okToContinue );
return okToContinue;
}
@@ -131,6 +132,8 @@
_LIT( KText, "Removal may stop other applications working. Continue?" );
okToContinue = ShowQuestionL( KText );
+ FLOG_1( _L("CSisxSifPluginUiHandler::DisplayDependencyBreakL, okToContinue=%d"),
+ okToContinue );
return okToContinue;
}
@@ -176,6 +179,7 @@
break;
}
+ FLOG_1( _L("CSisxSifPluginUiHandler::DisplayQuestionL, okToContinue=%d"), okToContinue );
return okToContinue;
}
@@ -201,6 +205,8 @@
{
FLOG( _L("CSisxSifPluginUiHandler::DisplayGrantCapabilitiesL") );
TBool okToContinue = iSifUi->ShowGrantCapabilitiesL( aCapabilitySet );
+ FLOG_1( _L("CSisxSifPluginUiHandler::DisplayGrantCapabilitiesL, okToContinue=%d"),
+ okToContinue );
return okToContinue;
}
@@ -213,6 +219,7 @@
{
FLOG( _L("CSisxSifPluginUiHandler::DisplayLanguageL") );
TInt langIndex = iSifUi->ShowSelectLanguageL( aLanguages );
+ FLOG_1( _L("CSisxSifPluginUiHandler::DisplayLanguageL, langIndex=%d"), langIndex );
return langIndex;
}
@@ -243,8 +250,10 @@
TInt index = aDriveLetters.Find( driveLetter );
if( index >= 0 && index < aDriveLetters.Count() )
{
+ FLOG_1( _L("CSisxSifPluginUiHandler::DisplayDriveL, return %d"), index );
return index;
}
+ FLOG( _L("CSisxSifPluginUiHandler::DisplayDriveL, return default 0") );
return 0;
}
@@ -286,6 +295,7 @@
aSelections[ index ] = ( selectedIndexes.Find( index ) != KErrNotFound );
}
}
+ FLOG_1( _L("CSisxSifPluginUiHandler::DisplayOptionsL, isSelected=%d"), isSelected );
return isSelected;
}
@@ -296,7 +306,8 @@
TBool CSisxSifPluginUiHandler::HandleInstallEventL( const Swi::CAppInfo& aAppInfo,
Swi::TInstallEvent aEvent, TInt aValue, const TDesC& /*aDes*/ )
{
- FLOG_2( _L("CSisxSifPluginUiHandler::HandleInstallEventL: aEvent %d, aValue %d"), aEvent, aValue );
+ FLOG_2( _L("CSisxSifPluginUiHandler::HandleInstallEventL: aEvent=%d, aValue=%d"),
+ aEvent, aValue );
TBool okToContinue = EFalse;
if( !iSifUi->IsCancelled() )
@@ -338,6 +349,8 @@
}
}
+ FLOG_1( _L("CSisxSifPluginUiHandler::HandleInstallEventL: okToContinue %d"),
+ okToContinue);
return okToContinue;
}
@@ -349,10 +362,12 @@
Swi::TInstallCancellableEvent aEvent, Swi::MCancelHandler& aCancelHandler,
TInt aValue, const TDesC& /*aDes*/ )
{
- FLOG_2( _L("CSisxSifPluginUiHandler::HandleCancellableInstallEventL: aEvent %d, aValue %d"), aEvent, aValue );
+ FLOG_2( _L("CSisxSifPluginUiHandler::HandleCancellableInstallEventL: aEvent=%d, aValue=%d"),
+ aEvent, aValue );
if( iSifUi->IsCancelled() )
{
+ FLOG( _L("CSisxSifPluginUiHandler::HandleCancellableInstallEventL: cancelling") );
aCancelHandler.HandleCancel();
}
else
@@ -417,6 +432,7 @@
break;
}
+ FLOG_1( _L("CSisxSifPluginUiHandler::DisplaySecurityWarningL, result=%d"), result );
return result;
}
@@ -446,6 +462,7 @@
SetOcspErrorL( aMessage );
}
+ FLOG_1( _L("CSisxSifPluginUiHandler::DisplayOcspResultL, okToContinue=%d"), okToContinue );
return okToContinue;
}
@@ -524,6 +541,7 @@
//
void CSisxSifPluginUiHandler::CancelDialogs()
{
+ FLOG( _L("CSisxSifPluginUiHandler::CancelDialogs") );
iSifUi->CancelDialogs();
}
--- a/appinstaller/AppinstUi/sisxsifplugin/src/sisxsifpluginuihandlerbase.cpp Thu Oct 14 14:11:30 2010 +0300
+++ b/appinstaller/AppinstUi/sisxsifplugin/src/sisxsifpluginuihandlerbase.cpp Wed Oct 20 14:52:56 2010 +0300
@@ -28,9 +28,10 @@
using namespace Usif;
-_LIT( KTextResolverPath, "z:/resource/qt/translations/" );
-_LIT( KSifUiTranslationFile, "sifuidevicedialogplugin_" );
-_LIT( KCommonButtonContinue, "txt_common_button_continue" );
+// TODO: restore
+//_LIT( KTextResolverPath, "z:/resource/qt/translations/" );
+//_LIT( KSifUiTranslationFile, "sifuidevicedialogplugin_" );
+//_LIT( KCommonButtonContinue, "txt_common_button_continue" );
_LIT( KMemoryFull, "txt_error_info_memory_full" );
_LIT( KUnexpectedError, "txt_error_info_an_unexpected_error_occurred" );
@@ -46,6 +47,17 @@
const TInt KDefaultTimeout = 6000; // milliseconds
+// TODO: replace with proper logging
+#ifdef _DEBUG
+#define FLOG(x) RDebug::Print(x)
+#define FLOG_1(x,y) RDebug::Print((x),(y))
+#define FLOG_2(x,y,z) RDebug::Print((x),(y),(z))
+#else
+#define FLOG(x)
+#define FLOG_1(x,y)
+#define FLOG_2(x,y,z)
+#endif
+
// ======== MEMBER FUNCTIONS ========
@@ -57,6 +69,7 @@
CSisxSifPluginErrorHandler& aErrorHandler ) : iFs( aFs ),
iErrorHandler( aErrorHandler )
{
+ FLOG( _L("CSisxSifPluginUiHandlerBase::CSisxSifPluginUiHandlerBase") );
// TODO: restore
//HbTextResolverSymbian::Init( KSifUiTranslationFile, KTextResolverPath );
}
@@ -67,6 +80,7 @@
//
CSisxSifPluginUiHandlerBase::~CSisxSifPluginUiHandlerBase()
{
+ FLOG( _L("CSisxSifPluginUiHandlerBase::~CSisxSifPluginUiHandlerBase") );
delete iInstallParams;
delete iPublishSifOperationInfo;
delete iGlobalComponentId;
@@ -79,6 +93,7 @@
void CSisxSifPluginUiHandlerBase::SetInstallParamsL(
const CSisxSifPluginInstallParams& aInstallParams )
{
+ FLOG( _L("CSisxSifPluginUiHandlerBase::SetInstallParamsL") );
if( iInstallParams )
{
delete iInstallParams;
@@ -93,6 +108,7 @@
//
void CSisxSifPluginUiHandlerBase::SetMaxInstalledSize( TInt aSize )
{
+ FLOG_1( _L("CSisxSifPluginUiHandlerBase::SetMaxInstalledSize, aSize=%d"), aSize );
iMaxInstalledSize = aSize;
}
@@ -102,6 +118,8 @@
//
void CSisxSifPluginUiHandlerBase::SetDriveSelectionRequired( TBool aIsRequired )
{
+ FLOG_1( _L("CSisxSifPluginUiHandlerBase::SetDriveSelectionRequired, aIsRequired=%d"),
+ aIsRequired );
iIsDriveSelectionRequired = aIsRequired;
}
@@ -111,11 +129,18 @@
//
TBool CSisxSifPluginUiHandlerBase::IsOcspMandatoryL() const
{
+ FLOG( _L("CSisxSifPluginUiHandlerBase::IsOcspMandatoryL, begin") );
CRepository* cenRep = CRepository::NewLC( KCRUidSWInstallerSettings );
TInt ocspProcedure = ESWInstallerOcspProcedureOff;
- User::LeaveIfError( cenRep->Get( KSWInstallerOcspProcedure, ocspProcedure ) );
+ TInt err = cenRep->Get( KSWInstallerOcspProcedure, ocspProcedure );
+ FLOG_2( _L("CSisxSifPluginUiHandlerBase::IsOcspMandatoryL, ocspProcedure=%d, err=%d"),
+ ocspProcedure, err );
CleanupStack::PopAndDestroy( cenRep );
- return ( ocspProcedure == ESWInstallerOcspProcedureMust );
+
+ TBool isOcspMandatory = ( ocspProcedure == ESWInstallerOcspProcedureMust );
+ FLOG_1( _L("CSisxSifPluginUiHandlerBase::IsOcspMandatoryL, return %d"),
+ isOcspMandatory );
+ return isOcspMandatory;
}
// ---------------------------------------------------------------------------
@@ -125,6 +150,7 @@
void CSisxSifPluginUiHandlerBase::PublishStartL( const CComponentInfo::CNode& aRootNode,
TSifOperationPhase aPhase )
{
+ FLOG_1( _L("CSisxSifPluginUiHandlerBase::PublishStartL, aPhase=%d"), aPhase );
iOperationPhase = aPhase;
RPointerArray<HBufC> appNames;
@@ -161,6 +187,7 @@
iPublishSifOperationInfo->PublishStartL( *data );
CleanupStack::PopAndDestroy( 3, &appNames ); // data, appIcons, appNames
+ FLOG( _L("CSisxSifPluginUiHandlerBase::PublishStartL, end") );
}
// ---------------------------------------------------------------------------
@@ -170,6 +197,7 @@
void CSisxSifPluginUiHandlerBase::PublishStartL( const CComponentEntry& aEntry,
TSifOperationPhase aPhase )
{
+ FLOG_1( _L("CSisxSifPluginUiHandlerBase::PublishStartL, aPhase=%d"), aPhase );
iOperationPhase = aPhase;
RPointerArray<HBufC> appNames;
@@ -195,6 +223,7 @@
iPublishSifOperationInfo->PublishStartL( *data );
CleanupStack::PopAndDestroy( 3, &appNames ); // data, appIcons, appNames
+ FLOG( _L("CSisxSifPluginUiHandlerBase::PublishStartL, end") );
}
// ---------------------------------------------------------------------------
@@ -203,11 +232,13 @@
//
void CSisxSifPluginUiHandlerBase::PublishProgressL( TSifOperationSubPhase aSubPhase )
{
+ FLOG_1( _L("CSisxSifPluginUiHandlerBase::PublishProgressL, aSubPhase=%d"), aSubPhase );
User::LeaveIfNull( iPublishSifOperationInfo );
CSifOperationProgressData* data = CSifOperationProgressData::NewLC( *iGlobalComponentId,
iOperationPhase, aSubPhase, iProgressBarCurrentValue, iProgressBarFinalValue );
iPublishSifOperationInfo->PublishProgressL( *data );
CleanupStack::PopAndDestroy( data );
+ FLOG( _L("CSisxSifPluginUiHandlerBase::PublishProgressL, end") );
}
// ---------------------------------------------------------------------------
@@ -216,12 +247,14 @@
//
void CSisxSifPluginUiHandlerBase::PublishCompletionL()
{
+ FLOG( _L("CSisxSifPluginUiHandlerBase::PublishCompletionL") );
User::LeaveIfNull( iPublishSifOperationInfo );
CSifOperationEndData* data = CSifOperationEndData::NewLC( *iGlobalComponentId,
iErrorHandler.ErrorCategory(), iErrorHandler.ErrorCode(),
iErrorHandler.ErrorMessage(), iErrorHandler.ErrorMessageDetails() );
iPublishSifOperationInfo->PublishCompletionL( *data );
CleanupStack::PopAndDestroy( data );
+ FLOG( _L("CSisxSifPluginUiHandlerBase::PublishCompletionL, end") );
}
// ---------------------------------------------------------------------------
@@ -230,6 +263,7 @@
//
void CSisxSifPluginUiHandlerBase::SetErrorL( TInt aErrorCode, TInt aExtErrorCode )
{
+ FLOG_1( _L("CSisxSifPluginUiHandlerBase::SetErrorL, aErrorCode=%d"), aErrorCode );
iErrorHandler.SetErrorCode( aErrorCode );
iErrorHandler.SetExtendedErrorCode( aExtErrorCode );
@@ -286,6 +320,7 @@
void CSisxSifPluginUiHandlerBase::SetErrorL( TInt aErrorCode, TInt aExtErrorCode,
const TDesC& aErrMsgDetails )
{
+ FLOG_1( _L("CSisxSifPluginUiHandlerBase::SetErrorL, aErrorCode=%d"), aErrorCode );
SetErrorL( aErrorCode, aExtErrorCode );
iErrorHandler.SetErrorMessageDetails( aErrMsgDetails );
}
@@ -297,6 +332,7 @@
void CSisxSifPluginUiHandlerBase::SetErrorSwiErrorL( Swi::TErrorDialog aType,
const TDesC& /*aParam*/ )
{
+ FLOG_1( _L("CSisxSifPluginUiHandlerBase::SetErrorSwiErrorL, aType=%d"), aType );
// TODO: localised detailed error messages
// TODO: append aParam when message supports parameters
TBuf<512> details;
@@ -382,6 +418,7 @@
//
void CSisxSifPluginUiHandlerBase::SetOcspErrorL( Swi::TRevocationDialogMessage aMessage )
{
+ FLOG_1( _L("CSisxSifPluginUiHandlerBase::SetOcspErrorL, aMessage=%d"), aMessage );
// TODO: localised error strings needed
iErrorHandler.SetErrorMessage( _L("Unable to check certificate validity online." ) );
iErrorHandler.SetExtendedErrorCode( aMessage );
--- a/appinstaller/AppinstUi/sisxsifplugin/src/sisxsifpluginuihandlersilent.cpp Thu Oct 14 14:11:30 2010 +0300
+++ b/appinstaller/AppinstUi/sisxsifplugin/src/sisxsifpluginuihandlersilent.cpp Wed Oct 20 14:52:56 2010 +0300
@@ -24,6 +24,16 @@
using namespace Usif;
+#ifdef _DEBUG
+#define FLOG(x) RDebug::Print(x)
+#define FLOG_1(x,y) RDebug::Print((x),(y))
+#define FLOG_2(x,y,z) RDebug::Print((x),(y),(z))
+#else
+#define FLOG(x)
+#define FLOG_1(x,y)
+#define FLOG_2(x,y,z)
+#endif
+
// ======== MEMBER FUNCTIONS ========
@@ -57,6 +67,7 @@
TBool CSisxSifPluginUiHandlerSilent::DisplayTextL( const Swi::CAppInfo& /*aAppInfo*/,
Swi::TFileTextOption aOption, const TDesC& aText )
{
+ FLOG( _L("CSisxSifPluginUiHandlerSilent::DisplayText") );
TBool okToContinue = EFalse;
if( iInstallParams )
@@ -94,6 +105,7 @@
}
}
+ FLOG_1( _L("CSisxSifPluginUiHandlerSilent::DisplayText, okToContinue=%d"), okToContinue );
return okToContinue;
}
@@ -104,6 +116,7 @@
void CSisxSifPluginUiHandlerSilent::DisplayErrorL( const Swi::CAppInfo& /*aAppInfo*/,
Swi::TErrorDialog aType, const TDesC& aParam )
{
+ FLOG( _L("CSisxSifPluginUiHandlerSilent::DisplayErrorL") );
SetErrorSwiErrorL( aType, aParam );
}
@@ -114,6 +127,7 @@
TBool CSisxSifPluginUiHandlerSilent::DisplayDependencyBreakL( const Swi::CAppInfo& /*aAppInfo*/,
const RPointerArray<TDesC>& /*aComponents*/ )
{
+ FLOG( _L("CSisxSifPluginUiHandlerSilent::DisplayDependencyBreakL") );
TBool okToContinue = EFalse;
if( iInstallParams )
@@ -131,6 +145,8 @@
}
}
+ FLOG_1( _L("CSisxSifPluginUiHandlerSilent::DisplayDependencyBreakL, okToContinue=%d"),
+ okToContinue );
return okToContinue;
}
@@ -141,6 +157,7 @@
TBool CSisxSifPluginUiHandlerSilent::DisplayApplicationsInUseL( const Swi::CAppInfo& /*aAppInfo*/,
const RPointerArray<TDesC>& /*aAppNames*/ )
{
+ FLOG( _L("CSisxSifPluginUiHandlerSilent::DisplayApplicationsInUseL") );
TBool okToContinue = EFalse;
if( iInstallParams )
@@ -158,6 +175,8 @@
}
}
+ FLOG_1( _L("CSisxSifPluginUiHandlerSilent::DisplayApplicationsInUseL, okToContinue=%d"),
+ okToContinue );
return okToContinue;
}
@@ -168,6 +187,7 @@
TBool CSisxSifPluginUiHandlerSilent::DisplayQuestionL( const Swi::CAppInfo& /*aAppInfo*/,
Swi::TQuestionDialog aQuestion, const TDesC& aDes )
{
+ FLOG( _L("CSisxSifPluginUiHandlerSilent::DisplayQuestionL") );
TBool okToContinue = EFalse;
switch( aQuestion )
@@ -217,6 +237,8 @@
break;
}
+ FLOG_1( _L("CSisxSifPluginUiHandlerSilent::DisplayQuestionL, okToContinue=%d"),
+ okToContinue );
return okToContinue;
}
@@ -228,6 +250,7 @@
const CApaMaskedBitmap* /*aLogo*/,
const RPointerArray<Swi::CCertificateInfo>& /*aCertificates*/ )
{
+ FLOG( _L("CSisxSifPluginUiHandlerSilent::DisplayInstallL") );
ASSERT( iOperationPhase == EInstalling );
return ETrue;
}
@@ -239,6 +262,7 @@
TBool CSisxSifPluginUiHandlerSilent::DisplayGrantCapabilitiesL( const Swi::CAppInfo& /*aAppInfo*/,
const TCapabilitySet& /*aCapabilitySet*/ )
{
+ FLOG( _L("CSisxSifPluginUiHandlerSilent::DisplayGrantCapabilitiesL") );
TBool okToContinue = EFalse;
if( iInstallParams )
@@ -256,6 +280,8 @@
}
}
+ FLOG_1( _L("CSisxSifPluginUiHandlerSilent::DisplayGrantCapabilitiesL, okToContinue=%d"),
+ okToContinue );
return okToContinue;
}
@@ -266,6 +292,7 @@
TInt CSisxSifPluginUiHandlerSilent::DisplayLanguageL( const Swi::CAppInfo& /*aAppInfo*/,
const RArray<TLanguage>& aLanguages )
{
+ FLOG( _L("CSisxSifPluginUiHandlerSilent::DisplayLanguageL") );
TInt languageIndex = 0;
TBool found = EFalse;
TInt languageCount = aLanguages.Count();
@@ -291,6 +318,8 @@
languageIndex = index;
}
}
+ FLOG_1( _L("CSisxSifPluginUiHandlerSilent::DisplayLanguageL, languageIndex=%d"),
+ languageIndex );
return languageIndex;
}
@@ -302,6 +331,7 @@
TInt64 aSize, const RArray<TChar>& aDriveLetters,
const RArray<TInt64>& aDriveSpaces )
{
+ FLOG( _L("CSisxSifPluginUiHandlerSilent::DisplayDriveL") );
TInt driveIndex = 0;
TBool found = EFalse;
TInt driveCount = aDriveLetters.Count();
@@ -328,6 +358,8 @@
{
driveIndex = KErrNotFound;
}
+ FLOG_1( _L("CSisxSifPluginUiHandlerSilent::DisplayDriveL, driveIndex=%d"),
+ driveIndex );
return driveIndex;
}
@@ -338,6 +370,7 @@
TBool CSisxSifPluginUiHandlerSilent::DisplayUpgradeL( const Swi::CAppInfo& /*aAppInfo*/,
const Swi::CAppInfo& /*aExistingAppInfo*/ )
{
+ FLOG( _L("CSisxSifPluginUiHandlerSilent::DisplayUpgradeL") );
TBool okToContinue = EFalse;
if( iInstallParams )
{
@@ -353,6 +386,8 @@
break;
}
}
+ FLOG_1( _L("CSisxSifPluginUiHandlerSilent::DisplayUpgradeL, okToContinue=%d"),
+ okToContinue );
return okToContinue;
}
@@ -363,6 +398,7 @@
TBool CSisxSifPluginUiHandlerSilent::DisplayOptionsL( const Swi::CAppInfo& /*aAppInfo*/,
const RPointerArray<TDesC>& aOptions, RArray<TBool>& aSelections )
{
+ FLOG( _L("CSisxSifPluginUiHandlerSilent::DisplayOptionsL") );
TBool allowOptions = EFalse;
if( iInstallParams )
{
@@ -382,6 +418,8 @@
{
aSelections[ index ] = allowOptions;
}
+
+ FLOG_1( _L("CSisxSifPluginUiHandlerSilent::DisplayOptionsL, allowOptions=%d"), allowOptions );
return ETrue; // always ok to continue
}
@@ -392,6 +430,8 @@
TBool CSisxSifPluginUiHandlerSilent::HandleInstallEventL( const Swi::CAppInfo& /*aAppInfo*/,
Swi::TInstallEvent aEvent, TInt aValue, const TDesC& /*aDes*/ )
{
+ FLOG_2( _L("CSisxSifPluginUiHandlerSilent::HandleInstallEventL, aEvent=%d, aValue=%d"),
+ aEvent, aValue );
switch( aEvent )
{
case Swi::EEventSetProgressBarFinalValue:
@@ -426,6 +466,8 @@
const Swi::CAppInfo& /*aAppInfo*/, Swi::TInstallCancellableEvent aEvent,
Swi::MCancelHandler& /*aCancelHandler*/, TInt /*aValue*/, const TDesC& /*aDes*/ )
{
+ FLOG_1( _L("CSisxSifPluginUiHandlerSilent::HandleCancellableInstallEventL, aEvent=%d"),
+ aEvent );
switch( aEvent )
{
case Swi::EEventOcspCheckStart:
@@ -450,6 +492,8 @@
RPointerArray<Swi::CCertificateInfo>& /*aCertificates*/,
TBool aInstallAnyway )
{
+ FLOG_1( _L("CSisxSifPluginUiHandlerSilent::DisplaySecurityWarningL, aSigValidationResult=%d"),
+ aSigValidationResult );
TBool okToContinue = EFalse;
switch( aSigValidationResult )
@@ -467,6 +511,8 @@
case Swi::ENoCodeSigningExtension:
case Swi::ENoSupportedPolicyExtension:
case Swi::EMandatorySignatureMissing:
+ FLOG_1( _L("CSisxSifPluginUiHandlerSilent::DisplaySecurityWarningL, aInstallAnyway=%d"),
+ aInstallAnyway );
if( aInstallAnyway && iInstallParams )
{
switch( iInstallParams->AllowUntrusted() )
@@ -487,6 +533,8 @@
break;
}
+ FLOG_1( _L("CSisxSifPluginUiHandlerSilent::DisplaySecurityWarningL, okToContinue=%d"),
+ okToContinue );
return okToContinue;
}
@@ -498,6 +546,7 @@
Swi::TRevocationDialogMessage aMessage, RPointerArray<TOCSPOutcome>& /*aOutcomes*/,
RPointerArray<Swi::CCertificateInfo>& /*aCertificates*/, TBool aWarningOnly )
{
+ FLOG( _L("CSisxSifPluginUiHandlerSilent::DisplayOcspResultL") );
TBool okToContinue = EFalse;
if( aWarningOnly && !IsOcspMandatoryL() )
@@ -523,6 +572,8 @@
SetOcspErrorL( aMessage );
}
+ FLOG_1( _L("CSisxSifPluginUiHandlerSilent::DisplayOcspResultL, okToContinue=%d"),
+ okToContinue );
return okToContinue;
}
@@ -533,6 +584,8 @@
void CSisxSifPluginUiHandlerSilent::DisplayCannotOverwriteFileL( const Swi::CAppInfo& /*aAppInfo*/,
const Swi::CAppInfo& /*aInstalledAppInfo*/, const TDesC& aFileName )
{
+ FLOG_1( _L("CSisxSifPluginUiHandlerSilent::DisplayCannotOverwriteFileL, aFileName=%S"),
+ &aFileName );
// TODO: localized UI string needed: "The package tries to overwrite file '%1' it does not own."
TName detailsString;
detailsString.Format( _L("The package tries to overwrite file '%S' it does not own."), &aFileName );
@@ -547,6 +600,7 @@
const TDesC& /*aDependencyName*/, TVersion /*aWantedVersionFrom*/,
TVersion /*aWantedVersionTo*/, TVersion /*aInstalledVersion*/ )
{
+ FLOG( _L("CSisxSifPluginUiHandlerSilent::DisplayMissingDependencyL") );
TBool okToContinue = EFalse;
if( iInstallParams )
@@ -569,6 +623,8 @@
SetErrorL( KErrSifMissingDependencies, 0, KNullDesC );
}
+ FLOG_1( _L("CSisxSifPluginUiHandlerSilent::DisplayMissingDependencyL, okToContinue=%d"),
+ okToContinue );
return okToContinue;
}
@@ -578,6 +634,7 @@
//
TBool CSisxSifPluginUiHandlerSilent::DisplayUninstallL( const Swi::CAppInfo& /*aAppInfo*/ )
{
+ FLOG( _L("CSisxSifPluginUiHandlerSilent::DisplayUninstallL") );
ASSERT( iOperationPhase == EUninstalling );
return ETrue;
}
@@ -588,6 +645,7 @@
//
void CSisxSifPluginUiHandlerSilent::DisplayPreparingInstallL( const TDesC& /*aFileName*/ )
{
+ FLOG( _L("CSisxSifPluginUiHandlerSilent::DisplayPreparingInstallL") );
// nothing displayed in silent mode
}
@@ -597,6 +655,7 @@
//
void CSisxSifPluginUiHandlerSilent::DisplayCompleteL()
{
+ FLOG( _L("CSisxSifPluginUiHandlerSilent::DisplayCompleteL") );
// nothing displayed in silent mode
}
@@ -607,6 +666,7 @@
void CSisxSifPluginUiHandlerSilent::DisplayFailedL(
const CSisxSifPluginErrorHandler& /*aError*/ )
{
+ FLOG( _L("CSisxSifPluginUiHandlerSilent::DisplayFailedL") );
// nothing displayed in silent mode
}
@@ -616,6 +676,7 @@
//
void CSisxSifPluginUiHandlerSilent::CancelDialogs()
{
+ FLOG( _L("CSisxSifPluginUiHandlerSilent::CancelDialogs") );
// nothing to do
}
--- a/appinstaller/AppinstUi/startuplistupdater/group/startuplistupdater.mmp Thu Oct 14 14:11:30 2010 +0300
+++ b/appinstaller/AppinstUi/startuplistupdater/group/startuplistupdater.mmp Wed Oct 20 14:52:56 2010 +0300
@@ -25,7 +25,7 @@
TARGET startuplistupdater.exe
TARGETTYPE exe
-UID 0x100039CE 0xE5F88F39 // TODO: Change UID3 to 0x101F875A after SWInstSvrUI has been removed
+UID 0x100039CE 0x101F875A
CAPABILITY CAP_SERVER AllFiles
VENDORID VID_DEFAULT
--- a/appinstaller/AppinstUi/startuplistupdater/inc/startuplistupdater.h Thu Oct 14 14:11:30 2010 +0300
+++ b/appinstaller/AppinstUi/startuplistupdater/inc/startuplistupdater.h Wed Oct 20 14:52:56 2010 +0300
@@ -19,11 +19,12 @@
#define STARTUPLISTUPDATER_H
#include <e32base.h> // CBase
-#include <f32file.h> // RFs
+#include <f32file.h> // RFs, RFile
#include <dscstore.h> // RDscStore
namespace Swi
{
+ class RSisRegistrySession;
class RSisRegistryEntry;
}
@@ -51,7 +52,16 @@
void AppendExecutablesFromResourceFileL( const TDesC& aResourceFile,
RPointerArray<HBufC>& aExecutableArray );
TBool IsValidExecutableForStartupL( const TDesC& aResourceFile,
- const TDesC& aExecutableName );
+ const TDesC& aExecutableName );
+ void ExtractPackageUidFromResourceFileL( const TDesC& aResourceFile,
+ TUid& aPackageUid );
+ TBool IsResourceFileValidForPackageL( Swi::RSisRegistrySession& aSisRegSession,
+ const TDesC& aResourceFile, const TUid& aPackageUid );
+ TBool IsFileIncludedInPackageL( const TDesC& aFile, Swi::RSisRegistryEntry& aPackage );
+ TBool IsFileIncludedInEmbeddedPackagesL( Swi::RSisRegistrySession& aSisRegSession,
+ const TDesC& aFile, Swi::RSisRegistryEntry& aPackage );
+ TBool IsExeFileIncludedInPackageL( Swi::RSisRegistrySession& aSisRegSession,
+ const TDesC& aExeFile, const TUid& aPackageUid );
void GetInstalledAppsL( RPointerArray<HBufC>& aInstalledExecutableArray );
void GetStartupListAppsL( RDscStore& aDscStore,
RPointerArray<HBufC>& aStartedExecutableArray );
@@ -61,10 +71,15 @@
void RemoveFromStartupListL( RDscStore& aDscStore, RPointerArray<HBufC>& aExecutableArray );
void GetExecutablesFromEntryL( Swi::RSisRegistryEntry& aEntry,
RPointerArray<HBufC>& aExecutableArray );
+ void OpenDevTraceL();
+ void DevTrace( TRefByValue<const TDesC> aFmt, ... );
private: // new data
RFs iFs;
HBufC* iPrivateImportPath;
+ RFile iLogFile;
+ RBuf8 iFileBuf;
+ HBufC* iLogBuf; // NULL if logging disabled
};
#endif // STARTUPLISTUPDATER_H
--- a/appinstaller/AppinstUi/startuplistupdater/src/startuplistupdater.cpp Thu Oct 14 14:11:30 2010 +0300
+++ b/appinstaller/AppinstUi/startuplistupdater/src/startuplistupdater.cpp Wed Oct 20 14:52:56 2010 +0300
@@ -37,6 +37,22 @@
const TInt KDriveSpecLength = 2;
const TInt KFirstStartupItemInfo = 1;
+#ifdef _DEBUG
+#define FLOG(x) RDebug::Print(x);
+#define FLOG_1(x,y) RDebug::Print(x, y);
+#define FLOG_2(x,y,z) RDebug::Print(x, y, z);
+#define FLOG_3(x,y,z,v) RDebug::Print(x, y, z, v);
+#else
+#define FLOG(x)
+#define FLOG_1(x,y)
+#define FLOG_2(x,y,z)
+#define FLOG_3(x,y,z,v)
+#endif
+
+_LIT( KDevTraceDir, "c:\\data\\logs\\swinst\\" );
+_LIT( KDevTraceFile, "startuplistmgmt.log" );
+const TInt KDevTraceBuffer = 256;
+
// ======== LOCAL FUNCTIONS ========
@@ -58,6 +74,7 @@
//
CStartupListUpdater* CStartupListUpdater::NewL()
{
+ FLOG( _L("CStartupListUpdater::NewL") );
CStartupListUpdater* self = new( ELeave ) CStartupListUpdater;
CleanupStack::PushL( self );
self->ConstructL();
@@ -71,6 +88,10 @@
//
CStartupListUpdater::~CStartupListUpdater()
{
+ FLOG( _L("CStartupListUpdater::~CStartupListUpdater") );
+ iLogFile.Close();
+ iFileBuf.Close();
+ delete iLogBuf;
delete iPrivateImportPath;
iFs.Close();
@@ -83,7 +104,8 @@
//
void CStartupListUpdater::UpdateStartupListL()
{
- if ( FeatureManager::FeatureSupported( KFeatureIdExtendedStartup ) )
+ FLOG( _L("CStartupListUpdater::UpdateStartupListL") );
+ if( FeatureManager::FeatureSupported( KFeatureIdExtendedStartup ) )
{
ProcessImportsAndUninstallsL();
}
@@ -103,14 +125,17 @@
//
void CStartupListUpdater::ConstructL()
{
+ FLOG( _L("CStartupListUpdater::ConstructL, begin") );
FeatureManager::InitializeLibL();
User::LeaveIfError( iFs.Connect() );
TInt err = iFs.MkDirAll( PrivateImportPathL() );
if( err != KErrNone && err != KErrAlreadyExists )
{
+ FLOG_1( _L("CStartupListUpdater::ConstructL, err %d"), err );
User::Leave( err );
}
+ FLOG( _L("CStartupListUpdater::ConstructL, end") );
}
// ---------------------------------------------------------------------------
@@ -135,6 +160,7 @@
TPtr ptr( iPrivateImportPath->Des() );
ptr.Format( KDriveAndPathFormat, static_cast< TUint >( driveLetter ), &privateImportPath );
}
+ FLOG_1( _L("CStartupListUpdater::PrivateImportPathL %S"), iPrivateImportPath );
return *iPrivateImportPath;
}
@@ -144,13 +170,20 @@
//
void CStartupListUpdater::ProcessImportsAndUninstallsL()
{
+ FLOG( _L("CStartupListUpdater::ProcessImportsAndUninstallsL, begin") );
RDscStore dscStore;
OpenDscStoreLC( dscStore );
- ImportNewResourceFilesL( dscStore );
+ TRAPD( err, ImportNewResourceFilesL( dscStore ) );
+ if( err )
+ {
+ DevTrace( _L("Error: import failed, error code %d"), err );
+ User::Leave( err );
+ }
DeregisterUninstalledAppsL( dscStore );
CleanupStack::PopAndDestroy( &dscStore );
+ FLOG( _L("CStartupListUpdater::ProcessImportsAndUninstallsL, end") );
}
// ---------------------------------------------------------------------------
@@ -159,6 +192,7 @@
//
void CStartupListUpdater::OpenDscStoreLC( RDscStore& aDscStore )
{
+ FLOG( _L("CStartupListUpdater::OpenDscStoreLC") );
if( !aDscStore.IsOpened() )
{
aDscStore.OpenL();
@@ -170,6 +204,7 @@
}
else
{
+ FLOG( _L("CStartupListUpdater::OpenDscStoreLC, KErrAlreadyExists") );
User::Leave( KErrAlreadyExists );
}
}
@@ -180,6 +215,7 @@
//
void CStartupListUpdater::ImportNewResourceFilesL( RDscStore& aDscStore )
{
+ FLOG( _L("CStartupListUpdater::ImportNewResourceFilesL, begin") );
RPointerArray<HBufC> executableArray;
CleanupResetAndDestroyPushL( executableArray );
RPointerArray<HBufC> resourceFileArray;
@@ -190,6 +226,7 @@
RemoveImportedResourceFiles( resourceFileArray );
CleanupStack::PopAndDestroy( 2, &executableArray );
+ FLOG( _L("CStartupListUpdater::ImportNewResourceFilesL, end") );
}
// ---------------------------------------------------------------------------
@@ -198,6 +235,7 @@
//
void CStartupListUpdater::DeregisterUninstalledAppsL( RDscStore& aDscStore )
{
+ FLOG( _L("CStartupListUpdater::DeregisterUninstalledAppsL, begin") );
RPointerArray<HBufC> startedAtBootArray;
CleanupResetAndDestroyPushL( startedAtBootArray );
RPointerArray<HBufC> installedArray;
@@ -211,6 +249,7 @@
RemoveFromStartupListL( aDscStore, startedNotInstalled );
CleanupStack::PopAndDestroy( 3, &startedAtBootArray );
+ FLOG( _L("CStartupListUpdater::DeregisterUninstalledAppsL, end") );
}
// ---------------------------------------------------------------------------
@@ -221,6 +260,7 @@
RPointerArray<HBufC>& aExecutableArray,
RPointerArray<HBufC>& aResourceFileArray )
{
+ FLOG( _L("CStartupListUpdater::GetDataToBeImportedL, begin") );
TParse resourceFiles;
User::LeaveIfError( resourceFiles.Set( KResourceFileSpec, &PrivateImportPathL(), NULL ) );
const TPtrC importDir( resourceFiles.FullName() );
@@ -242,6 +282,7 @@
}
}
CleanupStack::PopAndDestroy( dir );
+ FLOG( _L("CStartupListUpdater::GetDataToBeImportedL, end") );
}
// ---------------------------------------------------------------------------
@@ -251,16 +292,25 @@
void CStartupListUpdater::ImportExecutablesL( RDscStore& aDscStore,
RPointerArray<HBufC>& aExecutableArray )
{
+ FLOG( _L("CStartupListUpdater::ImportExecutablesL, begin") );
for( TInt index = 0; index < aExecutableArray.Count(); ++index )
{
const TDesC& executableName = *( aExecutableArray[ index ] );
+ FLOG_1( _L("CStartupListUpdater::ImportExecutablesL, exe %S"), &executableName );
CDscItem* item = CDscItem::NewLC( executableName, KNullDesC );
if( !aDscStore.ItemExistsL( *item ) )
{
+ FLOG( _L("CStartupListUpdater::ImportExecutablesL, add item to DscStore") );
aDscStore.AddItemL( *item );
+ DevTrace( _L("Success: '%S' will be started at boot"), &executableName );
+ }
+ else
+ {
+ DevTrace( _L("Error: '%S' already in start list"), &executableName );
}
CleanupStack::PopAndDestroy( item );
}
+ FLOG( _L("CStartupListUpdater::ImportExecutablesL, end") );
}
// ---------------------------------------------------------------------------
@@ -270,18 +320,19 @@
void CStartupListUpdater::RemoveImportedResourceFiles(
RPointerArray<HBufC>& aResourceFileArray )
{
+ FLOG( _L("CStartupListUpdater::RemoveImportedResourceFiles, begin") );
for( TInt index = 0; index < aResourceFileArray.Count(); ++index )
{
const TDesC& fileName = *( aResourceFileArray[ index ] );
+ FLOG_1( _L("CStartupListUpdater::RemoveImportedResourceFiles, deleting %S"), &fileName );
TInt err = iFs.Delete( fileName );
- if( err )
+ FLOG_1( _L("CStartupListUpdater::RemoveImportedResourceFiles, err %d"), err );
+ if( !err )
{
-#ifdef _DEBUG
- RDebug::Print( _L("CStartupListUpdater: cannot delete %S, error %d"),
- &fileName, err );
-#endif
+ DevTrace( _L("Resource file '%S' processed"), &fileName );
}
}
+ FLOG( _L("CStartupListUpdater::RemoveImportedResourceFiles, end") );
}
// ---------------------------------------------------------------------------
@@ -292,12 +343,18 @@
const TDesC& aResourceFile,
RPointerArray<HBufC>& aExecutableArray )
{
+ FLOG( _L("CStartupListUpdater::AppendExecutablesFromResourceFileL, begin") );
+ OpenDevTraceL();
+ DevTrace( _L("Processing resource file: %S"), &aResourceFile );
+
RResourceFile resource;
CleanupClosePushL( resource );
resource.OpenL( iFs, aResourceFile );
+ FLOG_1( _L("CStartupListUpdater::AppendExecutablesFromResourceFileL, %S"), &aResourceFile );
for( TInt id = KFirstStartupItemInfo; resource.OwnsResourceId( id ); ++id )
{
+ FLOG_1( _L("CStartupListUpdater::AppendExecutablesFromResourceFileL, resource id %d"), id );
HBufC8* buffer = resource.AllocReadLC( id );
TResourceReader reader;
@@ -308,6 +365,10 @@
TFileName executableName;
executableName.Copy( reader.ReadTPtrC() );
TInt recoveryPolicy = reader.ReadUint16();
+ FLOG_1( _L("CStartupListUpdater::AppendExecutablesFromResourceFileL, executableName %S"),
+ &executableName );
+ FLOG_1( _L("CStartupListUpdater::AppendExecutablesFromResourceFileL, recoveryPolicy %d"),
+ recoveryPolicy );
CleanupStack::PopAndDestroy( buffer );
@@ -327,16 +388,33 @@
executableName.Replace( 0, 1, fileFinder.File() );
CleanupStack::PopAndDestroy( executableDir );
}
+
+ FLOG_1( _L("CStartupListUpdater::AppendExecutablesFromResourceFileL, new name %S"),
+ &executableName );
}
+ DevTrace( _L("Executable file: %S"), &executableName );
if( IsValidExecutableForStartupL( aResourceFile, executableName ) )
{
+ FLOG( _L("CStartupListUpdater::AppendExecutablesFromResourceFileL, adding to array") );
aExecutableArray.AppendL( executableName.AllocL() );
}
}
+ else
+ {
+ if( versionInfo != 0 )
+ {
+ DevTrace( _L("Error: unsupported STARTUP_ITEM_INFO version: %d"), versionInfo );
+ }
+ else
+ {
+ DevTrace( _L("Error: unsupported recovery policy: %d"), recoveryPolicy );
+ }
+ }
}
CleanupStack::PopAndDestroy( &resource );
+ FLOG( _L("CStartupListUpdater::AppendExecutablesFromResourceFileL, end") );
}
// ---------------------------------------------------------------------------
@@ -346,86 +424,264 @@
TBool CStartupListUpdater::IsValidExecutableForStartupL( const TDesC& aResourceFile,
const TDesC& aExecutableName )
{
+ FLOG( _L("CStartupListUpdater::IsValidExecutableForStartupL, begin") );
+ FLOG_1( _L("CStartupListUpdater::IsValidExecutableForStartupL, res %S"), &aResourceFile );
+ FLOG_1( _L("CStartupListUpdater::IsValidExecutableForStartupL, exe %S"), &aExecutableName );
TBool isValid = EFalse;
TEntry entry;
if( iFs.Entry( aExecutableName, entry ) == KErrNone ) // needs AllFiles capability
{
- isValid = ETrue;
-
- // Extract package UID from the resource file name
- // - allow both "[1234ABCD]" and "1234ABCD" formats
- // - allow possible "0x" prefix too
- TUid packageUid = KNullUid;
- TParsePtrC parse( aResourceFile );
- TPtrC parseName = parse.Name();
- TInt fileNameLength = parseName.Length();
- if( !parse.IsNameWild() && fileNameLength > 0 )
- {
- TPtr fileName( const_cast<TUint16*>( parseName.Ptr() ),
- fileNameLength, fileNameLength );
-
- if( fileName[ 0 ] == '[' && fileName[ fileNameLength - 1 ] == ']' )
- {
- const TInt KTwoCharsLength = 2;
- fileNameLength -= KTwoCharsLength;
- fileName = fileName.Mid( 1, fileNameLength );
- }
+ FLOG( _L("CStartupListUpdater::IsValidExecutableForStartupL, exe file exists") );
- _LIT( KHexPrefix, "0x" );
- const TInt KHexPrefixLength = 2;
- if( fileName.Left( KHexPrefixLength ) == KHexPrefix )
- {
- fileNameLength -= KHexPrefixLength;
- fileName = fileName.Mid( KHexPrefixLength, fileNameLength );
- }
+ TUid packageUid = KNullUid;
+ ExtractPackageUidFromResourceFileL( aResourceFile, packageUid );
- TLex lex( fileName );
- TUint32 uidValue = 0;
- TInt lexError = lex.Val( uidValue, EHex );
- if( !lexError )
- {
- packageUid.iUid = uidValue;
- }
- }
-
- // Get package info from RSisRegistry, and check that
- // - the package contains the resource file
- // - the package is properly signed
if( packageUid != KNullUid )
{
Swi::RSisRegistrySession sisRegSession;
User::LeaveIfError( sisRegSession.Connect() );
CleanupClosePushL( sisRegSession );
- Swi::RSisRegistryEntry package;
- CleanupClosePushL( package );
- TInt openError = package.Open( sisRegSession, packageUid );
- if( !openError )
- {
- TBool hasResourceFile = EFalse;
+ isValid = IsResourceFileValidForPackageL( sisRegSession, aResourceFile, packageUid ) &&
+ IsExeFileIncludedInPackageL( sisRegSession, aExecutableName, packageUid );
+
+ CleanupStack::PopAndDestroy( &sisRegSession );
+ }
+ else
+ {
+ DevTrace( _L("Error: invalid package UID - check resource file name") );
+ }
+ }
+ else
+ {
+ DevTrace( _L("Error: executable file '%S' not found"), &aExecutableName );
+ }
+
+ FLOG_1( _L("CStartupListUpdater::IsValidExecutableForStartupL, return %d"), isValid );
+ return isValid;
+ }
+
+// ---------------------------------------------------------------------------
+// CStartupListUpdater::ExtractPackageUidFromResourceFileL()
+// ---------------------------------------------------------------------------
+//
+void CStartupListUpdater::ExtractPackageUidFromResourceFileL( const TDesC& aResourceFile,
+ TUid& aPackageUid )
+ {
+ FLOG( _L("CStartupListUpdater::ExtractPackageUidFromResourceFileL, begin") );
+
+ // Extract package UID from the resource file name
+ // - allow both "[1234ABCD]" and "1234ABCD" formats
+ // - allow possible "0x" prefix too
+ aPackageUid = KNullUid;
- RPointerArray<HBufC> files;
- CleanupResetAndDestroyPushL( files );
- package.FilesL( files );
- for( TInt index = 0; index < files.Count() && !hasResourceFile; ++index )
- {
- hasResourceFile = ( aResourceFile.CompareF( *files[ index ] ) == 0 );
- }
+ TParse parse;
+ parse.Set( aResourceFile, NULL, NULL );
+ TPtrC parseName = parse.Name();
+ TInt fileNameLength = parseName.Length();
+ if( !parse.IsNameWild() && fileNameLength > 0 )
+ {
+ TPtr fileName( const_cast<TUint16*>( parseName.Ptr() ),
+ fileNameLength, fileNameLength );
+
+ if( fileName[ 0 ] == '[' && fileName[ fileNameLength - 1 ] == ']' )
+ {
+ const TInt KTwoCharsLength = 2;
+ fileNameLength -= KTwoCharsLength;
+ fileName = fileName.Mid( 1, fileNameLength );
+ }
- if( hasResourceFile && package.TrustStatusL().IsTrusted() )
- {
- isValid = ETrue;
- }
+ _LIT( KHexPrefix, "0x" );
+ const TInt KHexPrefixLength = 2;
+ if( fileName.Left( KHexPrefixLength ) == KHexPrefix )
+ {
+ fileNameLength -= KHexPrefixLength;
+ fileName = fileName.Mid( KHexPrefixLength, fileNameLength );
+ }
- CleanupStack::PopAndDestroy( &files );
- }
-
- CleanupStack::PopAndDestroy( 2, &sisRegSession ); // package, sisRegSession
+ FLOG_1( _L("CStartupListUpdater::ExtractPackageUidFromResourceFileL, fileName %S"),
+ &fileName );
+ TLex lex( fileName );
+ TUint32 uidValue = 0;
+ TInt lexError = lex.Val( uidValue, EHex );
+ if( !lexError )
+ {
+ aPackageUid.iUid = uidValue;
}
}
- return isValid;
+ FLOG_1( _L("CStartupListUpdater::ExtractPackageUidFromResourceFileL, end, ret 0x%08x"),
+ aPackageUid.iUid );
+ }
+
+// ---------------------------------------------------------------------------
+// CStartupListUpdater::IsResourceFileValidForPackageL()
+// ---------------------------------------------------------------------------
+//
+TBool CStartupListUpdater::IsResourceFileValidForPackageL(
+ Swi::RSisRegistrySession& aSisRegSession,
+ const TDesC& aResourceFile,
+ const TUid& aPackageUid )
+ {
+ FLOG( _L("CStartupListUpdater::IsResourceFileValidForPackageL, begin") );
+ TBool isValidForPackage = EFalse;
+
+ // Get package info from RSisRegistry, and check that
+ // - the package contains the resource file, and
+ // - the package is properly signed
+
+ Swi::RSisRegistryEntry package;
+ CleanupClosePushL( package );
+ TInt openError = package.Open( aSisRegSession, aPackageUid );
+ FLOG_1( _L("CStartupListUpdater::IsResourceFileValidForPackageL, openError %d"), openError );
+ if( !openError )
+ {
+ Swi::TSisTrustStatus trustStatus = package.TrustStatusL();
+ Swi::TValidationStatus validationStatus = trustStatus.ValidationStatus();
+ FLOG_1( _L("CStartupListUpdater::IsResourceFileValidForPackageL, validationStatus %d"),
+ validationStatus );
+ Swi::TRevocationStatus revocationStatus = trustStatus.RevocationStatus();
+ FLOG_1( _L("CStartupListUpdater::IsResourceFileValidForPackageL, revocationStatus %d"),
+ revocationStatus );
+ TBool isTrusted = (validationStatus == Swi::EPackageInRom ||
+ validationStatus == Swi::EValidatedToAnchor) &&
+ revocationStatus != Swi::EOcspRevoked;
+ FLOG_1( _L("CStartupListUpdater::IsResourceFileValidForPackageL, isTrusted %d"),
+ isTrusted );
+
+ if( isTrusted )
+ {
+ isValidForPackage = IsFileIncludedInPackageL( aResourceFile, package );
+
+ if( !isValidForPackage )
+ {
+ DevTrace( _L("Error: package 0x%08x does not install resource file %S"),
+ aPackageUid.iUid, &aResourceFile );
+ }
+ }
+ else
+ {
+ DevTrace( _L("Error: package 0x%08x not trusted"), aPackageUid.iUid );
+ }
+ }
+ else
+ {
+ DevTrace( _L("Error: package 0x%08x open failed, error %d - check resource file name"),
+ aPackageUid.iUid, openError );
+ }
+
+ CleanupStack::PopAndDestroy( &package );
+
+ FLOG_1( _L("CStartupListUpdater::IsResourceFileValidForPackageL, ret %d"), isValidForPackage );
+ return isValidForPackage;
+ }
+
+// ---------------------------------------------------------------------------
+// CStartupListUpdater::IsFileIncludedInPackageL()
+// ---------------------------------------------------------------------------
+//
+TBool CStartupListUpdater::IsFileIncludedInPackageL( const TDesC& aFile,
+ Swi::RSisRegistryEntry& aPackage )
+ {
+ FLOG_1( _L("CStartupListUpdater::IsFileIncludedInPackageL, begin, file %S"), &aFile );
+ TBool isIncluded = EFalse;
+
+ RPointerArray<HBufC> files;
+ CleanupResetAndDestroyPushL( files );
+ aPackage.FilesL( files );
+ TInt fileCount = files.Count();
+ FLOG_1( _L("CStartupListUpdater::IsFileIncludedInPackageL, pckg fileCount %d"), fileCount );
+ for( TInt index = 0; index < fileCount && !isIncluded; ++index )
+ {
+ TPtrC pckgFile( *files[ index ] );
+ FLOG_1( _L("CStartupListUpdater::IsFileIncludedInPackageL, pckgFile %S"), &pckgFile );
+ isIncluded = ( aFile.CompareF( pckgFile ) == 0 );
+ }
+ CleanupStack::PopAndDestroy( &files );
+
+ if( isIncluded )
+ {
+ DevTrace( _L("File '%S' installed by package 0x%08x" ), &aFile, aPackage.UidL().iUid );
+ }
+ else
+ {
+ DevTrace( _L("File '%S' not installed by package 0x%08x" ), &aFile, aPackage.UidL().iUid );
+ }
+ FLOG_1( _L("CStartupListUpdater::IsFileIncludedInPackageL, ret %d"), isIncluded );
+ return isIncluded;
+ }
+
+// ---------------------------------------------------------------------------
+// CStartupListUpdater::IsFileIncludedInEmbeddedPackagesL()
+// ---------------------------------------------------------------------------
+//
+TBool CStartupListUpdater::IsFileIncludedInEmbeddedPackagesL(
+ Swi::RSisRegistrySession& aSisRegSession, const TDesC& aFile,
+ Swi::RSisRegistryEntry& aPackage )
+ {
+ FLOG( _L("CStartupListUpdater::IsFileIncludedInEmbeddedPackagesL, begin") );
+ TBool isIncluded = EFalse;
+
+ RPointerArray<Swi::CSisRegistryPackage> embeddedPackages;
+ CleanupResetAndDestroyPushL( embeddedPackages );
+ aPackage.EmbeddedPackagesL( embeddedPackages );
+
+ TInt embeddedPackagesCount = embeddedPackages.Count();
+ FLOG_1( _L("CStartupListUpdater::IsFileIncludedInEmbeddedPackagesL, embeddedPackagesCount %d"),
+ embeddedPackagesCount );
+ for( TInt index = 0; index < embeddedPackagesCount && !isIncluded; ++index )
+ {
+ TUid uid = embeddedPackages[index]->Uid();
+ FLOG_1( _L("CStartupListUpdater::IsFileIncludedInEmbeddedPackagesL, uid 0x%08x"),
+ uid.iUid );
+
+ Swi::RSisRegistryEntry package;
+ if( package.Open( aSisRegSession, uid ) == KErrNone )
+ {
+ CleanupClosePushL( package );
+ isIncluded = IsFileIncludedInPackageL( aFile, package );
+ if( !isIncluded )
+ {
+ // Check other embedded packages recursively if necessary
+ isIncluded = IsFileIncludedInEmbeddedPackagesL( aSisRegSession, aFile, package );
+ }
+ CleanupStack::PopAndDestroy( &package );
+ }
+ }
+ CleanupStack::PopAndDestroy( &embeddedPackages );
+
+ FLOG_1( _L("CStartupListUpdater::IsFileIncludedInEmbeddedPackagesL, ret %d"), isIncluded );
+ return isIncluded;
+ }
+
+// ---------------------------------------------------------------------------
+// CStartupListUpdater::IsExeFileIncludedInPackageL()
+// ---------------------------------------------------------------------------
+//
+TBool CStartupListUpdater::IsExeFileIncludedInPackageL(
+ Swi::RSisRegistrySession& aSisRegSession,
+ const TDesC& aExeFile, const TUid& aPackageUid )
+ {
+ FLOG_1( _L("CStartupListUpdater::IsExeFileIncludedInPackageL, begin, file %S"), &aExeFile );
+ TBool isIncluded = EFalse;
+
+ Swi::RSisRegistryEntry package;
+ CleanupClosePushL( package );
+ TInt openError = package.Open( aSisRegSession, aPackageUid );
+ if( !openError )
+ {
+ isIncluded = IsFileIncludedInPackageL( aExeFile, package ) ||
+ IsFileIncludedInEmbeddedPackagesL( aSisRegSession, aExeFile, package );
+ if( !isIncluded )
+ {
+ DevTrace( _L("Error: exe not installed by this package or it's subpackages") );
+ }
+ }
+ CleanupStack::PopAndDestroy( &package );
+
+ FLOG_1( _L("CStartupListUpdater::IsExeFileIncludedInPackageL, return %d"), isIncluded );
+ return isIncluded;
}
// ---------------------------------------------------------------------------
@@ -435,6 +691,7 @@
void CStartupListUpdater::GetInstalledAppsL(
RPointerArray<HBufC>& aInstalledExecutableArray )
{
+ FLOG( _L("CStartupListUpdater::GetInstalledAppsL, begin") );
Swi::RSisRegistrySession sisRegistrySession;
User::LeaveIfError( sisRegistrySession.Connect() );
CleanupClosePushL( sisRegistrySession );
@@ -443,8 +700,12 @@
CleanupResetAndDestroyPushL( removablePackages );
sisRegistrySession.RemovablePackagesL( removablePackages );
- for( TInt index = 0; index < removablePackages.Count(); ++index )
+ TInt removablePackagesCount = removablePackages.Count();
+ FLOG_1( _L("CStartupListUpdater::GetInstalledAppsL, removablePackagesCount %d"),
+ removablePackagesCount );
+ for( TInt index = 0; index < removablePackagesCount; ++index )
{
+ FLOG_1( _L("CStartupListUpdater::GetInstalledAppsL, index %d"), index );
Swi::RSisRegistryEntry entry;
CleanupClosePushL( entry );
entry.OpenL( sisRegistrySession, *( removablePackages[ index ] ) );
@@ -456,6 +717,7 @@
}
CleanupStack::PopAndDestroy( 2, &sisRegistrySession );
+ FLOG( _L("CStartupListUpdater::GetInstalledAppsL, end") );
}
// ---------------------------------------------------------------------------
@@ -465,16 +727,20 @@
void CStartupListUpdater::GetStartupListAppsL( RDscStore& aDscStore,
RPointerArray<HBufC>& aStartedExecutableArray )
{
+ FLOG( _L("CStartupListUpdater::GetStartupListAppsL, begin") );
aDscStore.EnumOpenLC();
while( CDscItem* item = aDscStore.EnumReadNextL() )
{
CleanupStack::PushL( item );
- aStartedExecutableArray.AppendL( item->FileName().AllocL() );
+ TPtrC fileName( item->FileName() );
+ FLOG_1( _L("CStartupListUpdater::GetStartupListAppsL, fileName %S"), &fileName );
+ aStartedExecutableArray.AppendL( fileName.AllocL() );
CleanupStack::PopAndDestroy( item );
}
CleanupStack::PopAndDestroy(); // runs EnumClose
+ FLOG( _L("CStartupListUpdater::GetStartupListAppsL, end") );
}
// ---------------------------------------------------------------------------
@@ -486,17 +752,22 @@
RPointerArray<HBufC>& aInstalledExecutableArray, // in
RPointerArray<HBufC>& aStartedButNotInstalledExecutableArray ) // out
{
+ FLOG( _L("CStartupListUpdater::StartedButNotInstalledAppsL, begin") );
aStartedButNotInstalledExecutableArray.ResetAndDestroy();
TIdentityRelation<HBufC> identityRelation( FileNamesEqual );
for( TInt index = 0; index < aStartedExecutableArray.Count(); ++index )
{
const HBufC* startedAppName = aStartedExecutableArray[ index ];
+ FLOG_1( _L("CStartupListUpdater::StartedButNotInstalledAppsL, startedAppName %S"),
+ startedAppName );
if( aInstalledExecutableArray.Find( startedAppName, identityRelation ) == KErrNotFound )
{
+ FLOG( _L("CStartupListUpdater::StartedButNotInstalledAppsL, adding to array") );
aStartedButNotInstalledExecutableArray.AppendL( startedAppName->AllocL() );
}
}
+ FLOG( _L("CStartupListUpdater::StartedButNotInstalledAppsL, end") );
}
// ---------------------------------------------------------------------------
@@ -506,16 +777,21 @@
void CStartupListUpdater::RemoveFromStartupListL( RDscStore& aDscStore,
RPointerArray<HBufC>& aExecutableArray )
{
+ FLOG( _L("CStartupListUpdater::RemoveFromStartupListL, begin") );
for( TInt index = 0; index < aExecutableArray.Count(); ++index )
{
const TDesC& executableName = *( aExecutableArray[ index ] );
+ FLOG_1( _L("CStartupListUpdater::RemoveFromStartupListL, executableName %S"),
+ &executableName );
CDscItem* item = CDscItem::NewLC( executableName, KNullDesC );
if( aDscStore.ItemExistsL( *item ) )
{
+ FLOG( _L("CStartupListUpdater::RemoveFromStartupListL, removing from DscStore") );
aDscStore.DeleteItemL( *item );
}
CleanupStack::PopAndDestroy( item );
}
+ FLOG( _L("CStartupListUpdater::RemoveFromStartupListL, end") );
}
// ---------------------------------------------------------------------------
@@ -525,6 +801,7 @@
void CStartupListUpdater::GetExecutablesFromEntryL( Swi::RSisRegistryEntry& aEntry,
RPointerArray<HBufC>& aExecutableArray )
{
+ FLOG( _L("CStartupListUpdater::GetExecutablesFromEntryL, begin") );
RPointerArray<HBufC> filesList;
CleanupResetAndDestroyPushL( filesList );
aEntry.FilesL( filesList );
@@ -533,12 +810,66 @@
{
TParse parse;
TInt err = parse.SetNoWild( KNullDesC, filesList[ index ], NULL );
+ FLOG_3( _L("CStartupListUpdater::GetExecutablesFromEntryL, index %d, parse %S, err %d"),
+ index, &(parse.FullName()), err );
if( !err && ( parse.Ext().CompareF( KExecutableExtension ) == 0 ) )
{
+ FLOG( _L("CStartupListUpdater::GetExecutablesFromEntryL, adding to array") );
aExecutableArray.AppendL( parse.FullName().AllocL() );
}
+ else
+ {
+ FLOG( _L("CStartupListUpdater::GetExecutablesFromEntryL, skipped") );
+ }
}
CleanupStack::PopAndDestroy( &filesList );
+ FLOG( _L("CStartupListUpdater::GetExecutablesFromEntryL, end") );
}
+// ---------------------------------------------------------------------------
+// CStartupListUpdater::OpenDevTraceL()
+// ---------------------------------------------------------------------------
+//
+void CStartupListUpdater::OpenDevTraceL()
+ {
+ if( !iLogBuf )
+ {
+ TEntry entry;
+ if( iFs.Entry( KDevTraceDir, entry ) == KErrNone )
+ {
+ FLOG( _L("CStartupListUpdater::OpenDevTraceL, log dir exists") );
+ TFileName fileName;
+ fileName.Copy( KDevTraceDir );
+ fileName.Append( KDevTraceFile );
+ if( iLogFile.Replace( iFs, fileName, EFileWrite ) == KErrNone )
+ {
+ iLogBuf = HBufC::NewL( KDevTraceBuffer );
+ iFileBuf.CreateL( KDevTraceBuffer );
+ FLOG( _L("CStartupListUpdater::OpenDevTraceL, log file opened") );
+ }
+ }
+ }
+ }
+
+// ---------------------------------------------------------------------------
+// CStartupListUpdater::DevTrace()
+// ---------------------------------------------------------------------------
+//
+void CStartupListUpdater::DevTrace( TRefByValue<const TDesC> aFmt, ... )
+ {
+ if( iLogBuf )
+ {
+ VA_LIST list;
+ VA_START( list, aFmt );
+ TPtr line( iLogBuf->Des() );
+ line.FormatList( aFmt, list );
+ FLOG_1( _L("CStartupListUpdater::DevTrace: %S"), iLogBuf );
+
+ const TChar KNewLine( '\n' );
+ line.Append( KNewLine );
+ iFileBuf.Copy( line );
+ iLogFile.Write( iFileBuf ); // return value ignored
+ }
+ }
+
--- a/appinstaller/AppinstUi/startuplistupdater/tsrc/mt_startuplistupdater/conf/mt_startuplistupdater.cfg Thu Oct 14 14:11:30 2010 +0300
+++ b/appinstaller/AppinstUi/startuplistupdater/tsrc/mt_startuplistupdater/conf/mt_startuplistupdater.cfg Wed Oct 20 14:52:56 2010 +0300
@@ -18,10 +18,13 @@
[Test]
title Install startable exe
create mt_startuplistupdater test
+print pre-check
test NotInStartList c:\sys\bin\teststartlist.exe
-//test Install e:\testing\data\teststartlist.sisx
-test Install c:\data\installs\teststartlist.sisx
-pause 1000
+print install-test
+test Install e:\testing\data\teststartlist.sisx
+pause 5000
+//test WaitImportProcessing
+print post-check
test InStartList c:\sys\bin\teststartlist.exe
delete test
[Endtest]
@@ -29,20 +32,27 @@
[Test]
title Remove startable exe
create mt_startuplistupdater test
+print pre-check
test InStartList c:\sys\bin\teststartlist.exe
+print remove-test
test Remove 0xEBE1C11B
-pause 1000
+pause 5000
+//test WaitImportProcessing
+print post-check
test NotInStartList c:\sys\bin\teststartlist.exe
delete test
[Endtest]
[Test]
-title Install embedded startable exe
+title Embedded test 1, control file in main pckg
create mt_startuplistupdater test
+print pre-check
test NotInStartList c:\sys\bin\teststartlistembedded.exe
-//test Install e:\testing\data\teststartlistembedded.sisx
-test Install c:\data\installs\teststartlistembedded.sisx
-pause 1000
+print install-test
+test Install e:\testing\data\teststartlistembedded_1.sisx
+pause 5000
+//test WaitImportProcessing
+print post-check
test InStartList c:\sys\bin\teststartlistembedded.exe
delete test
[Endtest]
@@ -50,10 +60,44 @@
[Test]
title Remove embedded startable exe
create mt_startuplistupdater test
+print pre-check
test InStartList c:\sys\bin\teststartlistembedded.exe
+print remove-test
test Remove 0xED2159D3
-pause 1000
+pause 5000
+//test WaitImportProcessing
+print post-check
test NotInStartList c:\sys\bin\teststartlistembedded.exe
delete test
[Endtest]
+[Test]
+title Embedded test 2, control file in embedded pckg
+create mt_startuplistupdater test
+test MkLogDir
+print pre-check
+test NotInStartList c:\sys\bin\teststartlistembedded.exe
+print install-test
+test Install e:\testing\data\teststartlistembedded_2.sisx
+pause 5000
+//test WaitImportProcessing
+print post-check
+test InStartList c:\sys\bin\teststartlistembedded.exe
+delete test
+[Endtest]
+
+[Test]
+title Remove embedded startable exe
+create mt_startuplistupdater test
+print pre-check
+test InStartList c:\sys\bin\teststartlistembedded.exe
+print remove-test
+test Remove 0xED2159D3
+pause 5000
+//test WaitImportProcessing
+print post-check
+test NotInStartList c:\sys\bin\teststartlistembedded.exe
+test RmLogDir
+delete test
+[Endtest]
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/appinstaller/AppinstUi/startuplistupdater/tsrc/mt_startuplistupdater/conf/mt_startuplistupdater_winscw.cfg Wed Oct 20 14:52:56 2010 +0300
@@ -0,0 +1,85 @@
+//
+// Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: Startup list updater test module for WINSCW.
+//
+
+
+[Test]
+title Install startable exe
+create mt_startuplistupdater test
+test NotInStartList c:\sys\bin\teststartlist.exe
+test Install c:\data\installs\teststartlist.sisx
+pause 5000
+//test WaitImportProcessing
+test InStartList c:\sys\bin\teststartlist.exe
+delete test
+[Endtest]
+
+[Test]
+title Remove startable exe
+create mt_startuplistupdater test
+test InStartList c:\sys\bin\teststartlist.exe
+test Remove 0xEBE1C11B
+pause 5000
+//test WaitImportProcessing
+test NotInStartList c:\sys\bin\teststartlist.exe
+delete test
+[Endtest]
+
+[Test]
+title Embedded test 1, control file in main pckg
+create mt_startuplistupdater test
+test NotInStartList c:\sys\bin\teststartlistembedded.exe
+test Install c:\data\installs\teststartlistembedded_1.sisx
+pause 5000
+//test WaitImportProcessing
+test InStartList c:\sys\bin\teststartlistembedded.exe
+delete test
+[Endtest]
+
+[Test]
+title Remove embedded startable exe
+create mt_startuplistupdater test
+test InStartList c:\sys\bin\teststartlistembedded.exe
+test Remove 0xED2159D3
+pause 5000
+//test WaitImportProcessing
+test NotInStartList c:\sys\bin\teststartlistembedded.exe
+delete test
+[Endtest]
+
+[Test]
+title Embedded test 2, control file in embedded pckg
+create mt_startuplistupdater test
+test MkLogDir
+test NotInStartList c:\sys\bin\teststartlistembedded.exe
+test Install c:\data\installs\teststartlistembedded_2.sisx
+pause 5000
+//test WaitImportProcessing
+test InStartList c:\sys\bin\teststartlistembedded.exe
+delete test
+[Endtest]
+
+[Test]
+title Remove embedded startable exe
+create mt_startuplistupdater test
+test InStartList c:\sys\bin\teststartlistembedded.exe
+test Remove 0xED2159D3
+pause 5000
+//test WaitImportProcessing
+test NotInStartList c:\sys\bin\teststartlistembedded.exe
+test RmLogDir
+delete test
+[Endtest]
+
Binary file appinstaller/AppinstUi/startuplistupdater/tsrc/mt_startuplistupdater/data/mmc/teststartlist.sisx has changed
Binary file appinstaller/AppinstUi/startuplistupdater/tsrc/mt_startuplistupdater/data/mmc/teststartlist_winscw.sisx has changed
Binary file appinstaller/AppinstUi/startuplistupdater/tsrc/mt_startuplistupdater/data/mmc/teststartlistembedded.sisx has changed
Binary file appinstaller/AppinstUi/startuplistupdater/tsrc/mt_startuplistupdater/data/mmc/teststartlistembedded_1.sisx has changed
Binary file appinstaller/AppinstUi/startuplistupdater/tsrc/mt_startuplistupdater/data/mmc/teststartlistembedded_1_winscw.sisx has changed
Binary file appinstaller/AppinstUi/startuplistupdater/tsrc/mt_startuplistupdater/data/mmc/teststartlistembedded_2.sisx has changed
Binary file appinstaller/AppinstUi/startuplistupdater/tsrc/mt_startuplistupdater/data/mmc/teststartlistembedded_2_winscw.sisx has changed
Binary file appinstaller/AppinstUi/startuplistupdater/tsrc/mt_startuplistupdater/data/mmc/teststartlistembedded_winscw.sisx has changed
--- a/appinstaller/AppinstUi/startuplistupdater/tsrc/mt_startuplistupdater/data_src/teststartlist/teststartlist.cpp Thu Oct 14 14:11:30 2010 +0300
+++ b/appinstaller/AppinstUi/startuplistupdater/tsrc/mt_startuplistupdater/data_src/teststartlist/teststartlist.cpp Wed Oct 20 14:52:56 2010 +0300
@@ -17,10 +17,12 @@
#include "teststartlist.h"
+#include <e32debug.h> // RDebug
GLDEF_C TInt E32Main()
{
+ RDebug::Printf("AUTO-STARTUP-TRACE: teststartlist started");
return KErrNone;
}
--- a/appinstaller/AppinstUi/startuplistupdater/tsrc/mt_startuplistupdater/data_src/teststartlist/teststartlist.pkg Thu Oct 14 14:11:30 2010 +0300
+++ b/appinstaller/AppinstUi/startuplistupdater/tsrc/mt_startuplistupdater/data_src/teststartlist/teststartlist.pkg Wed Oct 20 14:52:56 2010 +0300
@@ -22,6 +22,7 @@
[0x1028315F],0,0,0,{"Series60ProductID"}
[0x10283160],0,0,0,{"Series60ProductID"}
[0x20022E6D],0,0,0,{"Series60ProductID"}
+[0x20032DE7],0,0,0,{"Series60ProductID"}
; Localised Vendor name
%{"Nokia"}
@@ -31,5 +32,5 @@
; Files
"\epoc32\release\armv5\urel\teststartlist.exe" - "c:\sys\bin\teststartlist.exe"
-"\epoc32\data\z\private\101f875a\import\ebe1c11b.rsc" - "c:\private\101f875a\import\ebe1c11b.rsc"
+"\epoc32\data\z\private\101f875a\import\ebe1c11b.rsc" - "c:\private\101f875a\import\[ebe1c11b].rsc"
--- a/appinstaller/AppinstUi/startuplistupdater/tsrc/mt_startuplistupdater/data_src/teststartlist/teststartlist_winscw.pkg Thu Oct 14 14:11:30 2010 +0300
+++ b/appinstaller/AppinstUi/startuplistupdater/tsrc/mt_startuplistupdater/data_src/teststartlist/teststartlist_winscw.pkg Wed Oct 20 14:52:56 2010 +0300
@@ -22,6 +22,7 @@
[0x1028315F],0,0,0,{"Series60ProductID"}
[0x10283160],0,0,0,{"Series60ProductID"}
[0x20022E6D],0,0,0,{"Series60ProductID"}
+[0x20032DE7],0,0,0,{"Series60ProductID"}
; Localised Vendor name
%{"Nokia"}
@@ -31,6 +32,5 @@
; Files
"\epoc32\release\winscw\udeb\teststartlist.exe" - "c:\sys\bin\teststartlist.exe"
-; "\epoc32\data\z\private\101f875a\import\ebe1c11b.rsc" - "c:\private\101f875a\import\ebe1c11b.rsc"
-"\epoc32\data\z\private\101f875a\import\ebe1c11b.rsc" - "c:\private\E5F88F39\import\ebe1c11b.rsc"
+"\epoc32\data\z\private\101f875a\import\ebe1c11b.rsc" - "c:\private\101f875a\import\[ebe1c11b].rsc"
--- a/appinstaller/AppinstUi/startuplistupdater/tsrc/mt_startuplistupdater/data_src/teststartlistembedded/doall.bat Thu Oct 14 14:11:30 2010 +0300
+++ b/appinstaller/AppinstUi/startuplistupdater/tsrc/mt_startuplistupdater/data_src/teststartlistembedded/doall.bat Wed Oct 20 14:52:56 2010 +0300
@@ -24,24 +24,45 @@
:doit
echo on
call sbs
-call makesis teststartlistembedded.pkg
-call makesis teststartlistembedded_winscw.pkg
-call signsis teststartlistembedded.sis teststartlistembedded.sisx %CERTPATH%\rd.cer %CERTPATH%\rd-key.pem
-call signsis teststartlistembedded_winscw.sis teststartlistembedded_winscw.sisx %CERTPATH%\rd.cer %CERTPATH%\rd-key.pem
-del teststartlistembedded.sis
-del teststartlistembedded_winscw.sis
-call makesis teststartlistembedded_main.pkg
-call makesis teststartlistembedded_main_winscw.pkg
-call signsis teststartlistembedded_main.sis teststartlistembedded_main.sisx %CERTPATH%\rd.cer %CERTPATH%\rd-key.pem
-call signsis teststartlistembedded_main_winscw.sis teststartlistembedded_main_winscw.sisx %CERTPATH%\rd.cer %CERTPATH%\rd-key.pem
+call makesis teststartlistembedded_1_sub.pkg
+call makesis teststartlistembedded_1_sub_winscw.pkg
+call signsis teststartlistembedded_1_sub.sis teststartlistembedded_1_sub.sisx %CERTPATH%\rd.cer %CERTPATH%\rd-key.pem
+call signsis teststartlistembedded_1_sub_winscw.sis teststartlistembedded_1_sub_winscw.sisx %CERTPATH%\rd.cer %CERTPATH%\rd-key.pem
+del teststartlistembedded_1_sub.sis
+del teststartlistembedded_1_sub_winscw.sis
+
+call makesis teststartlistembedded_1_main.pkg
+call makesis teststartlistembedded_1_main_winscw.pkg
+call signsis teststartlistembedded_1_main.sis teststartlistembedded_1_main.sisx %CERTPATH%\rd.cer %CERTPATH%\rd-key.pem
+call signsis teststartlistembedded_1_main_winscw.sis teststartlistembedded_1_main_winscw.sisx %CERTPATH%\rd.cer %CERTPATH%\rd-key.pem
+
+call makesis teststartlistembedded_2_sub.pkg
+call makesis teststartlistembedded_2_sub_winscw.pkg
+call signsis teststartlistembedded_2_sub.sis teststartlistembedded_2_sub.sisx %CERTPATH%\rd.cer %CERTPATH%\rd-key.pem
+call signsis teststartlistembedded_2_sub_winscw.sis teststartlistembedded_2_sub_winscw.sisx %CERTPATH%\rd.cer %CERTPATH%\rd-key.pem
+del teststartlistembedded_2_sub.sis
+del teststartlistembedded_2_sub_winscw.sis
+
+call makesis teststartlistembedded_2_main.pkg
+call makesis teststartlistembedded_2_main_winscw.pkg
+call signsis teststartlistembedded_2_main.sis teststartlistembedded_2_main.sisx %CERTPATH%\rd.cer %CERTPATH%\rd-key.pem
+call signsis teststartlistembedded_2_main_winscw.sis teststartlistembedded_2_main_winscw.sisx %CERTPATH%\rd.cer %CERTPATH%\rd-key.pem
+
if not exist ..\..\data mkdir ..\..\data
if not exist ..\..\data\mmc mkdir ..\..\data\mmc
-if exist ..\..\data\mmc\teststartlistembedded.sisx del /F/Q ..\..\data\mmc\teststartlistembedded.sisx
-move teststartlistembedded_main.sisx ..\..\data\mmc\teststartlistembedded.sisx
-if exist ..\..\data\mmc\teststartlistembedded_winscw.sisx del /F/Q ..\..\data\mmc\teststartlistembedded_winscw.sisx
-move teststartlistembedded_main_winscw.sisx ..\..\data\mmc\teststartlistembedded_winscw.sisx
-del teststartlistembedded_main.sis
-del teststartlistembedded_main_winscw.sis
+if exist ..\..\data\mmc\teststartlistembedded_1.sisx del /F/Q ..\..\data\mmc\teststartlistembedded_1.sisx
+move teststartlistembedded_1_main.sisx ..\..\data\mmc\teststartlistembedded_1.sisx
+if exist ..\..\data\mmc\teststartlistembedded_1_winscw.sisx del /F/Q ..\..\data\mmc\teststartlistembedded_1_winscw.sisx
+move teststartlistembedded_1_main_winscw.sisx ..\..\data\mmc\teststartlistembedded_1_winscw.sisx
+if exist ..\..\data\mmc\teststartlistembedded_2.sisx del /F/Q ..\..\data\mmc\teststartlistembedded_2.sisx
+move teststartlistembedded_2_main.sisx ..\..\data\mmc\teststartlistembedded_2.sisx
+if exist ..\..\data\mmc\teststartlistembedded_2_winscw.sisx del /F/Q ..\..\data\mmc\teststartlistembedded_2_winscw.sisx
+move teststartlistembedded_2_main_winscw.sisx ..\..\data\mmc\teststartlistembedded_2_winscw.sisx
+
+del teststartlistembedded_1_main.sis
+del teststartlistembedded_1_main_winscw.sis
+del teststartlistembedded_2_main.sis
+del teststartlistembedded_2_main_winscw.sis
call sbs reallyclean
dir ..\..\data\mmc
--- a/appinstaller/AppinstUi/startuplistupdater/tsrc/mt_startuplistupdater/data_src/teststartlistembedded/teststartlistembedded.cpp Thu Oct 14 14:11:30 2010 +0300
+++ b/appinstaller/AppinstUi/startuplistupdater/tsrc/mt_startuplistupdater/data_src/teststartlistembedded/teststartlistembedded.cpp Wed Oct 20 14:52:56 2010 +0300
@@ -17,10 +17,12 @@
#include "teststartlistembedded.h"
+#include <e32debug.h> // RDebug
GLDEF_C TInt E32Main()
{
+ RDebug::Printf("AUTO-STARTUP-TRACE: teststartlistembedded started");
return KErrNone;
}
--- a/appinstaller/AppinstUi/startuplistupdater/tsrc/mt_startuplistupdater/data_src/teststartlistembedded/teststartlistembedded.pkg Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-;
-; Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-; All rights reserved.
-; This component and the accompanying materials are made available
-; under the terms of "Eclipse Public License v1.0"
-; which accompanies this distribution, and is available
-; at the URL "http://www.eclipse.org/legal/epl-v10.html".
-;
-; Initial Contributors:
-; Nokia Corporation - initial contribution.
-;
-; Contributors:
-;
-; Description: Test exe for startup list updater test module.
-;
-
-
-#{"TestStartListEmbedded"},(0xEC35FEAB),1,0,0
-
-; S60 platform dependencies
-[0x101F7961],0,0,0,{"Series60ProductID"}
-[0x1028315F],0,0,0,{"Series60ProductID"}
-[0x10283160],0,0,0,{"Series60ProductID"}
-[0x20022E6D],0,0,0,{"Series60ProductID"}
-
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-; Files
-"\epoc32\release\armv5\urel\teststartlistembedded.exe" - "c:\sys\bin\teststartlistembedded.exe"
-"\epoc32\data\z\private\101f875a\import\ec35feab.rsc" - "c:\private\101f875a\import\[0xec35feab].rsc"
-
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/appinstaller/AppinstUi/startuplistupdater/tsrc/mt_startuplistupdater/data_src/teststartlistembedded/teststartlistembedded_1_main.pkg Wed Oct 20 14:52:56 2010 +0300
@@ -0,0 +1,41 @@
+;
+; Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description: Test exe for startup list updater test module.
+;
+
+
+#{"TestStartListEmbedded"},(0xED2159D3),1,0,0
+
+; S60 platform dependencies
+[0x101F7961],0,0,0,{"Series60ProductID"}
+[0x1028315F],0,0,0,{"Series60ProductID"}
+[0x10283160],0,0,0,{"Series60ProductID"}
+[0x20022E6D],0,0,0,{"Series60ProductID"}
+[0x20032DE7],0,0,0,{"Series60ProductID"}
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+; Files
+"datafile.txt" - "c:\data\datafile.txt"
+
+; Embeddded package containing startable exe
+@"teststartlistembedded_1_sub.sisx", (0xEC35FEAB)
+
+; Control file, note that the control file name must match the package UID installing it (this file)
+"\epoc32\data\z\private\101f875a\import\ec35feab.rsc" - "c:\private\101f875a\import\[ED2159D3].rsc"
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/appinstaller/AppinstUi/startuplistupdater/tsrc/mt_startuplistupdater/data_src/teststartlistembedded/teststartlistembedded_1_main_winscw.pkg Wed Oct 20 14:52:56 2010 +0300
@@ -0,0 +1,41 @@
+;
+; Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description: Test exe for startup list updater test module.
+;
+
+
+#{"TestStartListEmbedded"},(0xED2159D3),1,0,0
+
+; S60 platform dependencies
+[0x101F7961],0,0,0,{"Series60ProductID"}
+[0x1028315F],0,0,0,{"Series60ProductID"}
+[0x10283160],0,0,0,{"Series60ProductID"}
+[0x20022E6D],0,0,0,{"Series60ProductID"}
+[0x20032DE7],0,0,0,{"Series60ProductID"}
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+; Files
+"datafile.txt" - "c:\data\datafile.txt"
+
+; Embeddded package containing startable exe
+@"teststartlistembedded_1_sub_winscw.sisx", (0xEC35FEAB)
+
+; Control file, note that the control file name must match the package UID installing it (this file)
+"\epoc32\data\z\private\101f875a\import\ec35feab.rsc" - "c:\private\101f875a\import\[ED2159D3].rsc"
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/appinstaller/AppinstUi/startuplistupdater/tsrc/mt_startuplistupdater/data_src/teststartlistembedded/teststartlistembedded_1_sub.pkg Wed Oct 20 14:52:56 2010 +0300
@@ -0,0 +1,35 @@
+;
+; Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description: Test exe for startup list updater test module.
+;
+
+
+#{"TestStartListEmbedded"},(0xEC35FEAB),1,0,0
+
+; S60 platform dependencies
+[0x101F7961],0,0,0,{"Series60ProductID"}
+[0x1028315F],0,0,0,{"Series60ProductID"}
+[0x10283160],0,0,0,{"Series60ProductID"}
+[0x20022E6D],0,0,0,{"Series60ProductID"}
+[0x20032DE7],0,0,0,{"Series60ProductID"}
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+; Files
+"\epoc32\release\armv5\urel\teststartlistembedded.exe" - "c:\sys\bin\teststartlistembedded.exe"
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/appinstaller/AppinstUi/startuplistupdater/tsrc/mt_startuplistupdater/data_src/teststartlistembedded/teststartlistembedded_1_sub_winscw.pkg Wed Oct 20 14:52:56 2010 +0300
@@ -0,0 +1,35 @@
+;
+; Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description: Test exe for startup list updater test module.
+;
+
+
+#{"TestStartListEmbedded"},(0xEC35FEAB),1,0,0
+
+; S60 platform dependencies
+[0x101F7961],0,0,0,{"Series60ProductID"}
+[0x1028315F],0,0,0,{"Series60ProductID"}
+[0x10283160],0,0,0,{"Series60ProductID"}
+[0x20022E6D],0,0,0,{"Series60ProductID"}
+[0x20032DE7],0,0,0,{"Series60ProductID"}
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+; Files
+"\epoc32\release\winscw\udeb\teststartlistembedded.exe" - "c:\sys\bin\teststartlistembedded.exe"
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/appinstaller/AppinstUi/startuplistupdater/tsrc/mt_startuplistupdater/data_src/teststartlistembedded/teststartlistembedded_2_main.pkg Wed Oct 20 14:52:56 2010 +0300
@@ -0,0 +1,37 @@
+;
+; Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description: Test exe for startup list updater test module.
+;
+
+
+#{"TestStartListEmbedded"},(0xED2159D3),1,0,0
+
+; S60 platform dependencies
+[0x101F7961],0,0,0,{"Series60ProductID"}
+[0x1028315F],0,0,0,{"Series60ProductID"}
+[0x10283160],0,0,0,{"Series60ProductID"}
+[0x20022E6D],0,0,0,{"Series60ProductID"}
+[0x20032DE7],0,0,0,{"Series60ProductID"}
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+; Files
+"datafile.txt" - "c:\data\datafile.txt"
+
+; Embeddded package containing startable exe
+@"teststartlistembedded_2_sub.sisx", (0xEC35FEAB)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/appinstaller/AppinstUi/startuplistupdater/tsrc/mt_startuplistupdater/data_src/teststartlistembedded/teststartlistembedded_2_main_winscw.pkg Wed Oct 20 14:52:56 2010 +0300
@@ -0,0 +1,37 @@
+;
+; Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description: Test exe for startup list updater test module.
+;
+
+
+#{"TestStartListEmbedded"},(0xED2159D3),1,0,0
+
+; S60 platform dependencies
+[0x101F7961],0,0,0,{"Series60ProductID"}
+[0x1028315F],0,0,0,{"Series60ProductID"}
+[0x10283160],0,0,0,{"Series60ProductID"}
+[0x20022E6D],0,0,0,{"Series60ProductID"}
+[0x20032DE7],0,0,0,{"Series60ProductID"}
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+; Files
+"datafile.txt" - "c:\data\datafile.txt"
+
+; Embeddded package containing startable exe
+@"teststartlistembedded_2_sub_winscw.sisx", (0xEC35FEAB)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/appinstaller/AppinstUi/startuplistupdater/tsrc/mt_startuplistupdater/data_src/teststartlistembedded/teststartlistembedded_2_sub.pkg Wed Oct 20 14:52:56 2010 +0300
@@ -0,0 +1,36 @@
+;
+; Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description: Test exe for startup list updater test module.
+;
+
+
+#{"TestStartListEmbedded"},(0xEC35FEAB),1,0,0
+
+; S60 platform dependencies
+[0x101F7961],0,0,0,{"Series60ProductID"}
+[0x1028315F],0,0,0,{"Series60ProductID"}
+[0x10283160],0,0,0,{"Series60ProductID"}
+[0x20022E6D],0,0,0,{"Series60ProductID"}
+[0x20032DE7],0,0,0,{"Series60ProductID"}
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+; Files
+"\epoc32\release\armv5\urel\teststartlistembedded.exe" - "c:\sys\bin\teststartlistembedded.exe"
+"\epoc32\data\z\private\101f875a\import\ec35feab.rsc" - "c:\private\101f875a\import\[ec35feab].rsc"
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/appinstaller/AppinstUi/startuplistupdater/tsrc/mt_startuplistupdater/data_src/teststartlistembedded/teststartlistembedded_2_sub_winscw.pkg Wed Oct 20 14:52:56 2010 +0300
@@ -0,0 +1,36 @@
+;
+; Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description: Test exe for startup list updater test module.
+;
+
+
+#{"TestStartListEmbedded"},(0xEC35FEAB),1,0,0
+
+; S60 platform dependencies
+[0x101F7961],0,0,0,{"Series60ProductID"}
+[0x1028315F],0,0,0,{"Series60ProductID"}
+[0x10283160],0,0,0,{"Series60ProductID"}
+[0x20022E6D],0,0,0,{"Series60ProductID"}
+[0x20032DE7],0,0,0,{"Series60ProductID"}
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+; Files
+"\epoc32\release\winscw\udeb\teststartlistembedded.exe" - "c:\sys\bin\teststartlistembedded.exe"
+"\epoc32\data\z\private\101f875a\import\ec35feab.rsc" - "c:\private\101f875a\import\[EC35FEAB].rsc"
+
--- a/appinstaller/AppinstUi/startuplistupdater/tsrc/mt_startuplistupdater/data_src/teststartlistembedded/teststartlistembedded_main.pkg Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-;
-; Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-; All rights reserved.
-; This component and the accompanying materials are made available
-; under the terms of "Eclipse Public License v1.0"
-; which accompanies this distribution, and is available
-; at the URL "http://www.eclipse.org/legal/epl-v10.html".
-;
-; Initial Contributors:
-; Nokia Corporation - initial contribution.
-;
-; Contributors:
-;
-; Description: Test exe for startup list updater test module.
-;
-
-
-#{"TestStartListEmbedded"},(0xED2159D3),1,0,0
-
-; S60 platform dependencies
-[0x101F7961],0,0,0,{"Series60ProductID"}
-[0x1028315F],0,0,0,{"Series60ProductID"}
-[0x10283160],0,0,0,{"Series60ProductID"}
-[0x20022E6D],0,0,0,{"Series60ProductID"}
-
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-; Files
-"datafile.txt" - "c:\data\datafile.txt"
-
-; Embeddded package containing startable exe
-@{"teststartlistembedded.sisx"}, (0xEC35FEAB)
-
--- a/appinstaller/AppinstUi/startuplistupdater/tsrc/mt_startuplistupdater/data_src/teststartlistembedded/teststartlistembedded_main_winscw.pkg Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-;
-; Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-; All rights reserved.
-; This component and the accompanying materials are made available
-; under the terms of "Eclipse Public License v1.0"
-; which accompanies this distribution, and is available
-; at the URL "http://www.eclipse.org/legal/epl-v10.html".
-;
-; Initial Contributors:
-; Nokia Corporation - initial contribution.
-;
-; Contributors:
-;
-; Description: Test exe for startup list updater test module.
-;
-
-
-#{"TestStartListEmbedded"},(0xED2159D3),1,0,0
-
-; S60 platform dependencies
-[0x101F7961],0,0,0,{"Series60ProductID"}
-[0x1028315F],0,0,0,{"Series60ProductID"}
-[0x10283160],0,0,0,{"Series60ProductID"}
-[0x20022E6D],0,0,0,{"Series60ProductID"}
-
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-; Files
-"datafile.txt" - "c:\data\datafile.txt"
-
-; Embeddded package containing startable exe
-@{"teststartlistembedded_winscw.sisx"}, (0xEC35FEAB)
-
--- a/appinstaller/AppinstUi/startuplistupdater/tsrc/mt_startuplistupdater/data_src/teststartlistembedded/teststartlistembedded_winscw.pkg Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-;
-; Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-; All rights reserved.
-; This component and the accompanying materials are made available
-; under the terms of "Eclipse Public License v1.0"
-; which accompanies this distribution, and is available
-; at the URL "http://www.eclipse.org/legal/epl-v10.html".
-;
-; Initial Contributors:
-; Nokia Corporation - initial contribution.
-;
-; Contributors:
-;
-; Description: Test exe for startup list updater test module.
-;
-
-
-#{"TestStartListEmbedded"},(0xEC35FEAB),1,0,0
-
-; S60 platform dependencies
-[0x101F7961],0,0,0,{"Series60ProductID"}
-[0x1028315F],0,0,0,{"Series60ProductID"}
-[0x10283160],0,0,0,{"Series60ProductID"}
-[0x20022E6D],0,0,0,{"Series60ProductID"}
-
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-; Files
-"\epoc32\release\winscw\udeb\teststartlistembedded.exe" - "c:\sys\bin\teststartlistembedded.exe"
-; "\epoc32\data\z\private\101f875a\import\ec35feab.rsc" - "c:\private\101f875a\import\[0xec35feab].rsc"
-"\epoc32\data\z\private\101f875a\import\ec35feab.rsc" - "c:\private\E5F88F39\import\[0xec35feab].rsc"
-
--- a/appinstaller/AppinstUi/startuplistupdater/tsrc/mt_startuplistupdater/group/bld.inf Thu Oct 14 14:11:30 2010 +0300
+++ b/appinstaller/AppinstUi/startuplistupdater/tsrc/mt_startuplistupdater/group/bld.inf Wed Oct 20 14:52:56 2010 +0300
@@ -21,11 +21,12 @@
PRJ_EXPORTS
../init/TestFramework.ini /epoc32/winscw/c/testframework/TestFramework.ini
../init/TestFramework.ini /epoc32/data/z/system/data/TestFramework.ini
-../conf/mt_startuplistupdater.cfg /epoc32/winscw/c/testframework/mt_startuplistupdater.cfg
+../conf/mt_startuplistupdater_winscw.cfg /epoc32/winscw/c/testframework/mt_startuplistupdater.cfg
../conf/mt_startuplistupdater.cfg /epoc32/data/z/testframework/mt_startuplistupdater.cfg
../rom/mt_startuplistupdater.iby CORE_MW_LAYER_IBY_EXPORT_PATH( mt_startuplistupdater.iby )
../data/mmc/teststartlist_winscw.sisx /epoc32/winscw/c/data/installs/teststartlist.sisx
-../data/mmc/teststartlistembedded_winscw.sisx /epoc32/winscw/c/data/installs/teststartlistembedded.sisx
+../data/mmc/teststartlistembedded_1_winscw.sisx /epoc32/winscw/c/data/installs/teststartlistembedded_1.sisx
+../data/mmc/teststartlistembedded_2_winscw.sisx /epoc32/winscw/c/data/installs/teststartlistembedded_2.sisx
PRJ_TESTMMPFILES
mt_startuplistupdater.mmp
--- a/appinstaller/AppinstUi/startuplistupdater/tsrc/mt_startuplistupdater/group/mt_startuplistupdater.mmp Thu Oct 14 14:11:30 2010 +0300
+++ b/appinstaller/AppinstUi/startuplistupdater/tsrc/mt_startuplistupdater/group/mt_startuplistupdater.mmp Wed Oct 20 14:52:56 2010 +0300
@@ -37,6 +37,7 @@
LIBRARY sif.lib
LIBRARY scrclient.lib
LIBRARY dscstore.lib
+LIBRARY efsrv.lib
LANG SC
--- a/appinstaller/AppinstUi/startuplistupdater/tsrc/mt_startuplistupdater/inc/mt_startuplistupdater.h Thu Oct 14 14:11:30 2010 +0300
+++ b/appinstaller/AppinstUi/startuplistupdater/tsrc/mt_startuplistupdater/inc/mt_startuplistupdater.h Wed Oct 20 14:52:56 2010 +0300
@@ -53,6 +53,9 @@
TInt RemoveL( CStifItemParser& aItem );
TInt CheckStartListContainsL( CStifItemParser& aItem );
TInt CheckStartListDoesNotContainL( CStifItemParser& aItem );
+ TInt MakeDevTraceLogDirL( CStifItemParser& aItem );
+ TInt RemoveDevTraceLogDirL( CStifItemParser& aItem );
+ TInt WaitImportProcessingL( CStifItemParser& aItem );
private: // new functions
void GetStartupListL( RPointerArray<HBufC>& aStartupList );
--- a/appinstaller/AppinstUi/startuplistupdater/tsrc/mt_startuplistupdater/src/mt_startuplistupdaterblocks.cpp Thu Oct 14 14:11:30 2010 +0300
+++ b/appinstaller/AppinstUi/startuplistupdater/tsrc/mt_startuplistupdater/src/mt_startuplistupdaterblocks.cpp Wed Oct 20 14:52:56 2010 +0300
@@ -30,6 +30,9 @@
_LIT( KTestParamFormatArg, "%S: %S => %d");
_LIT( KTestDoneFormat, "%S: done" );
+_LIT( KStartupListUpdaterThread, "StartupListUpdater" );
+_LIT( KDevTraceDir, "c:\\data\\logs\\swinst\\" );
+
using namespace Usif;
@@ -81,7 +84,10 @@
ENTRY( "Install", CTestStartupListUpdater::InstallL ),
ENTRY( "Remove", CTestStartupListUpdater::RemoveL ),
ENTRY( "InStartList", CTestStartupListUpdater::CheckStartListContainsL ),
- ENTRY( "NotInStartList", CTestStartupListUpdater::CheckStartListDoesNotContainL )
+ ENTRY( "NotInStartList", CTestStartupListUpdater::CheckStartListDoesNotContainL ),
+ ENTRY( "MkLogDir", CTestStartupListUpdater::MakeDevTraceLogDirL ),
+ ENTRY( "RmLogDir", CTestStartupListUpdater::RemoveDevTraceLogDirL ),
+ ENTRY( "WaitImportProcessing", CTestStartupListUpdater::WaitImportProcessingL )
};
const TInt count = sizeof( KFunctions ) / sizeof( TStifFunctionInfo );
@@ -107,7 +113,7 @@
{
COpaqueNamedParams* args = COpaqueNamedParams::NewLC();
COpaqueNamedParams* results = COpaqueNamedParams::NewLC();
- args->AddIntL( KSifInParam_InstallSilently, 1 );
+ args->AddIntL( KSifInParam_InstallSilently, ETrue );
TRequestStatus status;
installer.Install( param, *args, *results, status );
@@ -323,3 +329,96 @@
CleanupStack::PopAndDestroy( 2, &dscStore ); // EnumClose, dscStore
}
+
+// ---------------------------------------------------------------------------
+// CTestStartupListUpdater::MakeDevTraceLogDirL()
+// ---------------------------------------------------------------------------
+//
+TInt CTestStartupListUpdater::MakeDevTraceLogDirL( CStifItemParser& /*aItem*/ )
+ {
+ _LIT( KTestName, "MkLogDir" );
+ Print( 0, KTestStartFormat, &KTestName );
+ TInt testResult = KErrNone;
+
+ RFs fs;
+ User::LeaveIfError( fs.Connect() );
+ CleanupClosePushL( fs );
+
+ TEntry entry;
+ TInt err = fs.Entry( KDevTraceDir, entry );
+ if( err == KErrNone )
+ {
+ testResult = fs.MkDirAll( KDevTraceDir );
+ }
+ else if( err == KErrAlreadyExists )
+ {
+ // nothing to do
+ }
+ else
+ {
+ User::Leave( err );
+ }
+
+ CleanupStack::PopAndDestroy( &fs );
+ return testResult;
+ }
+
+// ---------------------------------------------------------------------------
+// CTestStartupListUpdater::RemoveDevTraceLogDirL()
+// ---------------------------------------------------------------------------
+//
+TInt CTestStartupListUpdater::RemoveDevTraceLogDirL( CStifItemParser& /*aItem*/ )
+ {
+ _LIT( KTestName, "RmLogDir" );
+ Print( 0, KTestStartFormat, &KTestName );
+ TInt testResult = KErrNone;
+
+ RFs fs;
+ User::LeaveIfError( fs.Connect() );
+ CleanupClosePushL( fs );
+
+ TEntry entry;
+ if( fs.Entry( KDevTraceDir, entry ) == KErrNone )
+ {
+ CFileMan* fileMan = CFileMan::NewL( fs );
+ CleanupStack::PushL( fileMan );
+ testResult = fileMan->RmDir( KDevTraceDir );
+ CleanupStack::PopAndDestroy( fileMan );
+ }
+ // else nothing to do
+
+ CleanupStack::PopAndDestroy( &fs );
+ return testResult;
+ }
+
+// ---------------------------------------------------------------------------
+// CTestStartupListUpdater::WaitImportProcessingL()
+// ---------------------------------------------------------------------------
+//
+TInt CTestStartupListUpdater::WaitImportProcessingL( CStifItemParser& /*aItem*/ )
+ {
+ _LIT( KTestName, "WaitImportProcessing" );
+ Print( 0, KTestStartFormat, &KTestName );
+ TInt testResult = KErrNone;
+
+ TFullName name( KStartupListUpdaterThread );
+ name.Append( '*' );
+ TFindThread findThread;
+ if( findThread.Next( name ) == KErrNone )
+ {
+ RThread thread;
+ CleanupClosePushL( thread );
+
+ User::LeaveIfError( thread.Open( name ) );
+ TRequestStatus status;
+ thread.Logon( status );
+ User::WaitForRequest( status );
+ testResult = status.Int();
+
+ CleanupStack::PopAndDestroy( &thread );
+ }
+
+ return testResult;
+ }
+
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/appinstaller/AppinstUi/swinstcli_stub/BWINS/SWInstCliU.DEF Wed Oct 20 14:52:56 2010 +0300
@@ -0,0 +1,33 @@
+EXPORTS
+ ??0RSWInstLauncher@SwiUI@@QAE@XZ @ 1 NONAME ; SwiUI::RSWInstLauncher::RSWInstLauncher(void)
+ ?CancelAsyncRequest@RSWInstLauncher@SwiUI@@QAEHH@Z @ 2 NONAME ; int SwiUI::RSWInstLauncher::CancelAsyncRequest(int)
+ ?Close@RSWInstLauncher@SwiUI@@QAEXXZ @ 3 NONAME ; void SwiUI::RSWInstLauncher::Close(void)
+ ?Connect@RSWInstLauncher@SwiUI@@QAEHXZ @ 4 NONAME ; int SwiUI::RSWInstLauncher::Connect(void)
+ ?GetLastErrorL@RSWInstLauncher@SwiUI@@QAEPAVCErrDetails@2@XZ @ 5 NONAME ; class SwiUI::CErrDetails * SwiUI::RSWInstLauncher::GetLastErrorL(void)
+ ?Install@RSWInstLauncher@SwiUI@@QAEHAAVRFile@@@Z @ 6 NONAME ; int SwiUI::RSWInstLauncher::Install(class RFile &)
+ ?Install@RSWInstLauncher@SwiUI@@QAEHAAVRFile@@ABVTDesC8@@@Z @ 7 NONAME ; int SwiUI::RSWInstLauncher::Install(class RFile &, class TDesC8 const &)
+ ?Install@RSWInstLauncher@SwiUI@@QAEHABVTDesC16@@@Z @ 8 NONAME ; int SwiUI::RSWInstLauncher::Install(class TDesC16 const &)
+ ?Install@RSWInstLauncher@SwiUI@@QAEHABVTDesC16@@ABVTDesC8@@@Z @ 9 NONAME ; int SwiUI::RSWInstLauncher::Install(class TDesC16 const &, class TDesC8 const &)
+ ?Install@RSWInstLauncher@SwiUI@@QAEXAAVTRequestStatus@@AAVRFile@@@Z @ 10 NONAME ; void SwiUI::RSWInstLauncher::Install(class TRequestStatus &, class RFile &)
+ ?Install@RSWInstLauncher@SwiUI@@QAEXAAVTRequestStatus@@AAVRFile@@ABVTDesC8@@@Z @ 11 NONAME ; void SwiUI::RSWInstLauncher::Install(class TRequestStatus &, class RFile &, class TDesC8 const &)
+ ?Install@RSWInstLauncher@SwiUI@@QAEXAAVTRequestStatus@@ABVTDesC16@@@Z @ 12 NONAME ; void SwiUI::RSWInstLauncher::Install(class TRequestStatus &, class TDesC16 const &)
+ ?Install@RSWInstLauncher@SwiUI@@QAEXAAVTRequestStatus@@ABVTDesC16@@ABVTDesC8@@@Z @ 13 NONAME ; void SwiUI::RSWInstLauncher::Install(class TRequestStatus &, class TDesC16 const &, class TDesC8 const &)
+ ?SilentInstall@RSWInstLauncher@SwiUI@@QAEHAAVRFile@@ABVTDesC8@@1@Z @ 14 NONAME ; int SwiUI::RSWInstLauncher::SilentInstall(class RFile &, class TDesC8 const &, class TDesC8 const &)
+ ?SilentInstall@RSWInstLauncher@SwiUI@@QAEHAAVRFile@@ABVTDesC8@@@Z @ 15 NONAME ; int SwiUI::RSWInstLauncher::SilentInstall(class RFile &, class TDesC8 const &)
+ ?SilentInstall@RSWInstLauncher@SwiUI@@QAEHABVTDesC16@@ABVTDesC8@@1@Z @ 16 NONAME ; int SwiUI::RSWInstLauncher::SilentInstall(class TDesC16 const &, class TDesC8 const &, class TDesC8 const &)
+ ?SilentInstall@RSWInstLauncher@SwiUI@@QAEHABVTDesC16@@ABVTDesC8@@@Z @ 17 NONAME ; int SwiUI::RSWInstLauncher::SilentInstall(class TDesC16 const &, class TDesC8 const &)
+ ?SilentInstall@RSWInstLauncher@SwiUI@@QAEXAAVTRequestStatus@@AAVRFile@@ABVTDesC8@@2@Z @ 18 NONAME ; void SwiUI::RSWInstLauncher::SilentInstall(class TRequestStatus &, class RFile &, class TDesC8 const &, class TDesC8 const &)
+ ?SilentInstall@RSWInstLauncher@SwiUI@@QAEXAAVTRequestStatus@@AAVRFile@@ABVTDesC8@@@Z @ 19 NONAME ; void SwiUI::RSWInstLauncher::SilentInstall(class TRequestStatus &, class RFile &, class TDesC8 const &)
+ ?SilentInstall@RSWInstLauncher@SwiUI@@QAEXAAVTRequestStatus@@ABVTDesC16@@ABVTDesC8@@2@Z @ 20 NONAME ; void SwiUI::RSWInstLauncher::SilentInstall(class TRequestStatus &, class TDesC16 const &, class TDesC8 const &, class TDesC8 const &)
+ ?SilentInstall@RSWInstLauncher@SwiUI@@QAEXAAVTRequestStatus@@ABVTDesC16@@ABVTDesC8@@@Z @ 21 NONAME ; void SwiUI::RSWInstLauncher::SilentInstall(class TRequestStatus &, class TDesC16 const &, class TDesC8 const &)
+ ?SilentUninstall@RSWInstLauncher@SwiUI@@QAEHABVTUid@@ABVTDesC8@@1@Z @ 22 NONAME ; int SwiUI::RSWInstLauncher::SilentUninstall(class TUid const &, class TDesC8 const &, class TDesC8 const &)
+ ?SilentUninstall@RSWInstLauncher@SwiUI@@QAEXAAVTRequestStatus@@ABVTUid@@ABVTDesC8@@2@Z @ 23 NONAME ; void SwiUI::RSWInstLauncher::SilentUninstall(class TRequestStatus &, class TUid const &, class TDesC8 const &, class TDesC8 const &)
+ ?Uninstall@RSWInstLauncher@SwiUI@@QAEHABVTUid@@ABVTDesC8@@@Z @ 24 NONAME ; int SwiUI::RSWInstLauncher::Uninstall(class TUid const &, class TDesC8 const &)
+ ?Uninstall@RSWInstLauncher@SwiUI@@QAEXAAVTRequestStatus@@ABVTUid@@ABVTDesC8@@@Z @ 25 NONAME ; void SwiUI::RSWInstLauncher::Uninstall(class TRequestStatus &, class TUid const &, class TDesC8 const &)
+ ?CustomUninstall@RSWInstLauncher@SwiUI@@QAEHW4TOperation@2@ABVTDesC8@@1@Z @ 26 NONAME ; int SwiUI::RSWInstLauncher::CustomUninstall(enum SwiUI::TOperation, class TDesC8 const &, class TDesC8 const &)
+ ?CustomUninstall@RSWInstLauncher@SwiUI@@QAEXAAVTRequestStatus@@W4TOperation@2@ABVTDesC8@@2@Z @ 27 NONAME ; void SwiUI::RSWInstLauncher::CustomUninstall(class TRequestStatus &, enum SwiUI::TOperation, class TDesC8 const &, class TDesC8 const &)
+ ??0RSWInstSilentLauncher@SwiUI@@QAE@XZ @ 28 NONAME ; SwiUI::RSWInstSilentLauncher::RSWInstSilentLauncher(void)
+ ?Connect@RSWInstSilentLauncher@SwiUI@@QAEHXZ @ 29 NONAME ; int SwiUI::RSWInstSilentLauncher::Connect(void)
+ ?SilentCustomUninstall@RSWInstLauncher@SwiUI@@QAEHW4TOperation@2@ABVTDesC8@@11@Z @ 30 NONAME ; int SwiUI::RSWInstLauncher::SilentCustomUninstall(enum SwiUI::TOperation, class TDesC8 const &, class TDesC8 const &, class TDesC8 const &)
+ ?SilentCustomUninstall@RSWInstLauncher@SwiUI@@QAEXAAVTRequestStatus@@W4TOperation@2@ABVTDesC8@@22@Z @ 31 NONAME ; void SwiUI::RSWInstLauncher::SilentCustomUninstall(class TRequestStatus &, enum SwiUI::TOperation, class TDesC8 const &, class TDesC8 const &, class TDesC8 const &)
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/appinstaller/AppinstUi/swinstcli_stub/EABI/SWInstCliU.DEF Wed Oct 20 14:52:56 2010 +0300
@@ -0,0 +1,39 @@
+EXPORTS
+ _ZN5SwiUI15RSWInstLauncher13GetLastErrorLEv @ 1 NONAME
+ _ZN5SwiUI15RSWInstLauncher13SilentInstallER14TRequestStatusR5RFileRK6TDesC8 @ 2 NONAME
+ _ZN5SwiUI15RSWInstLauncher13SilentInstallER14TRequestStatusR5RFileRK6TDesC8S7_ @ 3 NONAME
+ _ZN5SwiUI15RSWInstLauncher13SilentInstallER14TRequestStatusRK7TDesC16RK6TDesC8 @ 4 NONAME
+ _ZN5SwiUI15RSWInstLauncher13SilentInstallER14TRequestStatusRK7TDesC16RK6TDesC8S8_ @ 5 NONAME
+ _ZN5SwiUI15RSWInstLauncher13SilentInstallER5RFileRK6TDesC8 @ 6 NONAME
+ _ZN5SwiUI15RSWInstLauncher13SilentInstallER5RFileRK6TDesC8S5_ @ 7 NONAME
+ _ZN5SwiUI15RSWInstLauncher13SilentInstallERK7TDesC16RK6TDesC8 @ 8 NONAME
+ _ZN5SwiUI15RSWInstLauncher13SilentInstallERK7TDesC16RK6TDesC8S6_ @ 9 NONAME
+ _ZN5SwiUI15RSWInstLauncher15SilentUninstallER14TRequestStatusRK4TUidRK6TDesC8S8_ @ 10 NONAME
+ _ZN5SwiUI15RSWInstLauncher15SilentUninstallERK4TUidRK6TDesC8S6_ @ 11 NONAME
+ _ZN5SwiUI15RSWInstLauncher18CancelAsyncRequestEi @ 12 NONAME
+ _ZN5SwiUI15RSWInstLauncher5CloseEv @ 13 NONAME
+ _ZN5SwiUI15RSWInstLauncher7ConnectEv @ 14 NONAME
+ _ZN5SwiUI15RSWInstLauncher7InstallER14TRequestStatusR5RFile @ 15 NONAME
+ _ZN5SwiUI15RSWInstLauncher7InstallER14TRequestStatusR5RFileRK6TDesC8 @ 16 NONAME
+ _ZN5SwiUI15RSWInstLauncher7InstallER14TRequestStatusRK7TDesC16 @ 17 NONAME
+ _ZN5SwiUI15RSWInstLauncher7InstallER14TRequestStatusRK7TDesC16RK6TDesC8 @ 18 NONAME
+ _ZN5SwiUI15RSWInstLauncher7InstallER5RFile @ 19 NONAME
+ _ZN5SwiUI15RSWInstLauncher7InstallER5RFileRK6TDesC8 @ 20 NONAME
+ _ZN5SwiUI15RSWInstLauncher7InstallERK7TDesC16 @ 21 NONAME
+ _ZN5SwiUI15RSWInstLauncher7InstallERK7TDesC16RK6TDesC8 @ 22 NONAME
+ _ZN5SwiUI15RSWInstLauncher9UninstallER14TRequestStatusRK4TUidRK6TDesC8 @ 23 NONAME
+ _ZN5SwiUI15RSWInstLauncher9UninstallERK4TUidRK6TDesC8 @ 24 NONAME
+ _ZN5SwiUI15RSWInstLauncherC1Ev @ 25 NONAME
+ _ZN5SwiUI15RSWInstLauncherC2Ev @ 26 NONAME
+ _ZTIN5SwiUI15RSWInstLauncherE @ 27 NONAME ; #<TI>#
+ _ZTVN5SwiUI15RSWInstLauncherE @ 28 NONAME ; #<VT>#
+ _ZN5SwiUI15RSWInstLauncher15CustomUninstallENS_10TOperationERK6TDesC8S4_ @ 29 NONAME
+ _ZN5SwiUI15RSWInstLauncher15CustomUninstallER14TRequestStatusNS_10TOperationERK6TDesC8S6_ @ 30 NONAME
+ _ZN5SwiUI21RSWInstSilentLauncher7ConnectEv @ 31 NONAME
+ _ZN5SwiUI21RSWInstSilentLauncherC1Ev @ 32 NONAME
+ _ZN5SwiUI21RSWInstSilentLauncherC2Ev @ 33 NONAME
+ _ZTIN5SwiUI21RSWInstSilentLauncherE @ 34 NONAME ; #<TI>#
+ _ZTVN5SwiUI21RSWInstSilentLauncherE @ 35 NONAME ; #<VT>#
+ _ZN5SwiUI15RSWInstLauncher21SilentCustomUninstallENS_10TOperationERK6TDesC8S4_S4_ @ 36 NONAME
+ _ZN5SwiUI15RSWInstLauncher21SilentCustomUninstallER14TRequestStatusNS_10TOperationERK6TDesC8S6_S6_ @ 37 NONAME
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/appinstaller/AppinstUi/swinstcli_stub/group/SWInstCli.mmp Wed Oct 20 14:52:56 2010 +0300
@@ -0,0 +1,39 @@
+/*
+* Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Project specification for obsolete SWInstCli.
+*
+*/
+
+
+#include <platform_paths.hrh>
+
+TARGET SWInstCli.dll
+TARGETTYPE dll
+UID 0x1000008D 0x101F8759 // KSWInstCliUid
+
+CAPABILITY CAP_CLIENT_DLL DRM
+VENDORID VID_DEFAULT
+
+SOURCEPATH ../Src
+SOURCE SWInstLauncher.cpp
+SOURCE SWInstSilentLauncher.cpp
+
+MW_LAYER_SYSTEMINCLUDE
+
+LIBRARY euser.lib
+LIBRARY eikcore.lib
+LIBRARY apparc.lib
+
+SMPSAFE
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/appinstaller/AppinstUi/swinstcli_stub/group/bld.inf Wed Oct 20 14:52:56 2010 +0300
@@ -0,0 +1,29 @@
+/*
+* Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Build information file for AppInstUI component
+*
+*/
+
+
+#include <platform_paths.hrh>
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+../rom/swinstcli_stub.iby CORE_MW_LAYER_IBY_EXPORT_PATH( swinstcli_stub.iby )
+
+PRJ_MMPFILES
+SWInstCli.mmp
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/appinstaller/AppinstUi/swinstcli_stub/rom/swinstcli_stub.iby Wed Oct 20 14:52:56 2010 +0300
@@ -0,0 +1,26 @@
+/*
+* Copyright (c) 2004-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Series 60 ROM description for Software install application
+*
+*/
+
+
+#ifndef APPINSTUI_IBY
+#define APPINSTUI_IBY
+
+file = ABI_DIR\BUILD_DIR\SWInstCli.dll SHARED_LIB_DIR\SWInstCli.dll
+//file = ABI_DIR\BUILD_DIR\SWInstCommonUI.dll SHARED_LIB_DIR\SWInstCommonUI.dll
+
+#endif // APPINSTUI_IBY
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/appinstaller/AppinstUi/swinstcli_stub/src/SWInstLauncher.cpp Wed Oct 20 14:52:56 2010 +0300
@@ -0,0 +1,407 @@
+/*
+* Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Unsupported old RSWInstLauncher API
+*
+*/
+
+#include "SWInstApi.h"
+#include "SWInstDefs.h"
+#include <e32debug.h>
+
+using namespace SwiUI;
+
+_LIT(KUnsupportedMsg, "RSWInstLauncher is obsolete. Use Usif::RSoftwareInstall instead.");
+
+#define KSWInstInstallServiceUid 0x102071C1
+
+
+// ================= MEMBER FUNCTIONS =======================
+
+// -----------------------------------------------------------------------------
+// RSWInstLauncher::RSWInstLauncher
+// -----------------------------------------------------------------------------
+//
+EXPORT_C RSWInstLauncher::RSWInstLauncher() : iConnected( EFalse )
+ {
+ RDebug::Print(KUnsupportedMsg);
+ }
+
+// -----------------------------------------------------------------------------
+// RSWInstLauncher::Connect
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TInt RSWInstLauncher::Connect()
+ {
+ RDebug::Print(KUnsupportedMsg);
+ return KErrNotSupported;
+ }
+
+// -----------------------------------------------------------------------------
+// RSWInstLauncher::Close
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void RSWInstLauncher::Close()
+ {
+ RDebug::Print(KUnsupportedMsg);
+ }
+
+// -----------------------------------------------------------------------------
+// RSWInstLauncher::Install
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TInt RSWInstLauncher::Install( const TDesC& /*aFileName*/ )
+ {
+ RDebug::Print(KUnsupportedMsg);
+ return KErrNotSupported;
+ }
+
+// -----------------------------------------------------------------------------
+// RSWInstLauncher::Install
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void RSWInstLauncher::Install( TRequestStatus& aReqStatus,
+ const TDesC& /*aFileName*/ )
+ {
+ RDebug::Print(KUnsupportedMsg);
+ TRequestStatus* status = &aReqStatus;
+ aReqStatus = KRequestPending;
+ User::RequestComplete(status, KErrNotSupported);
+ }
+
+// -----------------------------------------------------------------------------
+// RSWInstLauncher::Install
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TInt RSWInstLauncher::Install( RFile& /*aFile*/ )
+ {
+ RDebug::Print(KUnsupportedMsg);
+ return KErrNotSupported;
+ }
+
+// -----------------------------------------------------------------------------
+// RSWInstLauncher::Install
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void RSWInstLauncher::Install( TRequestStatus& aReqStatus,
+ RFile& /*aFile*/ )
+ {
+ RDebug::Print(KUnsupportedMsg);
+ TRequestStatus* status = &aReqStatus;
+ aReqStatus = KRequestPending;
+ User::RequestComplete(status, KErrNotSupported);
+ }
+
+// -----------------------------------------------------------------------------
+// RSWInstLauncher::Install
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TInt RSWInstLauncher::Install( const TDesC& /*aFileName*/,
+ const TDesC8& /*aParams*/ )
+ {
+ RDebug::Print(KUnsupportedMsg);
+ return KErrNotSupported;
+ }
+
+// -----------------------------------------------------------------------------
+// RSWInstLauncher::Install
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void RSWInstLauncher::Install( TRequestStatus& aReqStatus,
+ const TDesC& /*aFileName*/,
+ const TDesC8& /*aParams*/ )
+ {
+ RDebug::Print(KUnsupportedMsg);
+ TRequestStatus* status = &aReqStatus;
+ aReqStatus = KRequestPending;
+ User::RequestComplete(status, KErrNotSupported);
+ }
+
+// -----------------------------------------------------------------------------
+// RSWInstLauncher::Install
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TInt RSWInstLauncher::Install( RFile& /*aFile*/,
+ const TDesC8& /*aParams*/ )
+ {
+ RDebug::Print(KUnsupportedMsg);
+ return KErrNotSupported;
+ }
+
+// -----------------------------------------------------------------------------
+// RSWInstLauncher::Install
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void RSWInstLauncher::Install( TRequestStatus& aReqStatus,
+ RFile& /*aFile*/,
+ const TDesC8& /*aParams*/ )
+ {
+ RDebug::Print(KUnsupportedMsg);
+ TRequestStatus* status = &aReqStatus;
+ aReqStatus = KRequestPending;
+ User::RequestComplete(status, KErrNotSupported);
+ }
+
+// -----------------------------------------------------------------------------
+// RSWInstLauncher::SilentInstall
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TInt RSWInstLauncher::SilentInstall( const TDesC& /*aFileName*/,
+ const TDesC8& /*aOptions*/ )
+ {
+ RDebug::Print(KUnsupportedMsg);
+ return KErrNotSupported;
+ }
+
+// -----------------------------------------------------------------------------
+// RSWInstLauncher::SilentInstall
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void RSWInstLauncher::SilentInstall( TRequestStatus& aReqStatus,
+ const TDesC& /*aFileName*/,
+ const TDesC8& /*aOptions*/ )
+ {
+ RDebug::Print(KUnsupportedMsg);
+ TRequestStatus* status = &aReqStatus;
+ aReqStatus = KRequestPending;
+ User::RequestComplete(status, KErrNotSupported);
+ }
+
+// -----------------------------------------------------------------------------
+// RSWInstLauncher::SilentInstall
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TInt RSWInstLauncher::SilentInstall( RFile& /*aFile*/,
+ const TDesC8& /*aOptions*/ )
+ {
+ RDebug::Print(KUnsupportedMsg);
+ return KErrNotSupported;
+ }
+
+// -----------------------------------------------------------------------------
+// RSWInstLauncher::SilentInstall
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void RSWInstLauncher::SilentInstall( TRequestStatus& aReqStatus,
+ RFile& /*aFile*/,
+ const TDesC8& /*aOptions*/ )
+ {
+ RDebug::Print(KUnsupportedMsg);
+ TRequestStatus* status = &aReqStatus;
+ aReqStatus = KRequestPending;
+ User::RequestComplete(status, KErrNotSupported);
+ }
+
+// -----------------------------------------------------------------------------
+// RSWInstLauncher::SilentInstall
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TInt RSWInstLauncher::SilentInstall( const TDesC& /*aFileName*/,
+ const TDesC8& /*aParams*/,
+ const TDesC8& /*aOptions*/ )
+ {
+ RDebug::Print(KUnsupportedMsg);
+ return KErrNotSupported;
+ }
+
+// -----------------------------------------------------------------------------
+// RSWInstLauncher::SilentInstall
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void RSWInstLauncher::SilentInstall( TRequestStatus& aReqStatus,
+ const TDesC& /*aFileName*/,
+ const TDesC8& /*aParams*/,
+ const TDesC8& /*aOptions*/ )
+ {
+ RDebug::Print(KUnsupportedMsg);
+ TRequestStatus* status = &aReqStatus;
+ aReqStatus = KRequestPending;
+ User::RequestComplete(status, KErrNotSupported);
+ }
+
+// -----------------------------------------------------------------------------
+// RSWInstLauncher::SilentInstall
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TInt RSWInstLauncher::SilentInstall( RFile& /*aFile*/,
+ const TDesC8& /*aParams*/,
+ const TDesC8& /*aOptions*/ )
+ {
+ RDebug::Print(KUnsupportedMsg);
+ return KErrNotSupported;
+ }
+
+// -----------------------------------------------------------------------------
+// RSWInstLauncher::SilentInstall
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void RSWInstLauncher::SilentInstall( TRequestStatus& aReqStatus,
+ RFile& /*aFile*/,
+ const TDesC8& /*aParams*/,
+ const TDesC8& /*aOptions*/ )
+ {
+ RDebug::Print(KUnsupportedMsg);
+ TRequestStatus* status = &aReqStatus;
+ aReqStatus = KRequestPending;
+ User::RequestComplete(status, KErrNotSupported);
+ }
+
+// -----------------------------------------------------------------------------
+// RSWInstLauncher::Uninstall
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TInt RSWInstLauncher::Uninstall( const TUid& /*aUid*/,
+ const TDesC8& /*aMIME*/ )
+ {
+ RDebug::Print(KUnsupportedMsg);
+ return KErrNotSupported;
+ }
+
+// -----------------------------------------------------------------------------
+// RSWInstLauncher::Uninstall
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void RSWInstLauncher::Uninstall( TRequestStatus& aReqStatus,
+ const TUid& /*aUid*/,
+ const TDesC8& /*aMIME*/ )
+ {
+ RDebug::Print(KUnsupportedMsg);
+ TRequestStatus* status = &aReqStatus;
+ aReqStatus = KRequestPending;
+ User::RequestComplete(status, KErrNotSupported);
+ }
+
+// -----------------------------------------------------------------------------
+// RSWInstLauncher::SilentUninstall
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TInt RSWInstLauncher::SilentUninstall( const TUid& /*aUid*/,
+ const TDesC8& /*aOptions*/,
+ const TDesC8& /*aMIME*/ )
+ {
+ RDebug::Print(KUnsupportedMsg);
+ return KErrNotSupported;
+ }
+
+// -----------------------------------------------------------------------------
+// RSWInstLauncher::SilentUninstall
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void RSWInstLauncher::SilentUninstall( TRequestStatus& aReqStatus,
+ const TUid& /*aUid*/,
+ const TDesC8& /*aOptions*/,
+ const TDesC8& /*aMIME*/ )
+ {
+ RDebug::Print(KUnsupportedMsg);
+ TRequestStatus* status = &aReqStatus;
+ aReqStatus = KRequestPending;
+ User::RequestComplete(status, KErrNotSupported);
+ }
+
+// -----------------------------------------------------------------------------
+// RSWInstLauncher::CancelAsyncRequest
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TInt RSWInstLauncher::CancelAsyncRequest( TInt /*aReqToCancel*/ )
+ {
+ RDebug::Print(KUnsupportedMsg);
+ return KErrNotSupported;
+ }
+
+// -----------------------------------------------------------------------------
+// RSWInstLauncher::CustomUninstall
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TInt RSWInstLauncher::CustomUninstall( TOperation /*aOperation*/,
+ const TDesC8& /*aParams*/,
+ const TDesC8& /*aMIME*/ )
+ {
+ RDebug::Print(KUnsupportedMsg);
+ return KErrNotSupported;
+ }
+
+// -----------------------------------------------------------------------------
+// RSWInstLauncher::CustomUninstall
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void RSWInstLauncher::CustomUninstall( TRequestStatus& aReqStatus,
+ TOperation /*aOperation*/,
+ const TDesC8& /*aParams*/,
+ const TDesC8& /*aMIME*/ )
+ {
+ RDebug::Print(KUnsupportedMsg);
+ TRequestStatus* status = &aReqStatus;
+ aReqStatus = KRequestPending;
+ User::RequestComplete(status, KErrNotSupported);
+ }
+
+// -----------------------------------------------------------------------------
+// RSWInstLauncher::GetLastErrorL
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CErrDetails* RSWInstLauncher::GetLastErrorL()
+ {
+ RDebug::Print(KUnsupportedMsg);
+ User::Leave( KErrNotSupported );
+ // Keep the compiler happy
+ return NULL;
+ }
+
+// -----------------------------------------------------------------------------
+// RSWInstLauncher::SilentCustomUninstall
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TInt RSWInstLauncher::SilentCustomUninstall( TOperation /*aOperation*/,
+ const TDesC8& /*aOptions*/,
+ const TDesC8& /*aParams*/,
+ const TDesC8& /*aMIME*/ )
+ {
+ RDebug::Print(KUnsupportedMsg);
+ return KErrNotSupported;
+ }
+
+// -----------------------------------------------------------------------------
+// RSWInstLauncher::SilentCustomUninstall
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void RSWInstLauncher::SilentCustomUninstall( TRequestStatus& aReqStatus,
+ TOperation /*aOperation*/,
+ const TDesC8& /*aOptions*/,
+ const TDesC8& /*aParams*/,
+ const TDesC8& /*aMIME*/ )
+ {
+ RDebug::Print(KUnsupportedMsg);
+ TRequestStatus* status = &aReqStatus;
+ aReqStatus = KRequestPending;
+ User::RequestComplete(status, KErrNotSupported);
+ }
+
+// -----------------------------------------------------------------------------
+// RSWInstLauncher::PanicClient
+// -----------------------------------------------------------------------------
+//
+void RSWInstLauncher::PanicClient( TInt aPanic ) const
+ {
+ _LIT( KSWInstClientFault, "SWInstCli" );
+ User::Panic( KSWInstClientFault, aPanic );
+ }
+
+// -----------------------------------------------------------------------------
+// RSWInstLauncher::ServiceUid
+// -----------------------------------------------------------------------------
+//
+TUid RSWInstLauncher::ServiceUid() const
+ {
+ return TUid::Uid( KSWInstInstallServiceUid );
+ }
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/appinstaller/AppinstUi/swinstcli_stub/src/SWInstSilentLauncher.cpp Wed Oct 20 14:52:56 2010 +0300
@@ -0,0 +1,59 @@
+/*
+* Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Unsupported old RSWInstSilentLauncher API
+*
+*/
+
+#include "SWInstApi.h"
+#include "SWInstDefs.h"
+#include <e32debug.h>
+
+_LIT(KUnsupportedMsg, "RSWInstSilentLauncher is obsolete. Use Usif::RSoftwareInstall instead.");
+
+using namespace SwiUI;
+
+#define KSWInstSilentInstallServiceUid 0x102072F0
+
+
+// ================= MEMBER FUNCTIONS =======================
+
+// -----------------------------------------------------------------------------
+// RSWInstSilentLauncher::RSWInstSilentLauncher
+// -----------------------------------------------------------------------------
+//
+EXPORT_C RSWInstSilentLauncher::RSWInstSilentLauncher()
+ {
+ RDebug::Print(KUnsupportedMsg);
+ }
+
+// -----------------------------------------------------------------------------
+// RSWInstSilentLauncher::Connect
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TInt RSWInstSilentLauncher::Connect()
+ {
+ RDebug::Print(KUnsupportedMsg);
+ return KErrNotSupported;
+ }
+
+// -----------------------------------------------------------------------------
+// RSWInstSilentLauncher::ServiceUid
+// -----------------------------------------------------------------------------
+//
+TUid RSWInstSilentLauncher::ServiceUid() const
+ {
+ return TUid::Uid( KSWInstSilentInstallServiceUid );
+ }
+
+
--- a/iaupdate/IAD/engine/controller/src/iaupdateutils.cpp Thu Oct 14 14:11:30 2010 +0300
+++ b/iaupdate/IAD/engine/controller/src/iaupdateutils.cpp Wed Oct 20 14:52:56 2010 +0300
@@ -1073,7 +1073,7 @@
IAUPDATE_TRACE_1("[IAUPDATE] IAUpdateUtils::DrivesWithBinariesL() fullname: %S", &fullName);
TParse parse;
parse.Set( fullName, NULL, NULL);
- IAUPDATE_TRACE_1("[IAUPDATE] IAUpdateUtils::DrivesWithBinariesL() extension: %S", &parse.Ext());
+ //IAUPDATE_TRACE_1("[IAUPDATE] IAUpdateUtils::DrivesWithBinariesL() extension: %S", &parse.Ext());
if ( parse.Ext().CompareF( KExe() ) == 0 || parse.Ext().CompareF( KDll() ) == 0 )
{
IAUPDATE_TRACE("[IAUPDATE] IAUpdateUtils::DrivesWithBinariesL() EXE or DLL found");
--- a/iaupdate/IAD/engine/group/iaupdateengine.mmp Thu Oct 14 14:11:30 2010 +0300
+++ b/iaupdate/IAD/engine/group/iaupdateengine.mmp Wed Oct 20 14:52:56 2010 +0300
@@ -114,7 +114,6 @@
LIBRARY platformenv.lib
LIBRARY platformver.lib // System version info
LIBRARY etel3rdparty.lib
-//LIBRARY swinstcli.lib
LIBRARY apmime.lib
LIBRARY ecom.lib // For the NCD Engine ECOM session closing.
LIBRARY sysversioninfo.lib
@@ -127,7 +126,6 @@
// widget registry API library
LIBRARY sif.lib // SIF installer
LIBRARY scrclient.lib //Registry client
-//LIBRARY widgetregistryclient.lib
// NCD Engine
LIBRARY ncdengine_20019119.lib
--- a/iaupdate/IAD/ui/inc/iaupdateapplication.h Thu Oct 14 14:11:30 2010 +0300
+++ b/iaupdate/IAD/ui/inc/iaupdateapplication.h Wed Oct 20 14:52:56 2010 +0300
@@ -28,10 +28,14 @@
class IAUpdateApplication : public HbApplication
{
+ Q_OBJECT
public:
IAUpdateApplication(int argc, char* argv[]);
virtual ~IAUpdateApplication();
+public slots:
+ void createUI();
+
private:
IAUpdateEngine *mEngine; // owned
QSharedPointer<IAUpdateMainWindow> mMainWindow; // owned
--- a/iaupdate/IAD/ui/inc/iaupdateengine.h Thu Oct 14 14:11:30 2010 +0300
+++ b/iaupdate/IAD/ui/inc/iaupdateengine.h Wed Oct 20 14:52:56 2010 +0300
@@ -110,6 +110,8 @@
CIAUpdateUiController* Controller() const;
signals:
+ void createUI();
+
void toMainView();
/**
--- a/iaupdate/IAD/ui/src/iaupdateapplication.cpp Thu Oct 14 14:11:30 2010 +0300
+++ b/iaupdate/IAD/ui/src/iaupdateapplication.cpp Wed Oct 20 14:52:56 2010 +0300
@@ -24,31 +24,38 @@
IAUpdateApplication::IAUpdateApplication( int argc, char* argv[] ) :
HbApplication( argc, argv ),
- mEngine (new IAUpdateEngine),
- mMainWindow (new IAUpdateMainWindow(mEngine))
- {
-
- // get mainview
- IAUpdateMainView* mainView = mMainWindow->GetMainView();
-
- // get settig view
- CIAUpdateSettingDialog* settingView = mMainWindow->GetSettingView();
-
- // Connect view change signals to the view change slots
- //connect(&(*mEngine), SIGNAL(toMainView()), &(*mMainWindow), SLOT(toMainView()));
- connect(&(*settingView), SIGNAL(toMainView()), &(*mMainWindow), SLOT(toMainView()));
- connect(&(*mainView), SIGNAL(toSettingView()), &(*mMainWindow), SLOT(toSettingView()));
- connect(&(*mEngine), SIGNAL(refresh(const RPointerArray<MIAUpdateNode>&, const RPointerArray<MIAUpdateFwNode>&,int)),
- &(*mMainWindow), SLOT(refreshMainView(const RPointerArray<MIAUpdateNode>&, const RPointerArray<MIAUpdateFwNode>&,int)));
- connect(&(*mEngine), SIGNAL(refreshProgress()),
- &(*mMainWindow), SLOT(refreshMainViewProgress()));
- connect(&(*mEngine), SIGNAL(setUpdatesRefreshing(bool)),
- &(*mMainWindow), SLOT(setRefreshingAnimation(bool)));
- connect(&(*mEngine), SIGNAL(updateCompleted()),
- &(*mMainWindow), SLOT(updateCompleted()));
- }
+ mEngine (new IAUpdateEngine)
+{
+ connect(&(*mEngine), SIGNAL(createUI()),
+ &(*this), SLOT(createUI()));
+}
IAUpdateApplication::~IAUpdateApplication()
{
delete mEngine;
}
+
+void IAUpdateApplication::createUI()
+{
+ if (mMainWindow.isNull())
+ {
+ mMainWindow = (QSharedPointer<IAUpdateMainWindow>) new IAUpdateMainWindow(mEngine);
+ // get mainview
+ IAUpdateMainView* mainView = mMainWindow->GetMainView();
+
+ // get setting view
+ CIAUpdateSettingDialog* settingView = mMainWindow->GetSettingView();
+
+ // Connect view change signals to the view change slots
+ connect(&(*settingView), SIGNAL(toMainView()), &(*mMainWindow), SLOT(toMainView()));
+ connect(&(*mainView), SIGNAL(toSettingView()), &(*mMainWindow), SLOT(toSettingView()));
+ connect(&(*mEngine), SIGNAL(refresh(const RPointerArray<MIAUpdateNode>&, const RPointerArray<MIAUpdateFwNode>&,int)),
+ &(*mMainWindow), SLOT(refreshMainView(const RPointerArray<MIAUpdateNode>&, const RPointerArray<MIAUpdateFwNode>&,int)));
+ connect(&(*mEngine), SIGNAL(refreshProgress()),
+ &(*mMainWindow), SLOT(refreshMainViewProgress()));
+ connect(&(*mEngine), SIGNAL(setUpdatesRefreshing(bool)),
+ &(*mMainWindow), SLOT(setRefreshingAnimation(bool)));
+ connect(&(*mEngine), SIGNAL(updateCompleted()),
+ &(*mMainWindow), SLOT(updateCompleted()));
+ }
+}
--- a/iaupdate/IAD/ui/src/iaupdateapplistmodel.cpp Thu Oct 14 14:11:30 2010 +0300
+++ b/iaupdate/IAD/ui/src/iaupdateapplistmodel.cpp Wed Oct 20 14:52:56 2010 +0300
@@ -84,15 +84,18 @@
}
else if (uiState == MIAUpdateNode::EUpdated)
{
- importanceDescription = "Updated";
+ importanceDescription =
+ hbTrId("txt_software_dblist_1_val_updated");
}
else if (uiState == MIAUpdateNode::EFailed)
{
- importanceDescription = "Failed";
+ importanceDescription =
+ hbTrId("txt_software_dblist_1_val_failed");
}
else if (uiState == MIAUpdateNode::EDownloaded)
{
- importanceDescription = "Downloaded";
+ importanceDescription =
+ hbTrId("txt_software_dblist_1_val_downloaded");
}
}
QStringList stringList;
--- a/iaupdate/IAD/ui/src/iaupdatedialogutil.cpp Thu Oct 14 14:11:30 2010 +0300
+++ b/iaupdate/IAD/ui/src/iaupdatedialogutil.cpp Wed Oct 20 14:52:56 2010 +0300
@@ -88,13 +88,10 @@
label->setHtml(hbTrId("txt_software_title_disclaimer"));
agreementDialog->setHeadingWidget(label);
agreementDialog->setIconVisible(false);
- agreementDialog->setText(hbTrId("txt_software_info_this_application_allows_you_to_d").arg(2007).arg(2010));
- // TODO: when textmap contains %1, change to:
- /*
agreementDialog->
setText(hbTrId("txt_software_info_this_application_allows_you_to_d").
arg(HbStringUtil::convertDigits("2007")).arg(HbStringUtil::convertDigits("2007")));
- */
+
int actionCount = agreementDialog->actions().count();
for (int i=actionCount-1; i >= 0; i--)
{
--- a/iaupdate/IAD/ui/src/iaupdateengine.cpp Thu Oct 14 14:11:30 2010 +0300
+++ b/iaupdate/IAD/ui/src/iaupdateengine.cpp Wed Oct 20 14:52:56 2010 +0300
@@ -115,6 +115,7 @@
void IAUpdateEngine::StartedByLauncherL(bool aRefreshFromNetworkDenied)
{
IAUPDATE_TRACE("[IAUPDATE] IAUpdateEngine::StartedByLauncherL() begin");
+ emit createUI();
mRequestIssued = true;
mRequestType = IAUpdateUiDefines::ENoRequest;
iController->SetRequestType(mRequestType);
@@ -166,6 +167,7 @@
CIAUpdateParameters* aFilterParams)
{
IAUPDATE_TRACE("[IAUPDATE] IAUpdateEngine::ShowUpdatesRequestL() begin");
+ emit createUI();
SetClientWgId(wgid);
mRequestIssued = true;
// delete iBackgroundTimer;
@@ -227,6 +229,7 @@
void IAUpdateEngine::ShowUpdateQueryRequestL(int wgid, uint aUid)
{
IAUPDATE_TRACE("[IAUPDATE] IAUpdateEngine::ShowUpdateQueryRequestL begin");
+ emit createUI();
SetClientWgId(wgid);
mRequestIssued = true;
mStartedFromApplication = true;
@@ -1159,16 +1162,16 @@
HbMessageBox *messageBox = new HbMessageBox(
HbMessageBox::MessageTypeQuestion);
messageBox->setText(QString(
- "Application update is available from Nokia. Update?"));
+ hbTrId("txt_software_info_application_update_is_available")));
int actionCount = messageBox->actions().count();
for (int i = actionCount - 1; i >= 0; i--)
{
messageBox->removeAction(messageBox->actions().at(i));
}
mPrimaryAction = NULL;
- mPrimaryAction = new HbAction("Now");
+ mPrimaryAction = new HbAction(hbTrId("txt_software_button_now"));
mSecondaryAction = NULL;
- mSecondaryAction = new HbAction("Later");
+ mSecondaryAction = new HbAction(hbTrId("txt_software_button_later"));
messageBox->addAction(mPrimaryAction);
messageBox->addAction(mSecondaryAction);
messageBox->setTimeout(HbPopup::NoTimeout);
--- a/iaupdate/IAD/ui/src/iaupdatemainview.cpp Thu Oct 14 14:11:30 2010 +0300
+++ b/iaupdate/IAD/ui/src/iaupdatemainview.cpp Wed Oct 20 14:52:56 2010 +0300
@@ -609,7 +609,7 @@
{
if (depCount > 1)
{
- HbParameterLengthLimiter limiter(hbTrId("txt_software_info_updates_1_needs_deselected_upd"));
+ HbParameterLengthLimiter limiter(hbTrId("txt_software_info_updates_1_need_deselected_upd"));
text.append(limiter.arg("names"));
}
else
@@ -874,7 +874,7 @@
IAUPDATE_TRACE("[IAUPDATE] IAUpdateMainView::showDetails() begin");
HbMessageBox *messageBox = new HbMessageBox(HbMessageBox::MessageTypeInformation);
HbLabel *label = new HbLabel(messageBox);
- label->setHtml(QString("Details"));
+ label->setHtml(hbTrId("txt_software_title_details"));
messageBox->setHeadingWidget(label);
messageBox->setIconVisible(false);
@@ -897,7 +897,7 @@
text.append(QString("<br />"));
if (node.NodeType() == MIAUpdateAnyNode::ENodeTypeFw)
{
- text.append(hbTrId("txt_software_dblist_device_software ")); // TODO: wrong layout
+ text.append(hbTrId("txt_swupdate_dialog_device_software"));
}
else
{
--- a/iaupdate/IAD/ui/src/iaupdatemainwindow.cpp Thu Oct 14 14:11:30 2010 +0300
+++ b/iaupdate/IAD/ui/src/iaupdatemainwindow.cpp Wed Oct 20 14:52:56 2010 +0300
@@ -32,7 +32,7 @@
addSettingView();
// show the main window (which will display the last view that was added)
- show(); //temp
+ show();
}
// Destructor
@@ -102,6 +102,7 @@
CIAUpdateSettingDialog* IAUpdateMainWindow::GetSettingView()
{
- return mSettingView;}
+ return mSettingView;
+}
--- a/iaupdate/IAD/ui/src/iaupdateresultsdialog.cpp Thu Oct 14 14:11:30 2010 +0300
+++ b/iaupdate/IAD/ui/src/iaupdateresultsdialog.cpp Wed Oct 20 14:52:56 2010 +0300
@@ -91,7 +91,7 @@
if (param.iFileInUseError)
{
- buf.append("Close all applications and try again.");
+ buf.append(hbTrId("txt_swupdate_info_close_all_applications_and_try_a"));
buf.append("<br />");
}
}
--- a/iaupdate/IAD/ui/src/iaupdatesettingdialog.cpp Thu Oct 14 14:11:30 2010 +0300
+++ b/iaupdate/IAD/ui/src/iaupdatesettingdialog.cpp Wed Oct 20 14:52:56 2010 +0300
@@ -88,7 +88,7 @@
void CIAUpdateSettingDialog::toggleChange(QModelIndex startIn, QModelIndex /*endIn*/)
{
// HLa: this should work
- HbDataFormModelItem *itm = mModel->itemFromIndex(startIn);
+ //HbDataFormModelItem *itm = mModel->itemFromIndex(startIn);
// Destination ?
if ( startIn.row() == 0 )
--- a/installationservices/swcomponentregistry/group/bld.inf Thu Oct 14 14:11:30 2010 +0300
+++ b/installationservices/swcomponentregistry/group/bld.inf Wed Oct 20 14:52:56 2010 +0300
@@ -114,7 +114,7 @@
../test/testdb/scr.db z:/sys/install/scr/provisioned/scr.db
-// The second copy is required for ARMV5 builds, where z:/ does not automatically transfer into the simulated Z drive. The custom steps in ONB take care of copying testscr.db into scr.db before ROM build and test
+// The second copy is required DABS/BATS builds
../test/testdb/scr.db /epoc32/release/winscw/udeb/z/sys/install/scr/provisioned/testscr.db
../test/testdb/scr.db /epoc32/release/winscw/urel/z/sys/install/scr/provisioned/testscr.db
--- a/installationservices/swcomponentregistry/inc/scr.iby Thu Oct 14 14:11:30 2010 +0300
+++ b/installationservices/swcomponentregistry/inc/scr.iby Wed Oct 20 14:52:56 2010 +0300
@@ -30,9 +30,9 @@
file=ABI_DIR\BUILD_DIR\scrhelperserver.exe sys\bin\scrhelperserver.exe
// Export SCR DB.
-data=EPOCROOT##epoc32\release\winscw\udeb\z\sys\install\scr\provisioned\scr.db sys\install\scr\provisioned\scr.db
+data=EPOCROOT##epoc32\data\z\sys\install\scr\provisioned\scr.db sys\install\scr\provisioned\scr.db
// Export SCR Cenrep file.
-data=EPOCROOT##epoc32\release\winscw\udeb\z\private\10202be9\10285bc0.txt private\10202be9\10285bc0.txt
+data=EPOCROOT##epoc32\data\z\system\data\10285bc0.txt private\10202be9\10285bc0.txt
#endif
--- a/installationservices/swi/source/swis/server/installationprocessor.cpp Thu Oct 14 14:11:30 2010 +0300
+++ b/installationservices/swi/source/swis/server/installationprocessor.cpp Wed Oct 20 14:52:56 2010 +0300
@@ -825,6 +825,13 @@
void CInstallationProcessor::AddAppArcRegResourceFilesForRegEntryL(RSisRegistryEntry& aEntry)
{
+
+ // Don't add files belonging to the registry entry present in ROM if SA upgrade is detected
+ if ( aEntry.IsInRomL() && ApplicationL().ControllerL().Info().InstallType() == Sis::EInstInstallation )
+ {
+ return;
+ }
+
RPointerArray<HBufC> filesArray;
CleanupResetAndDestroyPushL(filesArray);
aEntry.FilesL(filesArray);
--- a/installationservices/swiconfig/group/bld.inf Thu Oct 14 14:11:30 2010 +0300
+++ b/installationservices/swiconfig/group/bld.inf Wed Oct 20 14:52:56 2010 +0300
@@ -54,12 +54,14 @@
// Export the SCR Database CenRep configuration file to EPOC.
../usif/scr/scr.db /epoc32/release/winscw/udeb/z/sys/install/scr/provisioned/scr.db
../usif/scr/scr.db /epoc32/release/winscw/urel/z/sys/install/scr/provisioned/scr.db
+../usif/scr/scr.db /epoc32/data/z/sys/install/scr/provisioned/scr.db
// Export iby file for SifLauncher configuration
../usif/siflauncher/siflauncherconfig.iby /epoc32/rom/include/siflauncherconfig.iby
//Exporting SCR's Cenrep configuration file to EPOC.
../usif/scr/10285bc0.txt /epoc32/release/winscw/udeb/z/private/10202be9/10285bc0.txt
../usif/scr/10285bc0.txt /epoc32/release/winscw/urel/z/private/10202be9/10285bc0.txt
+../usif/scr/10285bc0.txt /epoc32/data/z/system/data/10285bc0.txt
#endif // SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK
--- a/ncdengine/engine/accesspointmanager/src/catalogsaccesspointmanagerimpl.cpp Thu Oct 14 14:11:30 2010 +0300
+++ b/ncdengine/engine/accesspointmanager/src/catalogsaccesspointmanagerimpl.cpp Wed Oct 20 14:52:56 2010 +0300
@@ -537,10 +537,10 @@
TInt CCatalogsAccessPointManager::AccessPointIdL(
const TDesC& aNameSpace,
const MCatalogsAccessPointManager::TAction& aAction,
- const TUid& aClientUid,
+ const TUid& /* aClientUid */,
TUint32& aAccessPointId )
{
- DLTRACEIN((_L("Namespace: %S, Action: %d, clientUid: %d"), &aNameSpace, aAction, aClientUid.iUid));
+ //DLTRACEIN((_L("Namespace: %S, Action: %d, clientUid: %d"), &aNameSpace, aAction, aClientUid.iUid));
CCatalogsAccessPoint* accessPoint( NULL );
CCatalogsClientAccessPointData* apData( NULL );
@@ -565,10 +565,10 @@
const TDesC& aNameSpace,
const TDesC& aCatalogId,
const MCatalogsAccessPointManager::TAction& aAction,
- const TUid& aClientUid,
+ const TUid& /* aClientUid */,
TUint32& aAccessPointId)
{
- DLTRACEIN((_L("Namespace: %S, CatalogId: %S, Action: %d, clientUid: %d"), &aNameSpace, &aCatalogId, aAction, aClientUid.iUid));
+ //DLTRACEIN((_L("Namespace: %S, CatalogId: %S, Action: %d, clientUid: %d"), &aNameSpace, &aCatalogId, aAction, aClientUid.iUid));
CCatalogsAccessPoint* accessPoint( NULL );
CCatalogsClientAccessPointData* apData( NULL );
@@ -592,12 +592,12 @@
TInt CCatalogsAccessPointManager::AccessPointIdL(
const CNcdNodeIdentifier& aNodeIdentifier,
const MCatalogsAccessPointManager::TAction& aAction,
- const TUid& aClientUid,
+ const TUid& /* aClientUid */,
TUint32& aAccessPointId)
{
- DLTRACEIN((_L("Namespace: %S, NodeId: %S, Action: %d, clientUid: %d"),
- &aNodeIdentifier.NodeNameSpace(), &aNodeIdentifier.NodeId(), aAction,
- aClientUid.iUid));
+ //DLTRACEIN((_L("Namespace: %S, NodeId: %S, Action: %d, clientUid: %d"),
+ // &aNodeIdentifier.NodeNameSpace(), &aNodeIdentifier.NodeId(), aAction,
+ // aClientUid.iUid));
CCatalogsAccessPoint* accessPoint( NULL );
CCatalogsClientAccessPointData* apData( NULL );
--- a/ncdengine/engine/transport/src/catalogshttpdownload.cpp Thu Oct 14 14:11:30 2010 +0300
+++ b/ncdengine/engine/transport/src/catalogshttpdownload.cpp Wed Oct 20 14:52:56 2010 +0300
@@ -2222,7 +2222,7 @@
// ---------------------------------------------------------------------------
//
TUint CCatalogsHttpDownload::MatchWithPredefinedRequestHeader(
- const TDesC8& aHeader ) const
+ const TDesC8& /* aHeader */ ) const
{
/* HLa
if ( aHeader.CompareF( KHttpRequestAcceptHeader ) == 0 )
@@ -2280,7 +2280,7 @@
// ---------------------------------------------------------------------------
//
TUint CCatalogsHttpDownload::MatchWithPredefinedGeneralHeader(
- const TDesC8& aHeader ) const
+ const TDesC8& /* aHeader */ ) const
{
/* HLa
if ( aHeader.CompareF( KHttpGeneralCacheControlHeader ) == 0 )
@@ -2314,7 +2314,7 @@
// ---------------------------------------------------------------------------
//
TUint CCatalogsHttpDownload::MatchWithPredefinedEntityHeader(
- const TDesC8& aHeader ) const
+ const TDesC8& /* aHeader */ ) const
{
/*
if ( aHeader.CompareF( KHttpEntityAllowHeader ) == 0 )
--- a/ncdengine/engine/transport/src/catalogshttpdownloadmanagerimpl.cpp Thu Oct 14 14:11:30 2010 +0300
+++ b/ncdengine/engine/transport/src/catalogshttpdownloadmanagerimpl.cpp Wed Oct 20 14:52:56 2010 +0300
@@ -112,11 +112,11 @@
{
DLTRACE(("We were connected to DL manager"));
DeleteHangingDownloads();
+
+ // Close download manager session
+ iDmgr->removeAll();
}
- // Close download manager session
- iDmgr->removeAll();
-
delete iDefaultConfig;
iManager.Release();
--- a/ncdengine/provider/deviceinteraction/src/ncdinstallationserviceimpl.cpp Thu Oct 14 14:11:30 2010 +0300
+++ b/ncdengine/provider/deviceinteraction/src/ncdinstallationserviceimpl.cpp Wed Oct 20 14:52:56 2010 +0300
@@ -97,6 +97,7 @@
CNcdInstallationService::~CNcdInstallationService()
{
DLTRACEIN((""));
+ delete iThemeName;
delete iSilentInstallActiveObserver;
iSilentInstallActiveObserver = NULL;
iRegistrySession.Close();
--- a/ncdengine/provider/protocol/src/ncdprotocolutils.cpp Thu Oct 14 14:11:30 2010 +0300
+++ b/ncdengine/provider/protocol/src/ncdprotocolutils.cpp Wed Oct 20 14:52:56 2010 +0300
@@ -31,7 +31,7 @@
// set caused the prefix to be ignored.
#define XML_PREFIX_HACK
-#warning XML DOM API PREFIX HACK ENABLED ON 3.2 AND 5.0 PLATFORMS
+//#warning XML DOM API PREFIX HACK ENABLED ON 3.2 AND 5.0 PLATFORMS