CXIMPHost Class Reference

class CXIMPHost : public CXIMPApiObjBase

Presence connection host.

ximpprocessor.lib
Since
S60 v3.2

Inherits from

Public Member Functions
voidActivateEventL(CXIMPApiEventBase &, MXIMPPscContext *)
voidActivateEventL(CXIMPApiEventBase &, CXIMPPscContext *)
voidAddEventL(CXIMPApiEventBase &, MXIMPPscContext *)
voidAddEventL(CXIMPApiEventBase &, CXIMPPscContext *)
voidAddNewOperationL(CXIMPOperationBase &)
TXIMPRequestId AddNewOperationL(CXIMPOperationBase *)
TXIMPRequestId AddNewOperationL(TInt, MXIMPBase *, MXIMPBase *)
TXIMPRequestId AddNewOperationL(TInt, CXIMPRestrictedObjectCollectionImp *)
voidClose()
voidFakeCompleteRequest(TXIMPRequestId, TInt)
voidForcedTeardownL()
MXIMPProtocolConnection &GetConnection()
TAny *GetProtocolHost(TInt)
voidHandleAdaptationRequestCompleted(TXIMPRequestId, TInt)
TXIMPRequestId HandleConnectionTerminated(MXIMPStatus *)
voidHandleInternalRequestCompleted(TXIMPRequestId, TInt)
voidHandleRequestCompleted(TXIMPRequestId, TInt)
voidHandleRequestCompleted(TXIMPRequestId, MXIMPStatus *)
voidHandleRequestCompleted(TXIMPRequestId, MXIMPStatus *, MXIMPBase *)
voidHandleSessionMgmtRequestCompleted(TXIMPRequestId, TInt)
IMPORT_C CXIMPHost *NewLC(MXIMPProtocolConnection &, TInt32)
MXIMPObjectFactory &ObjectFactory()
voidOpen()
CProtocolPresenceDataHostImp &PresenceDataAccess()
MProtocolPresenceDataHost &ProtocolPresenceDataHost()
TInt32 ProtocolUID()
voidRegisterObserverL(MXIMPProtocolConnectionHostObserver &, const TArray< TInt32 > *)
voidRegisterSessionL(CXIMPPscContext *)
voidSetProtocolHosts()
voidStartCleanerTimer()
voidUnregisterConnectionHostObserver(MXIMPProtocolConnectionHostObserver &)
voidUnregisterSession(CXIMPPscContext *)
Protected Member Functions
CXIMPHost(MXIMPProtocolConnection &, TInt32)
~CXIMPHost()
voidConstructL()
Private Member Functions
voidActivateProcessing()
TXIMPRequestId AddNewOperationL(NXIMPOps::TXIMPOpTypes)
TInt CleanerCallback(TAny *)
TInt CompleteAdaptationRequestCallback(TAny *)
TInt CompleteInternalRequestCallback(TAny *)
voidCompleteRequest(TXIMPRequestId)
TInt CompleteRequestCallback(TAny *)
TInt CompleteSessionMgmtRequestCallback(TAny *)
voidDoCleanerCallback()
voidDoCleanerCallbackL()
voidDoCompleteAdaptationRequestCallback()
voidDoCompleteInternalRequestCallback()
voidDoCompleteRequestCallback()
voidDoCompleteSessionMgmtRequestCallback()
voidDoStartProcessCallback()
voidLoadDataHostArrayL()
CXIMPOperationBase &OperationForRequestId(TXIMPRequestId)
TInt StartProcessCallback(TAny *)
voidStartProcessing()
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()
CXIMPApiObjBase::Base()
CXIMPApiObjBase::Base()const
CXIMPApiObjBase::CXIMPApiObjBase()
CXIMPApiObjBase::HandleUnknownGetInterface(TInt32,MXIMPBase::TIfGetOps)const
CXIMPApiObjBase::~CXIMPApiObjBase()
Private Member Enumerations
enumanonymous { ECompleteRequestCallback = 0, ECompleteAdaptationRequestCallback, ECompleteSessionMgmtRequestCallback, ECompleteInternalRequestCallback, EStartProcessCallback }
Inherited Enumerations
CXIMPApiObjBase:@31
Private Attributes
TInt iAdaptationOperationIndex
CXIMPProtocolRequestCompleteEventImp *iAdaptationReqCompleteEvent
RPointerArray< CAsyncCallBack >iCallBack
CPeriodic *iCleanerTimer
MXIMPProtocolConnection &iConnection
RPointerArray< MXIMPProtocolConnectionHostObserver >iConnectionHostObservers
CXIMPOperationBase *iCurrentOperation
CArrayFixFlat< MProtocolDataHost * > *iDataHostArray
CXIMPEventManager *iEventManager
TBool iForcedTearDown
TInt iHostOriginatedOpIndex
CXIMPObjectFactoryImp *iObjFactory
RXIMPObjOwningPtrArray< CXIMPOperationBase >iOperations
CProtocolPresenceDataHostImp *iPresenceDataHost
TBool iProcessing
TInt32 iProtocolUid
TInt iReferences
RPointerArray< CXIMPPscContext >iRegSessions
TXIMPRequestIdBuilder iReqIdBuilder
TBool iRunFromContextActivated
NXIMPHost::THostStates iState

