File indexing completed on 2025-02-02 05:08:38

0001 // SPDX-FileCopyrightText: 2009 Volker Krause <vkrause@kde.org>
0002 // SPDX-FileCopyrightText: 2021 Carl Schwan <carlschwan@kde.org>
0003 // SPDX-License-Identifier: LGPL-2.0-or-later
0004 
0005 #pragma once
0006 
0007 #include <QObject>
0008 
0009 /// Base class for the ressource/config creation wrappers
0010 class SetupObject : public QObject
0011 {
0012     Q_OBJECT
0013 public:
0014     explicit SetupObject(QObject *parent = nullptr);
0015 
0016     virtual void create() = 0;
0017     virtual void destroy() = 0;
0018 
0019     SetupObject *dependsOn() const;
0020     void setDependsOn(SetupObject *obj);
0021 
0022 Q_SIGNALS:
0023     void error(const QString &msg);
0024     void info(const QString &msg);
0025     void finished(const QString &msg);
0026 
0027 private:
0028     SetupObject *m_dependsOn = nullptr;
0029 };