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 ()
void CancelOperation ()
void InstallL (const CInstallPrefs &, const RArray < TInt > &, TRequestStatus &, RThread &)
TBool IsBusy ()
CUissClientHandler * NewL ( MUiHandler &, TBool )
CUissClientHandler * NewLC ( MUiHandler &, TBool )
void UninstallL (const CSisRegistryPackage &, TRequestStatus &)
void WorkUntilCompleteL ()
Private Member Functions
CUissClientHandler ( MUiHandler &, TBool )
CUissClientHandler (const CUissClientHandler &)
void AllocBufL ( TInt )
void Cancel ()
void ConstructL ()
void DoCancel ()
void HandleOverflowL ()
void InitializeArgStreamL (const CInstallPrefs &)
TInt RunError ( TInt )
void RunL ()
TInt StartUiss ()
CUissCmdHandler * UissCmdHandlerFactoryL ( TInt )
TInt UissThreadFunction ( TAny *)
void WaitForSisHelperShutdown ()
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 TInt KBufSize
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,
TBool aActiveObjectMode
) [private]

Parameters

MUiHandler & aUiHandler
TBool aActiveObjectMode

CUissClientHandler(const CUissClientHandler &)

CUissClientHandler ( const CUissClientHandler & ) [private]

Parameters

const CUissClientHandler &

~CUissClientHandler()

~CUissClientHandler ( ) [virtual]

Member Functions Documentation

AllocBufL(TInt)

void AllocBufL ( TInt aSize ) [private]

Parameters

TInt aSize

Cancel()

void Cancel ( ) [private]

CancelOperation()

void CancelOperation ( )

Cancels operation in progress

ConstructL()

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

void DoCancel ( ) [private, virtual]

Cancel any internal request and complete the client request.

HandleOverflowL()

void HandleOverflowL ( ) [private]

InitializeArgStreamL(const CInstallPrefs &)

void InitializeArgStreamL ( const CInstallPrefs & aInstallPrefs ) [private]

Parameters

const CInstallPrefs & aInstallPrefs

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

void InstallL ( 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,
TBool aActiveObjectMode = true
) [static]

Parameters

MUiHandler & aUiHandler
TBool aActiveObjectMode = true

NewLC(MUiHandler &, TBool)

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

Parameters

MUiHandler & aUiHandler
TBool aActiveObjectMode = true

RunError(TInt)

TInt RunError ( TInt aError ) [private, virtual]

Propogate RunL failures to client via its TRequestStatus

Parameters

TInt aError

RunL()

void RunL ( ) [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 ( TInt aCommand ) 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 &)

void UninstallL ( const CSisRegistryPackage & aPackage,
TRequestStatus & aStatus
)

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

Parameters

const CSisRegistryPackage & aPackage Package to uninstall
TRequestStatus & aStatus

WaitForSisHelperShutdown()

void WaitForSisHelperShutdown ( ) [private]

WorkUntilCompleteL()

void WorkUntilCompleteL ( )

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 TInt KBufSize [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]