--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/wpa_security_settings_ui_api/inc/WPASecuritySettingsUI.h Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,252 @@
+/*
+* Copyright (c) 2001-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: Declares the main handler CWPASecuritySettings, UI CWPASecuritySettingsUI and public API for the WPA Security Settings.
+*
+*/
+
+/*
+* %version: 5 %
+*/
+
+#ifndef WPASECURITYSETTINGSUI_H
+#define WPASECURITYSETTINGSUI_H
+
+// INCLUDES
+
+#include <e32base.h>
+
+#include <metadatabase.h>
+using namespace CommsDat;
+
+// FORWARD DECLARATIONS
+class CEikonEnv;
+class CWPASecuritySettingsUi;
+class CWPASecuritySettingsUiImpl;
+class CWPASecuritySettingsImpl;
+class CCommsDatabase;
+
+
+// ENUMERATIONS
+
+// Security mode in use
+enum TSecurityMode
+ {
+ ESecurityMode8021x = 4, // 802.1x
+ ESecurityModeWpa = 8 // WPA
+ };
+
+
+// Type of saving
+enum TTypeOfSaving
+ {
+ ESavingEditedAP, // Save an already existing AP that was edited.
+ ESavingBrandNewAP, // Save a just created AP started from default values
+ ESavingNewAPAsACopy // Save a new AP as a copy of an already existing AP
+ };
+
+
+
+
+// CLASS DECLARATION
+/*
+* WPA Security Settings. Enables loading, saving and editing the settings
+* (editing via CWPASecuritySettingsUi).
+* Proxy around the real implementation in CWPASecuritySettingsUiImpl.
+* No details of the actual data are exposed.
+*/
+NONSHARABLE_CLASS( CWPASecuritySettings ) : public CBase
+ {
+
+ public: // Constructors and destructor
+
+ /**
+ * Two-phased constructor. Leaves on failure.
+ * @param aSecurityMode The chosen security mode. It can be
+ * ESecurityMode8021x or ESecurityModeWpa
+ * @return The constructed CWPASecuritySettings object.
+ */
+ IMPORT_C static CWPASecuritySettings* NewL(
+ TSecurityMode aSecurityMode );
+
+
+ /**
+ * Destructor.
+ */
+ IMPORT_C ~CWPASecuritySettings();
+
+
+ public: // Types
+
+ enum TEvent // Events happening during edit.
+ {
+ ENone = 0x0000, // Nothing happened.
+ EModified = 0x0001, // Data changed.
+ EValid = 0x0010, // All data entererd are valid, they
+ // can be saved
+ EExitReq = 0x0020, // Exit option requested, also caller
+ // app should close
+ EShutDownReq = 0x0040 // ShutDown was requested
+ };
+
+
+ public: // New methods
+
+ /**
+ * Load from database.
+ * @param Wlan Service Table Id of the IAP to be loaded
+ * @param aCommsDb Comms database.
+ */
+ IMPORT_C void LoadL( TUint32 aIapId, CCommsDatabase& aCommsDb );
+
+
+ /**
+ * Edit the settings.
+ * @param aUi UI to be used.
+ * @param aTitle Title Pane text to display during edit.
+ * @return Exit reason.
+ */
+ IMPORT_C TInt EditL( CWPASecuritySettingsUi& aUi,
+ const TDesC& aTitle );
+
+ /**
+ * Save to database.
+ * @param aIapId Wlan Service Table Id of the IAP to be saved
+ * @param aCommsDb Comms database.
+ * @param aTypeOfSaving Tells what kind of AP we are going to save: it
+ * can be ESavingEditedAP, ESavingBrandNewAP, or
+ * ESavingNewAPAsACopy
+ * @param aOldIapId The old Id of the IAP; it is used to save the EAP
+ * configuration, only when aIsNewAP is ETrue
+ */
+ IMPORT_C void SaveL( TUint32 aIapId,
+ CCommsDatabase& aCommsDb,
+ TTypeOfSaving aTypeOfSaving,
+ TUint32 aOldIapId ) const;
+
+
+ /**
+ * Delete from database. It actually just removes EAP Configuration.
+ * @param aIapId Id of the IAP to be saved
+ */
+ IMPORT_C void DeleteL( TUint32 aIapId ) const;
+
+
+ /**
+ * Tells if the settings are valid and can be saved
+ * @return ETrue if all the compulsory settings have been entered
+ */
+ IMPORT_C TBool IsValid() const;
+
+
+ /**
+ * Sets the Pre-shared key
+ * @param aPreSharedKey The key to be set
+ * @return KErrNone if successful, or an error code
+ */
+ IMPORT_C TInt SetWPAPreSharedKey( const TDesC& aPreSharedKey );
+
+
+ /**
+ * Load from database.
+ * @param aIapId Wlan Service Table Id of the IAP to be loaded
+ * @param aSession CommsDat session.
+ */
+ IMPORT_C void LoadL( TUint32 aIapId, CMDBSession& aSession );
+
+
+ /**
+ * Save to database.
+ * @param aIapId Wlan Service Table Id of the IAP to be saved
+ * @param aSession CommsDat session.
+ * @param aTypeOfSaving Tells what kind of AP we are going to save: it
+ * can be ESavingEditedAP, ESavingBrandNewAP, or
+ * ESavingNewAPAsACopy
+ * @param aOldIapId The old Id of the IAP; it is used to save the EAP
+ * configuration, only when aIsNewAP is ETrue
+ */
+ IMPORT_C void SaveL( TUint32 aIapId,
+ CMDBSession& aSession,
+ TTypeOfSaving aTypeOfSaving,
+ TUint32 aOldIapId ) const;
+
+ /**
+ * Sets the list of enabled EAP types.
+ * @param aEnabledPluginList Enumeration of enabled plugins
+ * in expanded EAP type format
+ * @return KErrNone if successful, or an error code
+ */
+ IMPORT_C TInt SetWPAEnabledEAPPlugin( const TDesC8& aEnabledPluginList );
+
+
+ /**
+ * Sets the list of disabled EAP types
+ * @param aDisabledPluginList Enumeration of disabled plugins
+ * in expanded EAP type format
+ * @return KErrNone if successful, or an error code
+ */
+ IMPORT_C TInt SetWPADisabledEAPPlugin( const TDesC8& aDisabledPluginList );
+
+
+ private: // Data
+
+ // Implementation. Owned.
+ CWPASecuritySettingsImpl* iImpl;
+
+ };
+
+
+
+/**
+* User interface to edit WPA Security Settings.
+* Proxy around the real implementation in CWPASecuritySettingsUiImpl.
+*/
+NONSHARABLE_CLASS( CWPASecuritySettingsUi ) : public CBase
+ {
+
+ public: // Constructors and destructor
+
+ /**
+ * Two-phased constructor. Leaves on failure.
+ * @param aEikEnv Eikon environment.
+ * @return The constructed CWPASecuritySettingsUi object.
+ */
+ IMPORT_C static CWPASecuritySettingsUi* NewL( CEikonEnv& aEikEnv );
+
+ /**
+ * Destructor.
+ */
+ IMPORT_C virtual ~CWPASecuritySettingsUi();
+
+ public: // New methods
+
+ /**
+ * Component Validation Test.
+ * @return KErrNone.
+ */
+ IMPORT_C static TInt Cvt();
+
+ private: // Friends
+
+ friend class CWPASecuritySettings;
+
+ private: // Data
+
+ // Implementation. Owned.
+ CWPASecuritySettingsUiImpl* iImpl;
+
+ };
+#endif
+
+
+// End of File