Constructor & Destructor Documentation

CXIMPHost(MXIMPProtocolConnection &, TInt32)

CXIMPHost(MXIMPProtocolConnection &aConnection,
TInt32aProtocolUid
)[protected]

Parameters

MXIMPProtocolConnection & aConnection
TInt32 aProtocolUid

~CXIMPHost()

~CXIMPHost()[protected, virtual]

Reference counted. Use Close to remove a reference, and Open to open it. Can't be CObject-derived, since already derives from another C-class.

Member Functions Documentation

ActivateEventL(CXIMPApiEventBase &, MXIMPPscContext *)

voidActivateEventL(CXIMPApiEventBase &aEvent,
MXIMPPscContext *aContext
)

Parameters

CXIMPApiEventBase & aEvent
MXIMPPscContext * aContext

ActivateEventL(CXIMPApiEventBase &, CXIMPPscContext *)

voidActivateEventL(CXIMPApiEventBase &aEvent,
CXIMPPscContext *aContext
)

Parameters

CXIMPApiEventBase & aEvent
CXIMPPscContext * aContext

ActivateProcessing()

voidActivateProcessing()[private]

Activate next operation for processing and start processing.

AddEventL(CXIMPApiEventBase &, MXIMPPscContext *)

voidAddEventL(CXIMPApiEventBase &aEvent,
MXIMPPscContext *aContext
)

Parameters

CXIMPApiEventBase & aEvent
MXIMPPscContext * aContext

AddEventL(CXIMPApiEventBase &, CXIMPPscContext *)

voidAddEventL(CXIMPApiEventBase &aEvent,
CXIMPPscContext *aContext
)

Parameters

CXIMPApiEventBase & aEvent
CXIMPPscContext * aContext

AddNewOperationL(CXIMPOperationBase &)

voidAddNewOperationL(CXIMPOperationBase &aOperation)

Parameters

CXIMPOperationBase & aOperation

AddNewOperationL(CXIMPOperationBase *)

TXIMPRequestId AddNewOperationL(CXIMPOperationBase *aOperation)

Parameters

CXIMPOperationBase * aOperation

AddNewOperationL(TInt, MXIMPBase *, MXIMPBase *)

TXIMPRequestId AddNewOperationL(TIntaOperation,
MXIMPBase *aParam,
MXIMPBase *aParam2 = NULL
)

Parameters

TInt aOperation
MXIMPBase * aParam
MXIMPBase * aParam2 = NULL

AddNewOperationL(TInt, CXIMPRestrictedObjectCollectionImp *)

TXIMPRequestId AddNewOperationL(TIntaOperation,
CXIMPRestrictedObjectCollectionImp *aParams
)

Parameters

TInt aOperation
CXIMPRestrictedObjectCollectionImp * aParams

AddNewOperationL(NXIMPOps::TXIMPOpTypes)

TXIMPRequestId AddNewOperationL(NXIMPOps::TXIMPOpTypesaOpType)[private]

Parameters

NXIMPOps::TXIMPOpTypes aOpType

CleanerCallback(TAny *)

TInt CleanerCallback(TAny *aMyself)[private, static]

Callback for timer cleaner TCallBack

Parameters

TAny * aMyself

Close()

voidClose()

Remove a reference to this object. Once all references are removed, the class destroys itself.

CompleteAdaptationRequestCallback(TAny *)

TInt CompleteAdaptationRequestCallback(TAny *aInstance)[private, static]

Parameters

TAny * aInstance

CompleteInternalRequestCallback(TAny *)

TInt CompleteInternalRequestCallback(TAny *aInstance)[private, static]

Parameters

TAny * aInstance

CompleteRequest(TXIMPRequestId)

voidCompleteRequest(TXIMPRequestIdaReqId)[private]

Helper for completing the request, to avoid cyclical call chain from StartProcessingL to HandleRequestCompleted and back. HandleRequestCompleted

