File indexing completed on 2024-10-27 04:58:02

0001 /*
0002     SPDX-FileCopyrightText: 2009 Volker Krause <vkrause@kde.org>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 // This code was taken from kmail-account-wizard
0008 
0009 #pragma once
0010 
0011 #include <QObject>
0012 
0013 class SetupObject : public QObject
0014 {
0015     Q_OBJECT
0016 public:
0017     explicit SetupObject(QObject *parent);
0018 
0019     virtual void create() = 0;
0020     virtual void destroy() = 0;
0021 
0022     SetupObject *dependsOn() const;
0023     void setDependsOn(SetupObject *obj);
0024 
0025 Q_SIGNALS:
0026     void error(const QString &msg);
0027     void info(const QString &msg);
0028     void finished(const QString &msg);
0029 
0030 private:
0031     SetupObject *m_dependsOn = nullptr;
0032 };
0033