ipcm_plat/connection_ui_utilities_api/inc/ConnectionUiUtilities.h
changeset 0 5a93021fdf25
child 8 2e6c4614c58e
child 20 9c97ad6591ae
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ipcm_plat/connection_ui_utilities_api/inc/ConnectionUiUtilities.h	Thu Dec 17 08:55:21 2009 +0200
@@ -0,0 +1,615 @@
+/*
+* Copyright (c) 2002 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: 
+*     Declares the main handler, CConnectionUiUtilities and public API for the
+*     Connection Ui Utilities.
+*
+*/
+
+
+#ifndef CONNECTIONUIUTILITIES_H
+#define CONNECTIONUIUTILITIES_H
+
+// INCLUDES
+
+#include <e32base.h>
+#include <wlanmgmtcommon.h>
+
+
+// FORWARD DECLARATIONS
+class CConnectionUiUtilitiesImpl;
+class TConnectionPrefs;
+
+
+// CONSTANT DECLARATIONS
+
+
+// TYPE DECLARATIONS
+
+enum TCuuAlwaysAskResults
+    {
+    ECuuAlwaysAsk = 0,
+    ECuuUserDefined        
+    };
+    
+
+enum TMsgQueryLinkedResults
+    {
+    EMsgQueryCancelled = 0,     // Message query was cancelled
+    EMsgQueryAutomatically,     
+    EMsgQueryThisTime
+    };
+    
+
+// CLASS DECLARATION
+/*
+* Connection Ui Utilities, it is a set of Miscellaneous networking related 
+* ui functions
+* Proxy around the real implementation in CConnectionUiUtilitiesUiImpl. 
+* No details of the actual data are exposed.
+*/
+NONSHARABLE_CLASS( CConnectionUiUtilities ) : public CBase
+    {
+
+    public: // Constructors and destructor
+
+        /**
+        * Two-phased constructor. Leaves on failure.
+        * @return The constructed CConnectionUiUtilities object.
+        */
+        IMPORT_C static CConnectionUiUtilities* NewL();
+
+
+        /**
+        * Destructor.
+        */
+        IMPORT_C ~CConnectionUiUtilities();
+
+
+    public:     // New methods
+
+        /**
+        * @param aResult contains ECuuAlwaysAsk if always ask radio button 
+        * was selected, and ECuuUserDefined if user defined 
+        * radio button was selected by user
+        * It acts also as input parameter to default this setting.
+        * @return ETrue if OK Soft key was pressed, 
+        * EFalse if Cancel Soft key was selected on the dialog.
+        */
+        IMPORT_C TBool AlwaysAskPageL( TCuuAlwaysAskResults& aResult );
+                
+        /**
+        * @param aIAPId specifies the IAP to be excluded from the list
+        * @param aIAPId gives back the iapid of selected connection
+        * @param aPrefs Specifies the rank and desired direction and bearer
+        * of the connections will appear in the dialog
+        * @return ETrue if Select Soft key was pressed, 
+        * EFalse if Cancel Soft key was selected on the dialog.
+        */        
+        IMPORT_C TBool ChangeConnectionL( TUint32& aIAPId, 
+                                          TConnectionPrefs aPrefs );
+        /**
+        * Pops up an information note, about connection is changed to 
+        * the given accespont
+        * @param aIAPId The id of access point which has been selected.
+        */
+        IMPORT_C void  ShowConnectionChangedNoteL( const TUint32& aIAPId );
+        
+        /**
+        * Pops up discreet popup indicating that connection is being
+        * established to the given access point.
+        * This method should only be used from the MPM in order to provide
+        * a consistent popup behavior across the platform.
+        * @param aIAPId The id of the access point.
+        * @param aConnectionActive is connection already active.
+        */
+        IMPORT_C void ConnectingViaDiscreetPopup( const TUint32& aIAPId, TBool aConnectionAlreadyActive );
+
+        /**
+        * Pops up a discreet popup indicating a connection error.
+        * Only appropriate error codes show the popup, otherwise
+        * (such as with general errors) the popup is not shown.
+        * This method should only be used from the MPM in order to provide
+        * a consistent popup behavior across the platform.
+        * @param aErrCode Symbian error code.
+        */
+        IMPORT_C void ConnectionErrorDiscreetPopup( const TInt& aErrorCode );
+        
+        /**
+        * Notifier. Search available WLAN networks, and user can select one of
+        * them
+        * @param aSSID the id of selected wlan network
+        * @return ETrue if user selected one of networks, EFalse if an error
+        * is occured or user does not select a network.
+        */
+        IMPORT_C TBool SearchWLANNetwork( TWlanSsid& aSSID );
+
+        /**
+        * Cancel SearchWLANNetwork
+        */
+        IMPORT_C void  CancelSearchWLANNetwork();
+
+        
+        /**
+        * Notifier. Shows a query, "Do you want to create a WLAN connection in 
+        * Off-line mode?"
+        * @return ETrue if user select Yes, EFalse otherwise
+        */
+        IMPORT_C TBool OffLineWlanNote();
+        
+        /**
+        * Cancel OffLineWlan Note
+        */
+        IMPORT_C  void CancelOffLineWlanNote();
+        
+        /**
+        * Notifier. Pops up an information note: 
+        * "Operation not possible in Off-line mode"
+        */        
+        IMPORT_C void OffLineWlanDisabledNote();               
+
+        /**
+        * @deprecated
+        *
+        * Use TBool EasyWepDlg( TDes* aKey, TBool& aHex )!
+        *
+        * Notifier. Shows a data query, "Enter WEP key for WLAN" 
+        * @param aKey Key entered by user. Default value can be passed
+        * @return ETrue if user select OK, EFalse otherwise
+        */
+        IMPORT_C TBool EasyWepDlg( TDes* aKey );
+        
+        /**
+        * Cancel Easy Wep dialog
+        */
+        IMPORT_C  void CancelEasyWepDlg();
+
+        /**
+        * Notifier. Shows a data query, "Enter pre-shared key for WLAN" 
+        * @param aKey Key entered by user. Default value can be passed
+        * @return ETrue if user select OK, EFalse otherwise
+        */
+        IMPORT_C TBool EasyWpaDlg( TDes* aKey );
+
+        /**
+        * Notifier. Shows a data query, "Enter pre-shared key for WLAN" 
+        * Async version
+        * @param aStatus caller's TRequestStatus to handle asynchronous call.        
+        * @param aKey Key entered by user. Default value can be passed
+        */
+        IMPORT_C void EasyWpaDlg( TRequestStatus& aStatus, TDes* aKey );
+                
+        /**
+        * Cancel Easy Wpa dialog
+        */
+        IMPORT_C  void CancelEasyWpaDlg();
+
+        /**
+        * Notifier. Seatrch available WLAN networks, and user can select one 
+        * of them
+        * @param aSSID the id of selected wlan network
+        * @param aConnectionMode connection mode of selected wlan network
+        * @param aSecurityMode security mode of selected wlan network
+        * @return ETrue if user selected one of networks, EFalse if an error
+        * is occured or user does not select a network.
+        */
+        IMPORT_C TBool SearchWLANNetwork
+            (
+            TWlanSsid& aSSID, 
+            TWlanConnectionMode& aConnectionMode,
+            TWlanConnectionSecurityMode& aSecurityMode
+            );
+            
+        /**
+        * Notifier. Search available WLAN networks, and user can select one 
+        * of them
+        * @param aSSID the id of selected wlan network
+        * @param aConnectionMode connection mode of selected wlan network
+        * @param aExtendedSecurityMode extended security mode of selected wlan network
+        * @return ETrue if user selected one of networks, EFalse if an error
+        * is occured or user does not select a network.
+        */
+        IMPORT_C TBool SearchWLANNetwork
+            (
+            TWlanSsid& aSSID, 
+            TWlanConnectionMode& aConnectionMode,
+            TWlanConnectionExtentedSecurityMode& aExtendedSecurityMode
+            );    
+
+        /**
+        * Notifier. Shows a data query, "Enter WEP key for WLAN" 
+        * @param aKey Key entered by user. Default value can be passed
+        * @param aHex Returns ETrue if user entered hexadecimal key, 
+        * EFalse, if user entered ASCII key
+        * @return ETrue if user pressed OK, EFalse otherwise
+        */
+        IMPORT_C TBool EasyWepDlg( TDes* aKey, TBool& aHex );
+        
+        /**
+        * Notifier. Shows a data query, "Enter WEP key for WLAN" 
+        * Async version
+        * @param aStatus caller's TRequestStatus to handle asynchronous call.
+        * @param aKey Key entered by user. Default value can be passed
+        * @param aHex Returns ETrue if user entered hexadecimal key, 
+        * EFalse, if user entered ASCII key
+        */
+        IMPORT_C void EasyWepDlg( TRequestStatus& aStatus, TDes* aKey, TBool& aHex );
+
+        /**
+        * Notifier. Pops up an information note: 
+        * "Selected WLAN network has no coverage"
+        */        
+        IMPORT_C void WLANNetworkUnavailableNote();               
+
+        /**
+        * Notifier. Search available WLAN networks, and user can select one of
+        * them. Totally synchronous version, to be used from Engines, not from
+        * UIs
+        * @param aSSID the id of selected wlan network
+        * @param aConnectionMode connection mode of selected wlan network
+        * @param aSecurityMode security mode of selected wlan network
+        * @return ETrue if user selected one of networks, EFalse if an error
+        * is occured or user does not select a network.
+        */
+        IMPORT_C TBool SearchWLANNetworkSync
+            (
+            TWlanSsid& aSSID, 
+            TWlanConnectionMode& aConnectionMode,
+            TWlanConnectionSecurityMode& aSecurityMode
+            );
+
+        /**
+        * Notifier. Search available WLAN networks, and user can select one of 
+        * them. Totally asynchronous version, to be used from Engines, not 
+        * from UIs
+        * @param aStatus status object of notifier
+        * @param aSSID the id of selected wlan network
+        * @param aConnectionMode connection mode of selected wlan network
+        * @param aSecurityMode security mode of selected wlan network
+        * @return 
+        */
+        IMPORT_C void SearchWLANNetworkAsync( TRequestStatus& aStatus, 
+                                TWlanSsid& aSSID, 
+                                TWlanConnectionMode& aConnectionMode, 
+                                TWlanConnectionSecurityMode& aSecurityMode );
+                                
+        /**
+        * Notifier. Search available WLAN networks, and user can select one of 
+        * them. Totally asynchronous version, to be used from Engines, not 
+        * from UIs
+        * @param aStatus status object of notifier
+        * @param aSSID the id of selected wlan network
+        * @param aConnectionMode connection mode of selected wlan network
+        * @param aExtendedSecurityMode extended security mode of selected wlan network
+        * @return 
+        */
+        IMPORT_C void SearchWLANNetworkAsync( TRequestStatus& aStatus, 
+                    TWlanSsid& aSSID, 
+                    TWlanConnectionMode& aConnectionMode, 
+                    TWlanConnectionExtentedSecurityMode& aExtendedSecurityMode );                        
+
+        /**
+        * DEPRECATED, PLEASE USE ASYNC VERSION!
+        * Confirmation note is used after the connection has been successfully 
+        * established via destination and connection method.
+        * @param aDestId Id of used destination.
+        * @param aConnMId Id of used connection method.
+        */
+        IMPORT_C void ConnectedViaDestAndConnMethodNote( const TUint32 aDestId,
+                                                    const TUint32 aConnMId );
+
+        /**
+        * Confirmation note is used after the connection has been successfully 
+        * established via destination and connection method.
+        * @param aDestId Id of used destination.
+        * @param aConnMId Id of used connection method.
+        * @param aStatus caller's TRequestStatus to handle asynchronous call.
+        */
+        void ConnectedViaDestAndConnMethodNote( const TUint32 aDestId, 
+                                                const TUint32 aConnMId, 
+                                                TRequestStatus& aStatus );
+                                                    
+        /**
+        * Cancel ConnectedViaDestAndConnMethodNote notifier.
+        */
+        IMPORT_C void CancelConnectedViaDestAndConnMethodNote();
+
+        /**
+        * @deprecated
+        *
+        * Use void ReconnectToMethodQuery( const TUint32 aDestId, 
+        *                                  const TUint32 aConnMId, 
+        *                                  const TBool aNextBestExists,
+        *                                  TMsgQueryLinkedResults& aResult,
+        *                                  TRequestStatus& aStatus );
+        *
+        * Confirmation query is used when current method is lost and 
+        * connection is going to be established via another lower priority 
+        * method.
+        * @param aConnMId Id of used connection method.
+        * @param aResult Result of user selection, ETrue if user accepted 
+        * roaming, to less preferred method, EFlase otherwise
+        * @param aStatus Status object of notifier.
+        */
+        IMPORT_C void ReconnectToMethodQuery( const TUint32 aConnMId, 
+                                              TBool& aResult,
+                                              TRequestStatus& aStatus );
+        /**
+        * Cancel ReconnectToMethodQuery notifier.
+        */
+        IMPORT_C void CancelReconnectToMethodQuery();
+
+        /**
+        * @deprecated
+        *
+        * Use void RoamingToMorePrefMethodQuery( const TUint32 aDestId, 
+        *                                     const TUint32 aConnMId, 
+        *                                     const TBool aNextBestExists,
+        *                                     TMsgQueryLinkedResults& aResult,
+        *                                     TRequestStatus& aStatus );
+        *
+        * Confirmation query is used when more preferred method becomes 
+        * available
+        * @param aConnMId Id of used connection method.
+        * @param aResult Result of user selection, ETrue if user accepted 
+        * roaming, to more preferred method, EFlase otherwise
+        * @param aStatus Status object of notifier.
+        */
+        IMPORT_C void RoamingToMorePrefMethodQuery( const TUint32 aConnMId, 
+                                                    TBool& aResult,
+                                                    TRequestStatus& aStatus );
+        /**
+        * Cancel RoamingToMorePrefMethodQuery notifier.
+        */
+        IMPORT_C void CancelRoamingToMorePrefMethodQuery();
+
+        /**
+        * Information note is used when "Automatically" roaming is enabled. The
+        * actual connection establishment take places in the background 
+        * (no wait note).
+        * @param aConnMId Id of used connection method.
+        */
+        IMPORT_C void ChangingConnectionToNote( const TUint32 aConnMId );
+		
+		/**
+        * Information note is used when "Automatically" roaming is enabled. The
+        * actual connection establishment take places in the background 
+        * (no wait note). This is the asynchronous version of the previous one
+        * @param aConnMId Id of used connection method.
+        * @param aStatus Status object of the notifier
+        */
+        IMPORT_C void ChangingConnectionToNote( const TUint32 aConnMId, 
+        											TRequestStatus& aStatus );
+		
+        /**
+        * Cancel ChangingConnectionToNote notifier.
+        */
+        IMPORT_C void CancelChangingConnectionToNote();
+
+        /**
+        * @deprecated
+        *
+        * Use void ConfirmMethodUsageQuery( const TUint32 aDestId, 
+        *                                   const TUint32 aConnMId, 
+        *                                   const TBool aNextBestExists,
+        *                                   TMsgQueryLinkedResults& aResult,
+        *                                   TRequestStatus& aStatus );
+        *
+        * Notifier. Shows a query, "Connect to\n '%0U' via\n '%1U'?"
+        * @param aDestId Id of used destination.
+        * @param aConnMId Id of used connection method.
+        * @param aResult Result of user selection, ETrue if user accepted 
+        *                query, EFalse otherwise
+        * @param aStatus Status object of notifier.
+        */
+        IMPORT_C void ConfirmMethodUsageQuery( const TUint32 aDestId, 
+                                               const TUint32 aConnMId, 
+                                               TBool& aResult, 
+                                               TRequestStatus& aStatus );
+        
+        /**
+        * Cancel ConfirmMethodUsageQuery
+        */
+        IMPORT_C  void CancelConfirmMethodUsageQuery();
+
+        /**
+        * DEPRECATED, PLEASE USE ASYNC VERSION!
+        * Confirmation note is used after the connection has been successfully 
+        * established via a connection method.
+        * @param aConnMId Id of used connection method.
+        */
+        IMPORT_C void ConnectedViaConnMethodNote( const TUint32 aConnMId );
+
+        /**
+        * Confirmation note is used after the connection has been successfully 
+        * established via a connection method.
+        * @param aConnMId Id of used connection method.
+        * @param aStatus caller's TRequestStatus to handle asynchronous call.
+        */
+        void ConnectedViaConnMethodNote( const TUint32 aConnMId, 
+                                         TRequestStatus& aStatus );
+                                         
+        /**
+        * Cancel ConnectedViaConnMethodNote notifier.
+        */
+        IMPORT_C void CancelConnectedViaConnMethodNote();
+
+        /**
+        * Confirmation query is used when current method is lost and 
+        * connection is going to be established via another lower priority 
+        * method.
+        * @param aDestId Id of used destination.
+        * @param aConnMId Id of used connection method.
+        * @param aNextBestExists ETrue if there is another available CM inside
+        *                        the destination that could be used
+        * @param aResult Result of user selection
+        * @param aStatus Status object of notifier.
+        */
+        IMPORT_C void ReconnectToMethodQuery( const TUint32 aDestId, 
+                                              const TUint32 aConnMId, 
+                                              const TBool aNextBestExists,
+                                              TMsgQueryLinkedResults& aResult,
+                                              TRequestStatus& aStatus );
+
+        /**
+        * Confirmation query is used when more preferred method becomes 
+        * available
+        * @param aDestId Id of used destination.
+        * @param aConnMId Id of used connection method.
+        * @param aNextBestExists ETrue if there is another available CM inside
+        *                        the destination that could be used
+        * @param aResult Result of user selection
+        * @param aStatus Status object of notifier.
+        */
+        IMPORT_C void RoamingToMorePrefMethodQuery( const TUint32 aDestId, 
+                                            const TUint32 aConnMId, 
+                                            const TBool aNextBestExists,
+                                            TMsgQueryLinkedResults& aResult,
+                                            TRequestStatus& aStatus );
+
+        /**
+        * Notifier. Shows a query, "Connect to\n '%0U' via\n '%1U'?"
+        * @param aResult Result of user selection
+        * @param aHomeNetwork Home or foreign network.
+        * @param aStatus Status object of notifier
+        */
+        IMPORT_C void ConfirmMethodUsageQuery( TMsgQueryLinkedResults& aResult, 
+                                               const TBool aHomeNetwork,
+                                               TRequestStatus& aStatus );
+
+
+        /**
+        * Notifier. Shows a query, "Do you want to create a WLAN connection in 
+        * Off-line mode?"
+        * @param aStatus Status object of notifier.
+        */
+        IMPORT_C void OffLineWlanNote( TRequestStatus& aStatus );
+        
+        /**
+        * Notifier that displays "Power save test" information note.
+        * @param aDisable On completion, contains ETrue if user wants to disable
+        *                 the note in the future. EFalse otherwise. 
+        * @param aStatus KErrNone if successful, a system-wide error code if not.
+        */
+        IMPORT_C void WlanPowerSaveTestNote( TBool&          aDisable,
+                                             TRequestStatus& aStatus );
+        
+        /**
+        * Cancel WlanPowerSaveTestNote notifier.
+        */
+        IMPORT_C void CancelWlanPowerSaveTestNote();
+        
+        /**
+        * Notifier. Shows a data query prompting for WAPI pre-shared key. 
+        * @param aKey Key entered by user. Default value can be passed
+        * @return ETrue if user select OK, EFalse otherwise
+        */
+        IMPORT_C TBool EasyWapiDlg( TDes* aKey );
+
+        /**
+        * Notifier. Pops up an information note: 
+        * "No WLAN networks are available at the moment. Connection not available."
+        */        
+        IMPORT_C void NoWLANNetworksAvailableNote(); 
+
+        /**
+        * Notifier. Search available WLAN networks, and user can select one of 
+        * them. Totally asynchronous version, to be used from Engines, not 
+        * from UIs
+        * @param aStatus status object of notifier
+        * @param aSSID the id of selected wlan network
+        * @param aConnectionMode connection mode of selected wlan network
+        * @param aSecurityMode security mode of selected wlan network, 
+        * @param aProtectedSetupSupported if the wlan supports Protected Setup
+        * @return 
+        */
+        IMPORT_C void SearchWLANNetworkAsync( TRequestStatus& aStatus, 
+                                TWlanSsid& aSSID, 
+                                TWlanConnectionMode& aConnectionMode, 
+                                TWlanConnectionSecurityMode& aSecurityMode, 
+                                TBool& aProtectedSetupSupported );
+                                
+         /**
+        * Notifier. Search available WLAN networks, and user can select one of 
+        * them. Totally asynchronous version, to be used from Engines, not 
+        * from UIs
+        * @param aStatus status object of notifier
+        * @param aSSID the id of selected wlan network
+        * @param aConnectionMode connection mode of selected wlan network
+        * @param aExtendedSecurityMode extended security mode of selected wlan network, 
+        * @param aProtectedSetupSupported if the wlan supports Protected Setup
+        * @return 
+        */
+        IMPORT_C void SearchWLANNetworkAsync( TRequestStatus& aStatus, 
+                    TWlanSsid& aSSID, 
+                    TWlanConnectionMode& aConnectionMode, 
+                    TWlanConnectionExtentedSecurityMode& aExtendedSecurityMode, 
+                    TBool& aProtectedSetupSupported );                        
+
+        /**
+        * Notifier. Search available WLAN networks, and user can select one of
+        * them. Totally synchronous version, to be used from Engines, not from
+        * UIs
+        * @param aSSID the id of selected wlan network
+        * @param aConnectionMode connection mode of selected wlan network
+        * @param aSecurityMode security mode of selected wlan network
+        * @param aProtectedSetupSupported if the wlan supports Protected Setup
+        * @return ETrue if user selected one of networks, EFalse if an error
+        * is occured or user does not select a network.
+        */
+        IMPORT_C TBool SearchWLANNetworkSync( TWlanSsid& aSSID, 
+                                    TWlanConnectionMode& aConnectionMode,
+                                    TWlanConnectionSecurityMode& aSecurityMode,
+                                    TBool& aProtectedSetupSupported );
+
+        /**
+        * Notifier. Seatrch available WLAN networks, and user can select one 
+        * of them
+        * @param aSSID the id of selected wlan network
+        * @param aConnectionMode connection mode of selected wlan network
+        * @param aSecurityMode security mode of selected wlan network
+        * @param aProtectedSetupSupported if the wlan supports Protected Setup
+        * @return ETrue if user selected one of networks, EFalse if an error
+        * is occured or user does not select a network.
+        */
+        IMPORT_C TBool SearchWLANNetwork( TWlanSsid& aSSID, 
+                                    TWlanConnectionMode& aConnectionMode,
+                                    TWlanConnectionSecurityMode& aSecurityMode,
+                                    TBool& aProtectedSetupSupported );
+                                                        
+        /**
+        * Notifier. Search available WLAN networks, and user can select one 
+        * of them
+        * @param aSSID the id of selected wlan network
+        * @param aConnectionMode connection mode of selected wlan network
+        * @param aExtendedSecurityMode extended security mode of selected wlan network
+        * @param aProtectedSetupSupported if the wlan supports Protected Setup
+        * @return ETrue if user selected one of networks, EFalse if an error
+        * is occured or user does not select a network.
+        */
+        IMPORT_C TBool SearchWLANNetwork( TWlanSsid& aSSID, 
+                     TWlanConnectionMode& aConnectionMode,
+                     TWlanConnectionExtentedSecurityMode& aExtendedSecurityMode,
+                     TBool& aProtectedSetupSupported );                                        
+
+
+    private:    // Data 
+
+        CConnectionUiUtilitiesImpl* iImpl;  ///< Implementation. Owned.
+
+    };
+
+#endif
+
+// End of File