diff -r 000000000000 -r 5a93021fdf25 connectionutilities/ConnectionDialogs/ConnectionUiUtilities/inc/ConnectionUiUtilitiesImpl.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/inc/ConnectionUiUtilitiesImpl.h Thu Dec 17 08:55:21 2009 +0200 @@ -0,0 +1,554 @@ +/* +* 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: +* Declaration of class CConnectionUiUtilitiesImpl. +* +* +*/ + + +#ifndef CONNECTIONUIUTILITIESIMPL_H +#define CONNECTIONUIUTILITIESIMPL_H + +// INCLUDES +#include +#include "ConnectionUiUtilitiesClient.h" +#include "ConnectionUiUtilitiesCommon.h" +#include "ActiveWrapper.h" + +// CONST DECLARATIONS + +_LIT( KMrouterName, "mRouter" ); + +#if defined(_DEBUG) +_LIT( KErrNullPointer, "NULL pointer" ); +#endif + + +// FORWARD DECLARATIONS +class CCommsDatabase; +class TConnectionPrefs; +class CAknGlobalNote; + + +// CLASS DECLARATION + +/** +* Connection Ui Utilities. +* Implementation behind proxy class CConnectionUiUtilities. +*/ +NONSHARABLE_CLASS( CConnectionUiUtilitiesImpl ) : public CBase + { + + public: // Constructors and destructor + + /** + * Two-phased constructor. Leaves on failure. + * @return The constructed CConnectionUiUtilities object. + */ + static CConnectionUiUtilitiesImpl* NewL(); + + /** + * Destructor. + */ + virtual ~CConnectionUiUtilitiesImpl(); + + protected: // Constructors + + /** + * Constructor. + */ + CConnectionUiUtilitiesImpl(); + + /** + * Second-phase constructor. + */ + void ConstructL(); + + 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. + */ + TBool AlwaysAskPageL( TCuuAlwaysAskResults& aResult ); + + /** + * @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. + */ + TBool ChangeConnectionL( TUint32& aUid, 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. + */ + void ShowConnectionChangedNoteL( const TUint32& aIAPId ); + + /** + * 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 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. + */ + 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 aExtSecurityMode 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. + */ + TBool SearchWLANNetwork( TWlanSsid& aSSID, + TWlanConnectionMode& aConnectionMode, + TWlanConnectionExtentedSecurityMode& aExtSecurityMode ); + + /** + * 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 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. + */ + 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 aExtSecurityMode 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. + */ + TBool SearchWLANNetwork( TWlanSsid& aSSID, + TWlanConnectionMode& aConnectionMode, + TWlanConnectionExtentedSecurityMode& aExtSecurityMode, + 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 aSecurityMode security mode of selected wlan network + * @param aExtSecurityMode 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. + */ + TBool SearchWLANNetwork( TWlanSsid& aSSID, + TWlanConnectionMode& aConnectionMode, + TWlanConnectionSecurityMode& aSecurityMode, + TWlanConnectionExtentedSecurityMode& aExtSecurityMode, + 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 + * @return ETrue if user selected one of networks, EFalse if an error + * is occured or user does not select a network. + */ + TBool SearchWLANNetworkSync( TWlanSsid& aSSID, + TWlanConnectionMode& aConnectionMode, + TWlanConnectionSecurityMode& aSecurityMode ); + + + /** + * 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. + */ + TBool SearchWLANNetworkSync( 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 aSecurityMode security mode of selected wlan network + * @return + */ + 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 aExtSecurityMode extented security mode of selected wlan network + * @return + */ + void SearchWLANNetworkAsync( TRequestStatus& aStatus, + TWlanSsid& aSSID, + TWlanConnectionMode& aConnectionMode, + TWlanConnectionExtentedSecurityMode& aExtSecurityMode ); + + /** + * 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 + */ + 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 aExtSecurityMode extended security mode of selected wlan network + * @param aProtectedSetupSupported if the wlan supports Protected Setup + * @return + */ + void SearchWLANNetworkAsync( TRequestStatus& aStatus, + TWlanSsid& aSSID, + TWlanConnectionMode& aConnectionMode, + TWlanConnectionExtentedSecurityMode& aExtSecurityMode, + 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 aSecurityMode security mode of selected wlan network + * @param aExtSecurityMode extended security mode of selected wlan network + * @param aProtectedSetupSupported if the wlan supports Protected Setup + * @return + */ + void SearchWLANNetworkAsync( TRequestStatus& aStatus, + TWlanSsid& aSSID, + TWlanConnectionMode& aConnectionMode, + TWlanConnectionSecurityMode& aSecurityMode, + TWlanConnectionExtentedSecurityMode& aExtSecurityMode, + TBool& aProtectedSetupSupported ); + + + /** + * Cancel SearchWLANNetwork + */ + 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 + */ + TBool OffLineWlanNote(); + + /** + * Notifier. Shows a query, "Do you want to create a WLAN connection in + * Off-line mode?" + * Asynchronous. + * @param aStatus Status object of notifier. + */ + void OffLineWlanNote( TRequestStatus& aStatus ); + + /** + * Cancel OffLineWlan Note + */ + void CancelOffLineWlanNote(); + + /** + * Notifier. Pops up an information note: + * "Operation not possible in Off-line mode" + */ + void OffLineWlanDisabledNote(); + + /** + * Notifier. Shows a data query, "Enter WEP key for WLAN" + * @param aKey Key entered by user + * @return ETrue if user select OK, EFalse otherwise + */ + TBool EasyWepDlg( TDes* aKey, TBool& aHex ); + + /** + * Notifier. Shows a data query, "Enter WEP key for WLAN" + * Async version + * @param aKey Key entered by user + * @param aStatus caller's TRequestStatus to handle asynchronous call. + */ + void EasyWepDlgAsync( TRequestStatus& aStatus, TDes* aKey, TBool& aHex ); + + /** + * Cancel Easy Wep dialog + */ + void CancelEasyWepDlg(); + + /** + * Notifier. Shows a data query, "Enter pre-shared key for WLAN" + * @param aKey Key entered by user + * @return ETrue if user select OK, EFalse otherwise + */ + TBool EasyWpaDlg( TDes* aKey ); + + /** + * Notifier. Shows a data query, "Enter pre-shared key for WLAN" + * @param aKey Key entered by user + * @param aStatus caller's TRequestStatus to handle asynchronous call. + */ + void EasyWpaDlgAsync( TRequestStatus& aStatus, TDes* aKey ); + + /** + * Cancel Easy Wpa dialog + */ + void CancelEasyWpaDlg(); + + /** + * Pops up an information note: + * "Selected WLAN network has no coverage" + */ + void WLANNetworkUnavailableNote(); + + /** + * 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. + */ + 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. + */ + void CancelConnectedViaDestAndConnMethodNote(); + + + /** + * 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. + */ + 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). + * @param aConnMId Id of used connection method. + * @param aStatus Status object of notifier. + */ + void ChangingConnectionToNote( const TUint32 aConnMId, + TRequestStatus& aStatus ); + + /** + * Cancel ChangingConnectionToNote notifier. + */ + void CancelChangingConnectionToNote(); + + /** + * Notifier. Shows a query, "Connect to\n '%0U' via\n '%1U'?" + * @param aResult Result of user selection, ETrue if user accepted + * roaming, to more preferred method, EFlase otherwise + * @param aHomeNetwork home or foreign network + * @param aStatus Status object of notifier. + */ + void ConfirmMethodUsageQuery( TMsgQueryLinkedResults& aResult, + const TBool aHomeNetwork, + TRequestStatus& aStatus ); + + /** + * Cancel ConfirmMethodUsageQuery + */ + 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. + */ + 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. + */ + void CancelConnectedViaConnMethodNote(); + + /** + * This note is displayed when power-save feature of the WLAN station + * is incompatible and thus battery consumption of the mobile will increase. + * @param aDisable ETrue if user wants to disable this note in the future. + * @param aStatus Status object of notifier. + */ + void WlanPowerSaveTestNote( TBool& aDisable, TRequestStatus& aStatus ); + + /** + * Cancel WlanPowerSaveTestNote notifier. + */ + void CancelWlanPowerSaveTestNote(); + + /** + * Notifier. Query for prompting WAPI-PSK. + * Displays a query: "Enter pre-shared key for WLAN" + * @param aKey Key entered by user + * @return ETrue if user select OK, EFalse otherwise + */ + TBool EasyWapiDlg( TDes* aKey ); + + /** + * Pops up an information note: + * "No WLAN networks are available at the moment. Connection not available." + */ + void NoWLANNetworksAvailableNote(); + + /** + * Discreet popup. Shows "Connecting via %U" discreet popup + * @param aIapId IAP id of the access point. + */ + void ConnectingViaDiscreetPopup( const TUint32& aIapId, + TBool aConnectionAlreadyActive ); + + + /** + * Discreet popup. Shows discreet popup about connection errors + * @param aErrorCode Error code + */ + void ConnectionErrorDiscreetPopup( const TInt& aErrorCode ); + + private: // New methods + + /** + * Gives back the name of connection uses aIAPId + * @param aIAPId access point used for connection + * @param aDb CCommsDatabase ofr seaching name of connection + * @param aConnectionName asked connection name + */ + void GetConnectionNameL( const TUint32& aIAPId, + CCommsDatabase& aDb, + TDes& aConnectionName ); + + /** + * Loads resource file of dll. It can be used if there is CCoeEnv. + */ + void LoadResourceFileL(); + + private: // Data + + TInt iResOffset; ///< offset of loaded resource file + + RConnectionUiUtilitiesSession iNotif; ///< notifier client + + TPckgBuf< TWepKeyData > iWepKey; + + TPckgBuf< TBuf< KEasyWpaQueryMaxLength > > iWpaKey; + + //return information from Notifier + TPckgBuf iNetworkPrefs; + + TBool iIsWlanSupported; + + TBool iDummy; + + TWlanConnectionSecurityMode iDummySecMode; + + TWlanConnectionExtentedSecurityMode iDummyExtSecMode; + + // Use one wrapper for each note, to avoid to be overwritten, when + // some instance is used to show more dialogs at the same time! + CActiveWrapper* iActiveWrapper[KNumberOfWrappedDialogs]; + + // buffer for passing WAPI key between client and server + TPckgBuf< TBuf< KEasyWapiQueryMaxLength > > iWapiKey; + + // buffer for passing connecting discreet popup info + TPckgBuf< TConnUiConnectingViaDiscreetPopup > iConnInfo; + + }; + + +#endif // CONNECTIONUIUTILITIESIMPL_H + +// End of File +