Parameters

TXIMPRequestId aReqId

CompleteRequestCallback(TAny *)

TInt CompleteRequestCallback(TAny *aInstance)[private, static]

Callback method for request complete.

Parameters

TAny * aInstance

CompleteSessionMgmtRequestCallback(TAny *)

TInt CompleteSessionMgmtRequestCallback(TAny *aInstance)[private, static]

Parameters

TAny * aInstance

ConstructL()

voidConstructL()[protected]

DoCleanerCallback()

voidDoCleanerCallback()[private]

Actual callback called from CleanerCallback.

DoCleanerCallbackL()

voidDoCleanerCallbackL()[private]

Leaving version of cleaner timer callback.

DoCompleteAdaptationRequestCallback()

voidDoCompleteAdaptationRequestCallback()[private]

DoCompleteInternalRequestCallback()

voidDoCompleteInternalRequestCallback()[private]

DoCompleteRequestCallback()

voidDoCompleteRequestCallback()[private]

Leaving version of Callback method for request complete.

DoCompleteSessionMgmtRequestCallback()

voidDoCompleteSessionMgmtRequestCallback()[private]

DoStartProcessCallback()

voidDoStartProcessCallback()[private]

Leaving version of Callback method for process starting.

FakeCompleteRequest(TXIMPRequestId, TInt)

voidFakeCompleteRequest(TXIMPRequestIdaReqId,
TIntaResult
)

Parameters

TXIMPRequestId aReqId
TInt aResult

ForcedTeardownL()

voidForcedTeardownL()

GetConnection()

MXIMPProtocolConnection &GetConnection()const

GetProtocolHost(TInt)

TAny *GetProtocolHost(TIntaInterfaceId)

Parameters

TInt aInterfaceId

HandleAdaptationRequestCompleted(TXIMPRequestId, TInt)

voidHandleAdaptationRequestCompleted(TXIMPRequestIdaReqId,
TIntaResult
)

Parameters

TXIMPRequestId aReqId
TInt aResult

HandleConnectionTerminated(MXIMPStatus *)

TXIMPRequestId HandleConnectionTerminated(MXIMPStatus *aReason)

Parameters

MXIMPStatus * aReason

HandleInternalRequestCompleted(TXIMPRequestId, TInt)

voidHandleInternalRequestCompleted(TXIMPRequestIdaReqId,
TIntaResult
)

Parameters

TXIMPRequestId aReqId
TInt aResult

HandleRequestCompleted(TXIMPRequestId, TInt)

voidHandleRequestCompleted(TXIMPRequestIdaReqId,
TIntaResultCode
)

Implementation of MXIMPBase interface methods MXIMPBase

Parameters

TXIMPRequestId aReqId
TInt aResultCode

HandleRequestCompleted(TXIMPRequestId, MXIMPStatus *)

voidHandleRequestCompleted(TXIMPRequestIdaReqId,
MXIMPStatus *aResult
)

Parameters

TXIMPRequestId aReqId
MXIMPStatus * aResult

HandleRequestCompleted(TXIMPRequestId, MXIMPStatus *, MXIMPBase *)

voidHandleRequestCompleted(TXIMPRequestIdaReqId,
MXIMPStatus *aResult,
MXIMPBase *aParameter
)

Parameters

TXIMPRequestId aReqId
MXIMPStatus * aResult
MXIMPBase * aParameter

HandleSessionMgmtRequestCompleted(TXIMPRequestId, TInt)

voidHandleSessionMgmtRequestCompleted(TXIMPRequestIdaReqId,
TIntaResult
)

Parameters

TXIMPRequestId aReqId
TInt aResult

LoadDataHostArrayL()

voidLoadDataHostArrayL()[private]

This is to load all the protocol hosts

NewLC(MXIMPProtocolConnection &, TInt32)

IMPORT_C CXIMPHost *NewLC(MXIMPProtocolConnection &aConnection,
TInt32aProtocolUid
)[static]

Parameters

MXIMPProtocolConnection & aConnection
TInt32 aProtocolUid

ObjectFactory()

MXIMPObjectFactory &ObjectFactory()

Open()

voidOpen()

Mark a reference to this object.

OperationForRequestId(TXIMPRequestId)

CXIMPOperationBase &OperationForRequestId(TXIMPRequestIdaReqId)[private]

This panics if active operation is not found for requestid.

Parameters

TXIMPRequestId aReqId

PresenceDataAccess()

CProtocolPresenceDataHostImp &PresenceDataAccess()

ProtocolPresenceDataHost()

