CXIMPHost Class Reference

class CXIMPHost : public CXIMPApiObjBase

Presence connection host.

ximpprocessor.lib
Since
S60 v3.2

Inherits from

Public Member Functions
void ActivateEventL ( CXIMPApiEventBase &, MXIMPPscContext *)
void ActivateEventL ( CXIMPApiEventBase &, CXIMPPscContext *)
void AddEventL ( CXIMPApiEventBase &, MXIMPPscContext *)
void AddEventL ( CXIMPApiEventBase &, CXIMPPscContext *)
void AddNewOperationL ( CXIMPOperationBase &)
TXIMPRequestId AddNewOperationL ( CXIMPOperationBase *)
TXIMPRequestId AddNewOperationL ( TInt , MXIMPBase *, MXIMPBase *)
TXIMPRequestId AddNewOperationL ( TInt , CXIMPRestrictedObjectCollectionImp *)
void Close ()
void FakeCompleteRequest ( TXIMPRequestId , TInt )
void ForcedTeardownL ()
MXIMPProtocolConnection & GetConnection ()
TAny * GetProtocolHost ( TInt )
void HandleAdaptationRequestCompleted ( TXIMPRequestId , TInt )
TXIMPRequestId HandleConnectionTerminated ( MXIMPStatus *)
void HandleInternalRequestCompleted ( TXIMPRequestId , TInt )
void HandleRequestCompleted ( TXIMPRequestId , TInt )
void HandleRequestCompleted ( TXIMPRequestId , MXIMPStatus *)
void HandleRequestCompleted ( TXIMPRequestId , MXIMPStatus *, MXIMPBase *)
void HandleSessionMgmtRequestCompleted ( TXIMPRequestId , TInt )
IMPORT_C CXIMPHost * NewLC ( MXIMPProtocolConnection &, TInt32 )
MXIMPObjectFactory & ObjectFactory ()
void Open ()
CProtocolPresenceDataHostImp & PresenceDataAccess ()
MProtocolPresenceDataHost & ProtocolPresenceDataHost ()
TInt32 ProtocolUID ()
void RegisterObserverL ( MXIMPProtocolConnectionHostObserver &, const TArray < TInt32 > *)
void RegisterSessionL ( CXIMPPscContext *)
void SetProtocolHosts ()
void StartCleanerTimer ()
void UnregisterConnectionHostObserver ( MXIMPProtocolConnectionHostObserver &)
void UnregisterSession ( CXIMPPscContext *)
Protected Member Functions
CXIMPHost ( MXIMPProtocolConnection &, TInt32 )
~CXIMPHost ()
void ConstructL ()
Private Member Functions
void ActivateProcessing ()
TXIMPRequestId AddNewOperationL ( NXIMPOps::TXIMPOpTypes )
TInt CleanerCallback ( TAny *)
TInt CompleteAdaptationRequestCallback ( TAny *)
TInt CompleteInternalRequestCallback ( TAny *)
void CompleteRequest ( TXIMPRequestId )
TInt CompleteRequestCallback ( TAny *)
TInt CompleteSessionMgmtRequestCallback ( TAny *)
void DoCleanerCallback ()
void DoCleanerCallbackL ()
void DoCompleteAdaptationRequestCallback ()
void DoCompleteInternalRequestCallback ()
void DoCompleteRequestCallback ()
void DoCompleteSessionMgmtRequestCallback ()
void DoStartProcessCallback ()
void LoadDataHostArrayL ()
CXIMPOperationBase & OperationForRequestId ( TXIMPRequestId )
TInt StartProcessCallback ( TAny *)
void StartProcessing ()
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
enum anonymous { 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,
TInt32 aProtocolUid
) [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 *)

void ActivateEventL ( CXIMPApiEventBase & aEvent,
MXIMPPscContext * aContext
)

Parameters

CXIMPApiEventBase & aEvent
MXIMPPscContext * aContext

ActivateEventL(CXIMPApiEventBase &, CXIMPPscContext *)

void ActivateEventL ( CXIMPApiEventBase & aEvent,
CXIMPPscContext * aContext
)

Parameters

CXIMPApiEventBase & aEvent
CXIMPPscContext * aContext

ActivateProcessing()

void ActivateProcessing ( ) [private]

Activate next operation for processing and start processing.

AddEventL(CXIMPApiEventBase &, MXIMPPscContext *)

void AddEventL ( CXIMPApiEventBase & aEvent,
MXIMPPscContext * aContext
)

Parameters

CXIMPApiEventBase & aEvent
MXIMPPscContext * aContext

AddEventL(CXIMPApiEventBase &, CXIMPPscContext *)

void AddEventL ( CXIMPApiEventBase & aEvent,
CXIMPPscContext * aContext
)

Parameters

CXIMPApiEventBase & aEvent
CXIMPPscContext * aContext

AddNewOperationL(CXIMPOperationBase &)

void AddNewOperationL ( CXIMPOperationBase & aOperation )

Parameters

CXIMPOperationBase & aOperation

AddNewOperationL(CXIMPOperationBase *)

TXIMPRequestId AddNewOperationL ( CXIMPOperationBase * aOperation )

Parameters

CXIMPOperationBase * aOperation

AddNewOperationL(TInt, MXIMPBase *, MXIMPBase *)

TXIMPRequestId AddNewOperationL ( TInt aOperation,
MXIMPBase * aParam,
MXIMPBase * aParam2 = NULL
)

Parameters

