CLANLinkCommon Class Reference

class CLANLinkCommon : public ESock::CSubConnectionFlowBase
Public Member Functions
CLANLinkCommon(ESock::CSubConnectionFlowFactoryBase &, const Messages::TNodeId &, ESock::CProtocolIntfBase *)
~CLANLinkCommon()
voidAcTrafficModeChanged(TWlmAccessClass, TWlmAcTrafficMode)
voidAcTrafficStatusChanged(TWlmAccessClass, TWlmAcTrafficStatus)
TBool BearerIsActive(CLanxBearer *)
IMPORT_C ESock::MLowerDataSender *BindL(const TDesC8 &, ESock::MUpperDataReceiver *, ESock::MUpperControl *)
voidBindToL(Messages::TNodeId &)
voidCancelStartFlow()
IMPORT_C voidConstructL()
voidDestroy()
MFlowBinderControl *DoGetBinderControlL()
ESock::CSubConnectionFlowBase *Flow()
TInt FrameSend(RMBufChain &, TDesC8 &, TUint16)
IMPORT_C ESock::MLowerControl *GetControlL(const TDesC8 &)
IMPORT_C voidIfProgress(TInt, TInt)
IMPORT_C voidIfProgress(TSubConnectionUniqueId, TInt, TInt)
IMPORT_C voidLinkLayerDown(TInt, TAction)
IMPORT_C voidLinkLayerUp()
const TBuf8< KMACByteLength > &MacAddress()
voidMaybePostDataClientIdle()
TUint Mtu()
IMPORT_C CLANLinkCommon *NewL(ESock::CSubConnectionFlowFactoryBase &, const Messages::TNodeId &, ESock::CProtocolIntfBase *)
IMPORT_C voidNifEvent(TNetworkAdaptorEventType, TUint, const TDesC8 &, TAny *)
voidPostDataClientStartedMessage()
voidPostFlowDownMessage(TInt)
voidPostFlowGoingDownMessage(TInt, MNifIfNotify::TAction)
voidPostProgressMessage(TInt, TInt)
voidProcess(RMBufChain &, TUint8 *, TUint8)
IMPORT_C TIntReadBool(const TDesC &, TBool &)
IMPORT_C TIntReadDes(const TDesC &, TDes8 &)
IMPORT_C TIntReadDes(const TDesC &, TDes16 &)
IMPORT_C TIntReadInt(const TDesC &, TUint32 &)
IMPORT_C voidReceivedL(const Messages::TRuntimeCtxId &, const Messages::TNodeId &, Messages::TSignatureBase &)
IMPORT_C voidResumeSending()
voidSetAllowedBearer(CLanxBearer *)
TUint SpeedMetric()
voidStartFlowL()
voidStopFlow(TInt)
voidSubConnectionError(TInt)
voidSubConnectionGoingDown()
IMPORT_C voidUnbind(ESock::MUpperDataReceiver *, ESock::MUpperControl *)
IMPORT_C TIntWriteBool(const TDesC &, TBool)
IMPORT_C TIntWriteDes(const TDesC &, const TDesC8 &)
IMPORT_C TIntWriteDes(const TDesC &, const TDesC16 &)
IMPORT_C TIntWriteInt(const TDesC &, TUint32)
Private Member Functions
TBool CheckMac(TDes8 &)
voidDownGradePacket(T8021DPriority &, TBool &)
TInt EtherFrame(RMBufChain &, TDesC8 &, TUint16, TUint8 &)
CLanxBearer *FindBearerByProtocolName(const TDesC8 &, TInt &)
CLanxBearer *FindBearerByUpperControl(const ESock::MUpperControl *, TInt &)
TInt GetProtocolType(TUint8 *, TUint16 &)
voidLoadPacketDriverL()
voidProvisionBearerConfigL(const TDesC8 &)
voidProvisionConfig(const ESock::RMetaExtensionContainerC &)
voidProvisionConfigL()
voidReadEthintSettingsL()
TBool ReadMACSettings()
TInt StopCb(TAny *)
voidStopInterface()
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()
ESock::CCommsProviderBase::AccessPointConfig()const
ESock::CCommsProviderBase::~CCommsProviderBase()
ESock::CSubConnectionFlowBase::CSubConnectionFlowBase(CSubConnectionFlowFactoryBase &,const Messages::TNodeId &,CProtocolIntfBase *)
ESock::CSubConnectionFlowBase::ControlProvider()const
ESock::CSubConnectionFlowBase::DeleteThisFlow()
ESock::CSubConnectionFlowBase::Factory()const
ESock::CSubConnectionFlowBase::FetchNodeInterfaceControlL(TInt)
ESock::CSubConnectionFlowBase::GetBinderControlL()
ESock::CSubConnectionFlowBase::HasControlPlane()const
ESock::CSubConnectionFlowBase::ProtocolIntf()const
ESock::CSubConnectionFlowBase::~CSubConnectionFlowBase()
Public Member Enumerations
enumTAction { EReconnect, EDisconnect }
Protected Member Enumerations
enumTMeshMashineFlowState { EStopped, EStarting, EStarted, EStopping }
enumTlanIfStatus { EIfPending, EIfUp, EIfBusy, EIfDown }
Protected Attributes
CLANNifWLMServerPerAC *iAcArray
CLanxBearerPtrArray *iBearers
TInt iError
TEtherHeaderType iEtherType
const TLanIp4Provision *iLanIp4Provision
const TLanIp6Provision *iLanIp6Provision
TMeshMashineFlowState iMMState
TBuf8< KMACByteLength >iMacAddr
CLanxBearer *iOnlyThisBearer
CPeriodic *iPeriodic
CPcCardPktDrv *iPktDrv
TInt iSavedError
TlanIfStatus iState
TBool iStopRequested
TBool iValidMacAddr
CLANNifWLMServerCommon *iWLMServerCommon
Inherited Attributes
ESock::CCommsProviderBase::iAccessPointConfig
ESock::CSubConnectionFlowBase::iLastRequestOriginator
ESock::CSubConnectionFlowBase::iProtocolIntf
ESock::CSubConnectionFlowBase::iSubConnectionProvider

