connectionmonitoring/connectionmonitorui/inc/WlanConnectionInfo.h
branchRCL_3
changeset 58 83ca720e2b9a
parent 0 5a93021fdf25
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/connectionmonitoring/connectionmonitorui/inc/WlanConnectionInfo.h	Wed Sep 01 12:23:51 2010 +0100
@@ -0,0 +1,272 @@
+/*
+* Copyright (c) 2004 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:  Represents a WLAN connection
+*     
+*
+*/
+
+
+#ifndef WLANCONNECTIONINFO_H_INCLUDED
+#define WLANCONNECTIONINFO_H_INCLUDED
+
+// INCLUDES
+#include "ConnectionInfoBase.h"
+
+// CONSTANTS
+
+// FORWARD DECLARATIONS
+class RConnectionMonitor;
+
+// Calibration of WLAN signal strength
+enum TWlanSignalStrength
+    {
+    EWlanSignalStrengthMax = 60,
+    EWlanSignalStrengthGood = 74,
+    EWlanSignalStrengthLow = 87,
+    EWlanSignalStrengthMin = 100,
+    EWlanSignalUnavailable = 9999
+    };
+
+// WLAN Network modes
+enum TWlanNetworkMode
+    {
+    EWlanNetworkModeInfrastructure = 0,
+    EWlanNetworkModeAdHoc,
+    EWlanNetworkModeSecInfrastructure,
+    EWlanNetworkModeUnavailable
+    };
+
+// WLAN security modes
+enum TWlanSecurityMode
+    {
+    EWlanSecurityModeOpenNetwork = 0,
+    EWlanSecurityModeWEP,
+    EWlanSecurityMode8021x,
+    EWlanSecurityModeWPA,
+    EWlanSecurityWpaPsk,
+    EWlanSecurityModeUnavailable
+    };
+
+// CONSTANTS
+
+const TReal32 KDiffOfWlanSignalStrength = 
+                            EWlanSignalStrengthMin - EWlanSignalStrengthMax;
+
+
+// CLASS DECLARATION
+/**
+* Represents a WLAN connection.
+*/
+class CWlanConnectionInfo : public CConnectionInfoBase
+    {
+    public:
+        /**
+        * Static constructor
+        * @param aConnectionId The id of the given connection.
+        * @param aMonitor for refreshing details
+        * @param aConnectionBearerType the bearer type of connection
+        * @param aEasyWlanIAPName Name of the Easy WLAN access point
+        * @param aActiveWrapper the for refreshing
+        */
+        static CWlanConnectionInfo* NewL( TInt aConnectionId, 
+                              RConnectionMonitor* const aConnectionMonitor,
+                              TConnMonBearerType aConnectionBearerType,
+                              const HBufC* aEasyWlanIAPName,
+                              CActiveWrapper* aActiveWrapper );
+
+        /**
+        * Destructor
+        */
+        virtual ~CWlanConnectionInfo();
+        
+    public:    
+        /**
+        * Give back a copy of connection. 
+        */
+        virtual CConnectionInfoBase* DeepCopyL();
+    
+        /**
+        * Refreshing all details of connection. Leaves if refreshing 
+        * any of detais is failed.
+        */
+        virtual void RefreshDetailsL();
+
+        /**
+        * Refresh iListBoxItemText text, connection ListBox has a 
+        * reference to this text.
+        */
+        virtual void RefreshConnectionListBoxItemTextL();
+
+        /**
+        * Refresh details array of connection. DetailsListBox has a 
+        * reference to this array.
+        */
+        virtual void RefreshDetailsArrayL();
+
+        /**
+        * Gives back the icon id of connection 
+        * @return the icon id of connection 
+        */
+        virtual TUint GetIconId() const;
+
+        /**
+        * Gives back the connection is EasyWLAN or not.
+        * @return ETrue if the selected conenction EasyWLAN,
+        * EFalse otherwise
+        */
+        virtual TBool IsEasyWLAN() const;
+        
+        /**
+        * Gives back current Name of Network ( SSID )
+        * @return iNetworkName
+        */
+        virtual HBufC* GetWlanNetworkNameLC() const;
+
+        /**
+        * Gives back current SignalStrength
+        * @return iSignalStrength
+        */        
+        TWlanSignalStrength GetWlanSignalStrength() const;
+
+        /**
+        * Gives back current NetworkMode
+        * @return iNetworkMode
+        */
+        TWlanNetworkMode GetWlanNetworkMode() const;
+
+        /**
+        * Gives back current SecurityMode
+        * @return iSecurityMode
+        */        
+        TWlanSecurityMode GetWlanSecurityMode() const;
+
+        /**
+        * Gives back current TxPower
+        * @return iTxPower
+        */        
+        TUint GetWlanTxPower() const;
+
+    protected:  // Constructors
+        /**
+        * Constructor
+        * @param aConnectionId The id of the given connection.
+        * @param aMonitor for refreshing details
+        * @param aConnectionBearerType the bearer type of connection
+        * @param aActiveWrapper the for refreshing
+        */
+        CWlanConnectionInfo( TInt aConnectionId, 
+                             RConnectionMonitor* const aConnectionMonitor,
+                             TConnMonBearerType aConnectionBearerType,
+                             CActiveWrapper* aActiveWrapper );
+
+        /**
+        * Second phase construction
+        */
+        void ConstructL();
+
+    protected:
+        /**
+        * Creates an array with requrired details of connection to
+        * the listbox which visulaize details of connection. This member
+        * is called at initialization.
+        */
+        virtual void ToArrayDetailsL();
+
+        /**
+        * Refreshing NetworkName. Leaves if did not get valid data from
+        * ConnectionMonitor.
+        */
+        void RefreshNetworkNameL();
+        
+        /**
+        * Refreshing SignalStrength. Leaves if did not get valid data from
+        * ConnectionMonitor.
+        */
+        void RefreshSignalStrength();
+
+        /**
+        * Refreshing NetworkMode. Leaves if did not get valid data from
+        * ConnectionMonitor.
+        */
+        void RefreshNetworkMode();
+
+        /**
+        * Refreshing SecurityMode. Leaves if did not get valid data from
+        * ConnectionMonitor.
+        */
+        void RefreshSecurityMode();
+
+        /**
+        * Refreshing TxPower. Leaves if did not get valid data from
+        * ConnectionMonitor.
+        */
+        void RefreshTxPowerL();
+
+        /**
+        * Gives back the string representation of SignalStrength.
+        */
+        HBufC* ToStringSignalStrengthLC() const;
+
+        /**
+        * Gives back the string representation of Mode.
+        */
+        HBufC* ToStringNetworkModeLC() const;
+
+        /**
+        * Gives back the string representation of Security.
+        */
+        HBufC* ToStringSecurityModeLC() const;
+
+        /**
+        * Gives back the string representation of TxPower.
+        */
+        HBufC* ToStringTxPowerLC() const;
+
+    private:
+
+    protected:
+
+        /**
+        * The name of network (SSID)
+        */
+        TName                       iWlanNetworkName;
+        
+        /**
+        * Signale strength of WLAN connection
+        */
+        TWlanSignalStrength         iSignalStrength;
+        
+        /**
+        * Network mode of WLAN conenction
+        */ 
+        TWlanNetworkMode            iNetworkMode;
+    
+        /**
+        * Security mode of WLAN conenction
+        */ 
+        TWlanSecurityMode           iSecurityMode;
+
+        /**
+        * TxPower of WLAN conenction
+        */
+        TUint                        iTxPower;
+        
+        /**
+        * ETrue if the selected conenction EasyWLAN
+        */ 
+        TBool                        iEasyWlan;
+    };
+
+#endif // WLANCONNECTIONINFO_H_INCLUDED
+//End of File.
\ No newline at end of file