RWLMServer Class Reference

class RWLMServer : public RSessionBase
Application interface. This class hides inter-thread communication between client and server. Hides also asynchronous notification services.
Since
Series 60 3.0 wlmserver.lib

Inherits from

Nested Classes and Structures

Public Member Functions
IMPORT_C voidActivateNotifiesL(MWLMNotify &, TUint32)
IMPORT_C TIntAddBssidToRoguelist(const TMacAddress &)
IMPORT_C TIntAddIapSsidList(TUint, const CArrayFixFlat< TWlanSsid > &)
IMPORT_C voidCancelCreateTrafficStream()
IMPORT_C voidCancelDeleteTrafficStream()
IMPORT_C voidCancelDirectedRoam()
IMPORT_C voidCancelGetAvailableIaps()
IMPORT_C voidCancelGetScanResults()
IMPORT_C voidCancelJoin()
IMPORT_C voidCancelNotifies()
IMPORT_C voidCancelProtectedSetup()
voidCancelRequest()
IMPORT_C voidClearPacketStatistics()
IMPORT_C voidClose()
IMPORT_C TIntConfigureMulticast(TUint, const TMacAddress &)
IMPORT_C TIntConnect()
IMPORT_C voidCreateTrafficStream(TRequestStatus &, const TWlanTrafficStreamParameters &, TBool, TUint &, TWlanTrafficStreamStatus &)
IMPORT_C voidDeleteTrafficStream(TRequestStatus &, TUint)
IMPORT_C voidDirectedRoam(TRequestStatus &, const TMacAddress &)
IMPORT_C TIntGetAcTrafficStatus(TWlmAcTrafficStatusArray &)
IMPORT_C TIntGetAccessPointInfo(TWlanAccessPointInfo &)
IMPORT_C TIntGetAvailableIaps(TWlmAvailableIaps &, TInt &, TUint &, TBool)
IMPORT_C voidGetAvailableIaps(TDes8 &, TDes8 &, TDes8 &, TBool, TRequestStatus &)
IMPORT_C TIntGetBSSID(TMacAddress &)
IMPORT_C TIntGetConnectionRCPI(TInt32 &)
IMPORT_C TWlanConnectionStateGetConnectionState()
IMPORT_C TIntGetNetworkName(TDes &)
IMPORT_C TIntGetPacketStatistics(TWlanPacketStatistics &)
IMPORT_C TIntGetPowerSaveMode(TWlanPowerSave &)
IMPORT_C TIntGetPowerSaveSettings(TWlanPowerSaveSettings &)
IMPORT_C TIntGetRegulatoryDomain(TWlanRegion &)
IMPORT_C TIntGetRoamMetrics(TWlanRoamMetrics &)
IMPORT_C TIntGetRogueList(CArrayFixSeg< TWlanBssid > &)
IMPORT_C TIntGetScanResults(ScanList &, const TDesC8 &, TInt &, TUint &)
IMPORT_C voidGetScanResults(ScanList &, const TDesC8 &, TInt &, TUint &, TRequestStatus &)
IMPORT_C TIntGetSecurityMode(TWlanSecurity &)
IMPORT_C TIntGetSystemMode(TWlanSystemMode &)
IMPORT_C TIntGetUapsdSettings(TWlanUapsdSettings &)
IMPORT_C voidJoin(TRequestStatus &, const TUint32, TWLMOverrideSettings *)
IMPORT_C TIntNotifyChangedPsmSrvMode(TInt)
IMPORT_C voidNotifyChangedSettings()
IMPORT_C TIntRelease()
IMPORT_C TIntRemoveIapSsidList(TUint)
IMPORT_C voidRunProtectedSetup(TRequestStatus &, TUint32, TDes8 &)
IMPORT_C TIntSetPowerSaveMode(TWlanPowerSaveMode)
IMPORT_C TIntSetPowerSaveSettings(const TWlanPowerSaveSettings &)
IMPORT_C TIntSetUapsdSettings(const TWlanUapsdSettings &)
IMPORT_C TIntStartAggressiveBgScan(TUint)
IMPORT_C TIntUpdateRcpNotificationBoundary(const TInt32, const TInt32)
TVersion Version()
voidWaitForNotification(TRequestStatus &, TDes8 &, TUint32)
Protected Member Functions
TInt StartServer()
Inherited Functions
RHandleBase::Attributes()const
RHandleBase::BTraceId()const
RHandleBase::DoExtendedClose()
RHandleBase::Duplicate(const RThread &,TOwnerType)
RHandleBase::FullName()const
RHandleBase::FullName(TDes &)const
RHandleBase::Handle()const
RHandleBase::HandleInfo(THandleInfo *)
RHandleBase::Name()const
RHandleBase::NotifyDestruction(TRequestStatus &)
RHandleBase::Open(const TFindHandleBase &,TOwnerType)
RHandleBase::OpenByName(const TDesC &,TOwnerType,TInt)
RHandleBase::RHandleBase()
RHandleBase::RHandleBase(TInt)
RHandleBase::SetHandle(TInt)
RHandleBase::SetHandleNC(TInt)
RSessionBase::CreateSession(RServer2,const TVersion &)
RSessionBase::CreateSession(RServer2,const TVersion &,TInt)
RSessionBase::CreateSession(RServer2,const TVersion &,TInt,TIpcSessionType,const TSecurityPolicy *,TRequestStatus *)
RSessionBase::CreateSession(const TDesC &,const TVersion &)
RSessionBase::CreateSession(const TDesC &,const TVersion &,TInt)
RSessionBase::CreateSession(const TDesC &,const TVersion &,TInt,TIpcSessionType,const TSecurityPolicy *,TRequestStatus *)
RSessionBase::CreateSession(const TDesC &,const TVersion &,TInt,TRequestStatus *)
RSessionBase::Open(RMessagePtr2,TInt,TOwnerType)
RSessionBase::Open(RMessagePtr2,TInt,const TSecurityPolicy &,TOwnerType)
RSessionBase::Open(TInt,TOwnerType)
RSessionBase::Open(TInt,const TSecurityPolicy &,TOwnerType)
RSessionBase::Send(TInt)const
RSessionBase::Send(TInt,const TIpcArgs &)const
RSessionBase::SendReceive(TInt)const
RSessionBase::SendReceive(TInt,TRequestStatus &)const
RSessionBase::SendReceive(TInt,const TIpcArgs &)const
RSessionBase::SendReceive(TInt,const TIpcArgs &,TRequestStatus &)const
RSessionBase::SetReturnedHandle(TInt)
RSessionBase::SetReturnedHandle(TInt,RHandleBase &)
RSessionBase::SetReturnedHandle(TInt,const TSecurityPolicy &)
RSessionBase::ShareAuto()
RSessionBase::ShareProtected()
Inherited Enumerations
RHandleBase:TAttributes
RSessionBase:TAttachMode
Private Attributes
CWLMNotify *iNotify
TPckgBuf< TWLMOverrideSettings >iOverridePckg
TPckgBuf< TMacAddress >iRoamBssidPckg
CWlmScanRequest *iScanRequest
TWlmTsCreateRequest *iTsCreateRequest
Inherited Attributes
RHandleBase::iHandle

