mirror of
https://github.com/mRemoteNG/mRemoteNG.git
synced 2026-02-17 22:11:48 +08:00
we can now save the cred repo list
This commit is contained in:
28
mRemoteV1/Config/CredentialRepositoryListSaver.cs
Normal file
28
mRemoteV1/Config/CredentialRepositoryListSaver.cs
Normal file
@@ -0,0 +1,28 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using mRemoteNG.Config.DataProviders;
|
||||
using mRemoteNG.Config.Serializers.CredentialProviderSerializer;
|
||||
using mRemoteNG.Credential;
|
||||
|
||||
namespace mRemoteNG.Config
|
||||
{
|
||||
public class CredentialRepositoryListSaver
|
||||
{
|
||||
private readonly IDataProvider<string> _dataProvider;
|
||||
|
||||
public CredentialRepositoryListSaver(IDataProvider<string> dataProvider)
|
||||
{
|
||||
if (dataProvider == null)
|
||||
throw new ArgumentNullException(nameof(dataProvider));
|
||||
|
||||
_dataProvider = dataProvider;
|
||||
}
|
||||
|
||||
public void Save(IEnumerable<ICredentialRepository> repositories)
|
||||
{
|
||||
var serializer = new CredentialRepositoryListSerializer();
|
||||
var data = serializer.Serialize(repositories);
|
||||
_dataProvider.Save(data);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -139,9 +139,12 @@ namespace mRemoteNG.UI.Forms
|
||||
|
||||
Startup.Instance.InitializeProgram(messageCollector);
|
||||
|
||||
var credRepoListLoader = new CredentialRepositoryListLoader(new FileDataProvider(_credentialRepoListPath), new CredentialRepositoryListDeserializer());
|
||||
var credRepoListDataProvider = new FileDataProvider(_credentialRepoListPath);
|
||||
var credRepoListLoader = new CredentialRepositoryListLoader(credRepoListDataProvider, new CredentialRepositoryListDeserializer());
|
||||
var credRepoListSaver = new CredentialRepositoryListSaver(credRepoListDataProvider);
|
||||
foreach (var repository in credRepoListLoader.Load())
|
||||
Runtime.CredentialProviderCatalog.AddProvider(repository);
|
||||
Runtime.CredentialProviderCatalog.CollectionChanged += (o, args) => credRepoListSaver.Save(Runtime.CredentialProviderCatalog.CredentialProviders);
|
||||
|
||||
msMain.Items.AddRange(new ToolStripItem[]
|
||||
{
|
||||
|
||||
@@ -139,6 +139,7 @@
|
||||
<Compile Include="Config\CredentialHarvester.cs" />
|
||||
<Compile Include="Config\CredentialRecordLoader.cs" />
|
||||
<Compile Include="Config\CredentialRecordSaver.cs" />
|
||||
<Compile Include="Config\CredentialRepositoryListSaver.cs" />
|
||||
<Compile Include="Config\Serializers\CredentialProviderSerializer\CredentialRepositoryListDeserializer.cs" />
|
||||
<Compile Include="Config\CredentialRepositoryListLoader.cs" />
|
||||
<Compile Include="Config\Serializers\ActiveDirectoryDeserializer.cs" />
|
||||
|
||||
Reference in New Issue
Block a user