Swi::CApplication Class Reference

class Swi::CApplication : public CBase

Container class for an application that is going to be installed.

Inherits from

Nested Classes and Structures

Public Member Functions
~CApplication()
TInt AbsoluteDataIndex()
IMPORT_C voidAddEmbeddedApplicationL(CApplication *)
IMPORT_C voidAddFileL(const Sis::CFileDescription &, TChar)
IMPORT_C voidAddFileL(const CSisRegistryFileDescription &)
IMPORT_C voidAddPropertyL(const TProperty &)
IMPORT_C voidAddSisStubFileL(const CSisRegistryFileDescription &)
IMPORT_C TBoolCanPropagate()
IMPORT_C const Sis::CController &ControllerL()
IMPORT_C voidCopyDeviceSupportedLanguagesL(const RArray< TInt > &)
IMPORT_C voidDisplayFileOnInstallL(const Sis::CFileDescription &, TChar)
IMPORT_C voidDisplayFileOnUninstallL(const CSisRegistryFileDescription &)
IMPORT_C const RPointerArray< CApplication > &EmbeddedApplications()
IMPORT_C const RPointerArray< CSisRegistryFileDescription > &FilesToAdd()
IMPORT_C const RPointerArray< CSisRegistryFileDescription > &FilesToDisplayOnInstall()
IMPORT_C const RPointerArray< CSisRegistryFileDescription > &FilesToDisplayOnUninstall()
IMPORT_C const RPointerArray< CSisRegistryFileDescription > &FilesToRemove()
IMPORT_C const RPointerArray< CSisRegistryFileDescription > &FilesToRunOnInstall()
IMPORT_C const RPointerArray< CSisRegistryFileDescription > &FilesToRunOnUninstall()
IMPORT_C const RPointerArray< CSisRegistryFileDescription > &FilesToSkipOnInstall()
const RArray< TInt > &GetDeviceSupportedLanguages(void)
IMPORT_C const RArray< TInt > &GetMatchingDeviceLanguages(void)
IMPORT_C RSisHelper &GetSisHelper()
IMPORT_C TBoolIsAugmentation()
TBool IsDeletablePreinstalled()
IMPORT_C TBoolIsDeviceMatchingLanguage(TInt)
TBool IsDeviceSupportedLanguages()
IMPORT_C TBoolIsDrmProtected()
IMPORT_C TBoolIsInROM(void)
IMPORT_C TBoolIsInstall(void)
IMPORT_C TBoolIsInstallSuCertBased()
TBool IsLanguageMatch()
IMPORT_C TBoolIsPartialUpgrade()
IMPORT_C TBoolIsPreInstalledApp()
IMPORT_C TBoolIsPreInstalledPatch()
TBool IsStub()
IMPORT_C TBoolIsUninstall()
IMPORT_C TBoolIsUpgrade()
IMPORT_C CApplication *NewL()
IMPORT_C CApplication *NewLC()
IMPORT_C const CSisRegistryPackage &PackageL()
IMPORT_C voidPopulateMatchingDeviceLanguagesL(TInt)
IMPORT_C const RArray< TProperty > &Properties()
IMPORT_C voidRemoveFileL(const CSisRegistryFileDescription &)
IMPORT_C voidRemoveFileL(const TDesC &)
IMPORT_C voidRunFileOnInstallL(const Sis::CFileDescription &, TChar)
IMPORT_C voidRunFileOnUninstallL(const CSisRegistryFileDescription &)
voidSetAbsoluteDataIndex(TInt)
IMPORT_C voidSetAugmentation(const Sis::CController &)
IMPORT_C voidSetController(TUid)
IMPORT_C voidSetController(const Sis::CController &)
voidSetDeletablePreinstalled(TBool)
voidSetDeviceSupportedLanguages(const TBool)
IMPORT_C voidSetDrmProtected(TBool)
IMPORT_C voidSetInROM(void)
IMPORT_C voidSetInstall(const Sis::CController &)
IMPORT_C voidSetInstallSuCertBased()
voidSetLanguageMatch(const TBool)
IMPORT_C voidSetPackageL(const CSisRegistryPackage &)
IMPORT_C voidSetPartialUpgrade(const Sis::CController &)
IMPORT_C voidSetPreInstalledApp(const Sis::CController &)
IMPORT_C voidSetPreInstalledApp()
IMPORT_C voidSetPreInstalledPatch(const Sis::CController &)
IMPORT_C voidSetPreInstalledPatch()
voidSetShutdownAllApps(TBool)
IMPORT_C voidSetSisHelper(const RSisHelper &)
voidSetStub(TBool)
IMPORT_C voidSetUninstallL(const CSisRegistryPackage &)
IMPORT_C voidSetUpgrade(const Sis::CController &)
TBool ShutdownAllApps()
IMPORT_C voidSkipFileOnInstallL(const Sis::CFileDescription &, TChar)
IMPORT_C TCharStubDrive()
TSisPackageTrust Trust()
const CUserSelections &UserSelections()
CUserSelections &UserSelections()
Private Member Functions
CApplication()
voidConstructL()
Inherited Functions
CBase::CBase()
CBase::Delete(CBase *)
CBase::Extension_(TUint,TAny *&,TAny *)
CBase::operator new(TUint)
CBase::operator new(TUint,TAny *)
CBase::operator new(TUint,TLeave)
CBase::operator new(TUint,TLeave,TUint)
CBase::operator new(TUint,TUint)
CBase::~CBase()
Public Member Enumerations
enumTFlags {
EUpgrade = 1, EUninstall = 2, EInstall = 4, EAugmentation = 8, EPreInstalled = 16, EPartialUpgrade = 32, EPreInstalledApp = 64, EPreInstalledPatch = 128, EInRom = 256, EInstallSuCertBased = 512
}
Public Attributes
const TIntKInstallFlags
Private Attributes
TInt iAbsoluteDataIndex
TBool iCanPropagate
const Sis::CController *iController
TBool iDeletablePreinstalled
RArray< TInt >iDeviceSupportedLanguages
RPointerArray< CApplication >iEmbeddedApplications
RPointerArray< CSisRegistryFileDescription >iFilesToAdd
RPointerArray< CSisRegistryFileDescription >iFilesToDisplayOnInstall
RPointerArray< CSisRegistryFileDescription >iFilesToDisplayOnUninstall
RPointerArray< CSisRegistryFileDescription >iFilesToRemove
RPointerArray< CSisRegistryFileDescription >iFilesToRunOnInstall
RPointerArray< CSisRegistryFileDescription >iFilesToRunOnUninstall
RPointerArray< CSisRegistryFileDescription >iFilesToSkipOnInstall
TInt iFlags
TBool iHasDeviceSupportedLanguages
TBool iHasMatchingLanguages
TBool iIsStub
RArray< TInt >iMatchingDeviceLanguages
CSisRegistryPackage *iPackage
TChar iPropagateDrive
RArray< TProperty >iProperties
TBool iShutdown
const RSisHelper *iSisHelper
TUid *iUid
CUserSelections *iUserSelections

