Swi::CAsyncLauncher Class Reference

class Swi::CAsyncLauncher : public CBase

Installation or removal CAsyncLauncher class.

This class defines an asynchronous API to the software install which is intended to be used by a CActive object running within an active scheduler. CActiveSchedulerThe client needs to wait for the TRequestStatus object passed in to be updated, but MUST do so by using the active scheduler, otherwise the installer will be unable to initiate/process the multiple internal requests which make up an (un)install procedure.

Within a process, all calls must originate from the same thread.

It should be noted by users of this interface that starting an install causes an instance of a "helper" server to be started in process, sharing the same heap as the client process. This may lead to a number of side effects, including the heap being temporarily inbalanced after the client request is completed, due to the delay in the server thread shutting down.

Note that the EEventAbortedInstall and EEventAbortedUnInstall callbacks are no longer generated.

Inherits from

Public Member Functions
~CAsyncLauncher()
voidCancelOperation()
IMPORT_C voidInstallL(MUiHandler &, const TFileName &, const CInstallPrefs &, TRequestStatus &)
IMPORT_C voidInstallL(MUiHandler &, MSisDataProvider &, const CInstallPrefs &, TRequestStatus &)
IMPORT_C voidInstallL(MUiHandler &, RFile &, const CInstallPrefs &, TRequestStatus &)
IMPORT_C voidInstallL(MUiHandler &, const TFileName &, const CInstallPrefs &, const RArray< TInt > &, TRequestStatus &)
IMPORT_C voidInstallL(MUiHandler &, RFile &, const CInstallPrefs &, const RArray< TInt > &, TRequestStatus &)
IMPORT_C voidInstallL(MUiHandler &, MSisDataProvider &, const CInstallPrefs &, const RArray< TInt > &, TRequestStatus &)
IMPORT_C CAsyncLauncher *NewL()
IMPORT_C CAsyncLauncher *NewLC()
IMPORT_C voidUninstallL(MUiHandler &, const TUid &, TRequestStatus &)
IMPORT_C voidUninstallL(MUiHandler &, const CSisRegistryPackage &, TRequestStatus &)
Private Member Functions
CAsyncLauncher(const CAsyncLauncher &)
CAsyncLauncher()
voidDoInstallL(TSisHelperStartParams &, MUiHandler &, const CInstallPrefs &, const RArray< TInt > &, TRequestStatus &)
TBool VerifyBusyL(TRequestStatus &)
const CAsyncLauncher &operator=(const CAsyncLauncher &)
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()
Private Attributes
CUissClientHandler *iUissClientHandler

Constructor & Destructor Documentation

CAsyncLauncher(const CAsyncLauncher &)

CAsyncLauncher(const CAsyncLauncher &)[private]

Parameters

const CAsyncLauncher &

CAsyncLauncher()

CAsyncLauncher()[private]

Constructor for CAsyncLauncher is private - instance can only be created via NewLC or NewL.

~CAsyncLauncher()

IMPORT_C~CAsyncLauncher()[virtual]

Destructor for this class

Member Functions Documentation

CancelOperation()

voidCancelOperation()[virtual]

Calling Cancelperation cancels the current operation of Software Install. On cancellation Software Install performs full rollback of the current operation.

Note that the cancellation is asynchronous and its completion will be notified by the completion of the original install/uninstall request (with a status of KErrCancel).

DoInstallL(TSisHelperStartParams &, MUiHandler &, const CInstallPrefs &, const RArray< TInt > &, TRequestStatus &)

voidDoInstallL(TSisHelperStartParams &aHelperParams,
MUiHandler &aUiHandler,
const CInstallPrefs &aInstallPrefs,
const RArray< TInt > &aDeviceSupportedLanguages,
TRequestStatus &aRequest
)[private]

Parameters

TSisHelperStartParams & aHelperParams
MUiHandler & aUiHandler
const CInstallPrefs & aInstallPrefs
const RArray< TInt > & aDeviceSupportedLanguages
TRequestStatus & aRequest

InstallL(MUiHandler &, const TFileName &, const CInstallPrefs &, TRequestStatus &)

IMPORT_C voidInstallL(MUiHandler &aUiHandler,
const TFileName &aFileName,
const CInstallPrefs &aInstallPrefs,
TRequestStatus &aRequest
)

Starts software installation in case of a locally available SISX file.

MUiHandler CInstallPrefs

Parameters

MUiHandler & aUiHandlerUI implementation
const TFileName & aFileNameLocal name of the SISX file
const CInstallPrefs & aInstallPrefsInstallation preferences
TRequestStatus & aRequestClient's CActive object's iStatus

InstallL(MUiHandler &, MSisDataProvider &, const CInstallPrefs &, TRequestStatus &)

IMPORT_C voidInstallL(MUiHandler &aUiHandler,
MSisDataProvider &aDataProvider,
const CInstallPrefs &aInstallPrefs,
TRequestStatus &aRequest
)

Starts software installation with package data provided by means of IPC.

MUiHandler MSisDataProvider CInstallPrefs

Parameters

MUiHandler & aUiHandlerUI implementation
MSisDataProvider & aDataProviderSIS data provider implementation, which may supply data either by reading a file or by streaming
const CInstallPrefs & aInstallPrefsInstallation preferences
TRequestStatus & aRequestClient's CActive object's iStatus

InstallL(MUiHandler &, RFile &, const CInstallPrefs &, TRequestStatus &)

IMPORT_C voidInstallL(MUiHandler &aUiHandler,
RFile &aFileHandle,
const CInstallPrefs &aInstallPrefs,
TRequestStatus &aRequest
)

Starts software installation with package data provided by means of IPC.

MUiHandler CInstallPrefs

Parameters

MUiHandler & aUiHandlerUI implementation
RFile & aFileHandleFile handle of the file to install.
const CInstallPrefs & aInstallPrefsInstallation preferences
TRequestStatus & aRequestClient's CActive object's iStatus

InstallL(MUiHandler &, const TFileName &, const CInstallPrefs &, const RArray< TInt > &, TRequestStatus &)

IMPORT_C voidInstallL(MUiHandler &aUiHandler,
const TFileName &aFileName,
const CInstallPrefs &aInstallPrefs,
const RArray< TInt > &aDeviceSupportedLanguages,
TRequestStatus &aRequest
)

Starts software installation in case of a locally available SISX file.

MUiHandler CInstallPrefs

Parameters

MUiHandler & aUiHandlerUI implementation
const TFileName & aFileNameLocal name of the SISX file
const CInstallPrefs & aInstallPrefsInstallation preferences
const RArray< TInt > & aDeviceSupportedLanguagesSet of languages which device supports.If the array passed is empty, then the behavior will be same as the InstallL API without aDeviceSupportedLanguages option.
TRequestStatus & aRequestClient's CActive object's iStatus

InstallL(MUiHandler &, RFile &, const CInstallPrefs &, const RArray< TInt > &, TRequestStatus &)

IMPORT_C voidInstallL(MUiHandler &aUiHandler,
RFile &aFileHandle,
const CInstallPrefs &aInstallPrefs,
const RArray< TInt > &aDeviceSupportedLanguages,
TRequestStatus &aRequest
)

Starts software installation with package data provided by means of IPC.

MUiHandler CInstallPrefs

Parameters

MUiHandler & aUiHandlerUI implementation
RFile & aFileHandleFile handle of the file to install.
const CInstallPrefs & aInstallPrefsInstallation preferences
const RArray< TInt > & aDeviceSupportedLanguagesSet of languages which device supports.If the array passed is empty, then the behavior will be same as the InstallL API without aDeviceSupportedLanguages option.
TRequestStatus & aRequestClient's CActive object's iStatus

InstallL(MUiHandler &, MSisDataProvider &, const CInstallPrefs &, const RArray< TInt > &, TRequestStatus &)

IMPORT_C voidInstallL(MUiHandler &aUiHandler,
MSisDataProvider &aDataProvider,
const CInstallPrefs &aInstallPrefs,
const RArray< TInt > &aDeviceSupportedLanguages,
TRequestStatus &aRequest
)

Starts software installation with package data provided by means of IPC.

MUiHandler MSisDataProvider CInstallPrefs

Parameters

MUiHandler & aUiHandlerUI implementation
MSisDataProvider & aDataProviderSIS data provider implementation, which may supply data either by reading a file or by streaming
const CInstallPrefs & aInstallPrefsInstallation preferences
const RArray< TInt > & aDeviceSupportedLanguagesSet of languages which device supports. If the array passed is empty, then the behavior will be same as the InstallL API without aDeviceSupportedLanguages option.
TRequestStatus & aRequestClient's CActive object's iStatus

NewL()

IMPORT_C CAsyncLauncher *NewL()[static]

Creates a new CAsyncLauncher object.

NewLC()

IMPORT_C CAsyncLauncher *NewLC()[static]

Creates a new CAsyncLauncher object and places it on the cleanup stack.

UninstallL(MUiHandler &, const TUid &, TRequestStatus &)

IMPORT_C voidUninstallL(MUiHandler &aUiHandler,
const TUid &aUid,
TRequestStatus &aRequest
)

Uninstalls the main package identified by UID, and all the augmentations associated with this package.

MUiHandler

Parameters

MUiHandler & aUiHandlerUI implementation
const TUid & aUidUID of the application to remove
TRequestStatus & aRequestClient's CActive object's iStatus

UninstallL(MUiHandler &, const CSisRegistryPackage &, TRequestStatus &)

IMPORT_C voidUninstallL(MUiHandler &aUiHandler,
const CSisRegistryPackage &aPackage,
TRequestStatus &aRequest
)

Uninstalls a specific package.

MUiHandler

Parameters

MUiHandler & aUiHandlerUI implementation
const CSisRegistryPackage & aPackageThe specific package to uninstall.
TRequestStatus & aRequestClient's CActive object's iStatus

VerifyBusyL(TRequestStatus &)

TBool VerifyBusyL(TRequestStatus &aRequest)[private]

Parameters

TRequestStatus & aRequest

operator=(const CAsyncLauncher &)

const CAsyncLauncher &operator=(const CAsyncLauncher &)[private]

Parameters

const CAsyncLauncher &

Member Data Documentation

CUissClientHandler * iUissClientHandler

CUissClientHandler *iUissClientHandler[private]

Pointer to our UISS handler.

Owned by this class.