wlan_bearer/wlanengine/wlan_symbian/wlanengine_symbian_3.1/inc/wlanconversionutil.h
changeset 0 c40eb8fe8501
child 3 6524e815f76f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlan_bearer/wlanengine/wlan_symbian/wlanengine_symbian_3.1/inc/wlanconversionutil.h	Tue Feb 02 02:03:13 2010 +0200
@@ -0,0 +1,628 @@
+/*
+* Copyright (c) 2002-2009 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:  Handles type conversion between adaptation and core layers
+*
+*/
+
+/*
+* %version: 32 %
+*/
+
+#ifndef WLANCONVERSIONUTIL_H
+#define WLANCONVERSIONUTIL_H
+
+#include <wdbifwlansettings.h>  // Used in SIAPSettings.
+#include <wdbiflansettings.h>   // Used in SLanSettings.
+#include <wlancontrolinterface.h>
+#include <wlantrafficstreamparameters.h>
+#include "FrameXferBlock.h"
+#include "wlmclientserver.h"
+#include "core_types.h"
+#include "core_type_list.h"
+#include "wlandevicesettings.h"
+#include "umac_types.h"
+#include "wlanpowersaveinterface.h"
+#include "wlanhwinit.h"
+
+/**
+* Utility class for making type conversion between Symbian and "Wlan Core" types
+* @lib wlmserversrv.lib
+* @since Series 60 3.0
+*/
+class TWlanConversionUtil
+    {
+    public:  // New functions
+
+        /**
+        * ConvertSSID
+        * @since Series 60 3.0
+        * @param aCoreSSID (OUT)
+        * @param aSSID (IN)
+        */    
+        static void ConvertSSID(
+            core_ssid_s& aCoreSSID,
+            const TSSID& aSSID );
+
+        /**
+        * ConvertSSID
+        * @since Series 60 3.0
+        * @param aCoreSSID (OUT)
+        * @param aSSID (IN)
+        */    
+        static void ConvertSSID(
+            core_ssid_s& aCoreSSID,
+            const TDesC& aSSID );
+
+        /**
+        * ConvertSSID
+        * @since Series 60 3.0
+        * @param aCoreSSID (OUT)
+        * @param aSSID (IN)
+        */    
+        static void ConvertSSID(
+            core_ssid_s& aCoreSSID,
+            const TDesC8& aSSID );
+
+        /**
+        * ConvertSSID
+        * @since Series 60 3.0
+        * @param aCoreSSID
+        * @
+        */    
+        static void ConvertSSID(
+            TSSID& aAmSSID,
+            const core_ssid_s& aCoreSSID );
+
+        /**
+        * ConvertScanRate
+        * @since Series 60 3.0
+        * @param aCoreScanRate
+        * @return TRate
+        */    
+        static TRate ConvertScanRate( int_t aCoreScanRate );
+
+        /**
+        * ConvertSecurityMode
+        * @since Series 60 3.0
+        * @param aCoreMode
+        * @return TWlanSecurity
+        */    
+        static TWlanSecurity ConvertSecurityMode(
+            const core_connection_security_mode_e& aCoreMode );
+
+        /**
+        * ConvertEncryptionMode
+        * @since Series 60 3.0
+        * @param aCoreEncryptionMode
+        * @return TWEPStatus
+        */    
+        static TEncryptionStatus ConvertEncryptionMode(
+            const core_encryption_mode_e& aCoreEncryptionMode );
+
+        /**
+        * ConvertConnectionState
+        * @since Series 60 3.0
+        * @param aCoreState
+        * @return TWlanConnectionState 
+        */   
+        static TWlanConnectionState ConvertConnectionState(
+            const core_connection_state_e& aCoreState );
+
+        /**
+        * ConvertScanMode
+        * @since Series 60 3.0
+        * @param aAmScanMode
+        * @return core_scan_mode_e 
+        */   
+        static core_scan_mode_e ConvertScanMode(
+            const TScanMode& aAmScanMode );
+
+        /**
+        * ConvertScanMode
+        * @since Series 60 3.0
+        * @param aCoreScanMode
+        * @return TScanMode 
+        */   
+        static TScanMode ConvertScanMode(
+            const core_scan_mode_e& aCoreScanMode );
+
+        /**
+        * ConvertConvertCipherKeyType
+        * @since Series 60 3.0
+        * @param aCoreCipherKeyType
+        * @return TWlanCipherSuite
+        */   
+        static TWlanCipherSuite ConvertCipherKeyType(
+            const core_cipher_key_type_e& aCoreCipherKeyType );
+
+        /**
+        * ConvertNotificationType
+        * @since Series 60 3.0
+        * @param aCoreNotificationType
+        * @return TWlmNotify 
+        */   
+        static TWlmNotify ConvertNotificationType(
+            const core_notification_e& aCoreNotificationType );
+
+        /**
+        * ConvertConnectStatus
+        * @since Series 60 3.0
+        * @param aCoreConnectStatus The core connect status being converted.
+        * @param security_mode Security mode of the IAP.
+        * @return error code either Symbian generic or WLAN specific 
+        */   
+        static TInt ConvertConnectStatus(
+            const core_connect_status_e& aCoreConnectStatus,
+            core_security_mode_e security_mode );
+        
+        /**
+        * ConvertRegion
+        * @since Series 60 3.0
+        * @param aAmRegion
+        * @return core_wlan_region_e 
+        */   
+        static core_wlan_region_e ConvertRegion( const TWlanRegion& aAmRegion );
+
+        /**
+         * ConvertRegion
+         * @since Series 60 5.0
+         * @param aCoreRegion
+         * @return TWlanRegion 
+         */   
+         static TWlanRegion ConvertRegion( const core_wlan_region_e& aCoreRegion );
+        
+        /**
+        * ConvertMacAddress
+        * Function assumes both mac address types have the same length
+        * @since Series 60 3.0
+        * @param aAmMacAddress (OUT)
+        * @param aCoreMacAddress (IN)
+        */   
+        static void ConvertMacAddress(
+            TMacAddress& aAmMacAddress,
+            const core_mac_address_s& aCoreMacAddress );
+
+        /**
+        * ConvertMacAddress
+        * Function assumes both mac address types have the same length
+        * @since Series 60 3.0
+        * @param aCoreMacAddress (OUT)
+        * @param aAmMacAddress (IN)
+        */   
+        static void ConvertMacAddress(
+            core_mac_address_s& aCoreMacAddress,
+            const TMacAddress& aAmMacAddress );
+
+        /**
+        * ConvertMacAddress
+        * Function assumes both mac address types have the same length
+        * @since Series 60 3.0
+        * @param aCoreMacAddress (OUT)
+        * @param aAmMacAddress (IN)
+        */   
+        static void ConvertMacAddress(
+            core_mac_address_s& aCoreMacAddress,
+            const TMacAddr& aAmMacAddress );
+
+        /**
+        * ConvertMacAddress
+        * Function assumes both mac address types have the same length
+        * @since Series 60 3.0
+        * @param aCoreMacAddress (OUT)
+        * @param aAmMacAddress (IN)
+        */   
+        static void ConvertMacAddress(
+            TMacAddress& aCoreMacAddress,
+            const TMacAddr& aAmMacAddress );
+
+        /**
+        * ConvertPowerMode
+        * @since Series 60 3.0
+        * @param aCorePowerMode (IN)
+        * @return TPowerMode
+        */        
+        static TPowerMode TWlanConversionUtil::ConvertPowerMode(
+            const core_power_mode_e& aCorePowerMode );
+
+        /**
+        * ConvertWakeUpInterval
+        * @since Series 60 3.0
+        * @param aAmWakeUpMode (OUT)
+        * @param aAmWakeUpInterval (OUT)
+        * @param aCoreWakeUpMode (OUT)
+        * @param aCoreWakeUpInterval (IN)
+        */        
+        static void TWlanConversionUtil::ConvertWakeUpInterval(
+            TWlanWakeUpInterval& aAmWakeUpMode,
+            TUint8& aAmWakeUpInterval,
+            const core_power_save_wakeup_mode_e& aCoreWakeUpMode,
+            const u8_t& aCoreWakeUpInterval );
+
+        /**
+        * ConvertIndication
+        * @since Series 60 3.0
+        * @param aAmIndication
+        * @return core_am_indication_e 
+        */   
+        static core_am_indication_e ConvertIndication(
+            const TIndication& aAmIndication );
+
+        /**
+        * ConvertDeviceSettings
+        * @since Series 60 3.0
+        * @param aCoreSettings (OUT)
+        * @param aAmSettings (IN)
+        */    
+        static void ConvertDeviceSettings(
+            core_device_settings_s& aCoreSettings,
+            const CWlanDeviceSettings::SWlanDeviceSettings& aAmSettings );
+            
+        /**
+        * ConvertIapSettings
+        * @since Series 60 3.0
+        * @param aCoreSettings (OUT)
+        * @param aAmSettings (IN)
+        * @param aDhcpInUse (IN)
+        * @param aOverrideSettings (IN)
+        */    
+        static void ConvertIapSettings(
+            core_iap_data_s& aCoreSettings,
+            const SWLANSettings& aAmSettings,
+            const TBool aDhcpInUse,
+            const TWLMOverrideSettings& aOverrideSettings );
+
+        /**
+        * ConvertIapSettings
+        * @since Series 60 3.2
+        * @param aCoreSettings (OUT)
+        * @param aAmSettings (IN)
+        */    
+        static void ConvertIapSettings(
+            core_iap_data_s& aCoreSettings,
+            const TWlanLimitedIapData& aAmSettings );
+
+        /**
+        * ConvertErrorCode
+        * @since Series 60 3.0
+        * @param aError
+        * @return Corresponding Adaptation module error code.
+        */    
+        static TInt ConvertErrorCode( const core_error_e aError );
+
+        /**
+        * ConvertErrorCode
+        * @since Series 60 3.0
+        * @param aError
+        * @return Corresponding Core error code.
+        */    
+        static core_error_e ConvertErrorCode( const TInt aError );
+    
+        /**
+        * Convert mW to dBm.
+        * @since Series 60 3.0
+        * @param aValue mW value to convert.
+        * @return Corresponding value in dBm.
+        * @note If the method is unable to perform conversion,
+        * it will return 0dBm as the conversion result.
+        */
+        static u32_t ConvertMilliwattsToDecibel( const TUint32 aValue );
+
+        /**
+        * Convert dBm to mW.
+        * @since Series 60 3.0
+        * @param aValue dBm value to convert.
+        * @return Corresponding value in mW.
+        * @note If the method is unable to perform conversion,
+        * it will return 1mW as the conversion result.
+        */
+        static TUint32 ConvertDecibelToMilliWatts( const u32_t aValue );
+
+        /**
+        * Convert RSS class
+        * @since Series 60 3.0
+        * @param aCoreRssClass.
+        * @return Corresponding Adaptation module value.
+        */
+        static TWlanRCPLevel ConvertRcpClass( const core_rcp_class_e aValue );
+
+        /**
+        * Convert scan channels
+        * @since Series 60 3.0
+        * @param aAmChannels (OUT)
+        * @param aCoreChannels (IN)
+        */
+        static void ConvertScanChannels(
+            SChannels& aAmChannels,
+            const core_scan_channels_s& aCoreChannels );
+            
+        /**
+        * Convert scan channels
+        * @since Series 60 3.0
+        * @param aCoreChannels (OUT)
+        * @param aAmChannels (IN)
+        */
+        static void ConvertScanChannels(            
+            core_scan_channels_s& aCoreChannels,
+            RArray<TUint>& aAmChannels );
+            
+        /**
+        * Convert frame type
+        * @since Series 60 3.1
+        * @param core frame type
+        * @return adaptation frame type
+        */
+        static TDataBuffer::TFrameType ConvertFrameType(
+            core_frame_type_e aFrameType );
+
+        /**
+        * Convert frame type
+        * @since Series 60 3.1
+        * @param adaptation frame type
+        * @return core frame type
+        */
+        static core_frame_type_e ConvertFrameType(
+            TDataBuffer::TFrameType aFrameType );
+
+        /**
+         * Convert packet statistics.
+         * 
+         * @since Series 60 3.2
+         * @param aAmStatistics (OUT)
+         * @param aCoreStatistics (IN)         
+         */
+        static void ConvertPacketStatistics(
+            TWlanPacketStatistics& aAmStatistics,
+            const core_packet_statistics_s& aCoreStatistics );
+
+        /**
+         * Convert U-APSD settings.
+         * 
+         * @since Series 60 3.2
+         * @param aCoreSettings (OUT)
+         * @param aAmSettings (IN)         
+         */
+        static void ConvertUapsdSettings(
+            core_uapsd_settings_s& aCoreSettings,
+            const TWlanUapsdSettings& aAmSettings );
+
+        /**
+         * Convert U-APSD settings.
+         * 
+         * @since Series 60 3.2
+         * @param aAmSettings (OUT)
+         * @param aCoreSettings (IN)         
+         */
+        static void ConvertUapsdSettings(
+            TWlanUapsdSettings& aAmSettings,
+            const core_uapsd_settings_s& aCoreSettings );
+
+        /**
+         * Convert TX rate policies.
+         * 
+         * @since Series 60 3.2
+         * @param aAmPolicies (OUT)
+         * @param aAmMcsPolicies (OUT)
+         * @param aAmAutoRatePolicies (OUT)
+         * @param aCorePolicies (IN)         
+         */
+        static void ConvertTxRatePolicies(
+            TTxRatePolicy& aAmPolicies,
+            THtMcsPolicy& aAmMcsPolicies,
+            TTxAutoRatePolicy& aAmAutoRatePolicies,
+            const core_tx_rate_policies_s& aCorePolicies );
+
+        /**
+         * Convert TX rate policy mappings.
+         * 
+         * @since Series 60 3.2
+         * @param aAmMappings (OUT)
+         * @param aCoreMappings (IN)         
+         */
+        static void ConvertTxRatePolicyMappings(
+            TQueue2RateClass& aAmMappings,
+            const core_tx_rate_policy_mappings_s& aCoreMappings );
+
+        /**
+         * Convert TX rate policy initial rates.
+         * 
+         * @since Series 60 3.2
+         * @param aInitialRates (OUT)
+         * @param aCorePolicies (IN)         
+         */
+        static void ConvertTxRatePolicyInitialRates(
+            TInitialMaxTxRate4RateClass& aInitialRates,
+            const core_tx_rate_policies_s& aCorePolicies );
+
+        /**
+         * Convert power save settings.
+         * 
+         * @since Series 60 3.2
+         * @param aCoreSettings (OUT)
+         * @param aAmSettings (IN)         
+         */
+        static void ConvertPowerSaveSettings(
+            core_power_save_settings_s& aCoreSettings,
+            const TWlanPowerSaveSettings& aAmSettings );
+
+        /**
+         * Convert power save settings.
+         * 
+         * @since Series 60 3.2
+         * @param aAmSettings (OUT)
+         * @param aCoreSettings (IN)         
+         */
+        static void ConvertPowerSaveSettings(
+            TWlanPowerSaveSettings& aAmSettings,
+            const core_power_save_settings_s& aCoreSettings );
+
+        /**
+         * Convert U-APSD maximum service period length
+         * @since Series 60 3.2
+         * @param aServicePeriodLength (IN)
+         * @return Corresponding Adaptation module maximum service period length
+         */
+        static TMaxServicePeriodLength ConvertUapsdMaxServicePeriod(
+            core_max_service_period_length_e aServicePeriodLength );
+            
+        /**
+         * Convert traffic stream status.
+         * @since Series 60 3.2
+         * @param aStatus (IN)
+         * @return Corresponding Adaptation module traffic stream status.
+         */
+        static TWlanTrafficStreamStatus ConvertTrafficStreamStatus(
+            core_traffic_stream_status_e aStatus );        
+
+        /**
+         * Convert access point information.
+         * @since Series 60 3.2
+         * @param aAmInfo (OUT)
+         * @param aCoreInfo (IN)
+         */
+        static void ConvertApInformation(
+            TWlanAccessPointInfo& aAmInfo,
+            const core_ap_information_s& aCoreInfo );
+
+        /**
+         * Convert roam metrics of the current connection.
+         * @since Series 60 3.2
+         * @param aAmRoamMetrics (OUT)
+         * @param aCoreRoamMetrics (IN)
+         */
+        static void ConvertRoamMetrics(
+            TWlanRoamMetrics& aAmRoamMetrics,
+            const core_roam_metrics_s& aCoreRoamMetrics );
+
+        /**
+         * Convert list of BSSIDs on the rogue list.
+         * @since Series 60 3.2
+         * @param aAmRogueList (OUT)
+         * @param aCoreRogueList (IN)
+         */ 
+        static void ConvertRogueList(
+            TWlmRogueList& aAmRogueList,
+            core_type_list_c<core_mac_address_s>& aCoreRogueList );
+
+        /**
+         * Convert tx queue id.
+         * @since Series 60 3.2
+         * @param queue_id (IN)
+         * @return Corresponding Adaptation module tx queue id.
+         */
+        static TQueueId ConvertTxQueueId(
+            core_access_class_e queue_id );
+
+        /**
+         * Convert a Protected Setup credential attribute.
+         * @since S60 3.2
+         * @param aAmAttribute (OUT)
+         * @param aCoreAttribute (IN)
+         */
+        static void ConvertProtectedSetupCredentialAttribute(
+            TWlanProtectedSetupCredentialAttribute& aAmAttribute,
+            const core_iap_data_s& aCoreAttribute );
+
+        /**
+         * Convert a Protected Setup status code to a WLAN error code.
+         * @since Series 60 3.2
+         * @param aCoreStatus The core Protected Setup status being converted.
+         * @return WLAN specific error code.
+         */
+        static TInt ConvertProtectedSetupStatus(
+            core_protected_setup_status_e aCoreStatus );
+
+        /**
+         * Convert SNAP header.
+         * @since Series 60 3.2
+         * @param aAmHeader (OUT)
+         * @param aCoreHeader (IN)
+         */
+        static void ConvertSnapHeader(
+            TSnapHeader& aAmHeader,
+            const core_snap_header_s& aCoreHeader );        
+
+        /**
+         * Convert power save mode.
+         * 
+         * @since Series 60 5.0.1
+         * @param aCoreMode (OUT)
+         * @param aAmMode (IN)         
+         */
+        static void ConvertPowerSaveMode(
+            core_power_save_mode_s& aCoreMode,
+            TWlanPowerSaveMode aAmMode );        
+      
+        /**
+         * Convert feature flags.
+         *
+         * @since S60 v5.1
+         * @param aFeatures
+         * @return Corresponding core features.
+         */
+        static u32_t ConvertFeatureFlags(
+            TUint aFeatures );
+
+        /**
+         * Convert access class.
+         * 
+         * @param aAccessClass (IN)
+         * @return Corresponding Adaptation module access class.
+         */
+        static TWlmAccessClass ConvertAccessClass(
+            core_access_class_e aAccessClass );
+
+        /**
+         * Convert traffic mode.
+         * 
+         * @param aAccessClass (IN)
+         * @return Corresponding Adaptation module traffic mode.
+         */
+        static TWlmAcTrafficMode ConvertTrafficMode(
+            core_access_class_traffic_mode_e aMode );
+
+        /**
+         * Convert traffic status.
+         * 
+         * @param aAccessClass (IN)
+         * @return Corresponding Adaptation module traffic status
+         */
+        static TWlmAcTrafficStatus ConvertTrafficStatus(
+            core_access_class_traffic_status_e aStatus );
+
+        /**
+         * Convert traffic stream parameters.
+         * 
+         * @param aCoreTid (OUT)
+         * @param aCoreUserPriority (OUT)
+         * @param coreParams (OUT)
+         * @param aAmParams (IN)         
+         */
+        static void ConvertTrafficStreamParameters(
+            u8_t& aCoreTid,
+            u8_t& aCoreUserPriority,
+            core_traffic_stream_params_s& aCoreParams,
+            const TWlanTrafficStreamParameters& aAmParams );
+
+        /**
+         * Convert TX rate enumeration to corresponding rate as bits per second.
+         *
+         * @since aRate (IN)
+         * @return Corresponding rate as bits per second.
+         */
+        static u32_t ConvertTxRate(
+            TWlanRate aRate );
+
+    };
+
+#endif // WLANCONVERSIONUTIL_H