//----------------------------------------------------------------------- // // Copyright (c) Andrew Arnott. All rights reserved. // //----------------------------------------------------------------------- namespace DotNetOAuth.Messaging { using System; using System.Collections.Generic; using System.Linq; using System.Text; /// /// An interface that must be implemented by message transforms/validators in order /// to be included in the channel stack. /// public interface IChannelBindingElement { /// /// Gets the protection offered (if any) by this binding element. /// MessageProtection Protection { get; } /// /// Prepares a message for sending based on the rules of this channel binding element. /// /// The message to prepare for sending. /// /// True if the applied to this binding element /// and the operation was successful. False otherwise. /// bool PrepareMessageForSending(IProtocolMessage message); /// /// Performs any transformation on an incoming message that may be necessary and/or /// validates an incoming message based on the rules of this channel binding element. /// /// The incoming message to process. /// /// True if the applied to this binding element /// and the operation was successful. False if the operation did not apply to this message. /// /// /// Thrown when the binding element rules indicate that this message is invalid and should /// NOT be processed. /// bool PrepareMessageForReceiving(IProtocolMessage message); } }