CLANLinkCommon Class Reference

class CLANLinkCommon : public ESock::CSubConnectionFlowBase
Public Member Functions
CLANLinkCommon ( ESock::CSubConnectionFlowFactoryBase &, const Messages::TNodeId &, ESock::CProtocolIntfBase *)
~CLANLinkCommon ()
void AcTrafficModeChanged ( TWlmAccessClass , TWlmAcTrafficMode )
void AcTrafficStatusChanged ( TWlmAccessClass , TWlmAcTrafficStatus )
TBool BearerIsActive ( CLanxBearer *)
IMPORT_C ESock::MLowerDataSender * BindL (const TDesC8 &, ESock::MUpperDataReceiver *, ESock::MUpperControl *)
void BindToL ( Messages::TNodeId &)
void CancelStartFlow ()
IMPORT_C void ConstructL ()
void Destroy ()
MFlowBinderControl * DoGetBinderControlL ()
ESock::CSubConnectionFlowBase * Flow ()
TInt FrameSend ( RMBufChain &, TDesC8 &, TUint16 )
IMPORT_C ESock::MLowerControl * GetControlL (const TDesC8 &)
IMPORT_C void IfProgress ( TInt , TInt )
IMPORT_C void IfProgress ( TSubConnectionUniqueId , TInt , TInt )
IMPORT_C void LinkLayerDown ( TInt , TAction )
IMPORT_C void LinkLayerUp ()
const TBuf8 < KMACByteLength > & MacAddress ()
void MaybePostDataClientIdle ()
TUint Mtu ()
IMPORT_C CLANLinkCommon * NewL ( ESock::CSubConnectionFlowFactoryBase &, const Messages::TNodeId &, ESock::CProtocolIntfBase *)
IMPORT_C void NifEvent ( TNetworkAdaptorEventType , TUint , const TDesC8 &, TAny *)
void PostDataClientStartedMessage ()
void PostFlowDownMessage ( TInt )
void PostFlowGoingDownMessage ( TInt , MNifIfNotify::TAction )
void PostProgressMessage ( TInt , TInt )
void Process ( RMBufChain &, TUint8 *, TUint8 )
IMPORT_C TInt ReadBool (const TDesC &, TBool &)
IMPORT_C TInt ReadDes (const TDesC &, TDes8 &)
IMPORT_C TInt ReadDes (const TDesC &, TDes16 &)
IMPORT_C TInt ReadInt (const TDesC &, TUint32 &)
IMPORT_C void ReceivedL (const Messages::TRuntimeCtxId &, const Messages::TNodeId &, Messages::TSignatureBase &)
IMPORT_C void ResumeSending ()
void SetAllowedBearer ( CLanxBearer *)
TUint SpeedMetric ()
void StartFlowL ()
void StopFlow ( TInt )
void SubConnectionError ( TInt )
void SubConnectionGoingDown ()
IMPORT_C void Unbind ( ESock::MUpperDataReceiver *, ESock::MUpperControl *)
IMPORT_C TInt WriteBool (const TDesC &, TBool )
IMPORT_C TInt WriteDes (const TDesC &, const TDesC8 &)
IMPORT_C TInt WriteDes (const TDesC &, const TDesC16 &)
IMPORT_C TInt WriteInt (const TDesC &, TUint32 )
Private Member Functions
TBool CheckMac ( TDes8 &)
void DownGradePacket ( T8021DPriority &, TBool &)
TInt EtherFrame ( RMBufChain &, TDesC8 &, TUint16 , TUint8 &)
CLanxBearer * FindBearerByProtocolName (const TDesC8 &, TInt &)
CLanxBearer * FindBearerByUpperControl (const ESock::MUpperControl *, TInt &)
TInt GetProtocolType ( TUint8 *, TUint16 &)
void LoadPacketDriverL ()
void ProvisionBearerConfigL (const TDesC8 &)
void ProvisionConfig (const ESock::RMetaExtensionContainerC &)
void ProvisionConfigL ()
void ReadEthintSettingsL ()
TBool ReadMACSettings ()
TInt StopCb ( TAny *)
void StopInterface ()
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
enum TAction { EReconnect , EDisconnect }
Protected Member Enumerations
enum TMeshMashineFlowState { EStopped , EStarting , EStarted , EStopping }
enum TlanIfStatus { 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_C CLANLinkCommon ( ESock::CSubConnectionFlowFactoryBase & aFactory,
const Messages::TNodeId & aSubConnId,
ESock::CProtocolIntfBase * aProtocolIntf
)

~CLANLinkCommon()

IMPORT_C ~CLANLinkCommon ( ) [virtual]

Member Functions Documentation

AcTrafficModeChanged(TWlmAccessClass, TWlmAcTrafficMode)

void AcTrafficModeChanged ( TWlmAccessClass aAccessClass,
TWlmAcTrafficMode aMode
)

The traffic mode of an access class has changed.

Parameters

TWlmAccessClass aAccessClass Access class.
TWlmAcTrafficMode aMode Traffic mode of the access class.

AcTrafficStatusChanged(TWlmAccessClass, TWlmAcTrafficStatus)

void AcTrafficStatusChanged ( TWlmAccessClass aAccessClass,
TWlmAcTrafficStatus aStatus
)

The traffic status of an access class has changed.

Parameters

TWlmAccessClass aAccessClass Access class.
TWlmAcTrafficStatus aStatus Traffic 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 & aProtocol protocol name (e.g. "ip", "ip6" etc).
ESock::MUpperDataReceiver * aReceiver pointer to MUpperDataReceiver instance of upper CFProtocol
ESock::MUpperControl * aControl pointer to MUpperControl instance of upper CFProtocol

BindToL(Messages::TNodeId &)

void BindToL ( Messages::TNodeId & aCommsBinder )

Parameters

Messages::TNodeId & aCommsBinder

CancelStartFlow()

void CancelStartFlow ( )

CheckMac(TDes8 &)

TBool CheckMac ( TDes8 & aMacAddr ) [private]

Parameters

TDes8 & aMacAddr

ConstructL()

IMPORT_C void ConstructL ( )

Destroy()

void Destroy ( )

DoGetBinderControlL()

MFlowBinderControl * DoGetBinderControlL ( ) [inline, virtual]

DownGradePacket(T8021DPriority &, TBool &)

void DownGradePacket ( T8021DPriority & aUP,
TBool & aDrop
) [private]

DownGradePacket

Parameters

T8021DPriority & aUP
TBool & aDrop

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

TInt EtherFrame ( RMBufChain & aChain,
TDesC8 & aDestAddr,
TUint16 aType,
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 & aProtocol name of protocol (in)
TInt & aIndex on 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 & aIndex on success, index of found entry (>=0), else -1.

Flow()

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

FrameSend(RMBufChain &, TDesC8 &, TUint16)

TInt FrameSend ( RMBufChain & aPdu,
TDesC8 & aDestAddr,
TUint16 aType
)

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 & aProtocol Protocol 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 void IfProgress ( TInt aStage,
TInt aError
)

Parameters

TInt aStage
TInt aError

IfProgress(TSubConnectionUniqueId, TInt, TInt)

IMPORT_C void IfProgress ( TSubConnectionUniqueId aSubConnectionUniqueId,
TInt aStage,
TInt aError
)

Parameters

TSubConnectionUniqueId aSubConnectionUniqueId
TInt aStage
TInt aError

LinkLayerDown(TInt, TAction)

IMPORT_C void LinkLayerDown ( TInt aError,
TAction aAction
)

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

Parameters

TInt aError error code
TAction aAction whether a reconnect is required or not

LinkLayerUp()

IMPORT_C void LinkLayerUp ( )

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

LoadPacketDriverL()

void LoadPacketDriverL ( ) [private]

MacAddress()

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

MaybePostDataClientIdle()

void MaybePostDataClientIdle ( )

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]

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

IMPORT_C void NifEvent ( TNetworkAdaptorEventType aEventType,
TUint aEvent,
const TDesC8 & aEventData,
TAny * aSource = 0
)

Parameters

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

PostDataClientStartedMessage()

void PostDataClientStartedMessage ( )

PostFlowDownMessage(TInt)

void PostFlowDownMessage ( TInt aError )

Parameters

TInt aError

PostFlowGoingDownMessage(TInt, MNifIfNotify::TAction)

void PostFlowGoingDownMessage ( TInt aError,
MNifIfNotify::TAction aAction
)

Parameters

TInt aError
MNifIfNotify::TAction aAction

PostProgressMessage(TInt, TInt)

void PostProgressMessage ( TInt aStage,
TInt aError
)

Parameters

TInt aStage
TInt aError

Process(RMBufChain &, TUint8 *, TUint8)

void Process ( RMBufChain & aPdu,
TUint8 * aEtherHeader,
TUint8 aUPValue
)

Parameters

RMBufChain & aPdu
TUint8 * aEtherHeader
TUint8 aUPValue

ProvisionBearerConfigL(const TDesC8 &)

void ProvisionBearerConfigL ( const TDesC8 & aName ) [private]

Parameters

const TDesC8 & aName

ProvisionConfig(const ESock::RMetaExtensionContainerC &)

void ProvisionConfig ( const ESock::RMetaExtensionContainerC & aConfigData ) [private]

Parameters

const ESock::RMetaExtensionContainerC & aConfigData

ProvisionConfigL()

void ProvisionConfigL ( ) [private]

ReadBool(const TDesC &, TBool &)

IMPORT_C TInt ReadBool ( const TDesC & aField,
TBool & aValue
)

Parameters

const TDesC & aField
TBool & aValue

ReadDes(const TDesC &, TDes8 &)

IMPORT_C TInt ReadDes ( const TDesC & aField,
TDes8 & aValue
)

Parameters

const TDesC & aField
TDes8 & aValue

ReadDes(const TDesC &, TDes16 &)

IMPORT_C TInt ReadDes ( const TDesC & aField,
TDes16 & aValue
)

Parameters

const TDesC & aField
TDes16 & aValue

ReadEthintSettingsL()

void ReadEthintSettingsL ( ) [private]

ReadInt(const TDesC &, TUint32 &)

IMPORT_C TInt ReadInt ( 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 void ReceivedL ( 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 void ResumeSending ( )

SetAllowedBearer(CLanxBearer *)

void SetAllowedBearer ( CLanxBearer * aBearer )

Parameters

CLanxBearer * aBearer

SpeedMetric()

TUint SpeedMetric ( ) const [inline]

StartFlowL()

void StartFlowL ( )

StopCb(TAny *)

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

Parameters

TAny * aThisPtr

StopFlow(TInt)

void StopFlow ( TInt aError )

Parameters

TInt aError

StopInterface()

void StopInterface ( ) [private]

SubConnectionError(TInt)

void SubConnectionError ( TInt aError )

Parameters

TInt aError

SubConnectionGoingDown()

void SubConnectionGoingDown ( )

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

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

Request from upper CFProtocol to unbind from this module.

Parameters

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

WriteBool(const TDesC &, TBool)

IMPORT_C TInt WriteBool ( const TDesC & aField,
TBool aValue
)

Parameters

const TDesC & aField
TBool aValue

WriteDes(const TDesC &, const TDesC8 &)

IMPORT_C TInt WriteDes ( const TDesC & aField,
const TDesC8 & aValue
)

Parameters

const TDesC & aField
const TDesC8 & aValue

WriteDes(const TDesC &, const TDesC16 &)

IMPORT_C TInt WriteDes ( const TDesC & aField,
const TDesC16 & aValue
)

Parameters

const TDesC & aField
const TDesC16 & aValue

WriteInt(const TDesC &, TUint32)

IMPORT_C TInt WriteInt ( const TDesC & aField,
TUint32 aValue
)

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.