wlan_bearer/wlanengine/wlan_symbian/wlanengine_symbian_3.1/inc/wlanconversionutil.h
--- /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