Constructor & Destructor Documentation

CApplication()

CApplication()[private]

~CApplication()

~CApplication()[virtual]

The destructor.

Member Functions Documentation

AbsoluteDataIndex()

TInt AbsoluteDataIndex()const [inline]

AddEmbeddedApplicationL(CApplication *)

IMPORT_C voidAddEmbeddedApplicationL(CApplication *aApplication)

Adds an embedded Application object to class

Parameters

CApplication * aApplication- Embedded Application to add to class

AddFileL(const Sis::CFileDescription &, TChar)

IMPORT_C voidAddFileL(const Sis::CFileDescription &aFileDescription,
TCharaDrive
)

Add a file to the list of files that need to be added during the installation, removed during uninstallation.

Parameters

const Sis::CFileDescription & aFileDescriptionDescription of the file which needs to be added
TChar aDriveThe drive where the file will be installed

AddFileL(const CSisRegistryFileDescription &)

IMPORT_C voidAddFileL(const CSisRegistryFileDescription &aFileDescription)

Add a file to the list of files that need to be added during the installation, removed during uninstallation.

Parameters

const CSisRegistryFileDescription & aFileDescriptionDescription of the file which needs to be added

AddPropertyL(const TProperty &)

IMPORT_C voidAddPropertyL(const TProperty &aProperty)

