#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
}
}