diff -r 000000000000 -r c40eb8fe8501 wlan_bearer/wlanengine/wlan_common/wlanengine_common_3.1/inc/core_iap_data.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlan_bearer/wlanengine/wlan_common/wlanengine_common_3.1/inc/core_iap_data.h Tue Feb 02 02:03:13 2010 +0200 @@ -0,0 +1,280 @@ +/* +* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "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: Class holding all IAP related data +* +*/ + + +#ifndef CORE_IAP_DATA_H +#define CORE_IAP_DATA_H + +#include "core_types.h" +#include "core_type_list.h" + +/** + * Class holding all IAP related data + * @lib wlmserversrv.lib + * @since S60 v3.1 + */ +NONSHARABLE_CLASS( core_iap_data_c ) + { + +public: + + /** + * Constructor + * + * @since S60 v3.1 + * @param iap_data containing structure of IAP data + */ + core_iap_data_c( + const core_iap_data_s& iap_data ); + + /** + * Destructor + */ + ~core_iap_data_c(); + + /** + * Return the ID of the IAP. + * + * @since S60 v3.1 + * @return The ID of the IAP. + */ + u32_t id() const; + + /** + * Return the IAP ID of the IAP. + * + * @since S60 v5.2 + * @return The IAP ID of the IAP. + */ + u32_t iap_id() const; + + /** + * Return the configured operating mode. + * + * @since S60 v3.1 + * @return The configured operating mode. + */ + core_operating_mode_e operating_mode() const; + + /** + * Return the configured SSID. + * + * @since S60 v3.1 + * @return The configured SSID. + */ + const core_ssid_s& ssid() const; + + /** + * Check whether the SSID is hidden. + * + * @since S60 v3.1 + * @return Whether the SSID is hidden. + */ + bool_t is_hidden() const; + + /** + * Return the requested WEP key. + * + * @since S60 v3.1 + * @param Index of the WEP key ( 1 - 4 ). + * @return The requested WEP key. + */ + const core_wep_key_s& wep_key( + u32_t key_index ) const; + + /** + * Return the index of the default WEP key. + * + * @since S60 v3.1 + * @return The index of the default WEP key. + */ + u32_t default_wep_key_index() const; + + /** + * Return the configured security mode. + * + * @since S60 v3.1 + * @return The configured security mode. + */ + core_security_mode_e security_mode() const; + + /** + * Return the configured authentication mode. + * + * @since S60 v3.1 + * @return The configured authentication mode. + */ + core_authentication_mode_e authentication_mode() const; + + /** + * Set the authentication mode to the given mode. + * + * @since S60 v3.2 + * @param mode Authentication mode to be set. + */ + void set_authentication_mode( + core_authentication_mode_e mode ); + + /** + * Check whether PSK is used or not. + * + * @since S60 v3.1 + * @return Whether PSK is used or not. + */ + bool_t is_psk_used() const; + + /** + * Check whether PSK key has been overridden. + * + * @since S60 v3.1 + * @return Whether PSK key has been overridden. + */ + bool_t is_psk_overridden() const; + + /** + * Return the overridden PSK key. + * + * @since S60 v3.1 + * @return The overridden PSK key. + */ + const core_wpa_preshared_key_s& psk_key() const; + + /** + * Return the used ad-hoc channel. + * + * @since S60 v3.1 + * @return The used ad-hoc channel. 0 if automatic configuration is used. + */ + u32_t adhoc_channel() const; + + /** + * Check whether IP address is configured dynamically. + * + * @since S60 v3.1 + * @return Whether IP address is configured dynamically. + */ + bool_t is_dynamic_ip_addr() const; + + /** + * Check whether roaming between APs is allowed. + * + * @since S60 v3.1 + * @return Whether roaming between APs is allowed. + */ + bool_t is_roaming_allowed() const; + + /** + * Check whether the configured security mode uses EAP. + * + * @since S60 v3.1 + * @return Whether the configured security mode uses EAP. + */ + bool_t is_eap_used() const; + + /** + * Check whether the configured security mode uses WAPI. + * + * @since S60 v3.2 + * @return Whether the configured security mode uses WAPI. + */ + bool_t is_wapi_used() const; + + /** + * Check whether the configured security mode is 802.1x. + * + * @since S60 v3.1 + * @return Whether the configured security mode is 802.1x. + */ + bool_t is_802dot1x_used() const; + + /** + * Check whether the IAP whitelist is empty. + * + * @since S60 v3.1 + * @return Whether the IAP whitelist is empty. + */ + bool_t is_iap_whitelist_empty() const; + + /** + * Check whether the given MAC address is whitelisted. + * + * @since S60 v3.1 + * @param mac MAC address to be checked. + * @return Whether the given MAC address is whitelisted. + */ + bool_t is_mac_in_iap_whitelist( + const core_mac_address_s& mac ); + + /** + * Check whether the given MAC address is blacklisted. + * + * @since S60 v3.1 + * @param mac MAC address to be checked. + * @return Whether the given MAC address is blacklisted. + */ + bool_t is_mac_in_iap_blacklist( + const core_mac_address_s& mac ); + + /** + * Add a MAC address to the IAP whitelist. + * + * @since S60 v3.1 + * @param mac MAC address to be added. + */ + void add_mac_to_iap_whitelist( + const core_mac_address_s& mac ); + + /** + * Remove a MAC address from the IAP whitelist. + * + * @since S60 v3.1 + * @param mac MAC address to be removed. + */ + void remove_mac_from_iap_whitelist( + const core_mac_address_s& mac ); + + /** + * Add a MAC address to the IAP blacklist. + * + * @since S60 v3.1 + * @param mac MAC address to be added. + */ + void add_mac_to_iap_blacklist( + const core_mac_address_s& mac ); + + /** + * Remove a MAC address from the IAP blacklist. + * + * @since S60 v3.1 + * @param mac MAC address to be removed. + */ + void remove_mac_from_iap_blacklist( + const core_mac_address_s& mac ); + +private: // data + + /** Adaptation side data about the WLAN connection */ + core_iap_data_s iap_data_m; + + /** IAP whitelist of APs. */ + core_type_list_c iap_whitelist_m; + + /** IAP blacklist of APs. */ + core_type_list_c iap_blacklist_m; + }; + +#endif // CORE_IAP_DATA_H