2018-06-19 18:47:37 +02:00
|
|
|
|
using Windows.Storage;
|
2017-11-23 15:26:57 +01:00
|
|
|
|
using ModernKeePass.ViewModels;
|
2017-11-22 18:54:03 +01:00
|
|
|
|
using ModernKeePassLib;
|
2017-11-23 15:26:57 +01:00
|
|
|
|
using ModernKeePassLib.Cryptography.KeyDerivation;
|
2017-11-22 18:54:03 +01:00
|
|
|
|
using ModernKeePassLib.Keys;
|
|
|
|
|
|
|
|
|
|
namespace ModernKeePass.Interfaces
|
|
|
|
|
{
|
2018-02-23 18:09:21 +01:00
|
|
|
|
public interface IDatabaseService
|
2017-11-22 18:54:03 +01:00
|
|
|
|
{
|
2017-11-23 15:26:57 +01:00
|
|
|
|
string Name { get; }
|
2017-11-22 18:54:03 +01:00
|
|
|
|
bool RecycleBinEnabled { get; set; }
|
|
|
|
|
GroupVm RootGroup { get; set; }
|
|
|
|
|
GroupVm RecycleBin { get; set; }
|
2018-03-12 17:30:03 +01:00
|
|
|
|
CompositeKey CompositeKey { get; set; }
|
2017-11-23 15:26:57 +01:00
|
|
|
|
PwUuid DataCipher { get; set; }
|
|
|
|
|
PwCompressionAlgorithm CompressionAlgorithm { get; set; }
|
|
|
|
|
KdfParameters KeyDerivation { get; set; }
|
2018-01-08 18:52:03 +01:00
|
|
|
|
bool IsOpen { get; }
|
2018-02-23 18:09:21 +01:00
|
|
|
|
bool HasChanged { get; set; }
|
2017-11-22 18:54:03 +01:00
|
|
|
|
|
2018-06-19 18:47:37 +02:00
|
|
|
|
void Open(StorageFile databaseFile, CompositeKey key, bool createNew = false);
|
2018-06-18 15:39:01 +02:00
|
|
|
|
void ReOpen();
|
2017-11-23 19:02:49 +01:00
|
|
|
|
void Save();
|
|
|
|
|
void Save(StorageFile file);
|
2018-03-12 17:30:03 +01:00
|
|
|
|
void CreateRecycleBin(string title);
|
2017-11-22 18:54:03 +01:00
|
|
|
|
void AddDeletedItem(PwUuid id);
|
2018-06-18 15:39:01 +02:00
|
|
|
|
void Close(bool releaseFile = true);
|
2017-11-22 18:54:03 +01:00
|
|
|
|
}
|
|
|
|
|
}
|