Adds a property which will need to be added

Parameters

const TProperty & aPropertyThe property to be added.

AddSisStubFileL(const CSisRegistryFileDescription &)

IMPORT_C voidAddSisStubFileL(const CSisRegistryFileDescription &aFileDescription)

Add the file description for a removable media SIS stub file generated during this installation. This allows the SIS stub to be removed during an uninstallation

Parameters

const CSisRegistryFileDescription & aFileDescriptionDescription of the SIS stub file that needs to be added

CanPropagate()

IMPORT_C TBoolCanPropagate()const

Returns if the package is currently allowed to be propagated as a SIS stub (this means it has at least one file description and all the files are on the same drive)

ConstructL()

voidConstructL()[private]

ControllerL()

IMPORT_C const Sis::CController &ControllerL()const
leave
KErrGeneral The application is an uninstall and doesn't have a controller

CopyDeviceSupportedLanguagesL(const RArray< TInt > &)

IMPORT_C voidCopyDeviceSupportedLanguagesL(const RArray< TInt > &aDeviceSupportedLanguages)

Copies the device supported languages

Parameters

const RArray< TInt > & aDeviceSupportedLanguages

DisplayFileOnInstallL(const Sis::CFileDescription &, TChar)

IMPORT_C voidDisplayFileOnInstallL(const Sis::CFileDescription &aFileDescription,
TCharaDrive
)

Add files which need to be displayed during the installation.

Parameters

const Sis::CFileDescription & aFileDescriptionDescription of the file which needs to be displayed
TChar aDrive

DisplayFileOnUninstallL(const CSisRegistryFileDescription &)

IMPORT_C voidDisplayFileOnUninstallL(const CSisRegistryFileDescription &aFileName)

Add files which need to be displayed during the uninstallation.

Parameters

const CSisRegistryFileDescription & aFileName

EmbeddedApplications()

IMPORT_C const RPointerArray< CApplication > &EmbeddedApplications()const

FilesToAdd()

IMPORT_C const RPointerArray< CSisRegistryFileDescription > &FilesToAdd()const

Accessor for the array of files to add during the installation

FilesToDisplayOnInstall()

IMPORT_C const RPointerArray< CSisRegistryFileDescription > &FilesToDisplayOnInstall()const

Accessor for the array of files to display during the installation

FilesToDisplayOnUninstall()

IMPORT_C const RPointerArray< CSisRegistryFileDescription > &FilesToDisplayOnUninstall()const

Accessor for the array of files to display during the uninstallation

FilesToRemove()

IMPORT_C const RPointerArray< CSisRegistryFileDescription > &FilesToRemove()const

Accessor for the array of files to remove during the installation

FilesToRunOnInstall()

IMPORT_C const RPointerArray< CSisRegistryFileDescription > &FilesToRunOnInstall()const

Accessor for the array of files to run during the installation

FilesToRunOnUninstall()

IMPORT_C const RPointerArray< CSisRegistryFileDescription > &FilesToRunOnUninstall()const

Accessor for the array of files to run during the uninstallation

FilesToSkipOnInstall()

IMPORT_C const RPointerArray< CSisRegistryFileDescription > &FilesToSkipOnInstall()const

Accessor for the array of files to skip during the installation

GetDeviceSupportedLanguages(void)

const RArray< TInt > &GetDeviceSupportedLanguages(void)[inline]

Parameters

void

GetMatchingDeviceLanguages(void)

IMPORT_C const RArray< TInt > &GetMatchingDeviceLanguages(void)

