You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
24 lines
1.0 KiB
24 lines
1.0 KiB
namespace MsgReader.Mime.Traverse
|
|
{
|
|
/// <summary>
|
|
/// This interface describes a MessageTraverser which is able to traverse a Message hierarchy structure
|
|
/// and deliver some answer.
|
|
/// </summary>
|
|
/// <typeparam name="TAnswer">This is the type of the answer you want to have delivered.</typeparam>
|
|
public interface IAnswerMessageTraverser<out TAnswer>
|
|
{
|
|
/// <summary>
|
|
/// Call this when you want to apply this traverser on a <see cref="Message"/>.
|
|
/// </summary>
|
|
/// <param name="message">The <see cref="Message"/> which you want to traverse. Must not be <see langword="null"/>.</param>
|
|
/// <returns>An answer</returns>
|
|
TAnswer VisitMessage(Message message);
|
|
|
|
/// <summary>
|
|
/// Call this when you want to apply this traverser on a <see cref="MessagePart"/>.
|
|
/// </summary>
|
|
/// <param name="messagePart">The <see cref="MessagePart"/> which you want to traverse. Must not be <see langword="null"/>.</param>
|
|
/// <returns>An answer</returns>
|
|
TAnswer VisitMessagePart(MessagePart messagePart);
|
|
}
|
|
} |