Skip to content
Snippets Groups Projects
Select Git revision
  • cb0958073db6059e9399b7987460fe09eb352f50
  • development default protected
  • 3.2.x-stable
  • prepare
  • 6b369dc5
  • 3.1.x-stable
  • 3.0.x-stable
  • 2.4.x-stable
  • v3.2.61
  • v3.2.60
  • v3.2.59
  • v3.2.54
  • v3.2.53
  • v3.2.52
  • v3.2.51
  • v3.2.48
  • v3.2.45
  • v3.2.44.3
  • v3.2.44
  • v3.2.40
  • v3.2.13
  • v3.2.9
  • v3.2.8
  • v3.2.7
  • v3.2.6
  • v3.2.5
  • v3.2.4
  • v3.2.3
28 results

PartUtils.h

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.