//----------------------------------------------------------------------- // // Copyright (c) Outercurve Foundation. All rights reserved. // //----------------------------------------------------------------------- namespace DotNetOpenAuth.OpenId { using System; using System.Diagnostics; using System.Diagnostics.CodeAnalysis; using System.Diagnostics.Contracts; using System.IO; using System.Security.Cryptography; using System.Text; using DotNetOpenAuth.Configuration; using DotNetOpenAuth.Messaging; /// /// Code contract for the class. /// [ContractClassFor(typeof(Association))] internal abstract class AssociationContract : Association { /// /// Prevents a default instance of the class from being created. /// private AssociationContract() : base(null, null, TimeSpan.Zero, DateTime.Now) { } /// /// Gets the length (in bits) of the hash this association creates when signing. /// public override int HashBitLength { get { Contract.Ensures(Contract.Result() > 0); throw new NotImplementedException(); } } /// /// The string to pass as the assoc_type value in the OpenID protocol. /// /// The protocol version of the message that the assoc_type value will be included in. /// /// The value that should be used for the openid.assoc_type parameter. /// [Pure] internal override string GetAssociationType(Protocol protocol) { Requires.NotNull(protocol, "protocol"); throw new NotImplementedException(); } /// /// Returns the specific hash algorithm used for message signing. /// /// /// The hash algorithm used for message signing. /// [Pure] protected override HashAlgorithm CreateHasher() { Contract.Ensures(Contract.Result() != null); throw new NotImplementedException(); } } }