Files
mRemoteNG/mRemoteV1/Config/CredentialRecordLoader.cs
2017-01-20 10:10:59 -07:00

33 lines
1.0 KiB
C#

using System;
using System.Collections.Generic;
using System.Security;
using mRemoteNG.Config.DataProviders;
using mRemoteNG.Config.Serializers;
using mRemoteNG.Credential;
namespace mRemoteNG.Config
{
public class CredentialRecordLoader
{
private readonly IDataProvider<string> _dataProvider;
private readonly XmlCredentialDeserializer _deserializer;
public CredentialRecordLoader(IDataProvider<string> dataProvider, XmlCredentialDeserializer deserializer)
{
if (dataProvider == null)
throw new ArgumentNullException(nameof(dataProvider));
if (deserializer == null)
throw new ArgumentNullException(nameof(deserializer));
_dataProvider = dataProvider;
_deserializer = deserializer;
}
public IEnumerable<ICredentialRecord> Load(SecureString decryptionKey)
{
var serializedCredentials = _dataProvider.Load();
return _deserializer.Deserialize(serializedCredentials, decryptionKey);
}
}
}