printer discovery in print service

This commit is contained in:
EugeneTes
2026-01-13 11:31:02 +01:00
parent 7390693f50
commit 7ef429a202
9 changed files with 199 additions and 45 deletions

View File

@@ -3,7 +3,7 @@ using System.Net.Sockets;
namespace Inspectron.Epson;
public class ENPCDiscoveryService
public class DiscoveryService : IDiscoveryService
{
private const int DiscoveryPort = 3289;
private const string DiscoveryMessage = "EPSONQ";

View File

@@ -0,0 +1,17 @@
namespace Inspectron.Epson;
/// <summary>
/// Interface for ENPC printer discovery service
/// </summary>
public interface IDiscoveryService
{
/// <summary>
/// Discovers Epson printers on the local network using UDP broadcast
/// </summary>
/// <param name="timeout">How long to wait for responses (default: 5 seconds)</param>
/// <param name="onPrinterDiscovered">Optional callback invoked when a printer is discovered</param>
/// <returns>List of discovered printer information</returns>
Task<List<DiscoveredPrinter>> DiscoverPrintersAsync(
TimeSpan? timeout = null,
Action<DiscoveredPrinter>? onPrinterDiscovered = null);
}