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.IEnumerable 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.IEnumerable GetValidationErrors(SsdpDevice device);
///
/// Validates the specified device and throws an if there are any validation errors.
///
void ThrowIfDeviceInvalid(SsdpDevice device);
}
}