Xamarin Public Jenkins (auto-signing) e79aa3c0ed Imported Upstream version 4.6.0.125
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
2016-08-03 10:59:49 +00:00

104 lines
3.0 KiB
C#

//-----------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------------
namespace System.IdentityModel.Tokens
{
using System;
using System.Collections.Generic;
using System.IdentityModel.Claims;
using System.Runtime.Serialization;
using System.Text;
[DataContract]
public class SamlAuthorizationDecisionClaimResource
{
[DataMember]
string resource;
[DataMember]
SamlAccessDecision accessDecision;
[DataMember]
string actionNamespace;
[DataMember]
string actionName;
[OnDeserialized]
void OnDeserialized(StreamingContext ctx)
{
if (string.IsNullOrEmpty(resource))
throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("resource");
if (string.IsNullOrEmpty(actionName))
throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("actionName");
}
public SamlAuthorizationDecisionClaimResource(string resource, SamlAccessDecision accessDecision, string actionNamespace, string actionName)
{
if (string.IsNullOrEmpty(resource))
throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("resource");
if (string.IsNullOrEmpty(actionName))
throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("actionName");
this.resource = resource;
this.accessDecision = accessDecision;
this.actionNamespace = actionNamespace;
this.actionName = actionName;
}
public string Resource
{
get
{
return this.resource;
}
}
public SamlAccessDecision AccessDecision
{
get
{
return this.accessDecision;
}
}
public string ActionNamespace
{
get
{
return this.actionNamespace;
}
}
public string ActionName
{
get
{
return this.actionName;
}
}
public override bool Equals(object obj)
{
if (obj == null)
return false;
if (ReferenceEquals(this, obj))
return true;
SamlAuthorizationDecisionClaimResource rhs = obj as SamlAuthorizationDecisionClaimResource;
if (rhs == null)
return false;
return ((this.ActionName == rhs.ActionName) && (this.ActionNamespace == rhs.ActionNamespace) &&
(this.Resource == rhs.Resource) && (this.AccessDecision == rhs.AccessDecision));
}
public override int GetHashCode()
{
return (this.resource.GetHashCode() ^ this.accessDecision.GetHashCode());
}
}
}