1 /* === This file is part of Calamares - <https://calamares.io> ===
2  *
3  *   SPDX-FileCopyrightText: 2014-2015 Teo Mrnjavac <teo@kde.org>
4  *   SPDX-FileCopyrightText: 2016 Kevin Kofler <kevin.kofler@chello.at>
5  *   SPDX-FileCopyrightText: 2020 Adriaan de Groot <groot@kde.org>
6  *   SPDX-License-Identifier: GPL-3.0-or-later
7  *
8  *   Calamares is Free Software: see the License-Identifier above.
9  *
10  */
11 
12 #ifndef CALAMARES_CPPJOB_H
13 #define CALAMARES_CPPJOB_H
14 
15 #include "DllMacro.h"
16 #include "Job.h"
17 
18 #include "modulesystem/InstanceKey.h"
19 
20 #include <QObject>
21 #include <QVariant>
22 
23 namespace Calamares
24 {
25 
26 class DLLEXPORT CppJob : public Job
27 {
28     Q_OBJECT
29 public:
30     explicit CppJob( QObject* parent = nullptr );
31     ~CppJob() override;
32 
33     void setModuleInstanceKey( const Calamares::ModuleSystem::InstanceKey& instanceKey );
moduleInstanceKey()34     Calamares::ModuleSystem::InstanceKey moduleInstanceKey() const { return m_instanceKey; }
35 
36     virtual void setConfigurationMap( const QVariantMap& configurationMap );
37 
38 protected:
39     Calamares::ModuleSystem::InstanceKey m_instanceKey;
40 };
41 
42 }  // namespace Calamares
43 
44 #endif  // CALAMARES_CPPJOB_H
45