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 void AddEmbeddedApplicationL ( CApplication *)
IMPORT_C void AddFileL (const Sis::CFileDescription &, TChar )
IMPORT_C void AddFileL (const CSisRegistryFileDescription &)
IMPORT_C void AddPropertyL (const TProperty &)
IMPORT_C void AddSisStubFileL (const CSisRegistryFileDescription &)
IMPORT_C TBool CanPropagate ()
IMPORT_C const Sis::CController & ControllerL ()
IMPORT_C void CopyDeviceSupportedLanguagesL (const RArray < TInt > &)
IMPORT_C void DisplayFileOnInstallL (const Sis::CFileDescription &, TChar )
IMPORT_C void DisplayFileOnUninstallL (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 TBool IsAugmentation ()
TBool IsDeletablePreinstalled ()
IMPORT_C TBool IsDeviceMatchingLanguage ( TInt )
TBool IsDeviceSupportedLanguages ()
IMPORT_C TBool IsDrmProtected ()
IMPORT_C TBool IsInROM (void)
IMPORT_C TBool IsInstall (void)
IMPORT_C TBool IsInstallSuCertBased ()
TBool IsLanguageMatch ()
IMPORT_C TBool IsPartialUpgrade ()
IMPORT_C TBool IsPreInstalledApp ()
IMPORT_C TBool IsPreInstalledPatch ()
TBool IsStub ()
IMPORT_C TBool IsUninstall ()
IMPORT_C TBool IsUpgrade ()
IMPORT_C CApplication * NewL ()
IMPORT_C CApplication * NewLC ()
IMPORT_C const CSisRegistryPackage & PackageL ()
IMPORT_C void PopulateMatchingDeviceLanguagesL ( TInt )
IMPORT_C const RArray < TProperty > & Properties ()
IMPORT_C void RemoveFileL (const CSisRegistryFileDescription &)
IMPORT_C void RemoveFileL (const TDesC &)
IMPORT_C void RunFileOnInstallL (const Sis::CFileDescription &, TChar )
IMPORT_C void RunFileOnUninstallL (const CSisRegistryFileDescription &)
void SetAbsoluteDataIndex ( TInt )
IMPORT_C void SetAugmentation (const Sis::CController &)
IMPORT_C void SetController ( TUid )
IMPORT_C void SetController (const Sis::CController &)
void SetDeletablePreinstalled ( TBool )
void SetDeviceSupportedLanguages (const TBool )
IMPORT_C void SetDrmProtected ( TBool )
IMPORT_C void SetInROM (void)
IMPORT_C void SetInstall (const Sis::CController &)
IMPORT_C void SetInstallSuCertBased ()
void SetLanguageMatch (const TBool )
IMPORT_C void SetPackageL (const CSisRegistryPackage &)
IMPORT_C void SetPartialUpgrade (const Sis::CController &)
IMPORT_C void SetPreInstalledApp (const Sis::CController &)
IMPORT_C void SetPreInstalledApp ()
IMPORT_C void SetPreInstalledPatch (const Sis::CController &)
IMPORT_C void SetPreInstalledPatch ()
void SetShutdownAllApps ( TBool )
IMPORT_C void SetSisHelper (const RSisHelper &)
void SetStub ( TBool )
IMPORT_C void SetUninstallL (const CSisRegistryPackage &)
IMPORT_C void SetUpgrade (const Sis::CController &)
TBool ShutdownAllApps ()
IMPORT_C void SkipFileOnInstallL (const Sis::CFileDescription &, TChar )
IMPORT_C TChar StubDrive ()
TSisPackageTrust Trust ()
const CUserSelections & UserSelections ()
CUserSelections & UserSelections ()
Private Member Functions
CApplication ()
void ConstructL ()
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
enum TFlags {
EUpgrade  = 1, EUninstall  = 2, EInstall  = 4, EAugmentation  = 8, EPreInstalled  = 16, EPartialUpgrade  = 32, EPreInstalledApp  = 64, EPreInstalledPatch  = 128, EInRom  = 256, EInstallSuCertBased  = 512
}
Public Attributes
const TInt KInstallFlags
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 void AddEmbeddedApplicationL ( 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 void AddFileL ( const Sis::CFileDescription & aFileDescription,
TChar aDrive
)

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

Parameters

const Sis::CFileDescription & aFileDescription Description of the file which needs to be added
TChar aDrive The drive where the file will be installed

AddFileL(const CSisRegistryFileDescription &)

IMPORT_C void AddFileL ( 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 & aFileDescription Description of the file which needs to be added

AddPropertyL(const TProperty &)

IMPORT_C void AddPropertyL ( const TProperty & aProperty )

Adds a property which will need to be added

Parameters

const TProperty & aProperty The property to be added.

AddSisStubFileL(const CSisRegistryFileDescription &)

IMPORT_C void AddSisStubFileL ( 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 & aFileDescription Description of the SIS stub file that needs to be added

CanPropagate()

IMPORT_C TBool CanPropagate ( ) 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()

void ConstructL ( ) [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 void CopyDeviceSupportedLanguagesL ( const RArray < TInt > & aDeviceSupportedLanguages )

Copies the device supported languages

Parameters

const RArray < TInt > & aDeviceSupportedLanguages

DisplayFileOnInstallL(const Sis::CFileDescription &, TChar)

IMPORT_C void DisplayFileOnInstallL ( const Sis::CFileDescription & aFileDescription,
TChar aDrive
)

Add files which need to be displayed during the installation.

Parameters

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

DisplayFileOnUninstallL(const CSisRegistryFileDescription &)

IMPORT_C void DisplayFileOnUninstallL ( 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 TBool IsAugmentation ( ) const

IsDeletablePreinstalled()

TBool IsDeletablePreinstalled ( ) const [inline]

IsDeviceMatchingLanguage(TInt)

IMPORT_C TBool IsDeviceMatchingLanguage ( TInt alangId ) 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 TBool IsDrmProtected ( ) const

Get the DRM protection status of the package.

IsInROM(void)

IMPORT_C TBool IsInROM ( void ) const

Parameters

void

IsInstall(void)

IMPORT_C TBool IsInstall ( void ) const

Parameters

void

IsInstallSuCertBased()

IMPORT_C TBool IsInstallSuCertBased ( ) const

IsLanguageMatch()

TBool IsLanguageMatch ( ) const [inline]

Return the language match flag

IsPartialUpgrade()

IMPORT_C TBool IsPartialUpgrade ( ) const

IsPreInstalledApp()

IMPORT_C TBool IsPreInstalledApp ( ) const

IsPreInstalledPatch()

IMPORT_C TBool IsPreInstalledPatch ( ) const

IsStub()

TBool IsStub ( ) const [inline]

IsUninstall()

IMPORT_C TBool IsUninstall ( ) const

IsUpgrade()

IMPORT_C TBool IsUpgrade ( ) 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 void PopulateMatchingDeviceLanguagesL ( TInt aLanguageId )

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 void RemoveFileL ( 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 void RemoveFileL ( 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 & aFileName Name of file which needs to be removed

RunFileOnInstallL(const Sis::CFileDescription &, TChar)

IMPORT_C void RunFileOnInstallL ( const Sis::CFileDescription & aFileDescription,
TChar aDrive
)

Add files which need to be run during the installation.

Parameters

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

RunFileOnUninstallL(const CSisRegistryFileDescription &)

IMPORT_C void RunFileOnUninstallL ( const CSisRegistryFileDescription & aFileName )

Add files which need to be run during the uninstallation.

Parameters

const CSisRegistryFileDescription & aFileName

SetAbsoluteDataIndex(TInt)

void SetAbsoluteDataIndex ( TInt aDataIndex ) [inline]

Parameters

TInt aDataIndex

SetAugmentation(const Sis::CController &)

IMPORT_C void SetAugmentation ( const Sis::CController & aController )

Informs the class, the Application is an augmentation

Parameters

const Sis::CController & aController

SetController(TUid)

IMPORT_C void SetController ( TUid aUid )

Sets the uid

Parameters

TUid aUid The Uid of the app

SetController(const Sis::CController &)

IMPORT_C void SetController ( const Sis::CController & aController )

Sets the controller

Parameters

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

SetDeletablePreinstalled(TBool)

void SetDeletablePreinstalled ( TBool aDeletablePreinstalled ) [inline]

Parameters

TBool aDeletablePreinstalled

SetDeviceSupportedLanguages(const TBool)

void SetDeviceSupportedLanguages ( const TBool aIsDeviceSupportedLanguages ) [inline]

Sets the device supported language flag

Parameters

const TBool aIsDeviceSupportedLanguages

SetDrmProtected(TBool)

IMPORT_C void SetDrmProtected ( TBool aIsDrmProtected )

Set the DRM protection status of the package.

Parameters

TBool aIsDrmProtected ETrue if the package is DRM protected. EFalse otherwise.

SetInROM(void)

IMPORT_C void SetInROM ( void )

Informs the class, the Application is in ROM

Parameters

void

SetInstall(const Sis::CController &)

IMPORT_C void SetInstall ( const Sis::CController & aController )

Informs the class, the Application is an install

Parameters

const Sis::CController & aController

SetInstallSuCertBased()

IMPORT_C void SetInstallSuCertBased ( )

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

SetLanguageMatch(const TBool)

void SetLanguageMatch ( const TBool aIsLanguageMatch ) [inline]

Sets the language match flag

Parameters

const TBool aIsLanguageMatch

SetPackageL(const CSisRegistryPackage &)

IMPORT_C void SetPackageL ( const CSisRegistryPackage & aPackage )

Parameters

const CSisRegistryPackage & aPackage

SetPartialUpgrade(const Sis::CController &)

IMPORT_C void SetPartialUpgrade ( const Sis::CController & aController )

Informs the class, the Application is a partial upgrade

Parameters

const Sis::CController & aController

SetPreInstalledApp(const Sis::CController &)

IMPORT_C void SetPreInstalledApp ( 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 void SetPreInstalledApp ( )

Informs the class that the application is a preinstalled app.

SetPreInstalledPatch(const Sis::CController &)

IMPORT_C void SetPreInstalledPatch ( 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 void SetPreInstalledPatch ( )

Informs the class that the application is a preinstalled patch

SetShutdownAllApps(TBool)

void SetShutdownAllApps ( TBool aShutdown ) [inline]

Parameters

TBool aShutdown

SetSisHelper(const RSisHelper &)

IMPORT_C void SetSisHelper ( const RSisHelper & aSisHelper )

Sets the sishelper

Parameters

const RSisHelper & aSisHelper - handle to sishelper

SetStub(TBool)

void SetStub ( TBool aIsStub ) [inline]

Parameters

TBool aIsStub

SetUninstallL(const CSisRegistryPackage &)

IMPORT_C void SetUninstallL ( const CSisRegistryPackage & aPackage )

Informs the class, the Application is a removal

Parameters

const CSisRegistryPackage & aPackage

SetUpgrade(const Sis::CController &)

IMPORT_C void SetUpgrade ( 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 void SkipFileOnInstallL ( const Sis::CFileDescription & aFileDescription,
TChar aDrive
)

Add files which may be skipped during the installation.

Parameters

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

StubDrive()

IMPORT_C TChar StubDrive ( ) 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 TInt KInstallFlags [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]