#region File Description //----------------------------------------------------------------------------- // ErrorLogger.cs // // Microsoft XNA Community Game Platform // Copyright (C) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- #endregion #region Using Statements using System.Collections.Generic; using Microsoft.Build.Framework; #endregion namespace WinFormsContentLoading { /// /// Custom implementation of the MSBuild ILogger interface records /// content build errors so we can later display them to the user. /// class ErrorLogger : ILogger { /// /// Initializes the custom logger, hooking the ErrorRaised notification event. /// public void Initialize(IEventSource eventSource) { if (eventSource != null) { eventSource.ErrorRaised += ErrorRaised; } } /// /// Shuts down the custom logger. /// public void Shutdown() { } /// /// Handles error notification events by storing the error message string. /// void ErrorRaised(object sender, BuildErrorEventArgs e) { errors.Add(e.Message); } /// /// Gets a list of all the errors that have been logged. /// public List Errors { get { return errors; } } List errors = new List(); #region ILogger Members /// /// Implement the ILogger.Parameters property. /// string ILogger.Parameters { get { return parameters; } set { parameters = value; } } string parameters; /// /// Implement the ILogger.Verbosity property. /// LoggerVerbosity ILogger.Verbosity { get { return verbosity; } set { verbosity = value; } } LoggerVerbosity verbosity = LoggerVerbosity.Normal; #endregion } }