public override void Import(PwDatabase pwStorage, Stream sInput, IStatusLogger slLogger) { Kdb4File kdb4 = new Kdb4File(pwStorage); kdb4.Load(sInput, Kdb4Format.PlainXml, slLogger); }
public override void Import(PwDatabase pwStorage, Stream sInput, IStatusLogger slLogger) { Kdb4File kdb4 = new Kdb4File(pwStorage); // CappedByteStream s = new CappedByteStream(sInput, 64); kdb4.RepairMode = true; try { kdb4.Load(sInput, Kdb4Format.Default, slLogger); } catch (Exception) { } }
/// <summary> /// Open a database. The URL may point to any supported data source. /// </summary> /// <param name="ioSource">IO connection to load the database from.</param> /// <param name="pwKey">Key used to open the specified database.</param> /// <param name="slLogger">Logger, which gets all status messages.</param> public void Open(IOConnectionInfo ioSource, CompositeKey pwKey, IStatusLogger slLogger) { Debug.Assert(ioSource != null); if (ioSource == null) { throw new ArgumentNullException("ioSource"); } Debug.Assert(pwKey != null); if (pwKey == null) { throw new ArgumentNullException("pwKey"); } this.Close(); try { m_pgRootGroup = new PwGroup(true, true, UrlUtil.StripExtension( UrlUtil.GetFileName(ioSource.Path)), PwIcon.FolderOpen); m_pgRootGroup.IsExpanded = true; m_pwUserKey = pwKey; m_bModified = false; Kdb4File kdb4 = new Kdb4File(this); Stream s = IOConnection.OpenRead(ioSource); kdb4.Load(s, Kdb4Format.Default, slLogger); s.Close(); m_pbHashOfLastIO = kdb4.HashOfFileOnDisk; m_pbHashOfFileOnDisk = kdb4.HashOfFileOnDisk; Debug.Assert(m_pbHashOfFileOnDisk != null); m_bDatabaseOpened = true; m_ioSource = ioSource; } catch (Exception) { this.Clear(); throw; } }