You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
1.1 KiB
28 lines
1.1 KiB
using System;
|
|
|
|
namespace Rssdp.Infrastructure
|
|
{
|
|
/// <summary>
|
|
/// Interface for components that check an <see cref="SsdpDevice"/> object's properties meet the UPnP specification for a particular version.
|
|
/// </summary>
|
|
public interface IUpnpDeviceValidator
|
|
{
|
|
/// <summary>
|
|
/// Returns an enumerable set of strings, each one being a description of an invalid property on the specified root device.
|
|
/// </summary>
|
|
/// <param name="device">The <see cref="SsdpRootDevice"/> to validate.</param>
|
|
System.Collections.Generic.IEnumerable<string> GetValidationErrors(SsdpRootDevice device);
|
|
|
|
/// <summary>
|
|
/// Returns an enumerable set of strings, each one being a description of an invalid property on the specified device.
|
|
/// </summary>
|
|
/// <param name="device">The <see cref="SsdpDevice"/> to validate.</param>
|
|
System.Collections.Generic.IEnumerable<string> GetValidationErrors(SsdpDevice device);
|
|
|
|
/// <summary>
|
|
/// Validates the specified device and throws an <see cref="System.InvalidOperationException"/> if there are any validation errors.
|
|
/// </summary>
|
|
void ThrowIfDeviceInvalid(SsdpDevice device);
|
|
}
|
|
}
|