source: calamares/trunk/fuentes/src/modules/partition/core/PartUtils.h @ 7538

Last change on this file since 7538 was 7538, checked in by kbut, 13 months ago

sync with github

File size: 2.5 KB
Line 
1/* === This file is part of Calamares - <https://github.com/calamares> ===
2 *
3 *   Copyright 2015-2016, Teo Mrnjavac <teo@kde.org>
4 *
5 *   Calamares is free software: you can redistribute it and/or modify
6 *   it under the terms of the GNU General Public License as published by
7 *   the Free Software Foundation, either version 3 of the License, or
8 *   (at your option) any later version.
9 *
10 *   Calamares is distributed in the hope that it will be useful,
11 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
12 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 *   GNU General Public License for more details.
14 *
15 *   You should have received a copy of the GNU General Public License
16 *   along with Calamares. If not, see <http://www.gnu.org/licenses/>.
17 */
18
19#ifndef PARTUTILS_H
20#define PARTUTILS_H
21
22#include "OsproberEntry.h"
23
24#include <QString>
25
26class PartitionCoreModule;
27class Partition;
28
29namespace PartUtils
30{
31
32/**
33 * @brief canBeReplaced checks whether the given Partition satisfies the criteria
34 * for replacing it with the new OS.
35 * @param candidate the candidate partition to replace.
36 * @return true if the criteria are met, otherwise false.
37 */
38bool canBeReplaced( Partition* candidate );
39
40/**
41 * @brief canBeReplaced checks whether the given Partition satisfies the criteria
42 * for resizing (shrinking) it to make room for a new OS.
43 * @param candidate the candidate partition to resize.
44 * @return true if the criteria are met, otherwise false.
45 */
46bool canBeResized( Partition* candidate );
47
48/**
49 * @brief canBeReplaced checks whether the given Partition satisfies the criteria
50 * for resizing (shrinking) it to make room for a new OS.
51 * @param core the PartitionCoreModule instance.
52 * @param partitionPath the device path of the candidate partition to resize.
53 * @return true if the criteria are met, otherwise false.
54 */
55bool canBeResized( PartitionCoreModule* core, const QString& partitionPath );
56
57/**
58 * @brief runOsprober executes os-prober, parses the output and writes relevant
59 * data to GlobalStorage.
60 * @param core the PartitionCoreModule instance.
61 * @return a list of os-prober entries, parsed.
62 */
63OsproberEntryList runOsprober( PartitionCoreModule* core );
64
65/**
66 * @brief Is this system EFI-enabled? Decides based on /sys/firmware/efi
67 */
68bool isEfiSystem();
69
70/**
71 * @brief Is the given @p partition bootable in EFI? Depending on
72 * the partition table layout, this may mean different flags.
73 */
74bool isEfiBootable( const Partition* candidate );
75}
76
77#endif // PARTUTILS_H
Note: See TracBrowser for help on using the repository browser.