javamanager/javasettings/appmngrplugin/src/appmngr2midletsettingshandler.cpp
branchRCL_3
changeset 46 4376525cdefb
parent 34 71c436fe3ce0
child 60 6c158198356e
equal deleted inserted replaced
34:71c436fe3ce0 46:4376525cdefb
   420         JavaStorageEntry attr;
   420         JavaStorageEntry attr;
   421         attr.setEntry(ID, iMidletSuiteUid.toString());
   421         attr.setEntry(ID, iMidletSuiteUid.toString());
   422         query.insert(attr);
   422         query.insert(attr);
   423         attr.setEntry(FUNCTION_GROUP, L"");
   423         attr.setEntry(FUNCTION_GROUP, L"");
   424         query.insert(attr);
   424         query.insert(attr);
   425         iStorage->search(MIDP_FUNC_GRP_SETTINGS_TABLE, query, queryResult);
   425         iStorage->search(MIDP_PERMISSIONS_TABLE, query, queryResult);
   426         JavaStorageApplicationList_t::const_iterator iterator;
   426         JavaStorageApplicationList_t::const_iterator iterator;
   427         JavaStorageApplicationList_t settingsQueryResult;
   427         JavaStorageApplicationList_t settingsQueryResult;
   428         MidletSuiteSecuritySettings settings;
   428         MidletSuiteSecuritySettings settings;
   429         for (iterator = queryResult.begin(); iterator != queryResult.end(); iterator++)
   429         for (iterator = queryResult.begin(); iterator != queryResult.end(); iterator++)
   430         {
   430         {
   431             std::wstring settingsName = L"";
   431             std::wstring settingsName = L"";
   432             JavaStorageApplicationEntry_t entry = (*iterator);
   432             JavaStorageApplicationEntry_t entry = (*iterator);
   433             findColumn(entry, FUNCTION_GROUP, settingsName);
   433             findColumn(entry, FUNCTION_GROUP, settingsName);
   434             entry.clear();
   434             if (settingsName.size() > 0)
   435             query.clear();
       
   436             attr.setEntry(ID, iMidletSuiteUid.toString());
       
   437             query.insert(attr);
       
   438             attr.setEntry(FUNCTION_GROUP, settingsName);
       
   439             query.insert(attr);
       
   440             attr.setEntry(CURRENT_SETTING, L"");
       
   441             query.insert(attr);
       
   442             attr.setEntry(ALLOWED_SETTINGS , L"");
       
   443             query.insert(attr);
       
   444             settingsQueryResult.clear();
       
   445             iStorage->search(MIDP_FUNC_GRP_SETTINGS_TABLE, query, settingsQueryResult);
       
   446             if (settingsQueryResult.size() > 0)
       
   447             {
   435             {
   448                 wstring currentInteractionMode = L"";
   436                 // go on only if the setting does not exist already
   449                 wstring allowedInteractionModes = L"";
   437                 bool found = false;
   450                 findEntry(settingsQueryResult,CURRENT_SETTING , currentInteractionMode);
   438                 for(int j=0; j<aMidletSuiteSecuritySettings.size(); j++)
   451                 findEntry(settingsQueryResult,ALLOWED_SETTINGS , allowedInteractionModes);
       
   452                 if (currentInteractionMode.size() > 0 && allowedInteractionModes.size() > 0)
       
   453                 {
   439                 {
   454                     settings = MidletSuiteSecuritySettings(
   440                     if (settingsName == aMidletSuiteSecuritySettings[j].getName())
   455                                    settingsName,
   441                     {
   456                                    currentInteractionMode,
   442                         found = true;
   457                                    allowedInteractionModes);
   443                         break;
       
   444                     }
       
   445                 }
       
   446                 if (!found)
       
   447                 {
       
   448                     entry.clear();
       
   449                     query.clear();
       
   450                     attr.setEntry(ID, iMidletSuiteUid.toString());
       
   451                     query.insert(attr);
       
   452                     attr.setEntry(FUNCTION_GROUP, settingsName);
       
   453                     query.insert(attr);
       
   454                     attr.setEntry(CURRENT_SETTING, L"");
       
   455                     query.insert(attr);
       
   456                     attr.setEntry(ALLOWED_SETTINGS , L"");
       
   457                     query.insert(attr);
       
   458                     settingsQueryResult.clear();
       
   459                     iStorage->search(MIDP_FUNC_GRP_SETTINGS_TABLE, query, settingsQueryResult);
       
   460                     if (settingsQueryResult.size() > 0)
       
   461                     {
       
   462                         wstring currentInteractionMode = L"";
       
   463                         wstring allowedInteractionModes = L"";
       
   464                         findEntry(settingsQueryResult,CURRENT_SETTING , currentInteractionMode);
       
   465                         findEntry(settingsQueryResult,ALLOWED_SETTINGS , allowedInteractionModes);
       
   466                         if (currentInteractionMode.size() > 0 && allowedInteractionModes.size() > 0)
       
   467                         {
       
   468                             settings = MidletSuiteSecuritySettings(
       
   469                                            settingsName,
       
   470                                            currentInteractionMode,
       
   471                                            allowedInteractionModes);
       
   472                             aMidletSuiteSecuritySettings.push_back(settings);
       
   473                         }
       
   474                     }
   458                 }
   475                 }
   459             }
   476             }
   460             aMidletSuiteSecuritySettings.push_back(settings);
       
   461         }
   477         }
   462     }
   478     }
   463     catch (JavaStorageException& aJse)
   479     catch (JavaStorageException& aJse)
   464     {
   480     {
   465     }
   481     }