Member Functions Documentation

ActivateNotifiesL(MWLMNotify &, TUint32)

IMPORT_C voidActivateNotifiesL(MWLMNotify &aCallback,
TUint32aNotificationMask
)

Client activates the notification service. With this service client can receive asynchronous notifications from the server. TWLMResponses

Parameters

MWLMNotify & aCallbackClient's callback interface for notifications.
TUint32 aNotificationMaskBitmask of notifications to activate.

AddBssidToRoguelist(const TMacAddress &)

IMPORT_C TIntAddBssidToRoguelist(const TMacAddress &aBssid)

Adds a BSSID to rogue list

Parameters

const TMacAddress & aBssida BSSID of an accesspoint.

AddIapSsidList(TUint, const CArrayFixFlat< TWlanSsid > &)

IMPORT_C TIntAddIapSsidList(TUintaIapId,
const CArrayFixFlat< TWlanSsid > &aSsidList
)

Add a list of SSIDs to the given IAP ID.

The list of SSIDs is matched against the scan results during IAP availability check and the corresponding IAP marked as available if a match is found.

Since
S60 v5.0.1

Parameters

TUint aIapIdIAP ID the list is attached to.
const CArrayFixFlat< TWlanSsid > & aSsidListList of SSIDs. Any previous list attached will be overwritten.