Constructor & Destructor Documentation

CLANLinkCommon(ESock::CSubConnectionFlowFactoryBase &, const Messages::TNodeId &, ESock::CProtocolIntfBase *)

IMPORT_CCLANLinkCommon(ESock::CSubConnectionFlowFactoryBase &aFactory,
const Messages::TNodeId &aSubConnId,
ESock::CProtocolIntfBase *aProtocolIntf
)

Parameters

ESock::CSubConnectionFlowFactoryBase & aFactory
const Messages::TNodeId & aSubConnId
ESock::CProtocolIntfBase * aProtocolIntf

~CLANLinkCommon()

IMPORT_C~CLANLinkCommon()[virtual]

Member Functions Documentation

AcTrafficModeChanged(TWlmAccessClass, TWlmAcTrafficMode)

voidAcTrafficModeChanged(TWlmAccessClassaAccessClass,
TWlmAcTrafficModeaMode
)

The traffic mode of an access class has changed.

Parameters

TWlmAccessClass aAccessClassAccess class.
TWlmAcTrafficMode aModeTraffic mode of the access class.

AcTrafficStatusChanged(TWlmAccessClass, TWlmAcTrafficStatus)

voidAcTrafficStatusChanged(TWlmAccessClassaAccessClass,
TWlmAcTrafficStatusaStatus
)

The traffic status of an access class has changed.

Parameters

TWlmAccessClass aAccessClassAccess class.
TWlmAcTrafficStatus aStatusTraffic status of the access class.

BearerIsActive(CLanxBearer *)

TBool BearerIsActive(CLanxBearer *aBearer)

Parameters

CLanxBearer * aBearer

BindL(const TDesC8 &, ESock::MUpperDataReceiver *, ESock::MUpperControl *)

IMPORT_C ESock::MLowerDataSender *BindL(const TDesC8 &aProtocol,
ESock::MUpperDataReceiver *aReceiver,
ESock::MUpperControl *aControl
)[virtual]

Request from upper CFProtocol to bind to this module.

Parameters