TInt aOperation
MXIMPBase * aParam
MXIMPBase * aParam2 = NULL

AddNewOperationL(TInt, CXIMPRestrictedObjectCollectionImp *)

TXIMPRequestId AddNewOperationL ( TInt aOperation,
CXIMPRestrictedObjectCollectionImp * aParams
)

Parameters

TInt aOperation
CXIMPRestrictedObjectCollectionImp * aParams

AddNewOperationL(NXIMPOps::TXIMPOpTypes)

TXIMPRequestId AddNewOperationL ( NXIMPOps::TXIMPOpTypes aOpType ) [private]

Parameters

NXIMPOps::TXIMPOpTypes aOpType

CleanerCallback(TAny *)

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

Callback for timer cleaner TCallBack

Parameters

TAny * aMyself

Close()

void Close ( )

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)

void CompleteRequest ( TXIMPRequestId aReqId ) [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()

void ConstructL ( ) [protected]

DoCleanerCallback()

void DoCleanerCallback ( ) [private]

Actual callback called from CleanerCallback.

DoCleanerCallbackL()

void DoCleanerCallbackL ( ) [private]

Leaving version of cleaner timer callback.

DoCompleteAdaptationRequestCallback()

void DoCompleteAdaptationRequestCallback ( ) [private]

DoCompleteInternalRequestCallback()

void DoCompleteInternalRequestCallback ( ) [private]

DoCompleteRequestCallback()

void DoCompleteRequestCallback ( ) [private]

Leaving version of Callback method for request complete.

DoCompleteSessionMgmtRequestCallback()

void DoCompleteSessionMgmtRequestCallback ( ) [private]

DoStartProcessCallback()

void DoStartProcessCallback ( ) [private]

Leaving version of Callback method for process starting.

FakeCompleteRequest(TXIMPRequestId, TInt)

void FakeCompleteRequest ( TXIMPRequestId aReqId,
TInt aResult
)

Parameters

TXIMPRequestId aReqId
TInt aResult

ForcedTeardownL()

void ForcedTeardownL ( )

GetConnection()

MXIMPProtocolConnection & GetConnection ( ) const

GetProtocolHost(TInt)

TAny * GetProtocolHost ( TInt aInterfaceId )

Parameters

TInt aInterfaceId

HandleAdaptationRequestCompleted(TXIMPRequestId, TInt)

void HandleAdaptationRequestCompleted ( TXIMPRequestId aReqId,
TInt aResult
)

Parameters

TXIMPRequestId aReqId
TInt aResult

HandleConnectionTerminated(MXIMPStatus *)

TXIMPRequestId HandleConnectionTerminated ( MXIMPStatus * aReason )

Parameters

MXIMPStatus * aReason

HandleInternalRequestCompleted(TXIMPRequestId, TInt)

void HandleInternalRequestCompleted ( TXIMPRequestId aReqId,
TInt aResult
)

Parameters

TXIMPRequestId aReqId
TInt aResult

HandleRequestCompleted(TXIMPRequestId, TInt)

void HandleRequestCompleted ( TXIMPRequestId aReqId,
TInt aResultCode
)

Implementation of MXIMPBase interface methods MXIMPBase

Parameters

TXIMPRequestId aReqId
TInt aResultCode

HandleRequestCompleted(TXIMPRequestId, MXIMPStatus *)

void HandleRequestCompleted ( TXIMPRequestId aReqId,
MXIMPStatus * aResult
)

Parameters

TXIMPRequestId aReqId
MXIMPStatus * aResult

HandleRequestCompleted(TXIMPRequestId, MXIMPStatus *, MXIMPBase *)

void HandleRequestCompleted ( TXIMPRequestId aReqId,
MXIMPStatus * aResult,
MXIMPBase * aParameter
)

Parameters

TXIMPRequestId aReqId
MXIMPStatus * aResult
MXIMPBase * aParameter

HandleSessionMgmtRequestCompleted(TXIMPRequestId, TInt)

void HandleSessionMgmtRequestCompleted ( TXIMPRequestId aReqId,
TInt aResult
)

Parameters

TXIMPRequestId aReqId
TInt aResult

LoadDataHostArrayL()

void LoadDataHostArrayL ( ) [private]

This is to load all the protocol hosts

NewLC(MXIMPProtocolConnection &, TInt32)

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

Parameters

MXIMPProtocolConnection & aConnection
TInt32 aProtocolUid

ObjectFactory()

MXIMPObjectFactory & ObjectFactory ( )

Open()

void Open ( )

Mark a reference to this object.

OperationForRequestId(TXIMPRequestId)

CXIMPOperationBase & OperationForRequestId ( TXIMPRequestId aReqId ) [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 > *)

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

Parameters

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

RegisterSessionL(CXIMPPscContext *)

void RegisterSessionL ( CXIMPPscContext * aContext )

Parameters

CXIMPPscContext * aContext

SetProtocolHosts()

void SetProtocolHosts ( )

StartCleanerTimer()

void StartCleanerTimer ( )

StartProcessCallback(TAny *)

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

Callback method for process starting.

Parameters

TAny * aInstance

StartProcessing()

void StartProcessing ( ) [private]

Delete old operation and try to launch processing.

UnregisterConnectionHostObserver(MXIMPProtocolConnectionHostObserver &)

void UnregisterConnectionHostObserver ( MXIMPProtocolConnectionHostObserver & aObserver )

UnregisterSession(CXIMPPscContext *)

void UnregisterSession ( 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