Merge branch 'more-parted-flags'

This commit is contained in:
Andrius Štikonas 2016-03-08 20:48:09 +00:00
commit ca5bc8000b
3 changed files with 74 additions and 26 deletions

View File

@ -1,6 +1,7 @@
/*************************************************************************
* Copyright (C) 2008 by Volker Lanz <vl@fidra.de> *
* Copyright (C) 2016 by Andrius Štikonas <andrius@stikonas.eu> *
* Copyright (C) 2016 by Teo Mrnjavac <teo@kde.org> *
* *
* This program is free software; you can redistribute it and/or *
* modify it under the terms of the GNU General Public License as *
@ -149,18 +150,42 @@ void PartitionTable::append(Partition* partition)
QString PartitionTable::flagName(Flag f)
{
switch (f) {
case PartitionTable::FlagBoot: return i18nc("@item partition flag", "boot");
case PartitionTable::FlagRoot: return i18nc("@item partition flag", "root");
case PartitionTable::FlagSwap: return i18nc("@item partition flag", "swap");
case PartitionTable::FlagHidden: return i18nc("@item partition flag", "hidden");
case PartitionTable::FlagRaid: return i18nc("@item partition flag", "raid");
case PartitionTable::FlagLvm: return i18nc("@item partition flag", "lvm");
case PartitionTable::FlagLba: return i18nc("@item partition flag", "lba");
case PartitionTable::FlagHpService: return i18nc("@item partition flag", "hpservice");
case PartitionTable::FlagPalo: return i18nc("@item partition flag", "palo");
case PartitionTable::FlagPrep: return i18nc("@item partition flag", "prep");
case PartitionTable::FlagMsftReserved: return i18nc("@item partition flag", "msft-reserved");
case PartitionTable::FlagBoot:
return i18nc("@item partition flag", "boot");
case PartitionTable::FlagRoot:
return i18nc("@item partition flag", "root");
case PartitionTable::FlagSwap:
return i18nc("@item partition flag", "swap");
case PartitionTable::FlagHidden:
return i18nc("@item partition flag", "hidden");
case PartitionTable::FlagRaid:
return i18nc("@item partition flag", "raid");
case PartitionTable::FlagLvm:
return i18nc("@item partition flag", "lvm");
case PartitionTable::FlagLba:
return i18nc("@item partition flag", "lba");
case PartitionTable::FlagHpService:
return i18nc("@item partition flag", "hpservice");
case PartitionTable::FlagPalo:
return i18nc("@item partition flag", "palo");
case PartitionTable::FlagPrep:
return i18nc("@item partition flag", "prep");
case PartitionTable::FlagMsftReserved:
return i18nc("@item partition flag", "msft-reserved");
case PartitionTable::FlagBiosGrub:
return i18nc("@item partition flag", "bios-grub");
case PartitionTable::FlagAppleTvRecovery:
return i18nc("@item partition flag", "apple-tv-recovery");
case PartitionTable::FlagDiag:
return i18nc("@item partition flag", "diag");
case PartitionTable::FlagLegacyBoot:
return i18nc("@item partition flag", "legacy-boot");
case PartitionTable::FlagMsftData:
return i18nc("@item partition flag", "msft-data");
case PartitionTable::FlagIrst:
return i18nc("@item partition flag", "irst");
case PartitionTable::FlagEsp:
return i18nc("@item partition flag", "esp");
default:
break;
}
@ -184,6 +209,13 @@ QList<PartitionTable::Flag> PartitionTable::flagList()
rval.append(PartitionTable::FlagPalo);
rval.append(PartitionTable::FlagPrep);
rval.append(PartitionTable::FlagMsftReserved);
rval.append(PartitionTable::FlagBiosGrub);
rval.append(PartitionTable::FlagAppleTvRecovery);
rval.append(PartitionTable::FlagDiag);
rval.append(PartitionTable::FlagLegacyBoot);
rval.append(PartitionTable::FlagMsftData);
rval.append(PartitionTable::FlagIrst);
rval.append(PartitionTable::FlagEsp);
return rval;
}

View File

@ -1,5 +1,6 @@
/*************************************************************************
* Copyright (C) 2008, 2010 by Volker Lanz <vl@fidra.de> *
* Copyright (C) 2016 by Teo Mrnjavac <teo@kde.org> *
* *
* This program is free software; you can redistribute it and/or *
* modify it under the terms of the GNU General Public License as *
@ -49,7 +50,7 @@ class LIBKPMCORE_EXPORT PartitionTable : public PartitionNode
friend LIBKPMCORE_EXPORT QTextStream& operator<<(QTextStream& stream, const PartitionTable& ptable);
public:
enum TableType {
enum TableType : qint8 {
unknownTableType = -1,
aix,
@ -67,7 +68,7 @@ public:
};
/** Partition flags */
enum Flag {
enum Flag : qint32 {
FlagNone = 0,
FlagBoot = 1,
FlagRoot = 2,
@ -79,7 +80,14 @@ public:
FlagHpService = 128,
FlagPalo = 256,
FlagPrep = 512,
FlagMsftReserved = 1024
FlagMsftReserved = 1024,
FlagBiosGrub = 2048,
FlagAppleTvRecovery = 4096,
FlagDiag = 8192,
FlagLegacyBoot = 16384,
FlagMsftData = 32768,
FlagIrst = 65536,
FlagEsp = 131072
};
Q_DECLARE_FLAGS(Flags, Flag)

View File

@ -1,6 +1,7 @@
/*************************************************************************
* Copyright (C) 2008-2012 by Volker Lanz <vl@fidra.de> *
* Copyright (C) 2016 by Andrius Štikonas <andrius@stikonas.eu> *
* Copyright (C) 2016 by Teo Mrnjavac <teo@kde.org> *
* *
* This program is free software; you can redistribute it and/or *
* modify it under the terms of the GNU General Public License as *
@ -57,17 +58,24 @@ static struct {
PedPartitionFlag pedFlag;
PartitionTable::Flag flag;
} flagmap[] = {
{ PED_PARTITION_BOOT, PartitionTable::FlagBoot },
{ PED_PARTITION_ROOT, PartitionTable::FlagRoot },
{ PED_PARTITION_SWAP, PartitionTable::FlagSwap },
{ PED_PARTITION_HIDDEN, PartitionTable::FlagHidden },
{ PED_PARTITION_RAID, PartitionTable::FlagRaid },
{ PED_PARTITION_LVM, PartitionTable::FlagLvm },
{ PED_PARTITION_LBA, PartitionTable::FlagLba },
{ PED_PARTITION_HPSERVICE, PartitionTable::FlagHpService },
{ PED_PARTITION_PALO, PartitionTable::FlagPalo },
{ PED_PARTITION_PREP, PartitionTable::FlagPrep },
{ PED_PARTITION_MSFT_RESERVED, PartitionTable::FlagMsftReserved }
{ PED_PARTITION_BOOT, PartitionTable::FlagBoot },
{ PED_PARTITION_ROOT, PartitionTable::FlagRoot },
{ PED_PARTITION_SWAP, PartitionTable::FlagSwap },
{ PED_PARTITION_HIDDEN, PartitionTable::FlagHidden },
{ PED_PARTITION_RAID, PartitionTable::FlagRaid },
{ PED_PARTITION_LVM, PartitionTable::FlagLvm },
{ PED_PARTITION_LBA, PartitionTable::FlagLba },
{ PED_PARTITION_HPSERVICE, PartitionTable::FlagHpService },
{ PED_PARTITION_PALO, PartitionTable::FlagPalo },
{ PED_PARTITION_PREP, PartitionTable::FlagPrep },
{ PED_PARTITION_MSFT_RESERVED, PartitionTable::FlagMsftReserved },
{ PED_PARTITION_BIOS_GRUB, PartitionTable::FlagBiosGrub },
{ PED_PARTITION_APPLE_TV_RECOVERY, PartitionTable::FlagAppleTvRecovery },
{ PED_PARTITION_DIAG, PartitionTable::FlagDiag }, // generic diagnostics flag
{ PED_PARTITION_LEGACY_BOOT, PartitionTable::FlagLegacyBoot },
{ PED_PARTITION_MSFT_DATA, PartitionTable::FlagMsftData },
{ PED_PARTITION_IRST, PartitionTable::FlagIrst }, // Intel Rapid Start partition
{ PED_PARTITION_ESP, PartitionTable::FlagEsp } // EFI system
};
static QString s_lastPartedExceptionMessage;