--- a/persistentstorage/centralrepository/cenrepsrv/srvrepos_noc.cpp Tue Aug 31 16:57:14 2010 +0300
+++ b/persistentstorage/centralrepository/cenrepsrv/srvrepos_noc.cpp Wed Sep 01 12:39:58 2010 +0100
@@ -32,25 +32,12 @@
{
iNotifier = &aObserver;
- TServerResources::iObserver->iObservers.ReserveL(1);
-
- TServerResources::iObserver->AddSharedRepositoryInfoL(aUid);
-
- TRAPD( err, iRepository = TServerResources::iObserver->AccessL(aUid, aFailIfNotFound) );
-
+ iRepository = TServerResources::iObserver->AccessL(aUid, aFailIfNotFound);
//store uid
- iUid = aUid;
-
- if (err == KErrNone)
- {
- TRAP( err, TServerResources::iObserver->AddObserverL(aUid, this) );
- }
-
- if (err != KErrNone)
- {
- TServerResources::iObserver->RemoveSharedRepositoryInfo(aUid);
- User::Leave(err);
- }
+ iUid = aUid;
+
+ TServerResources::iObserver->AddObserverL(aUid, this);
+ TServerResources::iObserver->AddSharedRepositoryInfoL(aUid);
}
void CServerRepository::Close()
@@ -411,7 +398,6 @@
{
if(err == KErrNoMemory)
{
- repository->Close();
User::LeaveNoMemory();
}
else
@@ -666,27 +652,21 @@
// Create install rep for merging
CSharedRepository *installRep = 0;
- TRAPD( err, TServerResources::iObserver->LoadRepositoryLC(aUid, ETrue, installRep, CIniFileIn::EInstallOnly); CleanupStack::Pop(installRep) );
+ TServerResources::iObserver->LoadRepositoryLC(aUid, ETrue, installRep, CIniFileIn::EInstallOnly);
- if (err == KErrNone)
- {
- // Perform merge
- TRAP( err, iRepository->HandleUpdateMergeL(aModified, *installRep) );
- }
- if (installRep!=NULL)
- {
- delete installRep;
- }
- Close();
- User::LeaveIfError(err);
+ // Perform merge
+ iRepository->HandleUpdateMergeL(aModified, *installRep);
+
+ CleanupStack::PopAndDestroy(installRep);
+ Close();
}
else // No ROM or persists
{
// Create install rep for persisting
OpenL(aUid, aNotifier);
- TRAPD(err, iRepository->CommitChangesL());
- Close();
- User::LeaveIfError(err);
+
+ iRepository->CommitChangesL();
+ Close();
}
}
@@ -718,19 +698,13 @@
// Create ROM rep for merging
CSharedRepository *romRep = 0;
- TRAPD( err, TServerResources::iObserver->LoadRepositoryLC(aUid, ETrue, romRep, CIniFileIn::ERomOnly); CleanupStack::Pop(romRep) );
+ TServerResources::iObserver->LoadRepositoryLC(aUid, ETrue, romRep, CIniFileIn::ERomOnly);
- if (err == KErrNone)
- {
- // Perform merge
- TRAP( err, iRepository->HandleDeleteMergeL(*romRep) );
- }
- if (romRep!=NULL)
- {
- delete romRep;
- }
+ // Perform merge
+ iRepository->HandleDeleteMergeL(*romRep);
+
+ CleanupStack::PopAndDestroy(romRep);
Close();
- User::LeaveIfError(err);
}
else // No ROM file, this is a complete uninstall
{
@@ -1014,24 +988,24 @@
iRepository = NULL;
}
-TInt CServerRepository::CheckAccessPolicyBeforeMoving(const TClientRequest& aMessage, const TServerSetting* aSourceSetting,
- TUint32 aSourceKey, const TServerSetting* aTargetSetting, TUint32 aTargetKey, TUint32& aErrorKey)
+TInt CServerRepository::CheckAccessPolicyBeforeMoving(const TClientRequest& aMessage, const TServerSetting& aSourceSetting,
+ TUint32 aSourceKey, const TServerSetting& aTargetSetting, TUint32 aTargetKey, TUint32& aErrorKey)
{
TInt error = KErrNone;
- if (aTargetSetting && !aTargetSetting->IsDeleted())
+ if (&aTargetSetting && !aTargetSetting.IsDeleted())
{
error=KErrAlreadyExists;
aErrorKey=aTargetKey;
}
- if (!aMessage.CheckPolicy(GetReadAccessPolicy(*aSourceSetting),
+ if (!aMessage.CheckPolicy(GetReadAccessPolicy(aSourceSetting),
__PLATSEC_DIAGNOSTIC_STRING("CenRep: CServerRepository::MoveL - Attempt made to read a setting")))
{
error = KErrPermissionDenied;
aErrorKey = aSourceKey;
}
- else if (!aMessage.CheckPolicy(GetWriteAccessPolicy(*aSourceSetting),
+ else if (!aMessage.CheckPolicy(GetWriteAccessPolicy(aSourceSetting),
__PLATSEC_DIAGNOSTIC_STRING("CenRep: CServerRepository::MoveL - Attempt made to delete a setting")))
{
error = KErrPermissionDenied;
@@ -1040,7 +1014,7 @@
else if (error == KErrAlreadyExists)
{
// set error to KErrPermissionDenied in preference to KErrAlreadyExists
- if (!aMessage.CheckPolicy(GetWriteAccessPolicy(*aTargetSetting),
+ if (!aMessage.CheckPolicy(GetWriteAccessPolicy(aTargetSetting),
__PLATSEC_DIAGNOSTIC_STRING("CenRep: CServerRepository::MoveL - Attempt made to create a setting")))
{
error = KErrPermissionDenied;