diff -r 000000000000 -r c40eb8fe8501 wlan_plat/wlan_management_api/inc/wlanscaninfointerface.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlan_plat/wlan_management_api/inc/wlanscaninfointerface.h Tue Feb 02 02:03:13 2010 +0200 @@ -0,0 +1,188 @@ +/* +* Copyright (c) 2002-2005 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Interface definition for WLAN scan results. +* +*/ + +/* +* %version: 11 % +*/ + +#ifndef WLANSCANINFOINTERFACE_H +#define WLANSCANINFOINTERFACE_H + +// INCLUDES +#include "wlanmgmtcommon.h" + +// DATA TYPES +typedef TUint8 TWlanScanInfoFrame; + +// CLASS DECLARATION +/** + * @brief ECom interface class for WLAN scan results iterator. + * + * This class contains the methods for iterating through + * WLAN scan results. + * @since S60 3.0 + */ +class MWlanScanInfoIteratorBase + { + public: // Methods + + /** + * Return the size of the scan info. The size includes Status Info, + * MAC header and Frame Body. + * @return The size of the scan info in bytes. + */ + virtual TUint16 Size() const = 0; + + /** + * Find the data of the first access point. + * @return Pointer at the beginning of the first access point stored + * in the scan list. NULL if not any. + */ + virtual const TWlanScanInfoFrame* First() = 0; + + /** + * Find the data of the next access point. + * @return Pointer at the beginning of the next access point stored + * in the scan list. NULL if not any. + */ + virtual const TWlanScanInfoFrame* Next() = 0; + + /** + * Find the data of the current access point. + * @return Pointer at the beginning of the current access point stored + * in the scan list. NULL if not any. + */ + virtual const TWlanScanInfoFrame* Current() const = 0; + + /** + * Find is there any more unhandled access points. + * @return EFalse if there is access points in the list left, + * ETrue if not. + */ + virtual TBool IsDone() const = 0; + + }; + +/** + * @brief ECom interface class for WLAN scan results. + * + * This class contains the methods for parsing the scan results + * of a WLAN network. + * @since S60 3.0 + */ +class MWlanScanInfoBase + { + public: // Methods + + /** + * Return RX level of the BSS. + * @return RX level. + */ + virtual TUint8 RXLevel() const = 0; + + /** + * Return BSSID of the BSS. + * @param aBssid ID of the access point or IBSS network. + * @return Pointer to the beginning of the BSSID. Length is always 6 bytes. + */ + virtual void Bssid( + TWlanBssid& aBssid ) const = 0; + + /** + * Get beacon interval of the BSS. + * @return the beacon interval. + */ + virtual TUint16 BeaconInterval() const = 0; + + /** + * Get capability of the BSS (see IEEE 802.11 section 7.3.1.4. + * @return The capability information. + */ + virtual TUint16 Capability() const = 0; + + /** + * Get security mode of the BSS. + * @return security mode. + * @deprecated This method is offered for backward compatibility reasons, + * ExtendedSecurityMode() should be used instead. + */ + virtual TWlanConnectionSecurityMode SecurityMode() const = 0; + + /** + * Return requested information element. + * @param aIE Id of the requested IE data. + * @param aLength Length of the IE. Zero if IE not found. + * @param aData Pointer to the beginning of the IE data. NULL if IE not found. + * @return General error message. + */ + virtual TInt InformationElement( + TUint8 aIE, + TUint8& aLength, + const TUint8** aData ) = 0; + + /** + * Return WPA information element. + * @param aLength Length of the IE. Zero if IE not found. + * @param aData Pointer to the beginning of the IE data. NULL if IE not found. + * @return General error message. + */ + virtual TInt WpaIE( + TUint8& aLength, + const TUint8** aData ) = 0; + + /** + * Return the first information element. + * @param aIE Id of the IE. See IEEE 802.11 section 7.3.2. + * @param aLength Length of the IE. Zero if IE not found. + * @param aData Pointer to the beginning of the IE data. NULL if IE not found. + * @return General error message. + */ + virtual TInt FirstIE( + TUint8& aIE, + TUint8& aLength, + const TUint8** aData ) = 0; + + /** + * Return next information element. + * @param aIE Id of the IE. See IEEE 802.11 section 7.3.2. + * @param aLength Length of the IE. Zero if IE not found. + * @param aData Pointer to the beginning of the IE data. NULL if IE not found. + * @return General error message. + */ + virtual TInt NextIE( + TUint8& aIE, + TUint8& aLength, + const TUint8** aData ) = 0; + + /** + * Find whether Wi-Fi Protected Setup is supported. + * @return ETrue if AP supports Wi-Fi Protected Setup, + * EFalse if not. + */ + virtual TBool IsProtectedSetupSupported() = 0; + + /** + * Get security mode of the BSS. + * @return security mode. + */ + virtual TWlanConnectionExtentedSecurityMode ExtendedSecurityMode() const = 0; + + }; + +#endif // WLANSCANINFOINTERFACE_H + +// End of File