CommsFW::CCFChannelPairRawBase Class Reference

class CommsFW::CCFChannelPairRawBase : public CActive

Inherits from

Public Member Functions
CCFChannelPairRawBase(TInt, RMsgQueueBase *, RCFChannelRawBase &, RMsgQueueBase *, RCFChannelRawBase &, TInt, TInt)
~CCFChannelPairRawBase()
IMPORT_C voidCancelDataAvailable()
IMPORT_C voidCancelSpaceAvailable(TInt)
IMPORT_C TIntCloseGracefully(TInt)
IMPORT_C voidCloseNonGracefully()
IMPORT_C TIntCreateRecv(const RMsgQueueBase *, TOwnerType)
IMPORT_C TIntCreateRecv(TInt)
IMPORT_C TIntCreateSend(const RMsgQueueBase *, TOwnerType)
IMPORT_C TIntCreateSend(TInt)
IMPORT_C voidGetRecvMsgQueues(RMsgQueueBase *)
IMPORT_C voidGetSendMsgQueues(RMsgQueueBase *)
IMPORT_C voidNotifyDataAvailable(TRequestStatus &)
IMPORT_C voidNotifySpaceAvailable(TRequestStatus &, TInt)
TInt RawReceive(TAny *)
IMPORT_C TIntReceive(TAny *)
IMPORT_C TIntSend(const TAny *, TInt)
Protected Member Functions
IMPORT_C voidDoCancel()
IMPORT_C TBoolDoSendPIG(const TAny *)
IMPORT_C TBoolIsMsgPIG(const TAny *)
IMPORT_C voidRunL()
IMPORT_C TBoolSendPIG()
Private Member Functions
voidHaltRx()
voidHaltTx()
TBool RxHalted()
TInt TimerElapsed(TAny *)
TBool TxHalted()
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()
Inherited Enumerations
CActive:TPriority
Private Attributes
CPeriodic *iCloseTimer
TUint8 iFlags
TUint8 iPriorities
RCFChannelRawBase &iRxChannel
RMsgQueueBase *iRxQueues
TUint16 iSize
RCFChannelRawBase &iTxChannel
RMsgQueueBase *iTxQueues
Inherited Attributes
CActive::iStatus

Constructor & Destructor Documentation

CCFChannelPairRawBase(TInt, RMsgQueueBase *, RCFChannelRawBase &, RMsgQueueBase *, RCFChannelRawBase &, TInt, TInt)

IMPORT_CCCFChannelPairRawBase(TIntaAOPriority,
RMsgQueueBase *aRxQueues,
RCFChannelRawBase &aRxChannel,
RMsgQueueBase *aTxQueues,
RCFChannelRawBase &aTxChannel,
TIntaSize,
TIntaChannelPriorities
)

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.

Parameters

TInt aAOPriority
RMsgQueueBase * aRxQueues
RCFChannelRawBase & aRxChannel
RMsgQueueBase * aTxQueues
RCFChannelRawBase & aTxChannel
TInt aSize
TInt aChannelPriorities

~CCFChannelPairRawBase()

IMPORT_C~CCFChannelPairRawBase()

Member Functions Documentation

CancelDataAvailable()

IMPORT_C voidCancelDataAvailable()

CancelSpaceAvailable(TInt)

IMPORT_C voidCancelSpaceAvailable(TIntaPriority)

Parameters

TInt aPriority

CloseGracefully(TInt)

IMPORT_C TIntCloseGracefully(TIntaGracefulCloseTimeout)

Parameters

TInt aGracefulCloseTimeout

CloseNonGracefully()

IMPORT_C voidCloseNonGracefully()

CreateRecv(const RMsgQueueBase *, TOwnerType)

IMPORT_C TIntCreateRecv(const RMsgQueueBase *aForeignQueues,
TOwnerTypeaOwner
)

Parameters

const RMsgQueueBase * aForeignQueues
TOwnerType aOwner

CreateRecv(TInt)

IMPORT_C TIntCreateRecv(TIntaSlots)

Parameters

TInt aSlots

CreateSend(const RMsgQueueBase *, TOwnerType)

IMPORT_C TIntCreateSend(const RMsgQueueBase *aForeignQueues,
TOwnerTypeaOwner
)

