diff --git a/Toolkit.Avalonia/ImageReader.cs b/Toolkit.Avalonia/ImageReader.cs index af6857e..eee333c 100644 --- a/Toolkit.Avalonia/ImageReader.cs +++ b/Toolkit.Avalonia/ImageReader.cs @@ -6,7 +6,7 @@ namespace Toolkit.Avalonia; public class ImageReader(IImageResizer imageResizer) : IImageReader { - public async Task Get(Stream stream, + public IImageDescriptor Get(Stream stream, int width, int height, bool maintainAspectRatio) diff --git a/Toolkit.Foundation/AppService.cs b/Toolkit.Foundation/AppService.cs index dd3f5e4..08c2d4a 100644 --- a/Toolkit.Foundation/AppService.cs +++ b/Toolkit.Foundation/AppService.cs @@ -6,14 +6,15 @@ public class AppService(IEnumerable initializers, IPublisher publisher) : IHostedService { - public async Task StartAsync(CancellationToken cancellationToken) + public Task StartAsync(CancellationToken cancellationToken) { foreach (IInitialization initializer in initializers) { - await initializer.Initialize(); + initializer.Initialize(); } publisher.Publish(); + return Task.CompletedTask; } public Task StopAsync(CancellationToken cancellationToken) => Task.CompletedTask; diff --git a/Toolkit.Foundation/CancelEventArgs.cs b/Toolkit.Foundation/CancelEventArgs.cs index 46867e9..3f706f0 100644 --- a/Toolkit.Foundation/CancelEventArgs.cs +++ b/Toolkit.Foundation/CancelEventArgs.cs @@ -1,3 +1,3 @@ namespace Toolkit.Foundation; -public record CancelEventArgs(TSender sender); \ No newline at end of file +public record CancelEventArgs(TSender Sender); \ No newline at end of file diff --git a/Toolkit.Foundation/ComponentHost.cs b/Toolkit.Foundation/ComponentHost.cs index e6cfb31..739a5bc 100644 --- a/Toolkit.Foundation/ComponentHost.cs +++ b/Toolkit.Foundation/ComponentHost.cs @@ -14,7 +14,8 @@ public class ComponentHost(IServiceProvider services, { } - public TConfiguration? GetConfiguration() where TConfiguration : ComponentConfiguration + public TConfiguration? GetConfiguration() + where TConfiguration : ComponentConfiguration { return Services.GetService(); } @@ -23,7 +24,7 @@ public class ComponentHost(IServiceProvider services, { foreach (IInitialization initializer in initializers) { - await initializer.Initialize(); + initializer.Initialize(); } foreach (IHostedService service in hostedServices) diff --git a/Toolkit.Foundation/ComponentInitializer.cs b/Toolkit.Foundation/ComponentInitializer.cs index 856cdd0..50acd8c 100644 --- a/Toolkit.Foundation/ComponentInitializer.cs +++ b/Toolkit.Foundation/ComponentInitializer.cs @@ -1,4 +1,5 @@ using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Hosting; namespace Toolkit.Foundation; @@ -9,7 +10,7 @@ public class ComponentInitializer(IEnumerable components, IServiceProvider provider) : IInitialization { - public async Task Initialize() + public void Initialize() { foreach (IComponent component in components) { @@ -45,7 +46,7 @@ public class ComponentInitializer(IEnumerable components, provider.GetRequiredService())); hosts.Add(host); - await host.StartAsync(); + host.Start(); } } } \ No newline at end of file diff --git a/Toolkit.Foundation/ConfigurationInitializer.cs b/Toolkit.Foundation/ConfigurationInitializer.cs index c17b03c..c9389f8 100644 --- a/Toolkit.Foundation/ConfigurationInitializer.cs +++ b/Toolkit.Foundation/ConfigurationInitializer.cs @@ -9,7 +9,7 @@ public class ConfigurationInitializer(IConfigurationReader(IConfigurationReader(configuration)); - return Task.CompletedTask; } } \ No newline at end of file diff --git a/Toolkit.Foundation/IAsyncInitialization.cs b/Toolkit.Foundation/IAsyncInitialization.cs new file mode 100644 index 0000000..4d2064d --- /dev/null +++ b/Toolkit.Foundation/IAsyncInitialization.cs @@ -0,0 +1,6 @@ +namespace Toolkit.Foundation; + +public interface IAsyncInitialization +{ + Task Initialize(); +} \ No newline at end of file diff --git a/Toolkit.Foundation/IConfigurationInitializer.cs b/Toolkit.Foundation/IConfigurationInitializer.cs index a573f89..4d347d3 100644 --- a/Toolkit.Foundation/IConfigurationInitializer.cs +++ b/Toolkit.Foundation/IConfigurationInitializer.cs @@ -4,5 +4,5 @@ public interface IConfigurationInitializer where TConfiguration : class { - Task Initialize(); + void Initialize(); } \ No newline at end of file diff --git a/Toolkit.Foundation/IImageReader.cs b/Toolkit.Foundation/IImageReader.cs index 4b468fd..f156209 100644 --- a/Toolkit.Foundation/IImageReader.cs +++ b/Toolkit.Foundation/IImageReader.cs @@ -2,7 +2,7 @@ public interface IImageReader { - Task Get(Stream stream, + IImageDescriptor Get(Stream stream, int width, int height, bool maintainAspectRatio = false); diff --git a/Toolkit.Foundation/IInitialization.cs b/Toolkit.Foundation/IInitialization.cs index a5dc5f6..3e08677 100644 --- a/Toolkit.Foundation/IInitialization.cs +++ b/Toolkit.Foundation/IInitialization.cs @@ -2,5 +2,5 @@ public interface IInitialization { - Task Initialize(); -} \ No newline at end of file + void Initialize(); +} diff --git a/Toolkit.Foundation/Observable.cs b/Toolkit.Foundation/Observable.cs index 6bd75c6..317148d 100644 --- a/Toolkit.Foundation/Observable.cs +++ b/Toolkit.Foundation/Observable.cs @@ -56,17 +56,15 @@ public partial class Observable(IServiceProvider provider, Disposer.Dispose(this); } - public virtual Task Initialize() + public virtual void Initialize() { if (IsInitialized) { - return Task.CompletedTask; + return; } IsInitialized = true; - Subscriber.Subscribe(this); - return Task.CompletedTask; } [ObservableProperty] diff --git a/Toolkit.Foundation/ObservableCollection.cs b/Toolkit.Foundation/ObservableCollection.cs index 06f96ff..e71afee 100644 --- a/Toolkit.Foundation/ObservableCollection.cs +++ b/Toolkit.Foundation/ObservableCollection.cs @@ -157,8 +157,7 @@ public partial class ObservableCollection : } public TItem Add(params object?[] parameters) - where T : - TItem + where T : TItem { T? item = Factory.Create(args => { @@ -416,19 +415,17 @@ public partial class ObservableCollection : IsCompatibleObject(value) ? IndexOf((TItem)value!) : -1; - public virtual Task Initialize() + public virtual void Initialize() { if (IsInitialized) { - return Task.CompletedTask; + return; } IsInitialized = true; Subscriber.Subscribe(this); Synchronize(); - - return Task.CompletedTask; } public TItem Insert(int index = 0,