source: calamares/trunk/fuentes/src/modules/preservefiles/PreserveFiles.h @ 7538

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

sync with github

File size: 1.7 KB
Line 
1/* === This file is part of Calamares - <https://github.com/calamares> ===
2 *
3 *   Copyright 2018, Adriaan de Groot <groot@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 PRESERVEFILES_H
20#define PRESERVEFILES_H
21
22#include <QList>
23#include <QObject>
24#include <QVariantMap>
25
26#include "CppJob.h"
27
28#include "utils/PluginFactory.h"
29
30#include "PluginDllMacro.h"
31
32
33class PLUGINDLLEXPORT PreserveFiles : public Calamares::CppJob
34{
35    Q_OBJECT
36
37    enum class ItemType
38    {
39        None,
40        Path,
41        Log,
42        Config
43    } ;
44
45    struct Item
46    {
47        QString source;
48        QString dest;
49        ItemType type;
50    } ;
51
52    using ItemList = QList< Item >;
53
54public:
55    explicit PreserveFiles( QObject* parent = nullptr );
56    virtual ~PreserveFiles() override;
57
58    QString prettyName() const override;
59
60    Calamares::JobResult exec() override;
61
62    void setConfigurationMap( const QVariantMap& configurationMap ) override;
63
64private:
65    ItemList m_items;
66};
67
68CALAMARES_PLUGIN_FACTORY_DECLARATION( PreserveFilesFactory )
69
70#endif // PRESERVEFILES_H
Note: See TracBrowser for help on using the repository browser.