CTelObject Class Reference

class CTelObject : public CObject

Inherits from

Public Member Functions
CTelObject()
~CTelObject()
TDes8 *BufferDes1(const CBuffer *, CBuffer::TWhichSlot)
TDes16 *BufferDes1u(const CBuffer *, CBuffer::TWhichSlot)
TDes8 *BufferDes2(const CBuffer *, CBuffer::TWhichSlot)
TDes16 *BufferDes2u(const CBuffer *, CBuffer::TWhichSlot)
voidCancelSubSession(CTelSession *, const TInt)
voidCheckAndDestroyDummySubSession()
voidCloseSubSessionPreProcessing(CTelSession *, const TInt)
voidCreateDummySession(CTelSession *, const TInt, TBool)
voidCreateDummySessionObjectL(CTelSession *)
IMPORT_C TIntDownCallOption(const TInt, TAny *)
IMPORT_C voidFlowControlResume()
IMPORT_C voidFlowControlSuspend()
voidFlushReqs(CTelSession *, const TInt)
voidGeneralReq(const RMessage2 &, CTelSession *, CReqEntry *, TBool)
IMPORT_C TSecurityPolicyGetRequiredPlatSecCaps(const TInt)
voidOpenPostProcessing(CTelSession *, const TInt)
CPhoneBase *PhoneOwner()
TUint8 *Ptr1(const TDes8 *)
voidRemoveDummySubSessionDestroyer()
IMPORT_C voidReqCompleted(const TTsyReqHandle, const TInt)
TInt ResolveError(CTelSession *, const TInt)
IMPORT_C TIntServerVersion()
TInt Service(const RMessage2 &, CReqEntry *)
voidSetPhoneOwner(CPhoneBase *)
voidTelObjectClose()
IMPORT_C TIntUpCallOption(const TInt, TAny *)
voidUpdateAndCompleteIfNecessary(CReqEntry *, TInt)
voidWriteBackAndCompleteBufferedReq(const RMessage2 &, CReqEntry *, TInt)
voidWriteBackAndCompleteReq(CReqEntry *, const TInt)
Protected Member Functions
TBool IsPriorityClientReq(TInt)
Private Member Functions
IMPORT_C voidCTelObject_Reserved1()
voidCancelActiveReq(CTelSession *, const TInt)
voidCheckAndResize(TInt &, const RMessage2 &)
CReqEntry *CheckForSimilarRequestAndCreateL(const RMessage2 &, CTelSession *)
voidCompleteAndDestroyReq(CReqEntry *, const TInt)
voidCompleteOrBufferRead(const RMessage2 &, CReqEntry *)
HEtelBufC8 *CreateNarrowBufferLC(RHeap *, const RMessage2 &, TUint, TUint, TInt &, TInt &, TInt)
HEtelBufC16 *CreateUnicodeBufferLC(RHeap *, const RMessage2 &, TUint, TUint, TInt &, TInt &, TInt)
voidDestroyReq(CReqEntry *)
voidGetMessageDescriptorSizes(const RMessage2 &, TInt &, TInt &)
TBool IsActiveReq(CTelSession *, const TInt)
TBool IsSameMessageType(const RMessage2 &, CReqEntry *)
CReqEntry *ReqAnalyserL(const RMessage2 &, CTelSession *, TReqMode &)
Inherited Functions
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()
CObject::AccessCount()const
CObject::CObject()
CObject::Close()
CObject::Dec()
CObject::Extension_(TUint,TAny *&,TAny *)
CObject::FullName()const
CObject::Inc()
CObject::Name()const
CObject::Open()
CObject::Owner()const
CObject::SetName(const TDesC *)
CObject::SetNameL(const TDesC *)
CObject::SetOwner(CObject *)
CObject::UniqueID()const
CObject::~CObject()
Private Attributes
TInt iActiveReqCount
TAny *iCTelObject_Reserved
TBool iCreateDummy
CDestroyDummySubSession *iDestroyDummySubSession
CPhoneBase *iPhoneOwner
CTelServer *iTelServer