Parameters

const RMsgQueueBase * aForeignQueues
TOwnerType aOwner

CreateSend(TInt)

IMPORT_C TIntCreateSend(TIntaSlots)

Parameters

TInt aSlots

DoCancel()

IMPORT_C voidDoCancel()[protected, virtual]

Implements cancellation of an outstanding request.

This function is called as part of the active object's Cancel().

It must call the appropriate cancel function offered by the active object's asynchronous service provider. The asynchronous service provider's cancel is expected to act immediately.

DoCancel() must not wait for event completion; this is handled by Cancel().

CActive::Cancel

DoSendPIG(const TAny *)

IMPORT_C TBoolDoSendPIG(const TAny *aMsgPIG)[protected]

Parameters

const TAny * aMsgPIG

GetRecvMsgQueues(RMsgQueueBase *)

IMPORT_C voidGetRecvMsgQueues(RMsgQueueBase *aForeignQueues)const

Parameters

RMsgQueueBase * aForeignQueues

GetSendMsgQueues(RMsgQueueBase *)

IMPORT_C voidGetSendMsgQueues(RMsgQueueBase *aForeignQueues)const

Parameters

RMsgQueueBase * aForeignQueues

HaltRx()

voidHaltRx()[private]

HaltTx()

voidHaltTx()[private]

IsMsgPIG(const TAny *)

IMPORT_C TBoolIsMsgPIG(const TAny *aMsg)[protected, virtual]

Parameters

const TAny * aMsg

NotifyDataAvailable(TRequestStatus &)

IMPORT_C voidNotifyDataAvailable(TRequestStatus &aStatus)

Parameters

TRequestStatus & aStatus

NotifySpaceAvailable(TRequestStatus &, TInt)

IMPORT_C voidNotifySpaceAvailable(TRequestStatus &aStatus,
TIntaPriority
)

Parameters

TRequestStatus & aStatus
TInt aPriority

RawReceive(TAny *)

TInt RawReceive(TAny *aMsg)

Parameters

TAny * aMsg

Receive(TAny *)

IMPORT_C TIntReceive(TAny *aMsg)

Parameters

TAny * aMsg

RunL()

IMPORT_C voidRunL()[protected, virtual]

Handles an active object's request completion event.

A derived class must provide an implementation to handle the completed request. If appropriate, it may issue another request.

The function is called by the active scheduler when a request completion event occurs, i.e. after the active scheduler's WaitForAnyRequest() function completes.

Before calling this active object's RunL() function, the active scheduler has:

1. decided that this is the highest priority active object with a completed request

2. marked this active object's request as complete (i.e. the request is no longer outstanding)

RunL() runs under a trap harness in the active scheduler. If it leaves, then the active scheduler calls RunError() to handle the leave.

Note that once the active scheduler's Start() function has been called, all user code is run under one of the program's active object's RunL() or RunError() functions.

CActiveScheduler::Start CActiveScheduler::Error CActiveScheduler::WaitForAnyRequest TRAPD

RxHalted()

TBool RxHalted()[private]

Send(const TAny *, TInt)

IMPORT_C TIntSend(const TAny *aMsg,
TIntaPriority
)

Parameters

const TAny * aMsg
TInt aPriority

SendPIG()

IMPORT_C TBoolSendPIG()[protected, virtual]

TimerElapsed(TAny *)

TInt TimerElapsed(TAny *aAnyThis)[private, static]

Parameters

TAny * aAnyThis

TxHalted()

TBool TxHalted()[private]

Member Data Documentation

CPeriodic * iCloseTimer

CPeriodic *iCloseTimer[private]

TUint8 iFlags

TUint8 iFlags[private]

TUint8 iPriorities

TUint8 iPriorities[private]

RCFChannelRawBase & iRxChannel

RCFChannelRawBase &iRxChannel[private]

RMsgQueueBase * iRxQueues

RMsgQueueBase *iRxQueues[private]

TUint16 iSize

TUint16 iSize[private]

RCFChannelRawBase & iTxChannel

RCFChannelRawBase &iTxChannel[private]

RMsgQueueBase * iTxQueues

RMsgQueueBase *iTxQueues[private]