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 } |