Return RArray containing list of language ID's that are present in both device supported languages and with SUPPORTED_LANGUAGE token used in PKG file

Parameters

void

GetSisHelper()

IMPORT_C RSisHelper &GetSisHelper()

IsAugmentation()

IMPORT_C TBoolIsAugmentation()const

IsDeletablePreinstalled()

TBool IsDeletablePreinstalled()const [inline]

IsDeviceMatchingLanguage(TInt)

IMPORT_C TBoolIsDeviceMatchingLanguage(TIntalangId)const

Return flag indicating whether there is a language match(Exact match) or not.

Parameters

TInt alangId- language id

IsDeviceSupportedLanguages()

TBool IsDeviceSupportedLanguages()const [inline]

Return the device supported language flag

IsDrmProtected()

IMPORT_C TBoolIsDrmProtected()const

Get the DRM protection status of the package.

IsInROM(void)

IMPORT_C TBoolIsInROM(void)const

Parameters

void

IsInstall(void)

IMPORT_C TBoolIsInstall(void)const

Parameters

void

IsInstallSuCertBased()

IMPORT_C TBoolIsInstallSuCertBased()const

IsLanguageMatch()

TBool IsLanguageMatch()const [inline]

Return the language match flag

IsPartialUpgrade()

IMPORT_C TBoolIsPartialUpgrade()const

IsPreInstalledApp()

IMPORT_C TBoolIsPreInstalledApp()const

IsPreInstalledPatch()

IMPORT_C TBoolIsPreInstalledPatch()const

IsStub()

TBool IsStub()const [inline]

IsUninstall()

IMPORT_C TBoolIsUninstall()const

IsUpgrade()

IMPORT_C TBoolIsUpgrade()const

NewL()

IMPORT_C CApplication *NewL()[static]

This creates a new CApplication object.

NewLC()

IMPORT_C CApplication *NewLC()[static]

This creates a new CApplication object and leaves it in the cleanup stack

PackageL()

IMPORT_C const CSisRegistryPackage &PackageL()const

PopulateMatchingDeviceLanguagesL(TInt)

IMPORT_C voidPopulateMatchingDeviceLanguagesL(TIntaLanguageId)

Adds the matching language ID's on to languages Array

Parameters

TInt aLanguageId

Properties()

IMPORT_C const RArray< TProperty > &Properties()const

Returns the list of properties associated with the application.

RemoveFileL(const CSisRegistryFileDescription &)

IMPORT_C voidRemoveFileL(const CSisRegistryFileDescription &aFileName)

Add file to the list of files that need to be removed during the installation.

Parameters

const CSisRegistryFileDescription & aFileName

RemoveFileL(const TDesC &)

IMPORT_C voidRemoveFileL(const TDesC &aFileName)

Add file to the list of files that need to be removed during the installation. This is used for a file which is not actually part of an existing registry entry.

Parameters

const TDesC & aFileNameName of file which needs to be removed

RunFileOnInstallL(const Sis::CFileDescription &, TChar)

IMPORT_C voidRunFileOnInstallL(const Sis::CFileDescription &aFileDescription,
TCharaDrive
)

Add files which need to be run during the installation.

Parameters

const Sis::CFileDescription & aFileDescriptionDescription of the file which needs to be run
TChar aDrive

RunFileOnUninstallL(const CSisRegistryFileDescription &)

IMPORT_C voidRunFileOnUninstallL(const CSisRegistryFileDescription &aFileName)

Add files which need to be run during the uninstallation.

Parameters

const CSisRegistryFileDescription & aFileName

SetAbsoluteDataIndex(TInt)

voidSetAbsoluteDataIndex(TIntaDataIndex)[inline]

Parameters

TInt aDataIndex

SetAugmentation(const Sis::CController &)

IMPORT_C voidSetAugmentation(const Sis::CController &aController)

Informs the class, the Application is an augmentation

Parameters

const Sis::CController & aController

SetController(TUid)

IMPORT_C voidSetController(TUidaUid)

Sets the uid

Parameters

