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)