Constructor & Destructor Documentation

CTelObject()

IMPORT_CCTelObject()

~CTelObject()

IMPORT_C~CTelObject()[virtual]

Member Functions Documentation

BufferDes1(const CBuffer *, CBuffer::TWhichSlot)

TDes8 *BufferDes1(const CBuffer *aBuffer,
CBuffer::TWhichSlotaWhichSlot
)const

Parameters

const CBuffer * aBuffer
CBuffer::TWhichSlot aWhichSlot

BufferDes1u(const CBuffer *, CBuffer::TWhichSlot)

TDes16 *BufferDes1u(const CBuffer *aBuffer,
CBuffer::TWhichSlotaWhichSlot
)const

Parameters

const CBuffer * aBuffer
CBuffer::TWhichSlot aWhichSlot

BufferDes2(const CBuffer *, CBuffer::TWhichSlot)

TDes8 *BufferDes2(const CBuffer *aBuffer,
CBuffer::TWhichSlotaWhichSlot
)const

Parameters

const CBuffer * aBuffer
CBuffer::TWhichSlot aWhichSlot

BufferDes2u(const CBuffer *, CBuffer::TWhichSlot)

TDes16 *BufferDes2u(const CBuffer *aBuffer,
CBuffer::TWhichSlotaWhichSlot
)const

Parameters

const CBuffer * aBuffer
CBuffer::TWhichSlot aWhichSlot

CTelObject_Reserved1()

IMPORT_C voidCTelObject_Reserved1()[private, virtual]

CancelActiveReq(CTelSession *, const TInt)

voidCancelActiveReq(CTelSession *aSession,
const TIntaSubSessionHandle
)[private]

Parameters

CTelSession * aSession
const TInt aSubSessionHandle

CancelSubSession(CTelSession *, const TInt)

voidCancelSubSession(CTelSession *aSession,
const TIntaSubSessionHandle
)

Parameters

CTelSession * aSession
const TInt aSubSessionHandle

CheckAndDestroyDummySubSession()

voidCheckAndDestroyDummySubSession()

CheckAndResize(TInt &, const RMessage2 &)

voidCheckAndResize(TInt &aSizeOfData,
const RMessage2 &aMessage
)const [private]

Parameters

TInt & aSizeOfData
const RMessage2 & aMessage

CheckForSimilarRequestAndCreateL(const RMessage2 &, CTelSession *)

CReqEntry *CheckForSimilarRequestAndCreateL(const RMessage2 &aMessage,
CTelSession *aSession
)const [private]

Parameters

const RMessage2 & aMessage
CTelSession * aSession

CloseSubSessionPreProcessing(CTelSession *, const TInt)

voidCloseSubSessionPreProcessing(CTelSession *aSession,
const TIntaSubSessionHandle
)[pure virtual]

Parameters

CTelSession * aSession
const TInt aSubSessionHandle

CompleteAndDestroyReq(CReqEntry *, const TInt)

voidCompleteAndDestroyReq(CReqEntry *aReqEntry,
const TIntaStatus
)const [private]

Parameters

CReqEntry * aReqEntry
const TInt aStatus

CompleteOrBufferRead(const RMessage2 &, CReqEntry *)

voidCompleteOrBufferRead(const RMessage2 &aMessage,
CReqEntry *aReqEntry
)[private]

Parameters

const RMessage2 & aMessage
CReqEntry * aReqEntry

CreateDummySession(CTelSession *, const TInt, TBool)

voidCreateDummySession(CTelSession *aSession,
const TIntaSubSessionHandle,
TBoolaCreateDummy = EFalse
)

Parameters

CTelSession * aSession
const TInt aSubSessionHandle
TBool aCreateDummy = EFalse

CreateDummySessionObjectL(CTelSession *)

voidCreateDummySessionObjectL(CTelSession *aTelSession)

