using System; using System.Threading; using System.Threading.Tasks; using Wino.Core.Domain.Interfaces; namespace Wino.Core.WinUI.Services; /// /// Empty implementation of IWinoServerConnectionManager that returns default values. /// This replaces the old AppServiceConnection-based implementation. /// public class EmptyWinoServerConnectionManager : IWinoServerConnectionManager { public event EventHandler StatusChanged { add { } remove { } } public WinoServerConnectionStatus Status => WinoServerConnectionStatus.Connected; public TaskCompletionSource ConnectingHandle { get; } = new TaskCompletionSource(); public EmptyWinoServerConnectionManager() { ConnectingHandle.SetResult(true); } public Task ConnectAsync() { return Task.FromResult(true); } public Task QueueRequestAsync(IRequestBase request, Guid accountId) { return Task.CompletedTask; } public Task> GetResponseAsync(TRequestType clientMessage, CancellationToken cancellationToken = default) where TRequestType : IClientMessage { var response = WinoServerResponse.CreateSuccessResponse(default(TResponse)); return Task.FromResult(response); } } /// /// Generic empty implementation for typed connection managers. /// /// The connection type (not used in this implementation) public class EmptyWinoServerConnectionManager : EmptyWinoServerConnectionManager, IWinoServerConnectionManager { public TAppServiceConnection Connection { get; set; } public Task InitializeAsync() { return Task.CompletedTask; } }