summaryrefslogtreecommitdiffstats
path: root/src/DotNetOpenAuth.OAuth/Messaging/ITamperProtectionChannelBindingElement.cs
blob: 1251472b39968ac76630a64520aefe4251bbc181 (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="Outercurve Foundation">
//     Copyright (c) Outercurve Foundation. All rights reserved.
// </copyright>
//-----------------------------------------------------------------------

namespace DotNetOpenAuth.Messaging {
	using System;
	using DotNetOpenAuth.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();
	}
}