CancelCreateTrafficStream()

IMPORT_C voidCancelCreateTrafficStream()

Cancel an outstanding traffic stream creation request.

Since
S60 v3.2

CancelDeleteTrafficStream()

IMPORT_C voidCancelDeleteTrafficStream()

Cancel an outstanding traffic stream deletion request.

Since
S60 v3.2

CancelDirectedRoam()

IMPORT_C voidCancelDirectedRoam()

Cancel an outstanding directed roam request.

CancelGetAvailableIaps()

IMPORT_C voidCancelGetAvailableIaps()

Cancel an outstanding IAP availability request.

CancelGetScanResults()

IMPORT_C voidCancelGetScanResults()

Cancel an outstanding scan request.

CancelJoin()

IMPORT_C voidCancelJoin()

Cancel an outstanding join request.

CancelNotifies()

IMPORT_C voidCancelNotifies()

Client deactivates the notification service. This is the client's interface to stop receiveing notifications from the server.

CancelProtectedSetup()

IMPORT_C voidCancelProtectedSetup()

Cancel an outstanding Protected Setup request.

CancelRequest()

voidCancelRequest()

Cancel pending notification message from server. CWLMNotify class uses this method to cancel pending message at server side.

ClearPacketStatistics()

IMPORT_C voidClearPacketStatistics()

Clear packet statistics of the current connection.

Since
S60 v3.2

Close()

IMPORT_C voidClose()

Close the connection; release the handle to the server.

ConfigureMulticast(TUint, const TMacAddress &)

IMPORT_C TIntConfigureMulticast(TUintaCommand,
const TMacAddress &aMulticastAddress
)

ConfigureMulticast

Parameters

TUint aCommandspecifies either KSoIp6JoinGroup or KSoIp6LeaveGroup
const TMacAddress & aMulticastAddresscontains the MAC address

Connect()

IMPORT_C TIntConnect()

Client makes the connection to the server.

CreateTrafficStream(TRequestStatus &, const TWlanTrafficStreamParameters &, TBool, TUint &, TWlanTrafficStreamStatus &)

IMPORT_C voidCreateTrafficStream(TRequestStatus &aStatus,
const TWlanTrafficStreamParameters &aStreamParameters,
TBoolaIsAutomaticStream,
TUint &aStreamId,
TWlanTrafficStreamStatus &aStreamStatus
)

Create a virtual traffic stream.

Parameters

TRequestStatus & aStatusStatus of the calling active object. On successful completion contains KErrNone, otherwise one of the system-wide error codes.
const TWlanTrafficStreamParameters & aStreamParametersTraffic stream parameters to use.
TBool aIsAutomaticStreamWhether the stream was created automatically by WLAN NIF.
TUint & aStreamIdContains the ID assigned to this traffic stream on successful completion.
TWlanTrafficStreamStatus & aStreamStatusContains the status of the traffic stream on successful completion.

DeleteTrafficStream(TRequestStatus &, TUint)

IMPORT_C voidDeleteTrafficStream(TRequestStatus &aStatus,
TUintaStreamId
)

Delete a virtual traffic stream.

Parameters

TRequestStatus & aStatusStatus of the calling active object. On successful completion contains KErrNone, otherwise one of the system-wide error codes.
TUint aStreamIdID of the traffic stream to delete.

DirectedRoam(TRequestStatus &, const TMacAddress &)

IMPORT_C voidDirectedRoam(TRequestStatus &aStatus,
const TMacAddress &aBssid
)

Initiate a roam to the given BSSID.

Parameters

TRequestStatus & aStatusStatus of the calling active object. On successful completion contains KErrNone, otherwise one of the system-wide error codes.
const TMacAddress & aBssidBSSID to roam to. If set to FF:FF:FF:FF:FF:FF address, search for a better BSS is initiated.

GetAcTrafficStatus(TWlmAcTrafficStatusArray &)

