From fa12cc60b9bbb4752f375f9c5180d7efe81760f4 Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Sat, 6 Sep 2025 19:03:12 +0100 Subject: [PATCH] [HA] Add skeleton. --- Aaru.Archives/Ha/Ha.cs | 28 ++++++++++++++ Aaru.Archives/Ha/Unimplemented.cs | 64 +++++++++++++++++++++++++++++++ 2 files changed, 92 insertions(+) create mode 100644 Aaru.Archives/Ha/Ha.cs create mode 100644 Aaru.Archives/Ha/Unimplemented.cs diff --git a/Aaru.Archives/Ha/Ha.cs b/Aaru.Archives/Ha/Ha.cs new file mode 100644 index 000000000..e38a94948 --- /dev/null +++ b/Aaru.Archives/Ha/Ha.cs @@ -0,0 +1,28 @@ +using System; +using Aaru.CommonTypes.Interfaces; + +namespace Aaru.Archives; + +public sealed partial class Ha : IArchive +{ +#region IArchive Members + + /// + public string Name => "HA"; + /// + public Guid Id { get; } + /// + public string Author => Authors.NataliaPortillo; + /// + public bool Opened { get; } + /// + public ArchiveSupportedFeature ArchiveFeatures => ArchiveSupportedFeature.HasEntryTimestamp | + ArchiveSupportedFeature.SupportsCompression | + ArchiveSupportedFeature.SupportsFilenames | + ArchiveSupportedFeature.SupportsSubdirectories | + ArchiveSupportedFeature.HasExplicitDirectories; + /// + public int NumberOfEntries { get; } + +#endregion +} \ No newline at end of file diff --git a/Aaru.Archives/Ha/Unimplemented.cs b/Aaru.Archives/Ha/Unimplemented.cs new file mode 100644 index 000000000..9548e3ad8 --- /dev/null +++ b/Aaru.Archives/Ha/Unimplemented.cs @@ -0,0 +1,64 @@ +using System; +using System.Collections.Generic; +using System.Text; +using Aaru.CommonTypes.Enums; +using Aaru.CommonTypes.Interfaces; +using Aaru.CommonTypes.Structs; +using FileAttributes = System.IO.FileAttributes; + +namespace Aaru.Archives; + +public sealed partial class Ha +{ +#region IArchive Members + + /// + public bool Identify(IFilter filter) => throw new NotImplementedException(); + + /// + public ErrorNumber Open(IFilter filter, Encoding encoding) => throw new NotImplementedException(); + + /// + public void Close() + { + throw new NotImplementedException(); + } + + /// + public ErrorNumber GetFilename(int entryNumber, out string fileName) => throw new NotImplementedException(); + + /// + public ErrorNumber GetEntryNumber(string fileName, bool caseInsensitiveMatch, out int entryNumber) => + throw new NotImplementedException(); + + /// + 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(); + + /// + public ErrorNumber ListXAttr(int entryNumber, out List xattrs) => throw new NotImplementedException(); + + /// + public ErrorNumber GetXattr(int entryNumber, string xattr, ref byte[] buffer) => + throw new NotImplementedException(); + + /// + public ErrorNumber Stat(int entryNumber, out FileEntryInfo stat) => throw new NotImplementedException(); + + /// + public ErrorNumber GetEntry(int entryNumber, out IFilter filter) => throw new NotImplementedException(); + + /// + public void GetInformation(IFilter filter, Encoding encoding, out string information) + { + throw new NotImplementedException(); + } + +#endregion +} \ No newline at end of file