using System;
using System.Runtime.Serialization;

using Microsoft.ApplicationBlocks.ExceptionManagement;

namespace Microsoft.ApplicationBlocks.ApplicationUpdater
{
	/// <summary>
	/// General exception for the application updater application block
	/// </summary>
	[Serializable]
	public class ApplicationUpdaterException
		: BaseApplicationException
	{
		/// <summary>
		/// A default constructor
		/// </summary>
		public ApplicationUpdaterException() { }

		/// <summary>
		/// Creates an exception using a message
		/// </summary>
		/// <param name="message">The message</param>
		public ApplicationUpdaterException( string message ) : base( message ) { }

		/// <summary>
		/// Creates an exception with a message and an inner exception
		/// </summary>
		/// <param name="message">The message</param>
		/// <param name="innerException">The inner exception</param>
		public ApplicationUpdaterException( string message, Exception innerException ) : base( message, innerException ) { }

		/// <summary>
		/// Serialization constructor
		/// </summary>
		/// <param name="?"></param>
		/// <param name="?"></param>
		protected ApplicationUpdaterException(SerializationInfo si, StreamingContext context){}
	}
}
