--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/javamanager/javasettings_qt/src/javaapplicationsettings.h Fri Jul 09 16:35:45 2010 +0300
@@ -0,0 +1,120 @@
+/*
+* 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:
+*
+*/
+#ifndef JAVAAPPLICATIONSETTINGS_H
+#define JAVAAPPLICATIONSETTINGS_H
+
+#include <string>
+#include <vector>
+#include <QString>
+#include <QStringList>
+#include <hbdataformmodelitem.h>
+#include <cmapplsettingsui.h>
+
+namespace java
+{
+namespace settings
+{
+
+/**
+ * Encapsulation of java settings:
+ * - name (as localized string displayed to user)
+ * - values (as a list of localized strings displayed to user)
+ * - current value (one of the values)
+ * - storage details (name of table, name of column, storage values)
+ * MIDP spec sets requirements for some combinations of settings:
+ * - some combinations of settings values are considered as sensitive,
+ * since they can cause privacy exposure or network costs. Whenever
+ * such a combination is about to be set, the user needs to be
+ * notified about possible consequences
+ * - such combinations of settings values are forbidden (mutually exclusive)
+ * Each setting is initialized with a list of sensitive settings counterparts
+ * and mutually exclusive counterparts respectively
+ */
+class JavaApplicationSettings
+{
+public:
+
+ struct NetworkConnection
+ {
+ QString name;
+ uint id;
+ CmApplSettingsUi::SelectionType type;
+ };
+
+ JavaApplicationSettings(const QString& aName,
+ const QStringList& aValues);
+ JavaApplicationSettings(const QString& aName,
+ const QStringList& aValues,
+ const std::wstring& aColumnName,
+ const std::string& aTableName,
+ const std::vector<std::wstring>& aStorageValues);
+ JavaApplicationSettings(const QString& aName,
+ const QStringList& aValues,
+ const std::wstring& aColumnName,
+ const std::string& aTableName,
+ const std::vector<std::wstring>& aStorageValues,
+ const std::wstring& aFilterColumnName,
+ const std::wstring& aFilterColumnValue,
+ const std::wstring& aValuesColumnName);
+ JavaApplicationSettings();
+
+ const QString& getName() const;
+ const QStringList& getValues() const;
+ void setCurrentValue(int aCurrentValue);
+ int getCurrentValue();
+ const QString getValue(int aValueIndex);
+ int getValueIndex(const QString& aValue);
+ void removeValue(int aValueIndex);
+ void setId(HbDataFormModelItem * aId);
+ HbDataFormModelItem * getId();
+ const QList<JavaApplicationSettings*>& getHighRiskList() const;
+ void setHighRiskList(const QList<JavaApplicationSettings*>& aHighRiskList);
+ const QList<JavaApplicationSettings*>& getMutuallyExclusiveList() const;
+ void setMutuallyExclusiveList(const QList<JavaApplicationSettings*>& aMutuallyExclusiveList);
+ const std::wstring& getColumnName();
+ const std::string& getTableName();
+ const std::wstring& getValuesColumnName();
+ const std::wstring& getFilterColumnName();
+ const std::wstring& getFilterColumnValue();
+ const std::vector<std::wstring>& getStorageValues();
+ void setStorageValuesFilter(const std::wstring& aStorageValuesFilter);
+ const std::wstring& getStorageValuesFilter();
+ void connectToUi();
+ void disconnectFromUi();
+ bool isConnectedToUi();
+
+private:
+ QString mName;
+ QStringList mValues;
+ HbDataFormModelItem * mId;
+ QList<JavaApplicationSettings*> mHighRiskList;
+ QList<JavaApplicationSettings*> mMutuallyExclusiveList;
+ int mCurrentValue;
+ std::wstring mColumnName;
+ std::string mTableName;
+ std::vector<std::wstring> mStorageValues;
+ std::wstring mStorageValuesFilter;
+ std::wstring mValuesColumnName;
+ std::wstring mFilterColumnName;
+ std::wstring mFilterColumnValue;
+ bool mConnectedToUi;
+};
+
+} // namespace settings
+} // namespace java
+
+#endif // JAVAAPPLICATIONSETTINGS_H