accesssec_plat/eap_qt_configuration_api/inc/eapqtpacstoreconfig.h
branchRCL_3
changeset 18 bad0cc58d154
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/eap_qt_configuration_api/inc/eapqtpacstoreconfig.h	Tue Aug 31 15:16:37 2010 +0300
@@ -0,0 +1,121 @@
+/*
+ * Copyright (c) 2010 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:
+ *   EAP-FAST PAC store configuration data
+ *
+ */
+
+/*
+ * %version: 6 %
+ */
+
+#ifndef EAPQTPACSTORECONFIG_H
+#define EAPQTPACSTORECONFIG_H
+
+// System includes
+#include <QVariant>
+#include <eapqtconfigexport.h>
+
+// User includes
+
+// Forward declarations
+class EapQtPacStoreConfigPrivate;
+
+// External data types
+
+// Constants
+
+// Class declaration
+class EAP_QT_CONFIG_INTERFACE_EXPORT EapQtPacStoreConfig
+{
+
+public:
+
+    // PAC store is global, i.e. only a single PAC store exists in a device
+
+    // Data types
+
+    enum PacStoreState
+    {
+        // PAC store does not exist and needs to be created
+        // (status also reverts to PacStoreStateStoreNotExists if the PAC store is
+        // corrupted, i.e. it gets deleted automatically)
+        PacStoreStateStoreNotExists = 0,
+        // PAC store exists but the password has not been stored and
+        // is needed to access the PAC store
+        PacStoreStatePasswordRequired,
+        // PAC store password has been stored to settings database
+        // and is not needed to use the PAC store
+        PacStoreStatePasswordStored,
+        // marker for the last item
+        PacStoreStateLast
+    };
+
+    enum PacStoreSettings
+    {
+        /*! write-only: QString
+         *      password to be used for accessing the PAC store
+         *      - must be new password if the read PacStoreState is PacStoreStateStoreNotExists
+         *      - must be password of the existing PAC store if the PacStoreState state is
+         *        PacStoreStatePasswordRequired */
+        PacStorePassword = 0,
+        /*! write-only: bool
+         *      true: saves the password given in settings
+         *      false: clears the earlier stored password from database, i.e. password
+         *        will be prompted when needed, PAC store itself remains valid
+         *      QVariant::Invalid: no actions */
+        PacStoreSavePassword,
+        /*! write-only: bool
+         *      true: deletes PAC store, i.e. clears everything related to the
+         *        existing PAC store inlcuding saved password
+         *      false/QVariant::Invalid: no actions */
+        PacStoreReset,
+        /*! read-only: int (PacStoreState) */
+        PacStoreState,
+        /*! no write nor read operation, for validator usage only
+         *  - uses the validator to check if the given password
+         *      can open the existing PAC store */
+        PacStorePasswordConfirmation,
+        // marker for the last item
+        PacStoreLast
+    };
+
+    // default constructor
+    EapQtPacStoreConfig();
+    // destructor
+    ~EapQtPacStoreConfig();
+
+    // gets the configuration field referred to by an id from PacStoreSettings
+    // returns QVariant::Invalid is the field has not been set
+    QVariant value(const PacStoreSettings id) const;
+
+    // sets the configuration field referred to by an id from PacStoreSettings
+    // does nothing if newValue >= PacStoreLast
+    void setValue(const PacStoreSettings id, const QVariant &newValue) const;
+
+    // resets the object i.e. any successive call to
+    // value() returns QVariant::Invalid
+    void clear() const;
+
+private:
+
+    Q_DISABLE_COPY(EapQtPacStoreConfig)
+
+private: // data
+
+    QScopedPointer<EapQtPacStoreConfigPrivate> d_ptr;
+
+};
+
+#endif // EAPQTPACSTORECONFIG_H