diff --git a/Aaru.Archives/Symbian/Open.cs b/Aaru.Archives/Symbian/Open.cs index 3eabd2ec9..9a9fb37bc 100644 --- a/Aaru.Archives/Symbian/Open.cs +++ b/Aaru.Archives/Symbian/Open.cs @@ -32,6 +32,7 @@ using System.Collections.Generic; using System.IO; +using System.Linq; using System.Text; using Aaru.CommonTypes.Enums; using Aaru.CommonTypes.Interfaces; @@ -160,6 +161,12 @@ public sealed partial class Symbian _files = filesWithFixedFilenames; + _features = ArchiveSupportedFeature.SupportsFilenames | ArchiveSupportedFeature.SupportsSubdirectories; + if(_release6 && !sh.options.HasFlag(SymbianOptions.NoCompress)) + _features |= ArchiveSupportedFeature.SupportsCompression; + if(_files.Any(t => t.mime is not null)) + _features |= ArchiveSupportedFeature.SupportsXAttrs; + return ErrorNumber.NoError; } diff --git a/Aaru.Archives/Symbian/Symbian.cs b/Aaru.Archives/Symbian/Symbian.cs index 5e075fe7a..c4971b0af 100644 --- a/Aaru.Archives/Symbian/Symbian.cs +++ b/Aaru.Archives/Symbian/Symbian.cs @@ -43,6 +43,7 @@ public sealed partial class Symbian : IArchive { const string MODULE_NAME = "Symbian Installation File Plugin"; Encoding _encoding; + ArchiveSupportedFeature _features; List _files; bool _opened; bool _release6; @@ -56,9 +57,13 @@ public sealed partial class Symbian : IArchive public Guid Id => new("0EC84EC7-EAE6-4196-83FE-943B3FE48DBD"); /// - public ArchiveSupportedFeature GetArchiveFeatures() => ArchiveSupportedFeature.SupportsFilenames | - ArchiveSupportedFeature.SupportsCompression | - ArchiveSupportedFeature.SupportsSubdirectories; + public ArchiveSupportedFeature GetArchiveFeatures() => + !_opened + ? ArchiveSupportedFeature.SupportsFilenames | + ArchiveSupportedFeature.SupportsCompression | + ArchiveSupportedFeature.SupportsSubdirectories | + ArchiveSupportedFeature.SupportsXAttrs + : _features; #endregion } \ No newline at end of file diff --git a/Aaru.CommonTypes b/Aaru.CommonTypes index c53c27fb9..78ec120a8 160000 --- a/Aaru.CommonTypes +++ b/Aaru.CommonTypes @@ -1 +1 @@ -Subproject commit c53c27fb94c4f9dbd4ae372d1c2024e6365e3dab +Subproject commit 78ec120a8d5c5732dbaacf731a083b302477e47f