Skip to content
Snippets Groups Projects
Select Git revision
  • 2b441f0ddbfd7554f3e50c0e920ab5e2478b9ba7
  • master default protected
  • md-export
  • th/mail
  • 179-einladungen-zum-aushaengen-drucken
5 results

shared.py

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    PartUtils.h 4.56 KiB
    /* === This file is part of Calamares - <https://github.com/calamares> ===
     *
     *   Copyright 2015-2016, Teo Mrnjavac <teo@kde.org>
     *   Copyright 2018, Adriaan de Groot <groot@kde.org>
     *   Copyright 2019, Collabora Ltd <arnaud.ferraris@collabora.com>
     *
     *   Calamares is free software: you can redistribute it and/or modify
     *   it under the terms of the GNU General Public License as published by
     *   the Free Software Foundation, either version 3 of the License, or
     *   (at your option) any later version.
     *
     *   Calamares is distributed in the hope that it will be useful,
     *   but WITHOUT ANY WARRANTY; without even the implied warranty of
     *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
     *   GNU General Public License for more details.
     *
     *   You should have received a copy of the GNU General Public License
     *   along with Calamares. If not, see <http://www.gnu.org/licenses/>.
     */
    
    #ifndef PARTUTILS_H
    #define PARTUTILS_H
    
    #include "OsproberEntry.h"
    #include "utils/Units.h"
    
    // KPMcore
    #include <kpmcore/fs/filesystem.h>
    
    // Qt
    #include <QString>
    
    class PartitionCoreModule;
    class Partition;
    
    namespace PartUtils
    {
    using CalamaresUtils::MiBtoBytes;
    
    enum SizeUnit
    {
        Percent = 0,
        Byte,
        KiB,
        MiB,
        GiB
    };
    
    /**
     * @brief canBeReplaced checks whether the given Partition satisfies the criteria
     * for replacing it with the new OS.
     * @param candidate the candidate partition to replace.
     * @return true if the criteria are met, otherwise false.
     */
    bool canBeReplaced( Partition* candidate );
    
    /**
     * @brief canBeReplaced checks whether the given Partition satisfies the criteria
     * for resizing (shrinking) it to make room for a new OS.
     * @param candidate the candidate partition to resize.
     * @return true if the criteria are met, otherwise false.
     */
    bool canBeResized( Partition* candidate );
    
    /**
     * @brief canBeReplaced checks whether the given Partition satisfies the criteria
     * for resizing (shrinking) it to make room for a new OS.
     * @param core the PartitionCoreModule instance.
     * @param partitionPath the device path of the candidate partition to resize.
     * @return true if the criteria are met, otherwise false.