wlan_bearer/wlanengine/wlan_common/wlanengine_common_3.1/inc/core_iap_data.h
changeset 0 c40eb8fe8501
child 8 e0f767079796
--- /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<core_mac_address_s> iap_whitelist_m;
+
+    /** IAP blacklist of APs. */
+    core_type_list_c<core_mac_address_s> iap_blacklist_m;
+    };
+
+#endif // CORE_IAP_DATA_H