mirror of
				https://github.com/jellyfin/jellyfin.git
				synced 2025-11-03 19:17:24 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			37 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
using System;
 | 
						|
using System.Threading.Tasks;
 | 
						|
 | 
						|
namespace Rssdp.Infrastructure
 | 
						|
{
 | 
						|
    /// <summary>
 | 
						|
    /// Interface for components that publish the existence of SSDP devices.
 | 
						|
    /// </summary>
 | 
						|
    /// <remarks>
 | 
						|
    /// <para>Publishing a device includes sending notifications (alive and byebye) as well as responding to search requests when appropriate.</para>
 | 
						|
    /// </remarks>
 | 
						|
    /// <seealso cref="SsdpRootDevice"/>
 | 
						|
    /// <seealso cref="ISsdpDeviceLocator"/>
 | 
						|
    public interface ISsdpDevicePublisher
 | 
						|
    {
 | 
						|
        /// <summary>
 | 
						|
        /// Adds a device (and it's children) to the list of devices being published by this server, making them discoverable to SSDP clients.
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="device">The <see cref="SsdpRootDevice"/> instance to add.</param>
 | 
						|
        /// <returns>An awaitable <see cref="Task"/>.</returns>
 | 
						|
        void AddDevice(SsdpRootDevice device);
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// Removes a device (and it's children) from the list of devices being published by this server, making them undiscoverable.
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="device">The <see cref="SsdpRootDevice"/> instance to add.</param>
 | 
						|
        /// <returns>An awaitable <see cref="Task"/>.</returns>
 | 
						|
        Task RemoveDevice(SsdpRootDevice device);
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// Returns a read only list of devices being published by this instance.
 | 
						|
        /// </summary>
 | 
						|
        /// <seealso cref="SsdpDevice"/>
 | 
						|
        System.Collections.Generic.IEnumerable<SsdpRootDevice> Devices { get; }
 | 
						|
    }
 | 
						|
}
 |