TUid aUidThe Uid of the app

SetController(const Sis::CController &)

IMPORT_C voidSetController(const Sis::CController &aController)

Sets the controller

Parameters

const Sis::CController & aController- Signed contoller of app to install

SetDeletablePreinstalled(TBool)

voidSetDeletablePreinstalled(TBoolaDeletablePreinstalled)[inline]

Parameters

TBool aDeletablePreinstalled

SetDeviceSupportedLanguages(const TBool)

voidSetDeviceSupportedLanguages(const TBoolaIsDeviceSupportedLanguages)[inline]

Sets the device supported language flag

Parameters

const TBool aIsDeviceSupportedLanguages

SetDrmProtected(TBool)

IMPORT_C voidSetDrmProtected(TBoolaIsDrmProtected)

Set the DRM protection status of the package.

Parameters

TBool aIsDrmProtectedETrue if the package is DRM protected. EFalse otherwise.

SetInROM(void)

IMPORT_C voidSetInROM(void)

Informs the class, the Application is in ROM

Parameters

void

SetInstall(const Sis::CController &)

IMPORT_C voidSetInstall(const Sis::CController &aController)

Informs the class, the Application is an install

Parameters

const Sis::CController & aController

SetInstallSuCertBased()

IMPORT_C voidSetInstallSuCertBased()

Informs the class, the Application is allowed to install based on SU Cert rules

SetLanguageMatch(const TBool)

voidSetLanguageMatch(const TBoolaIsLanguageMatch)[inline]

Sets the language match flag

Parameters

const TBool aIsLanguageMatch

SetPackageL(const CSisRegistryPackage &)

IMPORT_C voidSetPackageL(const CSisRegistryPackage &aPackage)

Parameters

const CSisRegistryPackage & aPackage

SetPartialUpgrade(const Sis::CController &)

IMPORT_C voidSetPartialUpgrade(const Sis::CController &aController)

Informs the class, the Application is a partial upgrade

Parameters

const Sis::CController & aController

SetPreInstalledApp(const Sis::CController &)

IMPORT_C voidSetPreInstalledApp(const Sis::CController &aController)

Informs the class that the application is a preinstalled app and sets the controller.

Parameters

const Sis::CController & aController- Identifies the application's controller.

SetPreInstalledApp()

IMPORT_C voidSetPreInstalledApp()

Informs the class that the application is a preinstalled app.

SetPreInstalledPatch(const Sis::CController &)

IMPORT_C voidSetPreInstalledPatch(const Sis::CController &aController)

Informs the class that the application is a preinstalled patch and sets the controller.

Parameters

const Sis::CController & aController- Identifies the application's controller.

SetPreInstalledPatch()

IMPORT_C voidSetPreInstalledPatch()

Informs the class that the application is a preinstalled patch

SetShutdownAllApps(TBool)

voidSetShutdownAllApps(TBoolaShutdown)[inline]

Parameters

TBool aShutdown

SetSisHelper(const RSisHelper &)

IMPORT_C voidSetSisHelper(const RSisHelper &aSisHelper)

Sets the sishelper

Parameters

const RSisHelper & aSisHelper- handle to sishelper

SetStub(TBool)

voidSetStub(TBoolaIsStub)[inline]

Parameters

TBool aIsStub

SetUninstallL(const CSisRegistryPackage &)

IMPORT_C voidSetUninstallL(const CSisRegistryPackage &aPackage)

Informs the class, the Application is a removal

Parameters

const CSisRegistryPackage & aPackage

SetUpgrade(const Sis::CController &)

IMPORT_C voidSetUpgrade(const Sis::CController &aController)

Informs the class, the Application is an upgrade

Parameters

const Sis::CController & aController

ShutdownAllApps()

TBool ShutdownAllApps()const [inline]

SkipFileOnInstallL(const Sis::CFileDescription &, TChar)

IMPORT_C voidSkipFileOnInstallL(const Sis::CFileDescription &aFileDescription,
TCharaDrive
)

Add files which may be skipped during the installation.

