javamanager/javasettings/appmngrplugin/inc/appmngr2midletsettingsutil.h
branchRCL_3
changeset 19 04becd199f91
child 34 71c436fe3ce0
equal deleted inserted replaced
16:f5050f1da672 19:04becd199f91
       
     1 /*
       
     2 * Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 #ifndef APPMNGR2MIDLETSETTINGSUTIL_H
       
    20 #define APPMNGR2MIDLETSETTINGSUTIL_H
       
    21 
       
    22 // INCLUDES
       
    23 #include <e32base.h>
       
    24 #include <string>
       
    25 #include <vector>
       
    26 
       
    27 // FORWARD DECLARATIONS
       
    28 // CONSTANTS
       
    29 const int INTERACTION_MODE_DENIED = 1;
       
    30 const int INTERACTION_MODE_BLANKET = 2;
       
    31 const int INTERACTION_MODE_SESSION = 4;
       
    32 const int INTERACTION_MODE_ONESHOT = 8;
       
    33 
       
    34 // interaction modes display indexes
       
    35 const int DENIED_INTERACTION_MODE_DISPLAY_INDEX = 0;
       
    36 const int ONESHOT_INTERACTION_MODE_DISPLAY_INDEX = 1;
       
    37 const int SESSION_INTERACTION_MODE_DISPLAY_INDEX = 2;
       
    38 const int BLANKET_INTERACTION_MODE_DISPLAY_INDEX = 3;
       
    39 
       
    40 // on screen keypad values display indexes
       
    41 const int ON_SCREEN_KEYPAD_VALUE_NO_DISPLAY_INDEX = 0;
       
    42 const int ON_SCREEN_KEYPAD_VALUE_GAMEACTIONS_DISPLAY_INDEX = 1;
       
    43 const int ON_SCREEN_KEYPAD_VALUE_NAVIGATION_DISPLAY_INDEX = 2;
       
    44 
       
    45 // security warnings values display indexes
       
    46 const int SECURITY_WARNINGS_DEFAULT_MODE_DISPLAY_INDEX = 0;
       
    47 const int SECURITY_WARNINGS_USER_DEFINED_MODE_DISPLAY_INDEX = 1;
       
    48 
       
    49 // settings display indexes
       
    50 const int ON_SCREEN_KEYPAD_SETTINGS_DISPLAY_INDEX = 0;
       
    51 const int SECURITY_WARNINGS_SETTINGS_DISPLAY_INDEX = 1;
       
    52 const int NET_ACCESS_SETTINGS_DISPLAY_INDEX = 2;
       
    53 const int LOW_LEVEL_NET_ACCESS_SETTINGS_DISPLAY_INDEX = 3;
       
    54 const int CALL_CONTROL_SETTINGS_DISPLAY_INDEX = 4;
       
    55 const int MESSAGING_SETTINGS_DISPLAY_INDEX = 5;
       
    56 const int RESTRICTED_MESSAGING_SETTINGS_DISPLAY_INDEX = 6;
       
    57 const int APPLICATION_AUTO_INVOCATION_SETTINGS_DISPLAY_INDEX = 7;
       
    58 const int LOCAL_CONNECTIVITY_SETTINGS_DISPLAY_INDEX = 8;
       
    59 const int MULTIMEDIA_RECORDING_SETTINGS_DISPLAY_INDEX = 9;
       
    60 const int READ_USER_DATA_ACCESS_SETTINGS_DISPLAY_INDEX = 10;
       
    61 const int WRITE_USER_DATA_ACCESS_SETTINGS_DISPLAY_INDEX = 11;
       
    62 const int LOCATION_SETTINGS_DISPLAY_INDEX = 12;
       
    63 const int LANDMARK_SETTINGS_DISPLAY_INDEX = 12;
       
    64 const int AUTHENTICATION_SETTINGS_DISPLAY_INDEX = 14;
       
    65 const int SMART_CARD_COMMUNICATION_SETTINGS_DISPLAY_INDEX = 15;
       
    66 const int BROADCAST_SETTINGS_DISPLAY_INDEX = 16;
       
    67 const int NFC_WRITE_ACCESS_SETTINGS_DISPLAY_INDEX = 17;
       
    68 const int LAST_SETTINGS_DISPLAY_INDEX = 18;
       
    69 
       
    70 // CLASS DECLARATION
       
    71 class MidletSuiteSecuritySettings: public CBase
       
    72 {
       
    73 public:
       
    74     MidletSuiteSecuritySettings(const std::wstring& aSettingsName,
       
    75                                 const std::wstring& aCurrentInteractionMode,
       
    76                                 const std::wstring& aAllowedInteractionModes);
       
    77 
       
    78     MidletSuiteSecuritySettings &operator=(const MidletSuiteSecuritySettings&);
       
    79 
       
    80     MidletSuiteSecuritySettings(const MidletSuiteSecuritySettings&);
       
    81 
       
    82     MidletSuiteSecuritySettings();
       
    83 
       
    84     const std::wstring getName() const;
       
    85     const std::wstring getCurrentInteractionMode() const;
       
    86     const std::wstring getAllowedInteractionModes() const;
       
    87 
       
    88 private:
       
    89     std::wstring iSettingsName;
       
    90     std::wstring iCurrentInteractionMode;
       
    91     std::wstring iAllowedInteractionModes;
       
    92 };
       
    93 
       
    94 class LocalizedString: public CBase
       
    95 {
       
    96 public:
       
    97     LocalizedString(const std::wstring& aId,
       
    98                     const std::wstring& aValue);
       
    99 
       
   100     LocalizedString(const std::wstring& aId,
       
   101                     const std::wstring& aValue,
       
   102                     int aIndex);
       
   103 
       
   104     LocalizedString(TUint aId,
       
   105                     const std::wstring& aValue);
       
   106 
       
   107     LocalizedString &operator=(const LocalizedString&);
       
   108 
       
   109     LocalizedString(const LocalizedString&);
       
   110 
       
   111     LocalizedString();
       
   112 
       
   113     const std::wstring& getId() const;
       
   114     const std::wstring& getValue() const;
       
   115     int getIndex() const;
       
   116 
       
   117 private:
       
   118     std::wstring iId;
       
   119     std::wstring iValue;
       
   120     int iIndex;
       
   121 };
       
   122 
       
   123 class ListItem: public CBase
       
   124 {
       
   125 public:
       
   126     ListItem(const LocalizedString& aName,
       
   127              const std::vector<LocalizedString>& aPossibleValues);
       
   128 
       
   129     ListItem(const LocalizedString& aName,
       
   130              const std::vector<LocalizedString>& aPossibleValues,
       
   131              bool aEnabled);
       
   132 
       
   133     ListItem(const LocalizedString& aName,
       
   134              const std::vector<LocalizedString>& aPossibleValues,
       
   135              bool aEnabled,
       
   136              int aCurrentValueIndex);
       
   137 
       
   138     ListItem(const LocalizedString& aName,
       
   139              const std::vector<LocalizedString>& aPossibleValues,
       
   140              bool aEnabled,
       
   141              int aCurrentValueIndex,
       
   142              int aIndex);
       
   143 
       
   144     ListItem &operator=(const ListItem&);
       
   145 
       
   146     ListItem(const ListItem&);
       
   147 
       
   148     ListItem();
       
   149 
       
   150     void setCurrentValue(int aSelectedValueIndex);
       
   151     int getCurrentValue() const;
       
   152 
       
   153     const LocalizedString& getName() const;
       
   154     const std::vector<LocalizedString>& getValues() const;
       
   155     const LocalizedString& getValue() const;
       
   156     const LocalizedString& getValue(int aValueIndex) const;
       
   157     bool getEnabled() const;
       
   158     void setEnabled(bool aEnabled);
       
   159     int getIndex() const;
       
   160 
       
   161 private:
       
   162     LocalizedString iName;
       
   163     std::vector<LocalizedString> iPossibleValues;
       
   164     int iCurrentValueIndex;
       
   165     bool iEnabled;
       
   166     int iIndex;
       
   167 };
       
   168 
       
   169 /**
       
   170 * CAppMngr2SuiteSnapItem
       
   171 *
       
   172 */
       
   173 class CAppMngr2SuiteSnapItem: public CBase
       
   174 {
       
   175 public:
       
   176     CAppMngr2SuiteSnapItem();
       
   177     CAppMngr2SuiteSnapItem(const CAppMngr2SuiteSnapItem&);
       
   178 
       
   179     TUint32 iId;
       
   180     std::wstring iName;
       
   181 };
       
   182 
       
   183 // CLASS DECLARATION
       
   184 
       
   185 class AppMngr2MidletSettingsUtil
       
   186 {
       
   187 public:
       
   188     struct AscendingListItemSort
       
   189     {
       
   190         bool operator()(const ListItem& i1, const ListItem& i2)
       
   191         {
       
   192             return i1.getIndex() < i2.getIndex();
       
   193         }
       
   194     };
       
   195     struct AscendingLocalizedStringSort
       
   196     {
       
   197         bool operator()(const LocalizedString& i1, const LocalizedString& i2)
       
   198         {
       
   199             return i1.getIndex() < i2.getIndex();
       
   200         }
       
   201     };
       
   202 
       
   203     static const ListItem SettingsToListItem(MidletSuiteSecuritySettings aSettings, bool aSettingsEnabled);
       
   204     static const MidletSuiteSecuritySettings ListItemToSettings(const ListItem& aListItem);
       
   205     static const ListItem OnScreenKeypadToListItem(std::wstring aOnScreenKeypadValue, bool aOnScreenKeypadEnabled);
       
   206     static const ListItem SnapToListItem(CAppMngr2SuiteSnapItem aSnap, bool aSnapEnabled);
       
   207     static const ListItem SecurityWarningsModeToListItem(std::wstring aSecurityWarningsModeValue, bool aSecurityWarningsModeEnabled);
       
   208     static TInt GetLocalizedSettingsName(std::wstring aSettingsName);
       
   209 
       
   210 private:
       
   211     static const std::wstring getLocalizedSettingsName(std::wstring aSettingsName);
       
   212     static const std::wstring getLocalizedSettingsInteractionMode(int aInteractionMode);
       
   213     static const std::wstring getLocalizedOnScreenKeypadValue(std::wstring aOnScreenKeypadValue);
       
   214     static const std::wstring getLocalizedSecurityWarningsModeValue(std::wstring aSecurityWarningsModeValue);
       
   215     static int getSettingsDisplayIndex(std::wstring aSettingsName);
       
   216     static int findItem(std::vector<LocalizedString> aListItems, std::wstring aListItemId);
       
   217 
       
   218 };
       
   219 
       
   220 #endif // APPMNGR2MIDLETSETTINGSUTIL_H
       
   221 
       
   222 
       
   223 // End of file