diff --git a/Aaru.Archives/Ha/Files.cs b/Aaru.Archives/Ha/Files.cs index a0fb3fe53..d8a3c30b8 100644 --- a/Aaru.Archives/Ha/Files.cs +++ b/Aaru.Archives/Ha/Files.cs @@ -46,5 +46,33 @@ public sealed partial class Ha return ErrorNumber.NoSuchFile; } + /// + public ErrorNumber GetCompressedSize(int entryNumber, out long length) + { + length = -1; + + if(!Opened) return ErrorNumber.NotOpened; + + if(entryNumber < 0 || entryNumber >= _entries.Count) return ErrorNumber.OutOfRange; + + length = _entries[entryNumber].Compressed; + + return ErrorNumber.NoError; + } + + /// + public ErrorNumber GetUncompressedSize(int entryNumber, out long length) + { + length = -1; + + if(!Opened) return ErrorNumber.NotOpened; + + if(entryNumber < 0 || entryNumber >= _entries.Count) return ErrorNumber.OutOfRange; + + length = _entries[entryNumber].Uncompressed; + + return ErrorNumber.NoError; + } + #endregion } \ No newline at end of file diff --git a/Aaru.Archives/Ha/Unimplemented.cs b/Aaru.Archives/Ha/Unimplemented.cs index 02a207a19..8b2c1ad9e 100644 --- a/Aaru.Archives/Ha/Unimplemented.cs +++ b/Aaru.Archives/Ha/Unimplemented.cs @@ -11,12 +11,6 @@ public sealed partial class Ha { #region IArchive Members - /// - public ErrorNumber GetCompressedSize(int entryNumber, out long length) => throw new NotImplementedException(); - - /// - public ErrorNumber GetUncompressedSize(int entryNumber, out long length) => throw new NotImplementedException(); - /// public ErrorNumber GetAttributes(int entryNumber, out FileAttributes attributes) => throw new NotImplementedException();