const TDesC8 & aProtocolprotocol name (e.g. "ip", "ip6" etc).
ESock::MUpperDataReceiver * aReceiverpointer to MUpperDataReceiver instance of upper CFProtocol
ESock::MUpperControl * aControlpointer to MUpperControl instance of upper CFProtocol

BindToL(Messages::TNodeId &)

voidBindToL(Messages::TNodeId &aCommsBinder)

Parameters

Messages::TNodeId & aCommsBinder

CancelStartFlow()

voidCancelStartFlow()

CheckMac(TDes8 &)

TBool CheckMac(TDes8 &aMacAddr)[private]

Parameters

TDes8 & aMacAddr

ConstructL()

IMPORT_C voidConstructL()

Destroy()

voidDestroy()

DoGetBinderControlL()

MFlowBinderControl *DoGetBinderControlL()[inline, virtual]

DownGradePacket(T8021DPriority &, TBool &)

voidDownGradePacket(T8021DPriority &aUP,
TBool &aDrop
)[private]

DownGradePacket

Parameters

T8021DPriority & aUP
TBool & aDrop

EtherFrame(RMBufChain &, TDesC8 &, TUint16, TUint8 &)

TInt EtherFrame(RMBufChain &aChain,
TDesC8 &aDestAddr,
TUint16aType,
TUint8 &aDscp
)[private]

Parameters

RMBufChain & aChain
TDesC8 & aDestAddr
TUint16 aType
TUint8 & aDscp

FindBearerByProtocolName(const TDesC8 &, TInt &)

CLanxBearer *FindBearerByProtocolName(const TDesC8 &aProtocol,
TInt &aIndex
)const [private]

Search the iBearers array searching for a match by protocol name.

Parameters

const TDesC8 & aProtocolname of protocol (in)
TInt & aIndexon success, index of found entry (>=0), else -1.

FindBearerByUpperControl(const ESock::MUpperControl *, TInt &)

CLanxBearer *FindBearerByUpperControl(const ESock::MUpperControl *aUpperControl,
TInt &aIndex
)const [private]

Search the iBearers array searching for a match by protocol name.

Parameters

const ESock::MUpperControl * aUpperControl
TInt & aIndexon success, index of found entry (>=0), else -1.

Flow()

ESock::CSubConnectionFlowBase *Flow()[inline, virtual]

FrameSend(RMBufChain &, TDesC8 &, TUint16)

TInt FrameSend(RMBufChain &aPdu,
TDesC8 &aDestAddr,
TUint16aType
)

Parameters

RMBufChain & aPdu
TDesC8 & aDestAddr
TUint16 aType

GetControlL(const TDesC8 &)

IMPORT_C ESock::MLowerControl *GetControlL(const TDesC8 &aProtocol)[virtual]

Request from upper CFProtocol to retrieve our MLowerControl class.

Parameters

const TDesC8 & aProtocolProtocol Name. Presently, only "ip" and "ip6" are supported.

GetProtocolType(TUint8 *, TUint16 &)

TInt GetProtocolType(TUint8 *aEtherHeader,
TUint16 &aEtherType
)[private]

Parameters

TUint8 * aEtherHeader
TUint16 & aEtherType

IfProgress(TInt, TInt)

IMPORT_C voidIfProgress(TIntaStage,
TIntaError
)

Parameters

TInt aStage
TInt aError

IfProgress(TSubConnectionUniqueId, TInt, TInt)

IMPORT_C voidIfProgress(TSubConnectionUniqueIdaSubConnectionUniqueId,
TIntaStage,
TIntaError
)

Parameters

TSubConnectionUniqueId aSubConnectionUniqueId
TInt aStage
TInt aError

LinkLayerDown(TInt, TAction)

IMPORT_C voidLinkLayerDown(TIntaError,
TActionaAction
)

Link Layer Down Called by the packet driver when the link has gone down

Parameters

TInt aErrorerror code
TAction aActionwhether a reconnect is required or not

LinkLayerUp()

IMPORT_C voidLinkLayerUp()

Link Layer Up Called by the packet driver when it is happy

LoadPacketDriverL()