MProtocolPresenceDataHost &ProtocolPresenceDataHost()

ProtocolUID()

TInt32 ProtocolUID()

RegisterObserverL(MXIMPProtocolConnectionHostObserver &, const TArray< TInt32 > *)

voidRegisterObserverL(MXIMPProtocolConnectionHostObserver &aObserver,
const TArray< TInt32 > *aEventFilter = NULL
)

Parameters

MXIMPProtocolConnectionHostObserver & aObserver
const TArray< TInt32 > * aEventFilter = NULL

RegisterSessionL(CXIMPPscContext *)

voidRegisterSessionL(CXIMPPscContext *aContext)

Parameters

CXIMPPscContext * aContext

SetProtocolHosts()

voidSetProtocolHosts()

StartCleanerTimer()

voidStartCleanerTimer()

StartProcessCallback(TAny *)

TInt StartProcessCallback(TAny *aInstance)[private, static]

Callback method for process starting.

Parameters

TAny * aInstance

StartProcessing()

voidStartProcessing()[private]

Delete old operation and try to launch processing.

UnregisterConnectionHostObserver(MXIMPProtocolConnectionHostObserver &)

voidUnregisterConnectionHostObserver(MXIMPProtocolConnectionHostObserver &aObserver)

UnregisterSession(CXIMPPscContext *)

voidUnregisterSession(CXIMPPscContext *aContext)

Parameters

CXIMPPscContext * aContext

Member Enumerations Documentation

Enum anonymous

Active object for async calls.

Enumerators

ECompleteRequestCallback = 0
ECompleteAdaptationRequestCallback
ECompleteSessionMgmtRequestCallback
ECompleteInternalRequestCallback
EStartProcessCallback

Member Data Documentation

TInt iAdaptationOperationIndex

TInt iAdaptationOperationIndex[private]

CXIMPProtocolRequestCompleteEventImp * iAdaptationReqCompleteEvent

CXIMPProtocolRequestCompleteEventImp *iAdaptationReqCompleteEvent[private]

Adaptation request complete event.

RPointerArray< CAsyncCallBack > iCallBack

RPointerArray< CAsyncCallBack >iCallBack[private]

CPeriodic * iCleanerTimer

CPeriodic *iCleanerTimer[private]

Timer for clean operation creation.

MXIMPProtocolConnection & iConnection

MXIMPProtocolConnection &iConnection[private]

iConnection

RPointerArray< MXIMPProtocolConnectionHostObserver > iConnectionHostObservers

RPointerArray< MXIMPProtocolConnectionHostObserver >iConnectionHostObservers[private]

Observers for adaptation requests.

CXIMPOperationBase * iCurrentOperation

CXIMPOperationBase *iCurrentOperation[private]

CArrayFixFlat< MProtocolDataHost * > * iDataHostArray

CArrayFixFlat< MProtocolDataHost * > *iDataHostArray[private]

array to hold data hosts

CXIMPEventManager * iEventManager

CXIMPEventManager *iEventManager[private]

TBool iForcedTearDown

TBool iForcedTearDown[private]

Forced tear down flag.

TInt iHostOriginatedOpIndex

TInt iHostOriginatedOpIndex[private]

Operation index for host-originated operations (currently only reconnect operation)

CXIMPObjectFactoryImp * iObjFactory

CXIMPObjectFactoryImp *iObjFactory[private]

Object factory.

RXIMPObjOwningPtrArray< CXIMPOperationBase > iOperations

RXIMPObjOwningPtrArray< CXIMPOperationBase >iOperations[private]

Container for the operations. Owns the operations. Own.

CProtocolPresenceDataHostImp * iPresenceDataHost

CProtocolPresenceDataHostImp *iPresenceDataHost[private]

Data cache Data hosts

TBool iProcessing

TBool iProcessing[private]

State identifier

TInt32 iProtocolUid

TInt32 iProtocolUid[private]

Uid for protocol to use for request id builder

TInt iReferences

TInt iReferences[private]

Reference counter

RPointerArray< CXIMPPscContext > iRegSessions

RPointerArray< CXIMPPscContext >iRegSessions[private]

Container for session datas that are registered to this host. Shared ownership. Cleanup for items must be done with close method. Not delete.

TXIMPRequestIdBuilder iReqIdBuilder

TXIMPRequestIdBuilder iReqIdBuilder[private]

Builder for TXIMPRequestIds. Owned.

TBool iRunFromContextActivated

TBool iRunFromContextActivated[private]

NXIMPHost::THostStates iState

NXIMPHost::THostStates iState[private]

Internal state of the host