Parameters

const Sis::CFileDescription & aFileDescriptionDescription of the file which needs to be skipped
TChar aDrive

StubDrive()

IMPORT_C TCharStubDrive()const

Returns the drive that the package should be propagated to.

Trust()

TSisPackageTrust Trust()const [inline]

This is replaced by the TSisTrustStatus object in the SisController.

UserSelections()

const CUserSelections &UserSelections()const [inline]

UserSelections()

CUserSelections &UserSelections()[inline]

Member Enumerations Documentation

Enum TFlags

Enumerators

EUpgrade = 1
EUninstall = 2
EInstall = 4
EAugmentation = 8
EPreInstalled = 16
EPartialUpgrade = 32
EPreInstalledApp = 64
EPreInstalledPatch = 128
EInRom = 256
EInstallSuCertBased = 512

Member Data Documentation

const TInt KInstallFlags

const TIntKInstallFlags[static]

TInt iAbsoluteDataIndex

TInt iAbsoluteDataIndex[private]

TBool iCanPropagate

TBool iCanPropagate[private]

Member variables needed to determine if it is permitted to propagate this package as a stub

const Sis::CController * iController

const Sis::CController *iController[private]

The signed contoller of the application

TBool iDeletablePreinstalled

TBool iDeletablePreinstalled[private]

RArray< TInt > iDeviceSupportedLanguages

RArray< TInt >iDeviceSupportedLanguages[private]

RPointerArray< CApplication > iEmbeddedApplications

RPointerArray< CApplication >iEmbeddedApplications[private]

List of applications that are embedded in this one

RPointerArray< CSisRegistryFileDescription > iFilesToAdd

RPointerArray< CSisRegistryFileDescription >iFilesToAdd[private]

List of files to install

RPointerArray< CSisRegistryFileDescription > iFilesToDisplayOnInstall

RPointerArray< CSisRegistryFileDescription >iFilesToDisplayOnInstall[private]

RPointerArray< CSisRegistryFileDescription > iFilesToDisplayOnUninstall

RPointerArray< CSisRegistryFileDescription >iFilesToDisplayOnUninstall[private]

RPointerArray< CSisRegistryFileDescription > iFilesToRemove

RPointerArray< CSisRegistryFileDescription >iFilesToRemove[private]

List of existing file (for partial upgrade), that need backing up and placing back into install directory once upgrade is completed. i.e. user data files

RPointerArray< CSisRegistryFileDescription > iFilesToRunOnInstall

RPointerArray< CSisRegistryFileDescription >iFilesToRunOnInstall[private]

RPointerArray< CSisRegistryFileDescription > iFilesToRunOnUninstall

RPointerArray< CSisRegistryFileDescription >iFilesToRunOnUninstall[private]

RPointerArray< CSisRegistryFileDescription > iFilesToSkipOnInstall

RPointerArray< CSisRegistryFileDescription >iFilesToSkipOnInstall[private]

TInt iFlags

TInt iFlags[private]

TBool iHasDeviceSupportedLanguages

TBool iHasDeviceSupportedLanguages[private]

TBool iHasMatchingLanguages

TBool iHasMatchingLanguages[private]

TBool iIsStub

TBool iIsStub[private]

RArray< TInt > iMatchingDeviceLanguages

RArray< TInt >iMatchingDeviceLanguages[private]

CSisRegistryPackage * iPackage

CSisRegistryPackage *iPackage[private]

TChar iPropagateDrive

TChar iPropagateDrive[private]

RArray< TProperty > iProperties

RArray< TProperty >iProperties[private]

Properties associated with this application. The registry needs to add these to it's records.

TBool iShutdown

TBool iShutdown[private]

ETrue if all running applications should be shutdown on install and uninstall. EFalse otherwise.

const RSisHelper * iSisHelper

const RSisHelper *iSisHelper[private]

Handle to SISHelper

TUid * iUid

TUid *iUid[private]

CUserSelections * iUserSelections

CUserSelections *iUserSelections[private]