diff --git a/Aaru.Server/Components/Admin/AdminNavMenu.razor b/Aaru.Server/Components/Admin/AdminNavMenu.razor index 9605f161..0b9bb56a 100644 --- a/Aaru.Server/Components/Admin/AdminNavMenu.razor +++ b/Aaru.Server/Components/Admin/AdminNavMenu.razor @@ -29,6 +29,9 @@ Medias + + MMC FEATUREs + MultiMediaCard / SecureDigital registers @@ -60,7 +63,6 @@ Versions - diff --git a/Aaru.Server/Components/Admin/Pages/Mmc/Features/List.razor b/Aaru.Server/Components/Admin/Pages/Mmc/Features/List.razor new file mode 100644 index 00000000..da1279e0 --- /dev/null +++ b/Aaru.Server/Components/Admin/Pages/Mmc/Features/List.razor @@ -0,0 +1,778 @@ +@page "/admin/mmc/features" +@attribute [Authorize] +@layout AdminLayout +@rendermode InteractiveServer + +@inject Microsoft.EntityFrameworkCore.IDbContextFactory DbContextFactory + +MMC FEATUREs + +@if(!_initialized) +{ +
+

Loading...

+
+ + return; +} + +
+

MMC FEATUREs

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @foreach(MmcFeatures item in _items) + { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + } + +
+ @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.AACSVersion)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.AGIDs)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.BindingNonceBlocks)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.BlocksPerReadableUnit)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.BufferUnderrunFreeInDVD)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.BufferUnderrunFreeInSAO)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.BufferUnderrunFreeInTAO)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanAudioScan)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanEject)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanEraseSector)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanExpandBDRESpareArea)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanFormat)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanFormatBDREWithoutSpare)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanFormatCert)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanFormatFRF)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanFormatQCert)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanFormatRRM)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanGenerateBindingNonce)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanLoad)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanMuteSeparateChannels)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanOverwriteSAOTrack)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanOverwriteTAOTrack)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanPlayCDAudio)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanPseudoOverwriteBDR)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanReadAllDualR)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanReadAllDualRW)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanReadBD)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanReadBDR)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanReadBDRE1)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanReadBDRE2)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanReadBDROM)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanReadBluBCA)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanReadCD)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanReadCDMRW)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanReadCPRM_MKB)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanReadDDCD)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanReadDVD)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanReadDVDPlusMRW)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanReadDVDPlusR)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanReadDVDPlusRDL)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanReadDVDPlusRW)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanReadDVDPlusRWDL)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanReadDriveAACSCertificate)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanReadHDDVD)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanReadHDDVDR)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanReadHDDVDRAM)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanReadLeadInCDText)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanReadOldBDR)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanReadOldBDRE)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanReadOldBDROM)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanReadSpareAreaInformation)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanReportDriveSerial)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanReportMediaSerial)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanTestWriteDDCDR)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanTestWriteDVD)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanTestWriteInSAO)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanTestWriteInTAO)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanUpgradeFirmware)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWriteBD)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWriteBDR)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWriteBDRE1)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWriteBDRE2)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWriteBusEncryptedBlocks)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWriteCDMRW)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWriteCDRW)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWriteCDRWCAV)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWriteCDSAO)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWriteCDTAO)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWriteCSSManagedDVD)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWriteDDCDR)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWriteDDCDRW)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWriteDVDPlusMRW)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWriteDVDPlusR)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWriteDVDPlusRDL)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWriteDVDPlusRW)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWriteDVDPlusRWDL)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWriteDVDR)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWriteDVDRDL)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWriteDVDRW)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWriteHDDVDR)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWriteHDDVDRAM)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWriteOldBDR)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWriteOldBDRE)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWritePackedSubchannelInTAO)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWriteRWSubchannelInSAO)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWriteRWSubchannelInTAO)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWriteRaw)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWriteRawMultiSession)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWriteRawSubchannelInTAO)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.ChangerIsSideChangeCapable)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.ChangerSlots)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.ChangerSupportsDiscPresent)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CPRMVersion)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CSSVersion)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.DBML)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.DVDMultiRead)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.EmbeddedChanger)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.ErrorRecoveryPage)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.FirmwareDate)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.LoadingMechanismType)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.Locked)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.LogicalBlockSize)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.MultiRead)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.PhysicalInterfaceStandardNumber)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.PreventJumper)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.SupportsAACS)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.SupportsBusEncryption)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.SupportsC2)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.SupportsCPRM)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.SupportsCSS)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.SupportsDAP)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.SupportsDeviceBusyEvent)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.SupportsHybridDiscs)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.SupportsModePage1Ch)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.SupportsOSSC)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.SupportsPWP)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.SupportsSWPP)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.SupportsSecurDisc)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.SupportsSeparateVolume)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.SupportsVCPS)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.SupportsWriteInhibitDCB)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.SupportsWriteProtectPAC)) + + @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.VolumeLevels)) + + Actions +
+ @item.AACSVersion + + @item.AGIDs + + @item.BindingNonceBlocks + + @item.BlocksPerReadableUnit + + @item.BufferUnderrunFreeInDVD + + @item.BufferUnderrunFreeInSAO + + @item.BufferUnderrunFreeInTAO + + @item.CanAudioScan + + @item.CanEject + + @item.CanEraseSector + + @item.CanExpandBDRESpareArea + + @item.CanFormat + + @item.CanFormatBDREWithoutSpare + + @item.CanFormatCert + + @item.CanFormatFRF + + @item.CanFormatQCert + + @item.CanFormatRRM + + @item.CanGenerateBindingNonce + + @item.CanLoad + + @item.CanMuteSeparateChannels + + @item.CanOverwriteSAOTrack + + @item.CanOverwriteTAOTrack + + @item.CanPlayCDAudio + + @item.CanPseudoOverwriteBDR + + @item.CanReadAllDualR + + @item.CanReadAllDualRW + + @item.CanReadBD + + @item.CanReadBDR + + @item.CanReadBDRE1 + + @item.CanReadBDRE2 + + @item.CanReadBDROM + + @item.CanReadBluBCA + + @item.CanReadCD + + @item.CanReadCDMRW + + @item.CanReadCPRM_MKB + + @item.CanReadDDCD + + @item.CanReadDVD + + @item.CanReadDVDPlusMRW + + @item.CanReadDVDPlusR + + @item.CanReadDVDPlusRDL + + @item.CanReadDVDPlusRW + + @item.CanReadDVDPlusRWDL + + @item.CanReadDriveAACSCertificate + + @item.CanReadHDDVD + + @item.CanReadHDDVDR + + @item.CanReadHDDVDRAM + + @item.CanReadLeadInCDText + + @item.CanReadOldBDR + + @item.CanReadOldBDRE + + @item.CanReadOldBDROM + + @item.CanReadSpareAreaInformation + + @item.CanReportDriveSerial + + @item.CanReportMediaSerial + + @item.CanTestWriteDDCDR + + @item.CanTestWriteDVD + + @item.CanTestWriteInSAO + + @item.CanTestWriteInTAO + + @item.CanUpgradeFirmware + + @item.CanWriteBD + + @item.CanWriteBDR + + @item.CanWriteBDRE1 + + @item.CanWriteBDRE2 + + @item.CanWriteBusEncryptedBlocks + + @item.CanWriteCDMRW + + @item.CanWriteCDRW + + @item.CanWriteCDRWCAV + + @item.CanWriteCDSAO + + @item.CanWriteCDTAO + + @item.CanWriteCSSManagedDVD + + @item.CanWriteDDCDR + + @item.CanWriteDDCDRW + + @item.CanWriteDVDPlusMRW + + @item.CanWriteDVDPlusR + + @item.CanWriteDVDPlusRDL + + @item.CanWriteDVDPlusRW + + @item.CanWriteDVDPlusRWDL + + @item.CanWriteDVDR + + @item.CanWriteDVDRDL + + @item.CanWriteDVDRW + + @item.CanWriteHDDVDR + + @item.CanWriteHDDVDRAM + + @item.CanWriteOldBDR + + @item.CanWriteOldBDRE + + @item.CanWritePackedSubchannelInTAO + + @item.CanWriteRWSubchannelInSAO + + @item.CanWriteRWSubchannelInTAO + + @item.CanWriteRaw + + @item.CanWriteRawMultiSession + + @item.CanWriteRawSubchannelInTAO + + @item.ChangerIsSideChangeCapable + + @item.ChangerSlots + + @item.ChangerSupportsDiscPresent + + @item.CPRMVersion + + @item.CSSVersion + + @item.DBML + + @item.DVDMultiRead + + @item.EmbeddedChanger + + @item.ErrorRecoveryPage + + @item.FirmwareDate + + @item.LoadingMechanismType + + @item.Locked + + @item.LogicalBlockSize + + @item.MultiRead + + @item.PhysicalInterfaceStandardNumber + + @item.PreventJumper + + @item.SupportsAACS + + @item.SupportsBusEncryption + + @item.SupportsC2 + + @item.SupportsCPRM + + @item.SupportsCSS + + @item.SupportsDAP + + @item.SupportsDeviceBusyEvent + + @item.SupportsHybridDiscs + + @item.SupportsModePage1Ch + + @item.SupportsOSSC + + @item.SupportsPWP + + @item.SupportsSWPP + + @item.SupportsSecurDisc + + @item.SupportsSeparateVolume + + @item.SupportsVCPS + + @item.SupportsWriteInhibitDCB + + @item.SupportsWriteProtectPAC + + @item.VolumeLevels + + Details +
+
\ No newline at end of file diff --git a/Aaru.Server/Components/Admin/Pages/Mmc/Features/List.razor.cs b/Aaru.Server/Components/Admin/Pages/Mmc/Features/List.razor.cs new file mode 100644 index 00000000..6fbcc90d --- /dev/null +++ b/Aaru.Server/Components/Admin/Pages/Mmc/Features/List.razor.cs @@ -0,0 +1,27 @@ +using Aaru.CommonTypes.Metadata; +using Microsoft.EntityFrameworkCore; +using DbContext = Aaru.Server.Database.DbContext; + +namespace Aaru.Server.Components.Admin.Pages.Mmc.Features; + +public partial class List +{ + bool _initialized; + List _items; + + /// + protected override async Task OnInitializedAsync() + { + await base.OnInitializedAsync(); + + StateHasChanged(); + + await using DbContext ctx = await DbContextFactory.CreateDbContextAsync(); + + _items = await ctx.MmcFeatures.ToListAsync(); + + _initialized = true; + + StateHasChanged(); + } +} \ No newline at end of file