Skip to content

Commit ccfab63

Browse files
committed
feat: adds mutagen daemon controller
1 parent 449bbd9 commit ccfab63

File tree

15 files changed

+1076
-50
lines changed

15 files changed

+1076
-50
lines changed

App/App.csproj

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,11 +62,14 @@
6262
</PackageReference>
6363
<PackageReference Include="H.NotifyIcon.WinUI" Version="2.2.0" />
6464
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="9.0.1" />
65+
<PackageReference Include="Microsoft.Extensions.Hosting" Version="9.0.1" />
66+
<PackageReference Include="Microsoft.Extensions.Options" Version="9.0.1" />
6567
<PackageReference Include="Microsoft.WindowsAppSDK" Version="1.6.250108002" />
6668
</ItemGroup>
6769

6870
<ItemGroup>
6971
<ProjectReference Include="..\CoderSdk\CoderSdk.csproj" />
72+
<ProjectReference Include="..\MutagenSdk\MutagenSdk.csproj" />
7073
<ProjectReference Include="..\Vpn.Proto\Vpn.Proto.csproj" />
7174
<ProjectReference Include="..\Vpn\Vpn.csproj" />
7275
</ItemGroup>

App/App.xaml.cs

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,12 @@
66
using Coder.Desktop.App.ViewModels;
77
using Coder.Desktop.App.Views;
88
using Coder.Desktop.App.Views.Pages;
9+
using Coder.Desktop.Vpn;
10+
using Microsoft.Extensions.Configuration;
911
using Microsoft.Extensions.DependencyInjection;
12+
using Microsoft.Extensions.Hosting;
1013
using Microsoft.UI.Xaml;
14+
using Microsoft.Win32;
1115

1216
namespace Coder.Desktop.App;
1317

@@ -17,12 +21,28 @@ public partial class App : Application
1721

1822
private bool _handleWindowClosed = true;
1923

24+
#if !DEBUG
25+
private const string MutagenControllerConfigSection = "MutagenController";
26+
#else
27+
private const string MutagenControllerConfigSection = "DebugMutagenController";
28+
#endif
29+
2030
public App()
2131
{
22-
var services = new ServiceCollection();
32+
var builder = Host.CreateApplicationBuilder();
33+
34+
(builder.Configuration as IConfigurationBuilder).Add(
35+
new RegistryConfigurationSource(Registry.LocalMachine, @"SOFTWARE\Coder Desktop"));
36+
37+
var services = builder.Services;
38+
2339
services.AddSingleton<ICredentialManager, CredentialManager>();
2440
services.AddSingleton<IRpcController, RpcController>();
2541

42+
services.AddOptions<MutagenControllerConfig>()
43+
.Bind(builder.Configuration.GetSection(MutagenControllerConfigSection));
44+
services.AddSingleton<ISyncSessionController, MutagenController>();
45+
2646
// SignInWindow views and view models
2747
services.AddTransient<SignInViewModel>();
2848
services.AddTransient<SignInWindow>();

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy