SamlAuthorizationDecisionClaimResource.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WCF / IdentityModel / System / IdentityModel / Tokens / SamlAuthorizationDecisionClaimResource.cs / 1305376 / SamlAuthorizationDecisionClaimResource.cs

                            //------------------------------------------------------------------------------ 
// 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()); 
        }
	}
}

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK