1 | /* |
2 | This file is part of KNewStuffCore. |
3 | SPDX-FileCopyrightText: 2016 Dan Leinir Turthra Jensen <admin@leinir.dk> |
4 | |
5 | SPDX-License-Identifier: LGPL-2.1-or-later |
6 | */ |
7 | |
8 | #ifndef KNS3_QUESTIONMANAGER_H |
9 | #define KNS3_QUESTIONMANAGER_H |
10 | |
11 | #include <QObject> |
12 | |
13 | #include "knewstuffcore_export.h" |
14 | namespace KNSCore |
15 | { |
16 | class Question; |
17 | class QuestionManagerPrivate; |
18 | /** |
19 | * @short The central class handling Question redirection |
20 | * |
21 | * This class is used to ensure that KNSCore::Question instances get redirected |
22 | * to the appropriate KNSCore::QuestionListener instances. It is a very dumb class |
23 | * which only ensures the listeners have somewhere to listen to, and the |
24 | * questions have somewhere to ask to be asked. |
25 | */ |
26 | class KNEWSTUFFCORE_EXPORT QuestionManager : public QObject |
27 | { |
28 | Q_OBJECT |
29 | Q_DISABLE_COPY(QuestionManager) |
30 | public: |
31 | static QuestionManager *instance(); |
32 | ~QuestionManager() override; |
33 | |
34 | Q_SIGNALS: |
35 | void askQuestion(KNSCore::Question *question); |
36 | |
37 | private: |
38 | QuestionManager(); |
39 | const void *d; // Future BIC |
40 | }; |
41 | } |
42 | |
43 | #endif // KNS3_QUESTIONMANAGER_H |
44 | |