Parameters

CTelSession * aTelSession

CreateNarrowBufferLC(RHeap *, const RMessage2 &, TUint, TUint, TInt &, TInt &, TInt)

HEtelBufC8 *CreateNarrowBufferLC(RHeap *aHeap,
const RMessage2 &aMessage,
TUintaIndexOfClientPtr1,
TUintaIndexOfClientPtr2,
TInt &aSize1,
TInt &aSize2,
TIntaNoOfSlots
)const [private]

Parameters

RHeap * aHeap
const RMessage2 & aMessage
TUint aIndexOfClientPtr1
TUint aIndexOfClientPtr2
TInt & aSize1
TInt & aSize2
TInt aNoOfSlots

CreateUnicodeBufferLC(RHeap *, const RMessage2 &, TUint, TUint, TInt &, TInt &, TInt)

HEtelBufC16 *CreateUnicodeBufferLC(RHeap *aHeap,
const RMessage2 &aMessage,
TUintaIndexOfClientPtr1,
TUintaIndexOfClientPtr2,
TInt &aSize1,
TInt &aSize2,
TIntaNoOfSlots
)const [private]

Parameters

RHeap * aHeap
const RMessage2 & aMessage
TUint aIndexOfClientPtr1
TUint aIndexOfClientPtr2
TInt & aSize1
TInt & aSize2
TInt aNoOfSlots

DestroyReq(CReqEntry *)

voidDestroyReq(CReqEntry *aReqEntry)const [private]

Parameters

CReqEntry * aReqEntry

DownCallOption(const TInt, TAny *)

IMPORT_C TIntDownCallOption(const TIntaOptionNumber,
TAny *aData
)[virtual]

Parameters

const TInt aOptionNumber
TAny * aData

FlowControlResume()

IMPORT_C voidFlowControlResume()[virtual]

FlowControlSuspend()

IMPORT_C voidFlowControlSuspend()[virtual]

FlushReqs(CTelSession *, const TInt)

voidFlushReqs(CTelSession *aSession,
const TIntaSubSessionHandle
)

Parameters

CTelSession * aSession
const TInt aSubSessionHandle

GeneralReq(const RMessage2 &, CTelSession *, CReqEntry *, TBool)

voidGeneralReq(const RMessage2 &aMessage,
CTelSession *aSession,
CReqEntry *aNewReqEntry,
TBoolaFromFlowControlResume = EFalse
)

Parameters

const RMessage2 & aMessage
CTelSession * aSession
CReqEntry * aNewReqEntry
TBool aFromFlowControlResume = EFalse

GetMessageDescriptorSizes(const RMessage2 &, TInt &, TInt &)

voidGetMessageDescriptorSizes(const RMessage2 &aMessage,
TInt &aSize1,
TInt &aSize2
)const [private]

Parameters

const RMessage2 & aMessage
TInt & aSize1
TInt & aSize2

GetRequiredPlatSecCaps(const TInt)

IMPORT_C TSecurityPolicyGetRequiredPlatSecCaps(const TIntaIpc)[virtual]

Default implementation of TSY side of the Etel capability policy checking delegation. If the TSY does not support CustomAPIs or the TSY does not implement it's own version of this virtual function, then this default implementation will get used and shall always return a policy that fails the capability check.

Parameters

const TInt aIpcThis parameter is not used in the base implementation of this virtual function.

IsActiveReq(CTelSession *, const TInt)

TBool IsActiveReq(CTelSession *aSession,
const TIntaSubSessionHandle
)[private]

Parameters

CTelSession * aSession
const TInt aSubSessionHandle

IsPriorityClientReq(TInt)

TBool IsPriorityClientReq(TIntaReq)const [protected]

Parameters

TInt aReq

IsSameMessageType(const RMessage2 &, CReqEntry *)

TBool IsSameMessageType(const RMessage2 &aMessage,
CReqEntry *aReqEntry
)const [private]

Parameters

