using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;

namespace skyscraper5.Skyscraper.Scraper.Storage
{
	[Serializable]
	public class ScraperStorageException : ScraperException
	{
		//
		// For guidelines regarding the creation of new exception types, see
		//    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpgenref/html/cpconerrorraisinghandlingguidelines.asp
		// and
		//    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dncscol/html/csharp07192001.asp
		//

		public ScraperStorageException()
		{
		}

		public ScraperStorageException(string message) : base(message)
		{
		}

		public ScraperStorageException(string message, Exception inner) : base(message, inner)
		{
		}

		protected ScraperStorageException(
			SerializationInfo info,
			StreamingContext context) : base(info, context)
		{
		}
	}


	[Serializable]
	public class StorageFactoryPluginNotLoadedException : ScraperStorageException
	{
		//
		// For guidelines regarding the creation of new exception types, see
		//    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpgenref/html/cpconerrorraisinghandlingguidelines.asp
		// and
		//    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dncscol/html/csharp07192001.asp
		//

		public StorageFactoryPluginNotLoadedException()
		{
		}

		public StorageFactoryPluginNotLoadedException(string message) : base(message)
		{
		}

		public StorageFactoryPluginNotLoadedException(string message, Exception inner) : base(message, inner)
		{
		}

		protected StorageFactoryPluginNotLoadedException(
			SerializationInfo info,
			StreamingContext context) : base(info, context)
		{
		}
	}

	[Serializable]
	public class NoStorageFactoryConfiguredException : ScraperStorageException
	{
		//
		// For guidelines regarding the creation of new exception types, see
		//    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpgenref/html/cpconerrorraisinghandlingguidelines.asp
		// and
		//    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dncscol/html/csharp07192001.asp
		//

		public NoStorageFactoryConfiguredException()
		{
		}

		public NoStorageFactoryConfiguredException(string message) : base(message)
		{
		}

		public NoStorageFactoryConfiguredException(string message, Exception inner) : base(message, inner)
		{
		}

		protected NoStorageFactoryConfiguredException(
			SerializationInfo info,
			StreamingContext context) : base(info, context)
		{
		}
	}
}
