File: infocard\client\System\IdentityModel\Selectors\InfoCardBaseException.cs
Project: ndp\cdf\src\WCF\System.IdentityModel.Selectors.csproj (System.IdentityModel.Selectors)
//-----------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation.  All rights reserved.
//-----------------------------------------------------------------------------
namespace Microsoft.InfoCards
{
    using System;
    using System.Runtime.Serialization;
 
 
    [Serializable]
    internal abstract class InfoCardBaseException : System.Exception
    {
        
        private bool m_logged = false;
        private string m_extendedMessage;  // Extended message string
                
        protected InfoCardBaseException( int result )
            : base()
        {
            HResult = result;
        }
 
        protected InfoCardBaseException( int result, string message )
            : base( message )
        {
            HResult = result;
        }
                
        protected InfoCardBaseException( int result, string message, string extendedMessage )
            : base( message )
        {
            HResult = result;
            m_extendedMessage = extendedMessage;
        }
 
        protected InfoCardBaseException( int result, string message, Exception innerException )
            : base( message, innerException )
        {
            HResult = result;
        }
 
        protected InfoCardBaseException( int result, SerializationInfo info, StreamingContext context )
            : base( info, context )
        {
            HResult = result;
        }
 
        public int NativeHResult
        {
            get { return HResult; }
        }
        public bool Logged
        {
            get
            {
                return m_logged;
            }
        }
        public void MarkLogged()
        {
            m_logged = true;
        }
        public string ExtendedMessage
        {
            get { return m_extendedMessage; }                    
        }
        
    }
}