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. CActiveScheduler The 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 ()
void CancelOperation ()
IMPORT_C void InstallL ( MUiHandler &, const TFileName &, const CInstallPrefs &, TRequestStatus &)
IMPORT_C void InstallL ( MUiHandler &, MSisDataProvider &, const CInstallPrefs &, TRequestStatus &)
IMPORT_C void InstallL ( MUiHandler &, RFile &, const CInstallPrefs &, TRequestStatus &)
IMPORT_C void InstallL ( MUiHandler &, const TFileName &, const CInstallPrefs &, const RArray < TInt > &, TRequestStatus &)
IMPORT_C void InstallL ( MUiHandler &, RFile &, const CInstallPrefs &, const RArray < TInt > &, TRequestStatus &)
IMPORT_C void InstallL ( MUiHandler &, MSisDataProvider &, const CInstallPrefs &, const RArray < TInt > &, TRequestStatus &)
IMPORT_C CAsyncLauncher * NewL ()
IMPORT_C CAsyncLauncher * NewLC ()
IMPORT_C void UninstallL ( MUiHandler &, const TUid &, TRequestStatus &)
IMPORT_C void UninstallL ( MUiHandler &, const CSisRegistryPackage &, TRequestStatus &)
Private Member Functions
CAsyncLauncher (const CAsyncLauncher &)
CAsyncLauncher ()
void DoInstallL ( 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()

void CancelOperation ( ) [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 &)

void DoInstallL ( 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 void InstallL ( 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 & aUiHandler UI implementation
const TFileName & aFileName Local name of the SISX file
const CInstallPrefs & aInstallPrefs Installation preferences
TRequestStatus & aRequest Client's CActive object's iStatus

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

IMPORT_C void InstallL ( 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 & aUiHandler UI implementation
MSisDataProvider & aDataProvider SIS data provider implementation, which may supply data either by reading a file or by streaming
const CInstallPrefs & aInstallPrefs Installation preferences
TRequestStatus & aRequest Client's CActive object's iStatus

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

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

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

MUiHandler CInstallPrefs

Parameters

MUiHandler & aUiHandler UI implementation
RFile & aFileHandle File handle of the file to install.
const CInstallPrefs & aInstallPrefs Installation preferences
TRequestStatus & aRequest Client's CActive object's iStatus

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

IMPORT_C void InstallL ( 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 & aUiHandler UI implementation
const TFileName & aFileName Local name of the SISX file
const CInstallPrefs & aInstallPrefs Installation preferences
const RArray < TInt > & aDeviceSupportedLanguages Set 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 & aRequest Client's CActive object's iStatus

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

IMPORT_C void InstallL ( 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 & aUiHandler UI implementation
RFile & aFileHandle File handle of the file to install.
const CInstallPrefs & aInstallPrefs Installation preferences
const RArray < TInt > & aDeviceSupportedLanguages Set 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 & aRequest Client's CActive object's iStatus

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

IMPORT_C void InstallL ( 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 & aUiHandler UI implementation
MSisDataProvider & aDataProvider SIS data provider implementation, which may supply data either by reading a file or by streaming
const CInstallPrefs & aInstallPrefs Installation preferences
const RArray < TInt > & aDeviceSupportedLanguages Set 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 & aRequest Client'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 void UninstallL ( 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 & aUiHandler UI implementation
const TUid & aUid UID of the application to remove
TRequestStatus & aRequest Client's CActive object's iStatus

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

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

Uninstalls a specific package.

MUiHandler

Parameters

MUiHandler & aUiHandler UI implementation
const CSisRegistryPackage & aPackage The specific package to uninstall.
TRequestStatus & aRequest Client'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.