IMPORT_C TIntGetAcTrafficStatus(TWlmAcTrafficStatusArray &aArray)

Get the current traffic status for access classes.

Since
S60 v5.0.1

Parameters

TWlmAcTrafficStatusArray & aArrayTraffic status for access classes.

GetAccessPointInfo(TWlanAccessPointInfo &)

IMPORT_C TIntGetAccessPointInfo(TWlanAccessPointInfo &aInfo)

Get information about the current AP.

Since
S60 v3.2

Parameters

TWlanAccessPointInfo & aInfoInformation about the current AP.

GetAvailableIaps(TWlmAvailableIaps &, TInt &, TUint &, TBool)

IMPORT_C TIntGetAvailableIaps(TWlmAvailableIaps &aAvailableIaps,
TInt &aCacheLifetime,
TUint &aMaxDelay,
TBoolaFilteredResults
)

Get available WLAN IAPs.

Parameters

TWlmAvailableIaps & aAvailableIapsArray of IAP IDs available.
TInt & aCacheLifetimehow old cached results (in seconds) the client is willing to accept.
TUint & aMaxDelaymaximum time (in seconds) the client is willing to wait for the scan results.
TBool aFilteredResultsWhether availability is filtered based on signal strength.

GetAvailableIaps(TDes8 &, TDes8 &, TDes8 &, TBool, TRequestStatus &)

IMPORT_C voidGetAvailableIaps(TDes8 &aAvailableIaps,
TDes8 &aCacheLifetime,
TDes8 &aMaxDelay,
TBoolaFilteredResults,
TRequestStatus &aStatus
)

Get available WLAN IAPs. In order to call this method, an instance of TWlmAvailableIaps must packaged into a TPckg<TWlmAvailableIaps> package buffer. This buffer can be passed to the called method as a descriptor.

Example: TPckg<TWlmAvailableIaps> availableIapsBuf( availableIaps ); GetAvailableIaps( availableIapsBuf, cacheLifetime, maxDelay, status );

Parameters

TDes8 & aAvailableIapsArray of IAP IDs available.
TDes8 & aCacheLifetimehow old cached results (in seconds) the client is willing to accept.
TDes8 & aMaxDelaymaximum time (in seconds) the client is willing to wait for the scan results.
TBool aFilteredResultsWhether availability is filtered based on signal strength.
TRequestStatus & aStatusStatus of the calling active object.

GetBSSID(TMacAddress &)

IMPORT_C TIntGetBSSID(TMacAddress &aBssid)

Get the BSSID of the current connection.

Parameters

TMacAddress & aBssidThe BSSID of the current connection. If no connection a zero address is returned.

GetConnectionRCPI(TInt32 &)

IMPORT_C TIntGetConnectionRCPI(TInt32 &aRCPI)

Get current connections RCPI.

Parameters

TInt32 & aRCPI(OUT) Current signal strength of the connection, 0 if no WLAN connection.

GetConnectionState()

IMPORT_C TWlanConnectionStateGetConnectionState()

Get connection state of WLAN.

GetNetworkName(TDes &)

IMPORT_C TIntGetNetworkName(TDes &aNwName)

Get the name of the current network.

Parameters

TDes & aNwName(OUT) The name of the current network.

GetPacketStatistics(TWlanPacketStatistics &)

IMPORT_C TIntGetPacketStatistics(TWlanPacketStatistics &aStatistics)

Get packet statistics of the current connection.

Since
S60 v3.2

Parameters

TWlanPacketStatistics & aStatisticsPacket statistics of the current connection.

GetPowerSaveMode(TWlanPowerSave &)

IMPORT_C TIntGetPowerSaveMode(TWlanPowerSave &aPowerSaveMode)

Get the current power save mode.

Since
S60 v3.2

Parameters

TWlanPowerSave & aPowerSaveModecurrent power save mode.

GetPowerSaveSettings(TWlanPowerSaveSettings &)

IMPORT_C TIntGetPowerSaveSettings(TWlanPowerSaveSettings &aSettings)

Get the current power save settings.

Since
S60 v3.2

Parameters

TWlanPowerSaveSettings & aSettingspower save settings.

GetRegulatoryDomain(TWlanRegion &)

