summaryrefslogtreecommitdiffstats
path: root/src/DotNetOAuth/Messaging/ITamperProtectionChannelBindingElement.cs
blob: 03478c3a7344a9c2e2f7ab493bb1dad6b3ceed2b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
//-----------------------------------------------------------------------
// <copyright file="ITamperProtectionChannelBindingElement.cs" company="Andrew Arnott">
//     Copyright (c) Andrew Arnott. All rights reserved.
// </copyright>
//-----------------------------------------------------------------------

namespace DotNetOAuth.Messaging {
	using System;
	using DotNetOAuth.OAuth.ChannelElements;

	/// <summary>
	/// An interface that must be implemented by message transforms/validators in order
	/// to be included in the channel stack.
	/// </summary>
	public interface ITamperProtectionChannelBindingElement : IChannelBindingElement {
		/// <summary>
		/// Gets or sets the delegate that will initialize the non-serialized properties necessary on a
		/// signable message so that its signature can be correctly calculated or verified.
		/// </summary>
		Action<ITamperResistantOAuthMessage> SignatureCallback { get; set; }

		/// <summary>
		/// Clones this instance.
		/// </summary>
		/// <returns>The cloned instance.</returns>
		ITamperProtectionChannelBindingElement Clone();
	}
}