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 void ActivateNotifiesL ( MWLMNotify &, TUint32 )
IMPORT_C TInt AddBssidToRoguelist (const TMacAddress &)
IMPORT_C TInt AddIapSsidList ( TUint , const CArrayFixFlat < TWlanSsid > &)
IMPORT_C void CancelCreateTrafficStream ()
IMPORT_C void CancelDeleteTrafficStream ()
IMPORT_C void CancelDirectedRoam ()
IMPORT_C void CancelGetAvailableIaps ()
IMPORT_C void CancelGetScanResults ()
IMPORT_C void CancelJoin ()
IMPORT_C void CancelNotifies ()
IMPORT_C void CancelProtectedSetup ()
void CancelRequest ()
IMPORT_C void ClearPacketStatistics ()
IMPORT_C void Close ()
IMPORT_C TInt ConfigureMulticast ( TUint , const TMacAddress &)
IMPORT_C TInt Connect ()
IMPORT_C void CreateTrafficStream ( TRequestStatus &, const TWlanTrafficStreamParameters &, TBool , TUint &, TWlanTrafficStreamStatus &)
IMPORT_C void DeleteTrafficStream ( TRequestStatus &, TUint )
IMPORT_C void DirectedRoam ( TRequestStatus &, const TMacAddress &)
IMPORT_C TInt GetAcTrafficStatus ( TWlmAcTrafficStatusArray &)
IMPORT_C TInt GetAccessPointInfo ( TWlanAccessPointInfo &)
IMPORT_C TInt GetAvailableIaps ( TWlmAvailableIaps &, TInt &, TUint &, TBool )
IMPORT_C void GetAvailableIaps ( TDes8 &, TDes8 &, TDes8 &, TBool , TRequestStatus &)
IMPORT_C TInt GetBSSID ( TMacAddress &)
IMPORT_C TInt GetConnectionRCPI ( TInt32 &)
IMPORT_C TWlanConnectionState GetConnectionState ()
IMPORT_C TInt GetNetworkName ( TDes &)
IMPORT_C TInt GetPacketStatistics ( TWlanPacketStatistics &)
IMPORT_C TInt GetPowerSaveMode ( TWlanPowerSave &)
IMPORT_C TInt GetPowerSaveSettings ( TWlanPowerSaveSettings &)
IMPORT_C TInt GetRegulatoryDomain ( TWlanRegion &)
IMPORT_C TInt GetRoamMetrics ( TWlanRoamMetrics &)
IMPORT_C TInt GetRogueList ( CArrayFixSeg < TWlanBssid > &)
IMPORT_C TInt GetScanResults ( ScanList &, const TDesC8 &, TInt &, TUint &)
IMPORT_C void GetScanResults ( ScanList &, const TDesC8 &, TInt &, TUint &, TRequestStatus &)
IMPORT_C TInt GetSecurityMode ( TWlanSecurity &)
IMPORT_C TInt GetSystemMode ( TWlanSystemMode &)
IMPORT_C TInt GetUapsdSettings ( TWlanUapsdSettings &)
IMPORT_C void Join ( TRequestStatus &, const TUint32 , TWLMOverrideSettings *)
IMPORT_C TInt NotifyChangedPsmSrvMode ( TInt )
IMPORT_C void NotifyChangedSettings ()
IMPORT_C TInt Release ()
IMPORT_C TInt RemoveIapSsidList ( TUint )
IMPORT_C void RunProtectedSetup ( TRequestStatus &, TUint32 , TDes8 &)
IMPORT_C TInt SetPowerSaveMode ( TWlanPowerSaveMode )
IMPORT_C TInt SetPowerSaveSettings (const TWlanPowerSaveSettings &)
IMPORT_C TInt SetUapsdSettings (const TWlanUapsdSettings &)
IMPORT_C TInt StartAggressiveBgScan ( TUint )
IMPORT_C TInt UpdateRcpNotificationBoundary (const TInt32 , const TInt32 )
TVersion Version ()
void WaitForNotification ( 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 void ActivateNotifiesL ( MWLMNotify & aCallback,
TUint32 aNotificationMask
)

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

Parameters

MWLMNotify & aCallback Client's callback interface for notifications.
TUint32 aNotificationMask Bitmask of notifications to activate.

AddBssidToRoguelist(const TMacAddress &)

IMPORT_C TInt AddBssidToRoguelist ( const TMacAddress & aBssid )

Adds a BSSID to rogue list

Parameters

const TMacAddress & aBssid a BSSID of an accesspoint.

AddIapSsidList(TUint, const CArrayFixFlat< TWlanSsid > &)

IMPORT_C TInt AddIapSsidList ( TUint aIapId,
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 aIapId IAP ID the list is attached to.
const CArrayFixFlat < TWlanSsid > & aSsidList List of SSIDs. Any previous list attached will be overwritten.

CancelCreateTrafficStream()

IMPORT_C void CancelCreateTrafficStream ( )

Cancel an outstanding traffic stream creation request.

Since
S60 v3.2

CancelDeleteTrafficStream()

IMPORT_C void CancelDeleteTrafficStream ( )

Cancel an outstanding traffic stream deletion request.

Since
S60 v3.2

CancelDirectedRoam()

IMPORT_C void CancelDirectedRoam ( )

Cancel an outstanding directed roam request.

CancelGetAvailableIaps()

IMPORT_C void CancelGetAvailableIaps ( )

Cancel an outstanding IAP availability request.

CancelGetScanResults()

IMPORT_C void CancelGetScanResults ( )

Cancel an outstanding scan request.

CancelJoin()

IMPORT_C void CancelJoin ( )

Cancel an outstanding join request.

CancelNotifies()

IMPORT_C void CancelNotifies ( )

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

CancelProtectedSetup()

IMPORT_C void CancelProtectedSetup ( )

Cancel an outstanding Protected Setup request.

CancelRequest()

void CancelRequest ( )

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

ClearPacketStatistics()

IMPORT_C void ClearPacketStatistics ( )

Clear packet statistics of the current connection.

Since
S60 v3.2

Close()

IMPORT_C void Close ( )

Close the connection; release the handle to the server.

ConfigureMulticast(TUint, const TMacAddress &)

IMPORT_C TInt ConfigureMulticast ( TUint aCommand,
const TMacAddress & aMulticastAddress
)

ConfigureMulticast

Parameters

TUint aCommand specifies either KSoIp6JoinGroup or KSoIp6LeaveGroup
const TMacAddress & aMulticastAddress contains the MAC address

Connect()

IMPORT_C TInt Connect ( )

Client makes the connection to the server.

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

IMPORT_C void CreateTrafficStream ( TRequestStatus & aStatus,
const TWlanTrafficStreamParameters & aStreamParameters,
TBool aIsAutomaticStream,
TUint & aStreamId,
TWlanTrafficStreamStatus & aStreamStatus
)

Create a virtual traffic stream.

Parameters

TRequestStatus & aStatus Status of the calling active object. On successful completion contains KErrNone, otherwise one of the system-wide error codes.
const TWlanTrafficStreamParameters & aStreamParameters Traffic stream parameters to use.
TBool aIsAutomaticStream Whether the stream was created automatically by WLAN NIF.
TUint & aStreamId Contains the ID assigned to this traffic stream on successful completion.
TWlanTrafficStreamStatus & aStreamStatus Contains the status of the traffic stream on successful completion.

DeleteTrafficStream(TRequestStatus &, TUint)

IMPORT_C void DeleteTrafficStream ( TRequestStatus & aStatus,
TUint aStreamId
)

Delete a virtual traffic stream.

Parameters

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

DirectedRoam(TRequestStatus &, const TMacAddress &)

IMPORT_C void DirectedRoam ( TRequestStatus & aStatus,
const TMacAddress & aBssid
)

Initiate a roam to the given BSSID.

Parameters

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

GetAcTrafficStatus(TWlmAcTrafficStatusArray &)

IMPORT_C TInt GetAcTrafficStatus ( TWlmAcTrafficStatusArray & aArray )

Get the current traffic status for access classes.

Since
S60 v5.0.1

Parameters

TWlmAcTrafficStatusArray & aArray Traffic status for access classes.

GetAccessPointInfo(TWlanAccessPointInfo &)

IMPORT_C TInt GetAccessPointInfo ( TWlanAccessPointInfo & aInfo )

Get information about the current AP.

Since
S60 v3.2

Parameters

TWlanAccessPointInfo & aInfo Information about the current AP.

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

IMPORT_C TInt GetAvailableIaps ( TWlmAvailableIaps & aAvailableIaps,
TInt & aCacheLifetime,
TUint & aMaxDelay,
TBool aFilteredResults
)

Get available WLAN IAPs.

Parameters

TWlmAvailableIaps & aAvailableIaps Array of IAP IDs available.
TInt & aCacheLifetime how old cached results (in seconds) the client is willing to accept.
TUint & aMaxDelay maximum time (in seconds) the client is willing to wait for the scan results.
TBool aFilteredResults Whether availability is filtered based on signal strength.

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

IMPORT_C void GetAvailableIaps ( TDes8 & aAvailableIaps,
TDes8 & aCacheLifetime,
TDes8 & aMaxDelay,
TBool aFilteredResults,
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 & aAvailableIaps Array of IAP IDs available.
TDes8 & aCacheLifetime how old cached results (in seconds) the client is willing to accept.
TDes8 & aMaxDelay maximum time (in seconds) the client is willing to wait for the scan results.
TBool aFilteredResults Whether availability is filtered based on signal strength.
TRequestStatus & aStatus Status of the calling active object.

GetBSSID(TMacAddress &)

IMPORT_C TInt GetBSSID ( TMacAddress & aBssid )

Get the BSSID of the current connection.

Parameters

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

GetConnectionRCPI(TInt32 &)

IMPORT_C TInt GetConnectionRCPI ( TInt32 & aRCPI )

Get current connections RCPI.

Parameters

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

GetConnectionState()

IMPORT_C TWlanConnectionState GetConnectionState ( )

Get connection state of WLAN.

GetNetworkName(TDes &)

IMPORT_C TInt GetNetworkName ( TDes & aNwName )

Get the name of the current network.

Parameters

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

GetPacketStatistics(TWlanPacketStatistics &)

IMPORT_C TInt GetPacketStatistics ( TWlanPacketStatistics & aStatistics )

Get packet statistics of the current connection.

Since
S60 v3.2

Parameters

TWlanPacketStatistics & aStatistics Packet statistics of the current connection.

GetPowerSaveMode(TWlanPowerSave &)

IMPORT_C TInt GetPowerSaveMode ( TWlanPowerSave & aPowerSaveMode )

Get the current power save mode.

Since
S60 v3.2

Parameters

TWlanPowerSave & aPowerSaveMode current power save mode.

GetPowerSaveSettings(TWlanPowerSaveSettings &)

IMPORT_C TInt GetPowerSaveSettings ( TWlanPowerSaveSettings & aSettings )

Get the current power save settings.

Since
S60 v3.2

Parameters

TWlanPowerSaveSettings & aSettings power save settings.

GetRegulatoryDomain(TWlanRegion &)

IMPORT_C TInt GetRegulatoryDomain ( TWlanRegion & aRegion )

Get the current regulatory domain.

Since
S60 v3.2

Parameters

TWlanRegion & aRegion current region.

GetRoamMetrics(TWlanRoamMetrics &)

IMPORT_C TInt GetRoamMetrics ( TWlanRoamMetrics & aRoamMetrics )

Get roam metrics of the current connection.

Since
S60 v3.2

Parameters

TWlanRoamMetrics & aRoamMetrics Roam metrics of the current connection.

GetRogueList(CArrayFixSeg< TWlanBssid > &)

IMPORT_C TInt GetRogueList ( CArrayFixSeg < TWlanBssid > & aRogueList )

Return a list of BSSIDs on the rogue list.

Since
S60 v3.2

Parameters

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

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

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

Get scan results.

Parameters

ScanList & aResults (OUT) Results of the last scan.
const TDesC8 & aSsid SSID to be scanned.
TInt & aCacheLifetime how old cached results (in seconds) the client is willing to accept.
TUint & aMaxDelay maximum time (in seconds) the client is willing to wait for the scan results.

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

IMPORT_C void GetScanResults ( 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 & aSsid SSID to be scanned.
TInt & aCacheLifetime how old cached results (in seconds) the client is willing to accept.
TUint & aMaxDelay maximum time (in seconds) the client is willing to wait for the scan results.
TRequestStatus & aStatus Status of the calling active object.

GetSecurityMode(TWlanSecurity &)

IMPORT_C TInt GetSecurityMode ( TWlanSecurity & aMode )

Get current security mode.

Parameters

TWlanSecurity & aMode (OUT) The current security mode.

GetSystemMode(TWlanSystemMode &)

IMPORT_C TInt GetSystemMode ( TWlanSystemMode & aMode )

Get current system mode.

Parameters

TWlanSystemMode & aMode (OUT) The current system mode.

GetUapsdSettings(TWlanUapsdSettings &)

IMPORT_C TInt GetUapsdSettings ( TWlanUapsdSettings & aSettings )

Get the current U-APSD settings.

Since
S60 v3.2

Parameters

TWlanUapsdSettings & aSettings Current U-APSD settings.

Join(TRequestStatus &, const TUint32, TWLMOverrideSettings *)

IMPORT_C void Join ( TRequestStatus & aStatus,
const TUint32 aId,
TWLMOverrideSettings * aOverrides = NULL
)

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

Parameters

TRequestStatus & aStatus Status of the calling active object.
const TUint32 aId Index to the "IAP specific WLAN table".
TWLMOverrideSettings * aOverrides = NULL Override parameters to joining the network.

NotifyChangedPsmSrvMode(TInt)

IMPORT_C TInt NotifyChangedPsmSrvMode ( TInt aMode )

Notify the server about PSM server mode change.

Since
S60 v5.2

Parameters

TInt aMode new PSM server mode.

NotifyChangedSettings()

IMPORT_C void NotifyChangedSettings ( )

Notify the server about changed WLAN settings.

Release()

IMPORT_C TInt Release ( )

Reset the network connection.

RemoveIapSsidList(TUint)

IMPORT_C TInt RemoveIapSsidList ( TUint aIapId )

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

Since
S60 v5.0.1

Parameters

TUint aIapId IAP ID the list is attached to.

RunProtectedSetup(TRequestStatus &, TUint32, TDes8 &)

IMPORT_C void RunProtectedSetup ( TRequestStatus & aStatus,
TUint32 aId,
TDes8 & aCredentials
)

Run Protected Setup.

Parameters

TRequestStatus & aStatus Status of the calling active object.
TUint32 aId IAP ID of network which user has selected to be configured.
TDes8 & aCredentials

SetPowerSaveMode(TWlanPowerSaveMode)

IMPORT_C TInt SetPowerSaveMode ( TWlanPowerSaveMode aMode )

Set the power save mode.

Since
S60 v5.0.1

Parameters

TWlanPowerSaveMode aMode Power save mode to be set.

SetPowerSaveSettings(const TWlanPowerSaveSettings &)

IMPORT_C TInt SetPowerSaveSettings ( const TWlanPowerSaveSettings & aSettings )

Set the power save settings.

Since
S60 v3.2

Parameters

const TWlanPowerSaveSettings & aSettings Current power save settings to be set.

SetUapsdSettings(const TWlanUapsdSettings &)

IMPORT_C TInt SetUapsdSettings ( const TWlanUapsdSettings & aSettings )

Set the U-APSD settings.

Since
S60 v3.2

Parameters

const TWlanUapsdSettings & aSettings Current U-APSD settings to be set.

StartAggressiveBgScan(TUint)

IMPORT_C TInt StartAggressiveBgScan ( TUint aInterval )

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 aInterval Desired 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 TInt UpdateRcpNotificationBoundary ( const TInt32 aRcpLevelBoundary,
const TInt32 aHysteresis
)

Updates the RCP notification class boundaries.

Parameters

const TInt32 aRcpLevelBoundary specifies the RCP level when notification should be given. This boundary is used when signal level is getting worse (see next parameter).
const TInt32 aHysteresis specifies 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)

void WaitForNotification ( TRequestStatus & aReturnValue,
TDes8 & aReturnData,
TUint32 aNotificationMask
)

Set a message to pend notification.

Parameters

TRequestStatus & aReturnValue Status of the calling active object.
TDes8 & aReturnData (OUT) Data returned by the notification.
TUint32 aNotificationMask Bitmask 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.