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 };