voidLoadPacketDriverL()[private]

MacAddress()

const TBuf8< KMACByteLength > &MacAddress()const [inline]

MaybePostDataClientIdle()

voidMaybePostDataClientIdle()

Mtu()

TUint Mtu()const

NewL(ESock::CSubConnectionFlowFactoryBase &, const Messages::TNodeId &, ESock::CProtocolIntfBase *)

IMPORT_C CLANLinkCommon *NewL(ESock::CSubConnectionFlowFactoryBase &aFactory,
const Messages::TNodeId &aSubConnId,
ESock::CProtocolIntfBase *aProtocolIntf
)[static]

Parameters

ESock::CSubConnectionFlowFactoryBase & aFactory
const Messages::TNodeId & aSubConnId
ESock::CProtocolIntfBase * aProtocolIntf

NifEvent(TNetworkAdaptorEventType, TUint, const TDesC8 &, TAny *)

IMPORT_C voidNifEvent(TNetworkAdaptorEventTypeaEventType,
TUintaEvent,
const TDesC8 &aEventData,
TAny *aSource = 0
)

Parameters

TNetworkAdaptorEventType aEventType
TUint aEvent
const TDesC8 & aEventData
TAny * aSource = 0

PostDataClientStartedMessage()

voidPostDataClientStartedMessage()

PostFlowDownMessage(TInt)

voidPostFlowDownMessage(TIntaError)

Parameters

TInt aError

PostFlowGoingDownMessage(TInt, MNifIfNotify::TAction)

voidPostFlowGoingDownMessage(TIntaError,
MNifIfNotify::TActionaAction
)

Parameters

TInt aError
MNifIfNotify::TAction aAction

PostProgressMessage(TInt, TInt)

voidPostProgressMessage(TIntaStage,
TIntaError
)

Parameters

TInt aStage
TInt aError

Process(RMBufChain &, TUint8 *, TUint8)

voidProcess(RMBufChain &aPdu,
TUint8 *aEtherHeader,
TUint8aUPValue
)

Parameters

RMBufChain & aPdu
TUint8 * aEtherHeader
TUint8 aUPValue

ProvisionBearerConfigL(const TDesC8 &)

voidProvisionBearerConfigL(const TDesC8 &aName)[private]

Parameters

const TDesC8 & aName

ProvisionConfig(const ESock::RMetaExtensionContainerC &)

voidProvisionConfig(const ESock::RMetaExtensionContainerC &aConfigData)[private]

Parameters

const ESock::RMetaExtensionContainerC & aConfigData

ProvisionConfigL()

voidProvisionConfigL()[private]

ReadBool(const TDesC &, TBool &)

IMPORT_C TIntReadBool(const TDesC &aField,
TBool &aValue
)

Parameters

const TDesC & aField
TBool & aValue

ReadDes(const TDesC &, TDes8 &)

IMPORT_C TIntReadDes(const TDesC &aField,
TDes8 &aValue
)

Parameters

const TDesC & aField
TDes8 & aValue

ReadDes(const TDesC &, TDes16 &)

IMPORT_C TIntReadDes(const TDesC &aField,
TDes16 &aValue
)

Parameters

const TDesC & aField
TDes16 & aValue

ReadEthintSettingsL()

voidReadEthintSettingsL()[private]

ReadInt(const TDesC &, TUint32 &)

IMPORT_C TIntReadInt(const TDesC &aField,
TUint32 &aValue
)

Parameters

const TDesC & aField
TUint32 & aValue

ReadMACSettings()

TBool ReadMACSettings()[private]

ReceivedL(const Messages::TRuntimeCtxId &, const Messages::TNodeId &, Messages::TSignatureBase &)

IMPORT_C voidReceivedL(const Messages::TRuntimeCtxId &aSender,
const Messages::TNodeId &aRecipient,
Messages::TSignatureBase &aMessage
)[virtual]

Routine called on an incoming message from SCPR

Parameters

const Messages::TRuntimeCtxId & aSender
const Messages::TNodeId & aRecipient
Messages::TSignatureBase & aMessage

ResumeSending()

IMPORT_C voidResumeSending()