IMPORT_C TIntGetRegulatoryDomain(TWlanRegion &aRegion)

Get the current regulatory domain.

Since
S60 v3.2

Parameters

TWlanRegion & aRegioncurrent region.

GetRoamMetrics(TWlanRoamMetrics &)

IMPORT_C TIntGetRoamMetrics(TWlanRoamMetrics &aRoamMetrics)

Get roam metrics of the current connection.

Since
S60 v3.2

Parameters

TWlanRoamMetrics & aRoamMetricsRoam metrics of the current connection.

GetRogueList(CArrayFixSeg< TWlanBssid > &)

IMPORT_C TIntGetRogueList(CArrayFixSeg< TWlanBssid > &aRogueList)

Return a list of BSSIDs on the rogue list.

Since
S60 v3.2

Parameters

CArrayFixSeg< TWlanBssid > & aRogueListList of BSSIDs on the rogue list.

GetScanResults(ScanList &, const TDesC8 &, TInt &, TUint &)

IMPORT_C TIntGetScanResults(ScanList &aResults,
const TDesC8 &aSsid,
TInt &aCacheLifetime,
TUint &aMaxDelay
)

Get scan results.

Parameters

ScanList & aResults(OUT) Results of the last scan.
const TDesC8 & aSsidSSID to be scanned.
TInt & aCacheLifetimehow old cached results (in seconds) the client is willing to accept.
TUint & aMaxDelaymaximum time (in seconds) the client is willing to wait for the scan results.

GetScanResults(ScanList &, const TDesC8 &, TInt &, TUint &, TRequestStatus &)

IMPORT_C voidGetScanResults(ScanList &aResults,
const TDesC8 &aSsid,
TInt &aCacheLifetime,
TUint &aMaxDelay,
TRequestStatus &aStatus
)

Get scan results.

Parameters

ScanList & aResults(OUT) Results of the last scan.
const TDesC8 & aSsidSSID to be scanned.
TInt & aCacheLifetimehow old cached results (in seconds) the client is willing to accept.
TUint & aMaxDelaymaximum time (in seconds) the client is willing to wait for the scan results.
TRequestStatus & aStatusStatus of the calling active object.

GetSecurityMode(TWlanSecurity &)

IMPORT_C TIntGetSecurityMode(TWlanSecurity &aMode)

Get current security mode.

Parameters

TWlanSecurity & aMode(OUT) The current security mode.

GetSystemMode(TWlanSystemMode &)

IMPORT_C TIntGetSystemMode(TWlanSystemMode &aMode)

Get current system mode.

Parameters

TWlanSystemMode & aMode(OUT) The current system mode.

GetUapsdSettings(TWlanUapsdSettings &)

IMPORT_C TIntGetUapsdSettings(TWlanUapsdSettings &aSettings)

Get the current U-APSD settings.

Since
S60 v3.2

Parameters

TWlanUapsdSettings & aSettingsCurrent U-APSD settings.

Join(TRequestStatus &, const TUint32, TWLMOverrideSettings *)

IMPORT_C voidJoin(TRequestStatus &aStatus,
const TUint32aId,
TWLMOverrideSettings *aOverrides = NULL
)

Join to a network using the settings from "IAP specific WLAN table".

Parameters

TRequestStatus & aStatusStatus of the calling active object.
const TUint32 aIdIndex to the "IAP specific WLAN table".
TWLMOverrideSettings * aOverrides = NULLOverride parameters to joining the network.

NotifyChangedPsmSrvMode(TInt)

IMPORT_C TIntNotifyChangedPsmSrvMode(TIntaMode)

Notify the server about PSM server mode change.

Since
S60 v5.2

Parameters

TInt aModenew PSM server mode.

NotifyChangedSettings()

IMPORT_C voidNotifyChangedSettings()

Notify the server about changed WLAN settings.

Release()

IMPORT_C TIntRelease()

Reset the network connection.

RemoveIapSsidList(TUint)

IMPORT_C TIntRemoveIapSsidList(TUintaIapId)

Remove any list of SSIDs attached to the given IAP ID.

Since
S60 v5.0.1

Parameters

TUint aIapIdIAP ID the list is attached to.

