TeamCity.ServiceMessages/Write/Special/ITeamCityServiceMessages.cs (12 lines of code) (raw):
namespace JetBrains.TeamCity.ServiceMessages.Write.Special
{
using System;
/// <summary>
/// Factory interface for specialized service messages generation
/// Create instance of <see cref="TeamCityServiceMessages" /> to get the implementation of the interface.
/// </summary>
public interface ITeamCityServiceMessages
{
/// <summary>
/// Creates a writer that outputs service messages to Console.Out
/// </summary>
/// <returns></returns>
[NotNull]
ITeamCityWriter CreateWriter();
/// <summary>
/// Creates a writer that uses the provided delegate to output service messages
/// </summary>
/// <param name="destination">generated service messages processor</param>
/// <param name="addFlowIdsOnTopLevelMessages">specifies whether messages written without explicitly opening a flow should be marked with a common flow id</param>
/// <returns></returns>
[NotNull]
ITeamCityWriter CreateWriter(Action<string> destination, bool addFlowIdsOnTopLevelMessages = true);
/// <summary>
/// Adds user-specific service message updater to the list of service message updaters.
/// </summary>
/// <param name="updater">updater instance</param>
void AddServiceMessageUpdater([NotNull] IServiceMessageUpdater updater);
}
}