persistentstorage/centralrepository/cenrepsrv/srvrepos_noc.cpp
changeset 17 55f2396f6d25
parent 15 3eacc0623088
child 40 b8bdbc8f59c7
equal deleted inserted replaced
15:3eacc0623088 17:55f2396f6d25
   986 	StoreRepositorySettingValuesL(aStore, aSettingStreamId);	
   986 	StoreRepositorySettingValuesL(aStore, aSettingStreamId);	
   987 	CleanupStack::PopAndDestroy(iRepository);
   987 	CleanupStack::PopAndDestroy(iRepository);
   988 	iRepository = NULL;
   988 	iRepository = NULL;
   989 	}
   989 	}
   990 
   990 
   991 TInt CServerRepository::CheckAccessPolicyBeforeMoving(const TClientRequest& aMessage, const TServerSetting& aSourceSetting, 
   991 TInt CServerRepository::CheckAccessPolicyBeforeMoving(const TClientRequest& aMessage, const TServerSetting* aSourceSetting, 
   992 				TUint32 aSourceKey, const TServerSetting& aTargetSetting, TUint32 aTargetKey, TUint32& aErrorKey)
   992 				TUint32 aSourceKey, const TServerSetting* aTargetSetting, TUint32 aTargetKey, TUint32& aErrorKey)
   993 	{
   993 	{
   994 	TInt error = KErrNone;
   994 	TInt error = KErrNone;
   995 	
   995 	
   996 	if (&aTargetSetting && !aTargetSetting.IsDeleted())
   996 	if (aTargetSetting && !aTargetSetting->IsDeleted())
   997 		{
   997 		{
   998 		error=KErrAlreadyExists;
   998 		error=KErrAlreadyExists;
   999 		aErrorKey=aTargetKey;
   999 		aErrorKey=aTargetKey;
  1000 		}
  1000 		}
  1001 
  1001 
  1002 	if (!aMessage.CheckPolicy(GetReadAccessPolicy(aSourceSetting),
  1002 	if (!aMessage.CheckPolicy(GetReadAccessPolicy(*aSourceSetting),
  1003 		__PLATSEC_DIAGNOSTIC_STRING("CenRep: CServerRepository::MoveL - Attempt made to read a setting")))
  1003 		__PLATSEC_DIAGNOSTIC_STRING("CenRep: CServerRepository::MoveL - Attempt made to read a setting")))
  1004 		{
  1004 		{
  1005 		error = KErrPermissionDenied;
  1005 		error = KErrPermissionDenied;
  1006 		aErrorKey = aSourceKey;
  1006 		aErrorKey = aSourceKey;
  1007 		}
  1007 		}
  1008 	else if (!aMessage.CheckPolicy(GetWriteAccessPolicy(aSourceSetting),
  1008 	else if (!aMessage.CheckPolicy(GetWriteAccessPolicy(*aSourceSetting),
  1009 		__PLATSEC_DIAGNOSTIC_STRING("CenRep: CServerRepository::MoveL - Attempt made to delete a setting")))
  1009 		__PLATSEC_DIAGNOSTIC_STRING("CenRep: CServerRepository::MoveL - Attempt made to delete a setting")))
  1010 		{
  1010 		{
  1011 		error = KErrPermissionDenied;
  1011 		error = KErrPermissionDenied;
  1012 		aErrorKey = aSourceKey;
  1012 		aErrorKey = aSourceKey;
  1013 		}
  1013 		}
  1014 	else if (error == KErrAlreadyExists)
  1014 	else if (error == KErrAlreadyExists)
  1015 		{
  1015 		{
  1016 		// set error to KErrPermissionDenied in preference to KErrAlreadyExists
  1016 		// set error to KErrPermissionDenied in preference to KErrAlreadyExists
  1017 		if (!aMessage.CheckPolicy(GetWriteAccessPolicy(aTargetSetting),
  1017 		if (!aMessage.CheckPolicy(GetWriteAccessPolicy(*aTargetSetting),
  1018 			__PLATSEC_DIAGNOSTIC_STRING("CenRep: CServerRepository::MoveL - Attempt made to create a setting")))
  1018 			__PLATSEC_DIAGNOSTIC_STRING("CenRep: CServerRepository::MoveL - Attempt made to create a setting")))
  1019 			{
  1019 			{
  1020 			error = KErrPermissionDenied;
  1020 			error = KErrPermissionDenied;
  1021 			aErrorKey = aTargetKey;
  1021 			aErrorKey = aTargetKey;
  1022 			}
  1022 			}