javamanager/javasettings_qt/src/javaapplicationsettings.h
author hgs
Mon, 04 Oct 2010 11:29:25 +0300
changeset 78 71ad690e91f5
parent 50 023eef975703
permissions -rw-r--r--
v2.2.17_1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
50
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
     1
/*
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
     2
* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
     3
* All rights reserved.
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
     8
*
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
     9
* Initial Contributors:
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    11
*
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    12
* Contributors:
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    13
*
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    14
* Description:
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    15
*
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    16
*/
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    17
#ifndef JAVAAPPLICATIONSETTINGS_H
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    18
#define JAVAAPPLICATIONSETTINGS_H
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    19
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    20
#include <string>
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    21
#include <vector>
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    22
#include <QString>
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    23
#include <QStringList>
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    24
#include <hbdataformmodelitem.h>
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    25
#include <cmapplsettingsui.h>
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    26
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    27
namespace java
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    28
{
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    29
namespace settings
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    30
{
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    31
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    32
/**
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    33
 * Encapsulation of java settings:
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    34
 *   - name (as localized string displayed to user)
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    35
 *   - values (as a list of localized strings displayed to user)
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    36
 *   - current value (one of the values)
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    37
 *   - storage details (name of table, name of column, storage values)
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    38
 * MIDP spec sets requirements for some combinations of settings:
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    39
 *   - some combinations of settings values are considered as sensitive,
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    40
 *     since they can cause privacy exposure or network costs. Whenever
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    41
 *     such a combination is about to be set, the user needs to be
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    42
 *     notified about possible consequences
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    43
 *   - such combinations of settings values are forbidden (mutually exclusive)
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    44
 * Each setting is initialized with a list of sensitive settings counterparts
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    45
 * and mutually exclusive counterparts respectively
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    46
 */
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    47
class JavaApplicationSettings
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    48
{
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    49
public:
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    50
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    51
    struct NetworkConnection
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    52
        {
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    53
        QString name;
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    54
        uint id;
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    55
        CmApplSettingsUi::SelectionType type;
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    56
        };
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    57
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    58
    JavaApplicationSettings(const QString& aName,
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    59
                            const QStringList& aValues);
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    60
    JavaApplicationSettings(const QString& aName,
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    61
                            const QStringList& aValues,
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    62
                            const std::wstring& aColumnName,
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    63
                            const std::string& aTableName,
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    64
                            const std::vector<std::wstring>& aStorageValues);
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    65
    JavaApplicationSettings(const QString& aName,
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    66
                            const QStringList& aValues,
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    67
                            const std::wstring& aColumnName,
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    68
                            const std::string& aTableName,
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    69
                            const std::vector<std::wstring>& aStorageValues,
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    70
                            const std::wstring& aFilterColumnName,
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    71
                            const std::wstring& aFilterColumnValue,
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    72
                            const std::wstring& aValuesColumnName);
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    73
    JavaApplicationSettings();
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    74
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    75
    const QString& getName() const;
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    76
    const QStringList& getValues() const;
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    77
    void setCurrentValue(int aCurrentValue);
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    78
    int getCurrentValue();
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    79
    const QString getValue(int aValueIndex);
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    80
    int getValueIndex(const QString& aValue);
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    81
    void removeValue(int aValueIndex);
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    82
    void setId(HbDataFormModelItem * aId);
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    83
    HbDataFormModelItem * getId();
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    84
    const QList<JavaApplicationSettings*>& getHighRiskList() const;
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    85
    void setHighRiskList(const QList<JavaApplicationSettings*>& aHighRiskList);
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    86
    const QList<JavaApplicationSettings*>& getMutuallyExclusiveList() const;
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    87
    void setMutuallyExclusiveList(const QList<JavaApplicationSettings*>& aMutuallyExclusiveList);
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    88
    const std::wstring& getColumnName();
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    89
    const std::string& getTableName();
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    90
    const std::wstring& getValuesColumnName();
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    91
    const std::wstring& getFilterColumnName();
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    92
    const std::wstring& getFilterColumnValue();
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    93
    const std::vector<std::wstring>& getStorageValues();
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    94
    void setStorageValuesFilter(const std::wstring& aStorageValuesFilter);
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    95
    const std::wstring& getStorageValuesFilter();
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    96
    void connectToUi();
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    97
    void disconnectFromUi();
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    98
    bool isConnectedToUi();
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
    99
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
   100
private:
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
   101
    QString mName;
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
   102
    QStringList mValues;
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
   103
    HbDataFormModelItem * mId;
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
   104
    QList<JavaApplicationSettings*> mHighRiskList;
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
   105
    QList<JavaApplicationSettings*> mMutuallyExclusiveList;
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
   106
    int mCurrentValue;
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
   107
    std::wstring mColumnName;
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
   108
    std::string mTableName;
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
   109
    std::vector<std::wstring> mStorageValues;
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
   110
    std::wstring mStorageValuesFilter;
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
   111
    std::wstring mValuesColumnName;
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
   112
    std::wstring mFilterColumnName;
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
   113
    std::wstring mFilterColumnValue;
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
   114
    bool mConnectedToUi;
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
   115
};
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
   116
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
   117
} // namespace settings
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
   118
} // namespace java
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
   119
023eef975703 v2.2.4_1
hgs
parents:
diff changeset
   120
#endif // JAVAAPPLICATIONSETTINGS_H