mirror of
https://github.com/parchlinux/calamares.git
synced 2025-07-02 03:45:38 -04:00
[partition] Introduce new constructors for PartitionEntry
- Introduces new constructors for PartitionEntry: copy constructory and constructor with all attributes. - Use the new constructor in method addEntry().
This commit is contained in:
parent
3f2dd516d3
commit
81bec68b3d
4 changed files with 88 additions and 87 deletions
|
@ -63,74 +63,60 @@ PartitionLayout::PartitionEntry::PartitionEntry()
|
|||
{
|
||||
}
|
||||
|
||||
PartitionLayout::PartitionEntry::PartitionEntry( const QString& size, const QString& min, const QString& max )
|
||||
PartitionLayout::PartitionEntry::PartitionEntry( const QString& mountPoint, const QString& size, const QString& minSize, const QString& maxSize )
|
||||
: partAttributes( 0 )
|
||||
, partMountPoint( mountPoint )
|
||||
, partSize( size )
|
||||
, partMinSize( min )
|
||||
, partMaxSize( max )
|
||||
, partMinSize( minSize )
|
||||
, partMaxSize( maxSize )
|
||||
{
|
||||
}
|
||||
|
||||
bool
|
||||
PartitionLayout::addEntry( const QString& mountPoint, const QString& size, const QString& min, const QString& max )
|
||||
PartitionLayout::PartitionEntry::PartitionEntry( const QString& label,
|
||||
const QString& uuid,
|
||||
const QString& type,
|
||||
quint64 attributes,
|
||||
const QString& mountPoint,
|
||||
const QString& fs,
|
||||
const QVariantMap& features,
|
||||
const QString& size,
|
||||
const QString& minSize,
|
||||
const QString& maxSize )
|
||||
: partLabel( label )
|
||||
, partUUID( uuid )
|
||||
, partType( type )
|
||||
, partAttributes( attributes )
|
||||
, partMountPoint( mountPoint )
|
||||
, partFeatures( features )
|
||||
, partSize( size )
|
||||
, partMinSize( minSize )
|
||||
, partMaxSize( maxSize )
|
||||
{
|
||||
PartitionLayout::PartitionEntry entry( size, min, max );
|
||||
|
||||
if ( !entry.isValid() )
|
||||
{
|
||||
cError() << "Partition size" << size << "is invalid or" << min << ">" << max;
|
||||
return false;
|
||||
}
|
||||
if ( mountPoint.isEmpty() || !mountPoint.startsWith( QString( "/" ) ) )
|
||||
{
|
||||
cError() << "Partition mount point" << mountPoint << "is invalid";
|
||||
return false;
|
||||
}
|
||||
|
||||
entry.partMountPoint = mountPoint;
|
||||
entry.partFileSystem = m_defaultFsType;
|
||||
|
||||
m_partLayout.append( entry );
|
||||
|
||||
return true;
|
||||
PartUtils::findFS( fs, &partFileSystem );
|
||||
}
|
||||
|
||||
bool
|
||||
PartitionLayout::addEntry( const QString& label,
|
||||
const QString& uuid,
|
||||
const QString& type,
|
||||
quint64 attributes,
|
||||
const QString& mountPoint,
|
||||
const QString& fs,
|
||||
const QVariantMap& features,
|
||||
const QString& size,
|
||||
const QString& min,
|
||||
const QString& max )
|
||||
PartitionLayout::PartitionEntry::PartitionEntry( const PartitionEntry& e )
|
||||
: partLabel( e.partLabel )
|
||||
, partUUID( e.partUUID )
|
||||
, partType( e.partType )
|
||||
, partAttributes( e.partAttributes )
|
||||
, partMountPoint( e.partMountPoint )
|
||||
, partFileSystem( e.partFileSystem )
|
||||
, partFeatures( e.partFeatures )
|
||||
, partSize( e.partSize )
|
||||
, partMinSize( e.partMinSize )
|
||||
, partMaxSize( e.partMaxSize )
|
||||
{
|
||||
PartitionLayout::PartitionEntry entry( size, min, max );
|
||||
}
|
||||
|
||||
|
||||
bool
|
||||
PartitionLayout::addEntry( const PartitionEntry& entry )
|
||||
{
|
||||
if ( !entry.isValid() )
|
||||
{
|
||||
cError() << "Partition size" << size << "is invalid or" << min << ">" << max;
|
||||
return false;
|
||||
}
|
||||
if ( mountPoint.isEmpty() || !mountPoint.startsWith( QString( "/" ) ) )
|
||||
{
|
||||
cError() << "Partition mount point" << mountPoint << "is invalid";
|
||||
return false;
|
||||
}
|
||||
|
||||
entry.partLabel = label;
|
||||
entry.partUUID = uuid;
|
||||
entry.partType = type;
|
||||
entry.partAttributes = attributes;
|
||||
entry.partMountPoint = mountPoint;
|
||||
PartUtils::findFS( fs, &entry.partFileSystem );
|
||||
if ( entry.partFileSystem == FileSystem::Unknown )
|
||||
{
|
||||
entry.partFileSystem = m_defaultFsType;
|
||||
}
|
||||
entry.partFeatures = features;
|
||||
|
||||
m_partLayout.append( entry );
|
||||
|
||||
|
@ -157,16 +143,16 @@ PartitionLayout::init( const QVariantList& config )
|
|||
break;
|
||||
}
|
||||
|
||||
if ( !addEntry( CalamaresUtils::getString( pentry, "name" ),
|
||||
CalamaresUtils::getString( pentry, "uuid" ),
|
||||
CalamaresUtils::getString( pentry, "type" ),
|
||||
CalamaresUtils::getUnsignedInteger( pentry, "attributes", 0 ),
|
||||
CalamaresUtils::getString( pentry, "mountPoint" ),
|
||||
CalamaresUtils::getString( pentry, "filesystem" ),
|
||||
CalamaresUtils::getSubMap( pentry, "features", ok ),
|
||||
CalamaresUtils::getString( pentry, "size", QStringLiteral( "0" ) ),
|
||||
CalamaresUtils::getString( pentry, "minSize", QStringLiteral( "0" ) ),
|
||||
CalamaresUtils::getString( pentry, "maxSize", QStringLiteral( "0" ) ) ) )
|
||||
if ( !addEntry( { CalamaresUtils::getString( pentry, "name" ),
|
||||
CalamaresUtils::getString( pentry, "uuid" ),
|
||||
CalamaresUtils::getString( pentry, "type" ),
|
||||
CalamaresUtils::getUnsignedInteger( pentry, "attributes", 0 ),
|
||||
CalamaresUtils::getString( pentry, "mountPoint" ),
|
||||
CalamaresUtils::getString( pentry, "filesystem" ),
|
||||
CalamaresUtils::getSubMap( pentry, "features", ok ),
|
||||
CalamaresUtils::getString( pentry, "size", QStringLiteral( "0" ) ),
|
||||
CalamaresUtils::getString( pentry, "minSize", QStringLiteral( "0" ) ),
|
||||
CalamaresUtils::getString( pentry, "maxSize", QStringLiteral( "0" ) ) } ) )
|
||||
{
|
||||
cError() << "Partition layout entry #" << config.indexOf( r ) << "is invalid, switching to default layout.";
|
||||
m_partLayout.clear();
|
||||
|
@ -176,7 +162,7 @@ PartitionLayout::init( const QVariantList& config )
|
|||
|
||||
if ( !m_partLayout.count() )
|
||||
{
|
||||
addEntry( QString( "/" ), QString( "100%" ) );
|
||||
addEntry( { QString( "/" ), QString( "100%" ) } );
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue