equal
deleted
inserted
replaced
310 |
310 |
311 TInt err=iMultiRofsUidList.FindInOrder(find,reposSortOrder); |
311 TInt err=iMultiRofsUidList.FindInOrder(find,reposSortOrder); |
312 if (err==KErrNotFound) |
312 if (err==KErrNotFound) |
313 { |
313 { |
314 //new entry |
314 //new entry |
315 TMultiRofsList newEntry(TUid::Uid(uidNum)); |
315 find.iMountFlagList.AppendL(newFlag); |
316 newEntry.iMountFlagList.AppendL(newFlag); |
316 iMultiRofsUidList.InsertInOrderL(find,reposSortOrder); |
317 iMultiRofsUidList.InsertInOrderL(newEntry,reposSortOrder); |
|
318 } |
317 } |
319 else |
318 else |
320 { |
319 { |
321 //entry exist, just need to update the array inside TMultiRofsList |
320 //entry exist, just need to update the array inside TMultiRofsList |
322 err=iMultiRofsUidList[err].iMountFlagList.InsertInOrder(newFlag,TRofsFlag::CompareFlag); |
321 err=iMultiRofsUidList[err].iMountFlagList.InsertInOrder(newFlag,TRofsFlag::CompareFlag); |
451 We may want to give warning if they try to have global propertie section in the overriding layers |
450 We may want to give warning if they try to have global propertie section in the overriding layers |
452 although this obviously now can be ignored now, just need to make sure that repository follows the format |
451 although this obviously now can be ignored now, just need to make sure that repository follows the format |
453 and not corrupted |
452 and not corrupted |
454 */ |
453 */ |
455 TSettingsAccessPolicy defaultTs=aOverrideRepository->GetDefaultAccessPolicy(); |
454 TSettingsAccessPolicy defaultTs=aOverrideRepository->GetDefaultAccessPolicy(); |
456 //lets panic first on debug mode only |
|
457 //here we panic immediately if there is any defined in the range meta/policy(we can check individually if |
455 //here we panic immediately if there is any defined in the range meta/policy(we can check individually if |
458 //they do override later on,we will assume any definiton of global policy is invalid here |
456 //they do override later on,we will assume any definiton of global policy is invalid here |
459 if ( aOverrideRepository->Owner() != aCoreRepository->iSimRep->Owner() |
457 if ( aOverrideRepository->Owner() != aCoreRepository->iSimRep->Owner() |
460 || (aOverrideRepository->DefaultMeta()!=0 && aOverrideRepository->DefaultMeta()!= aCoreRepository->iSimRep->DefaultMeta()) |
458 || (aOverrideRepository->DefaultMeta()!=0 && aOverrideRepository->DefaultMeta()!= aCoreRepository->iSimRep->DefaultMeta()) |
461 || (defaultTs.HighKey()!=0 && aOverrideRepository->GetDefaultReadAccessPolicy().Package() != aCoreRepository->iSimRep->GetDefaultReadAccessPolicy().Package()) |
459 || (defaultTs.HighKey()!=0 && aOverrideRepository->GetDefaultReadAccessPolicy().Package() != aCoreRepository->iSimRep->GetDefaultReadAccessPolicy().Package()) |
503 } |
501 } |
504 } |
502 } |
505 |
503 |
506 } |
504 } |
507 |
505 |
508 //Function on initialising a repository of multi ROFS files |
506 /**Function on initialising a repository of multi ROFS files |
|
507 aCoreInitialized indicate whether there is already existing keyspace file in the core layer |
|
508 otherwise the first one in the rofs layer will be the core repository |
|
509 */ |
509 void CObservable::MergeMultiRofsL(TBool aCoreInitialized,CSharedRepository* aCoreRepository,const RArray<TRofsFlag>& aOverridingFileList) |
510 void CObservable::MergeMultiRofsL(TBool aCoreInitialized,CSharedRepository* aCoreRepository,const RArray<TRofsFlag>& aOverridingFileList) |
510 { |
511 { |
511 //load all the files and construct an array of CHeapRepository to merge content into it |
512 //load all the files and construct an array of CHeapRepository to merge content into it |
512 TInt sortedCount=aOverridingFileList.Count(); |
513 TInt sortedCount=aOverridingFileList.Count(); |
513 TFileName repFileName; |
514 TFileName repFileName; |
528 if (isTxt) |
529 if (isTxt) |
529 { |
530 { |
530 CIniFileIn* iniFile; |
531 CIniFileIn* iniFile; |
531 TInt err=CIniFileIn::NewLC(TServerResources::iFs,iniFile,repFileName); |
532 TInt err=CIniFileIn::NewLC(TServerResources::iFs,iniFile,repFileName); |
532 User::LeaveIfError(err); |
533 User::LeaveIfError(err); |
533 aCoreRepository->ReloadContentL(*iniFile,ETrue); |
534 err=aCoreRepository->ReloadContentL(*iniFile,ETrue); |
|
535 User::LeaveIfError(err); |
534 CleanupStack::PopAndDestroy(iniFile);//iniFile |
536 CleanupStack::PopAndDestroy(iniFile);//iniFile |
535 } |
537 } |
536 else |
538 else |
537 { |
539 { |
538 aCoreRepository->iSimRep->CreateRepositoryFromCreFileL(TServerResources::iFs,repFileName); |
540 aCoreRepository->iSimRep->CreateRepositoryFromCreFileL(TServerResources::iFs,repFileName); |