CommsFW::RCFChannelPairBase Class Reference

class CommsFW::RCFChannelPairBase : public CommsFW::CCFChannelPairRawBase

Active object encapsulating channels in opposed pairs so as to get bi- directional communication. Supports graceful close to protect against race conditions when closing the two channel endpoints.

Inherits from

Public Member Functions
RCFChannelPairBase(TInt)
voidCancelDataAvailable()
voidCancelSpaceAvailable(TInt)
TInt CloseGracefully(TInt)
voidCloseNonGracefully()
TInt CreateRecv(const TMsgQueues &, TOwnerType)
TInt CreateRecv(TInt)
TInt CreateSend(const TMsgQueues &, TOwnerType)
TInt CreateSend(TInt)
voidGetRecvMsgQueues(TMsgQueues &)
voidGetSendMsgQueues(TMsgQueues &)
voidNotifyDataAvailable(TRequestStatus &)
voidNotifyDataAvailable(CActive &)
voidNotifySpaceAvailable(TRequestStatus &, TInt)
voidNotifySpaceAvailable(CActive &, TInt)
TInt RawReceive(T &)
TInt Receive(T &)
TInt Send(const T &, TInt)
Protected Member Functions
TBool IsMsgPIG(const TAny *)
TBool SendPIG()
Inherited Functions
CActive::CActive(TInt)
CActive::Cancel()
CActive::Deque()
CActive::Extension_(TUint,TAny *&,TAny *)
CActive::IsActive()const
CActive::IsAdded()const
CActive::Priority()const
CActive::RunError(TInt)
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()
CommsFW::CCFChannelPairRawBase::CCFChannelPairRawBase(TInt,RMsgQueueBase *,RCFChannelRawBase &,RMsgQueueBase *,RCFChannelRawBase &,TInt,TInt)
CommsFW::CCFChannelPairRawBase::CreateRecv(const RMsgQueueBase *,TOwnerType)
CommsFW::CCFChannelPairRawBase::CreateSend(const RMsgQueueBase *,TOwnerType)
CommsFW::CCFChannelPairRawBase::DoCancel()
CommsFW::CCFChannelPairRawBase::DoSendPIG(const TAny *)
CommsFW::CCFChannelPairRawBase::GetRecvMsgQueues(RMsgQueueBase *)const
CommsFW::CCFChannelPairRawBase::GetSendMsgQueues(RMsgQueueBase *)const
CommsFW::CCFChannelPairRawBase::RawReceive(TAny *)
CommsFW::CCFChannelPairRawBase::Receive(TAny *)
CommsFW::CCFChannelPairRawBase::RunL()
CommsFW::CCFChannelPairRawBase::Send(const TAny *,TInt)
CommsFW::CCFChannelPairRawBase::~CCFChannelPairRawBase()
Inherited Enumerations
CActive:TPriority
Public Member Type Definitions
typedefstruct RCFChannelBase< T, TPriorities >::TMsgQueuesTAG TMsgQueues
Private Attributes
RCFChannelBase< T, TPriorities >iRxChannel
RCFChannelBase< T, TPriorities >iTxChannel
Inherited Attributes
CActive::iStatus

Constructor & Destructor Documentation

RCFChannelPairBase(TInt)

RCFChannelPairBase(TIntaAOPriority)[inline]

Parameters

TInt aAOPriority

Member Functions Documentation

CancelDataAvailable()

voidCancelDataAvailable()[inline]

CancelSpaceAvailable(TInt)

voidCancelSpaceAvailable(TIntaPriority)[inline]

Parameters

TInt aPriority

CloseGracefully(TInt)

TInt CloseGracefully(TIntaGracefulCloseTimeout)[inline]

Parameters

TInt aGracefulCloseTimeout

CloseNonGracefully()

voidCloseNonGracefully()[inline]

CreateRecv(const TMsgQueues &, TOwnerType)

TInt CreateRecv(const TMsgQueues &aRxQueues,
TOwnerTypeaOwner = EOwnerThread
)[inline]

Parameters

const TMsgQueues & aRxQueues
TOwnerType aOwner = EOwnerThread

CreateRecv(TInt)

TInt CreateRecv(TIntaSlots)[inline]

Parameters

TInt aSlots

CreateSend(const TMsgQueues &, TOwnerType)

TInt CreateSend(const TMsgQueues &aTxQueues,
TOwnerTypeaOwner = EOwnerThread
)[inline]

Parameters

const TMsgQueues & aTxQueues
TOwnerType aOwner = EOwnerThread

CreateSend(TInt)

TInt CreateSend(TIntaSlots)[inline]

Parameters

TInt aSlots

GetRecvMsgQueues(TMsgQueues &)

voidGetRecvMsgQueues(TMsgQueues &aMsgQueues)const [inline]

Parameters

TMsgQueues & aMsgQueues

GetSendMsgQueues(TMsgQueues &)

voidGetSendMsgQueues(TMsgQueues &aMsgQueues)const [inline]

Parameters

TMsgQueues & aMsgQueues

IsMsgPIG(const TAny *)

TBool IsMsgPIG(const TAny *aMsg)[protected, inline, virtual]

Parameters

const TAny * aMsg

NotifyDataAvailable(TRequestStatus &)

voidNotifyDataAvailable(TRequestStatus &aStatus)[inline]

Parameters

TRequestStatus & aStatus

NotifyDataAvailable(CActive &)

voidNotifyDataAvailable(CActive &aRequester)[inline]

Parameters

CActive & aRequester

NotifySpaceAvailable(TRequestStatus &, TInt)

voidNotifySpaceAvailable(TRequestStatus &aStatus,
TIntaPriority
)[inline]

Parameters

TRequestStatus & aStatus
TInt aPriority

NotifySpaceAvailable(CActive &, TInt)

voidNotifySpaceAvailable(CActive &aRequester,
TIntaPriority
)[inline]

Parameters

CActive & aRequester
TInt aPriority

RawReceive(T &)

TInt RawReceive(T &aMsg)[inline]

Parameters

T & aMsg

Receive(T &)

TInt Receive(T &aMsg)[inline]

Parameters

T & aMsg

Send(const T &, TInt)

TInt Send(const T &aMsg,
TIntaPriority
)[inline]

Parameters

const T & aMsg
TInt aPriority

SendPIG()

TBool SendPIG()[protected, inline, virtual]

Member Type Definitions Documentation

Typedef TMsgQueues

typedef struct RCFChannelBase< T, TPriorities >::TMsgQueuesTAGTMsgQueues

Defines message queues data structure for the array of internal message queues in a channel. Used when getting the array of message queues in and out of the channel instance.

Member Data Documentation

RCFChannelBase< T, TPriorities > iRxChannel

RCFChannelBase< T, TPriorities >iRxChannel[private]

RCFChannelBase< T, TPriorities > iTxChannel

RCFChannelBase< T, TPriorities >iTxChannel[private]