File indexing completed on 2024-04-28 16:13:26

0001 /*
0002     SPDX-FileCopyrightText: 2018 Ralf Habacker ralf.habacker @freenet.de
0003 
0004     This file is part of libalkimia.
0005 
0006     SPDX-License-Identifier: LGPL-2.1-or-later
0007 */
0008 
0009 #ifndef ALKONLINEQUOTESPROFILEMANAGER_H
0010 #define ALKONLINEQUOTESPROFILEMANAGER_H
0011 
0012 #include <alkimia/alkonlinequotesprofile.h>
0013 
0014 #include <QList>
0015 #include <QStringList>
0016 
0017 class AlkWebPage;
0018 
0019 typedef QList<AlkOnlineQuotesProfile *> AlkOnlineQuotesProfileList;
0020 
0021 class ALK_EXPORT AlkOnlineQuotesProfileManager : public QObject
0022 {
0023     Q_OBJECT
0024 public:
0025     AlkOnlineQuotesProfileManager();
0026     ~AlkOnlineQuotesProfileManager();
0027 
0028     void addProfile(AlkOnlineQuotesProfile *profile);
0029     AlkOnlineQuotesProfileList profiles();
0030     AlkOnlineQuotesProfile *profile(const QString &name);
0031     QStringList profileNames();
0032     AlkWebPage *webPage();
0033     void setWebPageEnabled(bool enable);
0034     bool webPageEnabled();
0035 
0036     static AlkOnlineQuotesProfileManager &instance();
0037 
0038 Q_SIGNALS:
0039     /**
0040      * emit quote source for which an update is available
0041      */
0042     void updateAvailable(const QString &profile, const QString &name);
0043 
0044 private:
0045     class Private;
0046     Private *const d;
0047 };
0048 
0049 #endif // ALKONLINEQUOTESPROFILEMANAGER_H