SetAllowedBearer(CLanxBearer *)

voidSetAllowedBearer(CLanxBearer *aBearer)

Parameters

CLanxBearer * aBearer

SpeedMetric()

TUint SpeedMetric()const [inline]

StartFlowL()

voidStartFlowL()

StopCb(TAny *)

TInt StopCb(TAny *aThisPtr)[private, static]

Parameters

TAny * aThisPtr

StopFlow(TInt)

voidStopFlow(TIntaError)

Parameters

TInt aError

StopInterface()

voidStopInterface()[private]

SubConnectionError(TInt)

voidSubConnectionError(TIntaError)

Parameters

TInt aError

SubConnectionGoingDown()

voidSubConnectionGoingDown()

Unbind(ESock::MUpperDataReceiver *, ESock::MUpperControl *)

IMPORT_C voidUnbind(ESock::MUpperDataReceiver *aReceiver,
ESock::MUpperControl *aControl
)[virtual]

Request from upper CFProtocol to unbind from this module.

Parameters

ESock::MUpperDataReceiver * aReceiverpointer to data receiver class of upper CFProtocol (originally passed to it in downward BindL() request)
ESock::MUpperControl * aControlpointer to control class of upper CFProtocol (originally passed to it in downward BindL() request)

WriteBool(const TDesC &, TBool)

IMPORT_C TIntWriteBool(const TDesC &aField,
TBoolaValue
)

Parameters

const TDesC & aField
TBool aValue

WriteDes(const TDesC &, const TDesC8 &)

IMPORT_C TIntWriteDes(const TDesC &aField,
const TDesC8 &aValue
)

Parameters

const TDesC & aField
const TDesC8 & aValue

WriteDes(const TDesC &, const TDesC16 &)

IMPORT_C TIntWriteDes(const TDesC &aField,
const TDesC16 &aValue
)

Parameters

const TDesC & aField
const TDesC16 & aValue

WriteInt(const TDesC &, TUint32)

IMPORT_C TIntWriteInt(const TDesC &aField,
TUint32aValue
)

Parameters

const TDesC & aField
TUint32 aValue

Member Enumerations Documentation

Enum TAction

Enumerators

EReconnect
EDisconnect

Enum TMeshMashineFlowState

Enumerators

EStopped
EStarting
EStarted
EStopping

Enum TlanIfStatus

Enumerators

EIfPending
EIfUp
EIfBusy
EIfDown

Member Data Documentation

CLANNifWLMServerPerAC * iAcArray

CLANNifWLMServerPerAC *iAcArray[protected]

Array containing handles to per-AC instances.

CLanxBearerPtrArray * iBearers

CLanxBearerPtrArray *iBearers[protected]

Bearer List

TInt iError

TInt iError[protected]

TEtherHeaderType iEtherType

TEtherHeaderType iEtherType[protected]

const TLanIp4Provision * iLanIp4Provision

const TLanIp4Provision *iLanIp4Provision[protected]

const TLanIp6Provision * iLanIp6Provision

const TLanIp6Provision *iLanIp6Provision[protected]

TMeshMashineFlowState iMMState

TMeshMashineFlowState iMMState[protected]

TBuf8< KMACByteLength > iMacAddr

TBuf8< KMACByteLength >iMacAddr[protected]

CLanxBearer * iOnlyThisBearer

CLanxBearer *iOnlyThisBearer[protected]

CPeriodic * iPeriodic

CPeriodic *iPeriodic[protected]

iPeriodic and iError needed for sending DHCPRELEASE when the interface is being closed

CPcCardPktDrv * iPktDrv

CPcCardPktDrv *iPktDrv[protected]

TInt iSavedError

TInt iSavedError[protected]

TlanIfStatus iState

TlanIfStatus iState[protected]

TBool iStopRequested

TBool iStopRequested[protected]

TBool iValidMacAddr

TBool iValidMacAddr[protected]

indicates if iMacAddr contains a valid Mac address

CLANNifWLMServerCommon * iWLMServerCommon

CLANNifWLMServerCommon *iWLMServerCommon[protected]

Handle to the NIF-WLAN engine interface class.