using System;
namespace Rssdp.Infrastructure
{
	/// 
	/// Interface for components that check an  object's properties meet the UPnP specification for a particular version.
	/// 
	public interface IUpnpDeviceValidator
	{
		/// 
		/// Returns an enumerable set of strings, each one being a description of an invalid property on the specified root device.
		/// 
		/// The  to validate.
		System.Collections.Generic.List GetValidationErrors(SsdpRootDevice device);
		/// 
		/// Returns an enumerable set of strings, each one being a description of an invalid property on the specified device.
		/// 
		/// The  to validate.
		System.Collections.Generic.List GetValidationErrors(SsdpDevice device);
		/// 
		/// Validates the specified device and throws an  if there are any validation errors.
		/// 
		void ThrowIfDeviceInvalid(SsdpDevice device);
	}
}