Swi::CUissClientHandler Class Reference

class Swi::CUissClientHandler : public CActive

This class communicates asynchronously with UISS using reverse completion mechanism, making requests to UISS and receiving completions with requests to display dialogs to the user, which it does by calling back to UI implementation (see Swi::MUiHandler and Swi::Launcher).

Note:

This class is similar to the class CInstCoordClient from Jetstream

Swi::MUiHandler Swi::Launcher

Inherits from

Public Member Functions
~CUissClientHandler()
voidCancelOperation()
voidInstallL(const CInstallPrefs &, const RArray< TInt > &, TRequestStatus &, RThread &)
TBool IsBusy()
CUissClientHandler *NewL(MUiHandler &, TBool)
CUissClientHandler *NewLC(MUiHandler &, TBool)
voidUninstallL(const CSisRegistryPackage &, TRequestStatus &)
voidWorkUntilCompleteL()
Private Member Functions
CUissClientHandler(MUiHandler &, TBool)
CUissClientHandler(const CUissClientHandler &)
voidAllocBufL(TInt)
voidCancel()
voidConstructL()
voidDoCancel()
voidHandleOverflowL()
voidInitializeArgStreamL(const CInstallPrefs &)
TInt RunError(TInt)
voidRunL()
TInt StartUiss()
CUissCmdHandler *UissCmdHandlerFactoryL(TInt)
TInt UissThreadFunction(TAny *)
voidWaitForSisHelperShutdown()
const CUissClientHandler &operator=(const CUissClientHandler &)
Inherited Functions
CActive::CActive(TInt)
CActive::Deque()
CActive::Extension_(TUint,TAny *&,TAny *)
CActive::IsActive()const
CActive::IsAdded()const
CActive::Priority()const
CActive::SetActive()
CActive::SetPriority(TInt)
CActive::~CActive()
CBase::CBase()
CBase::Delete(CBase *)
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()
Inherited Enumerations
CActive:TPriority
Private Attributes
const TIntKBufSize
TBool iActiveObjectMode
CWriteStream *iArgsStream
HBufC8 *iBuf
HBufC8 *iBufLogger
MCancelHandler *iCancelHandler
TRequestStatus *iClientStatus
TPtrC8 iPtrIntoArgsStream
TPtr8 iPtrIntoBuf
RThread iSisHelper
MUiHandler &iUiHandler
RUissSession iUissSession
Inherited Attributes
CActive::iStatus

Constructor & Destructor Documentation

CUissClientHandler(MUiHandler &, TBool)

CUissClientHandler(MUiHandler &aUiHandler,
TBoolaActiveObjectMode
)[private]

Parameters

MUiHandler & aUiHandler
TBool aActiveObjectMode

CUissClientHandler(const CUissClientHandler &)

CUissClientHandler(const CUissClientHandler &)[private]

Parameters

const CUissClientHandler &

~CUissClientHandler()

~CUissClientHandler()[virtual]

Member Functions Documentation

AllocBufL(TInt)

voidAllocBufL(TIntaSize)[private]

Parameters

TInt aSize

Cancel()

voidCancel()[private]

CancelOperation()

voidCancelOperation()

Cancels operation in progress

ConstructL()

voidConstructL()[private]

Allocates a buffer for reverse-completion commands. The buffer is going to be resized in case it is not sufficient for a dialog command.

DoCancel()

voidDoCancel()[private, virtual]

Cancel any internal request and complete the client request.

HandleOverflowL()

voidHandleOverflowL()[private]

InitializeArgStreamL(const CInstallPrefs &)

voidInitializeArgStreamL(const CInstallPrefs &aInstallPrefs)[private]

Parameters

const CInstallPrefs & aInstallPrefs

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

voidInstallL(const CInstallPrefs &aInstallPrefs,
const RArray< TInt > &aDeviceSupportedLanguages,
TRequestStatus &aStatus,
RThread &aServer
)

Performs installation asynchronously. The r/c mechanism is handled internally.

Parameters

const CInstallPrefs & aInstallPrefs
const RArray< TInt > & aDeviceSupportedLanguages
TRequestStatus & aStatus
RThread & aServer

IsBusy()

TBool IsBusy()

Returns true if an install/uninstall operation is in progress. This is different to IsActive() which just returns true if we have an outstanding request on the UISS.

NewL(MUiHandler &, TBool)

CUissClientHandler *NewL(MUiHandler &aUiHandler,
TBoolaActiveObjectMode = true
)[static]

Parameters

MUiHandler & aUiHandler
TBool aActiveObjectMode = true

NewLC(MUiHandler &, TBool)

CUissClientHandler *NewLC(MUiHandler &aUiHandler,
TBoolaActiveObjectMode = true
)[static]

Parameters

MUiHandler & aUiHandler
TBool aActiveObjectMode = true

RunError(TInt)

TInt RunError(TIntaError)[private, virtual]

Propogate RunL failures to client via its TRequestStatus

Parameters

TInt aError

RunL()

voidRunL()[private, virtual]

Process a completion of an internal request to the UISS server.

StartUiss()

TInt StartUiss()[private, static]

Starts UISS in a new thread of the same SISHelper process. Later SWIS will connect to UISS to show dialogs.

UissCmdHandlerFactoryL(TInt)

CUissCmdHandler *UissCmdHandlerFactoryL(TIntaCommand)const [private]

Creates a command handler object corresponding to the specified UI dialog request from SWIS

Parameters

TInt aCommand

UissThreadFunction(TAny *)

TInt UissThreadFunction(TAny *)[private, static]

UISS thread function to run UISS in the same process.

Parameters

TAny *

UninstallL(const CSisRegistryPackage &, TRequestStatus &)

voidUninstallL(const CSisRegistryPackage &aPackage,
TRequestStatus &aStatus
)

Performs uninstallation asynchronously. The r/c mechanism is handled internally.

Parameters

const CSisRegistryPackage & aPackagePackage to uninstall
TRequestStatus & aStatus

WaitForSisHelperShutdown()

voidWaitForSisHelperShutdown()[private]

WorkUntilCompleteL()

voidWorkUntilCompleteL()

Used during synchronous operation to issue/process all requests until operation is complete.

operator=(const CUissClientHandler &)

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

Parameters

const CUissClientHandler &

Member Data Documentation

const TInt KBufSize

const TIntKBufSize[private, static]

TBool iActiveObjectMode

TBool iActiveObjectMode[private]

CWriteStream * iArgsStream

CWriteStream *iArgsStream[private]

HBufC8 * iBuf

HBufC8 *iBuf[private]

HBufC8 * iBufLogger

HBufC8 *iBufLogger[private]

MCancelHandler * iCancelHandler

MCancelHandler *iCancelHandler[private]

TRequestStatus * iClientStatus

TRequestStatus *iClientStatus[private]

TPtrC8 iPtrIntoArgsStream

TPtrC8 iPtrIntoArgsStream[private]

TPtr8 iPtrIntoBuf

TPtr8 iPtrIntoBuf[private]

RThread iSisHelper

RThread iSisHelper[private]

MUiHandler & iUiHandler

MUiHandler &iUiHandler[private]

RUissSession iUissSession

RUissSession iUissSession[private]