const RMessage2 & aMessage
CReqEntry * aReqEntry

OpenPostProcessing(CTelSession *, const TInt)

voidOpenPostProcessing(CTelSession *aSession,
const TIntaSubSessionHandle
)[pure virtual]

Parameters

CTelSession * aSession
const TInt aSubSessionHandle

PhoneOwner()

CPhoneBase *PhoneOwner()const

Ptr1(const TDes8 *)

TUint8 *Ptr1(const TDes8 *aDes1)const

Parameters

const TDes8 * aDes1

RemoveDummySubSessionDestroyer()

voidRemoveDummySubSessionDestroyer()

ReqAnalyserL(const RMessage2 &, CTelSession *, TReqMode &)

CReqEntry *ReqAnalyserL(const RMessage2 &aMessage,
CTelSession *aSession,
TReqMode &aReqMode
)[private]

Parameters

const RMessage2 & aMessage
CTelSession * aSession
TReqMode & aReqMode

ReqCompleted(const TTsyReqHandle, const TInt)

IMPORT_C voidReqCompleted(const TTsyReqHandleaTsyReqHandle,
const TIntaError
)[virtual]

Parameters

const TTsyReqHandle aTsyReqHandle
const TInt aError

ResolveError(CTelSession *, const TInt)

TInt ResolveError(CTelSession *aSession,
const TIntaError
)const

Converts a coded error into the correct error to return. The coded error value allows an extended error code to be present allong with a basic error code. If the client has specified awareness of the extended codes, then they are returned. Otherwise the basic error code will be returned. The advanced error codes do not overlap the basic ones.

In the case of no extended error code available, then the core error code will be returned regardless of the client's extended error granularity.

Parameters

CTelSession * aSessionThe CTelSession of the client.
const TInt aErrorThe coded error.

ServerVersion()

IMPORT_C TIntServerVersion()const [virtual]

Service(const RMessage2 &, CReqEntry *)

TInt Service(const RMessage2 &aMessage,
CReqEntry *aReqEntry
)[pure virtual]

Parameters

const RMessage2 & aMessage
CReqEntry * aReqEntry

SetPhoneOwner(CPhoneBase *)

voidSetPhoneOwner(CPhoneBase *aPhoneOwner)

Parameters

CPhoneBase * aPhoneOwner

TelObjectClose()

voidTelObjectClose()

UpCallOption(const TInt, TAny *)

IMPORT_C TIntUpCallOption(const TIntaOptionNumber,
TAny *aData
)[virtual]

Parameters

const TInt aOptionNumber
TAny * aData

UpdateAndCompleteIfNecessary(CReqEntry *, TInt)

voidUpdateAndCompleteIfNecessary(CReqEntry *aReqEntry,
TIntaError
)const

Parameters

CReqEntry * aReqEntry
TInt aError

WriteBackAndCompleteBufferedReq(const RMessage2 &, CReqEntry *, TInt)

voidWriteBackAndCompleteBufferedReq(const RMessage2 &aMessage,
CReqEntry *aReqEntry,
TIntaError
)const

Parameters

const RMessage2 & aMessage
CReqEntry * aReqEntry
TInt aError

WriteBackAndCompleteReq(CReqEntry *, const TInt)

voidWriteBackAndCompleteReq(CReqEntry *aReqEntry,
const TIntaError
)const

Parameters

CReqEntry * aReqEntry
const TInt aError

Member Data Documentation

TInt iActiveReqCount

TInt iActiveReqCount[private]

TAny * iCTelObject_Reserved

TAny *iCTelObject_Reserved[private]

TBool iCreateDummy

TBool iCreateDummy[private]

CDestroyDummySubSession * iDestroyDummySubSession

CDestroyDummySubSession *iDestroyDummySubSession[private]

CPhoneBase * iPhoneOwner

CPhoneBase *iPhoneOwner[private]

CTelServer * iTelServer

CTelServer *iTelServer[private]