diff --git a/DUI3-DX/Directory.Build.Props b/DUI3-DX/Directory.Build.Props index f6527d23eb..add00d3739 100644 --- a/DUI3-DX/Directory.Build.Props +++ b/DUI3-DX/Directory.Build.Props @@ -9,5 +9,6 @@ + diff --git a/DUI3-DX/Sdk/Speckle.Autofac/DependencyInjection/Factory.cs b/DUI3-DX/Sdk/Speckle.Autofac/DependencyInjection/Factory.cs index f173abc4e4..e68fce561d 100644 --- a/DUI3-DX/Sdk/Speckle.Autofac/DependencyInjection/Factory.cs +++ b/DUI3-DX/Sdk/Speckle.Autofac/DependencyInjection/Factory.cs @@ -1,7 +1,9 @@ using Autofac.Features.Indexed; +using Speckle.InterfaceGenerator; namespace Speckle.Autofac.DependencyInjection; +[GenerateAutoInterface] public class Factory : IFactory where TValue : class { @@ -14,7 +16,10 @@ public Factory(IIndex types) public TValue? ResolveInstance(TKey strongName) { - _types.TryGetValue(strongName, out TValue value); - return value; + if (_types.TryGetValue(strongName, out TValue value)) + { + return value; + } + return null; } } diff --git a/DUI3-DX/Sdk/Speckle.Autofac/DependencyInjection/IFactory.cs b/DUI3-DX/Sdk/Speckle.Autofac/DependencyInjection/IFactory.cs deleted file mode 100644 index d3471c4cfb..0000000000 --- a/DUI3-DX/Sdk/Speckle.Autofac/DependencyInjection/IFactory.cs +++ /dev/null @@ -1,12 +0,0 @@ -namespace Speckle.Autofac.DependencyInjection; - -// POC: NEXT UP -// * begin scope: https://stackoverflow.com/questions/49595198/autofac-resolving-through-factory-methods -// Interceptors? - -// POC: this might be somehting that could go in a wholly converter agnostic project -public interface IFactory - where TValue : class -{ - TValue? ResolveInstance(TKey strongName); -} diff --git a/DUI3-DX/Sdk/Speckle.Autofac/DependencyInjection/IUnitOfWork.cs b/DUI3-DX/Sdk/Speckle.Autofac/DependencyInjection/IUnitOfWork.cs deleted file mode 100644 index 5d58d1aabe..0000000000 --- a/DUI3-DX/Sdk/Speckle.Autofac/DependencyInjection/IUnitOfWork.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace Speckle.Autofac.DependencyInjection; - -public interface IUnitOfWork : IDisposable - where TService : class -{ - TService Service { get; } -} diff --git a/DUI3-DX/Sdk/Speckle.Autofac/DependencyInjection/IUnitOfWorkFactory.cs b/DUI3-DX/Sdk/Speckle.Autofac/DependencyInjection/IUnitOfWorkFactory.cs deleted file mode 100644 index 020af4151c..0000000000 --- a/DUI3-DX/Sdk/Speckle.Autofac/DependencyInjection/IUnitOfWorkFactory.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace Speckle.Autofac.DependencyInjection; - -public interface IUnitOfWorkFactory -{ - // POC: this takes a TService but I wonder if the resolution could be in the - // Resolve method - IUnitOfWork Resolve() - where TService : class; -} diff --git a/DUI3-DX/Sdk/Speckle.Autofac/DependencyInjection/UnitOfWork.cs b/DUI3-DX/Sdk/Speckle.Autofac/DependencyInjection/UnitOfWork.cs index 650e8b3296..43e69adf3d 100644 --- a/DUI3-DX/Sdk/Speckle.Autofac/DependencyInjection/UnitOfWork.cs +++ b/DUI3-DX/Sdk/Speckle.Autofac/DependencyInjection/UnitOfWork.cs @@ -1,7 +1,12 @@ using Autofac; +using Speckle.InterfaceGenerator; namespace Speckle.Autofac.DependencyInjection; +public partial interface IUnitOfWork : IDisposable + where TService : class { } + +[GenerateAutoInterface] public sealed class UnitOfWork : IUnitOfWork where TService : class { @@ -14,8 +19,9 @@ public UnitOfWork(ILifetimeScope unitOfWorkScope, TService service) Service = service; } - public TService Service { get; private set; } + public TService Service { get; } + [AutoInterfaceIgnore] public void Dispose() => Disposing(true); private void Disposing(bool fromDispose) diff --git a/DUI3-DX/Sdk/Speckle.Autofac/DependencyInjection/UnitOfWorkFactory.cs b/DUI3-DX/Sdk/Speckle.Autofac/DependencyInjection/UnitOfWorkFactory.cs index 94603a2264..295519d8ef 100644 --- a/DUI3-DX/Sdk/Speckle.Autofac/DependencyInjection/UnitOfWorkFactory.cs +++ b/DUI3-DX/Sdk/Speckle.Autofac/DependencyInjection/UnitOfWorkFactory.cs @@ -1,9 +1,11 @@ using Autofac; using Autofac.Core; +using Speckle.InterfaceGenerator; using Speckle.Core.Logging; namespace Speckle.Autofac.DependencyInjection; +[GenerateAutoInterface] public class UnitOfWorkFactory : IUnitOfWorkFactory { private readonly ILifetimeScope _parentScope; diff --git a/DUI3-DX/Sdk/Speckle.Autofac/Files/IStorageInfo.cs b/DUI3-DX/Sdk/Speckle.Autofac/Files/IStorageInfo.cs deleted file mode 100644 index 0ee9cee332..0000000000 --- a/DUI3-DX/Sdk/Speckle.Autofac/Files/IStorageInfo.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace Speckle.Autofac.Files; - -public interface IStorageInfo -{ - IEnumerable GetFilenamesInDirectory(string path, string pattern); -} diff --git a/DUI3-DX/Sdk/Speckle.Autofac/Files/StorageInfo.cs b/DUI3-DX/Sdk/Speckle.Autofac/Files/StorageInfo.cs index af55e1405a..a810c1c838 100644 --- a/DUI3-DX/Sdk/Speckle.Autofac/Files/StorageInfo.cs +++ b/DUI3-DX/Sdk/Speckle.Autofac/Files/StorageInfo.cs @@ -1,5 +1,8 @@ +using Speckle.InterfaceGenerator; + namespace Speckle.Autofac.Files; +[GenerateAutoInterface] public class StorageInfo : IStorageInfo { public IEnumerable GetFilenamesInDirectory(string path, string pattern)