RunProtectedSetup(TRequestStatus &, TUint32, TDes8 &)

IMPORT_C voidRunProtectedSetup(TRequestStatus &aStatus,
TUint32aId,
TDes8 &aCredentials
)

Run Protected Setup.

Parameters

TRequestStatus & aStatusStatus of the calling active object.
TUint32 aIdIAP ID of network which user has selected to be configured.
TDes8 & aCredentials

SetPowerSaveMode(TWlanPowerSaveMode)

IMPORT_C TIntSetPowerSaveMode(TWlanPowerSaveModeaMode)

Set the power save mode.

Since
S60 v5.0.1

Parameters

TWlanPowerSaveMode aModePower save mode to be set.

SetPowerSaveSettings(const TWlanPowerSaveSettings &)

IMPORT_C TIntSetPowerSaveSettings(const TWlanPowerSaveSettings &aSettings)

Set the power save settings.

Since
S60 v3.2

Parameters

const TWlanPowerSaveSettings & aSettingsCurrent power save settings to be set.

SetUapsdSettings(const TWlanUapsdSettings &)

IMPORT_C TIntSetUapsdSettings(const TWlanUapsdSettings &aSettings)

Set the U-APSD settings.

Since
S60 v3.2

Parameters

const TWlanUapsdSettings & aSettingsCurrent U-APSD settings to be set.

StartAggressiveBgScan(TUint)

IMPORT_C TIntStartAggressiveBgScan(TUintaInterval)

Start aggressive background scanning.

Sends a blind request (i.e. request is sent without waiting for reply) to WLAN Engine to enter aggressive BG scan mode. WLAN Engine decides how long it stays in the aggressive mode. The client can monitor BG scan interval changes via WLAN Info P&S. The request is valid only when WLAN is disconnected, if the request is sent when WLAN is connected, it is ignored. If the interval given as a parameter is out of valid range, it is automatically corrected to closest valid value. In case of multiple simultaneous requests, the one with highest scan frequency is served.

Since
S60 v5.2

Parameters

TUint aIntervalDesired background scan interval in seconds. Valid range is from 1 to 120 seconds.

StartServer()

TInt StartServer()[protected]

Start the server during Connect() if the server is not loaded.

UpdateRcpNotificationBoundary(const TInt32, const TInt32)

IMPORT_C TIntUpdateRcpNotificationBoundary(const TInt32aRcpLevelBoundary,
const TInt32aHysteresis
)

Updates the RCP notification class boundaries.

Parameters

const TInt32 aRcpLevelBoundaryspecifies the RCP level when notification should be given. This boundary is used when signal level is getting worse (see next parameter).
const TInt32 aHysteresisspecifies the difference between RCP notification trigger levels of declining and improving signal quality. I.e. since aRcpLevelBoundary specifies the level boundary for declining signal, the same boundary for imrpoving signal is ( aRcpLevelBoundary - aHysteresis ).

Version()

TVersion Version()const

Version information.

WaitForNotification(TRequestStatus &, TDes8 &, TUint32)

voidWaitForNotification(TRequestStatus &aReturnValue,
TDes8 &aReturnData,
TUint32aNotificationMask
)

Set a message to pend notification.

Parameters

TRequestStatus & aReturnValueStatus of the calling active object.
TDes8 & aReturnData(OUT) Data returned by the notification.
TUint32 aNotificationMaskBitmask of active notifications.

Member Data Documentation

CWLMNotify * iNotify

CWLMNotify *iNotify[private]

Notification service. Exists only if its activated.

TPckgBuf< TWLMOverrideSettings > iOverridePckg

TPckgBuf< TWLMOverrideSettings >iOverridePckg[private]

Buffer for storing override settings.

TPckgBuf< TMacAddress > iRoamBssidPckg

TPckgBuf< TMacAddress >iRoamBssidPckg[private]

Buffer for storing BSSID to roam to.

CWlmScanRequest * iScanRequest

CWlmScanRequest *iScanRequest[private]

Class for handling scan requests.

TWlmTsCreateRequest * iTsCreateRequest

TWlmTsCreateRequest *iTsCreateRequest[private]

Parameters for traffic stream create request.