Sayonara Player
NotificationHandler.h
1
2/* Copyright (C) 2011-2020 Michael Lugmair (Lucio Carreras)
3 *
4 * This file is part of sayonara player
5 *
6 * This program is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
10
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
18 */
19
20#ifndef NOTIFICATIONHANDLER_H
21#define NOTIFICATIONHANDLER_H
22
23#include "NotificationInterface.h"
24#include "Utils/Singleton.h"
25#include "Utils/Pimpl.h"
26
27#include <QObject>
28
30{
31 public:
32 explicit DummyNotificator();
33 virtual ~DummyNotificator() override;
34
35 virtual void notify(const MetaData& md) override;
36 virtual void notify(const QString& title, const QString& message, const QString& imagePath) override;
37
38 QString name() const override;
39};
40
42 public QObject
43{
44 Q_OBJECT
45 SINGLETON_QOBJECT(NotificationHandler)
47
48 signals:
49 // emitted when some AbstractNotifcator registered itself
50 void sigNotificationsChanged();
51
52 private:
53 NotificationInterface* get() const;
54
55 public:
56 void registerNotificator(NotificationInterface* notificator);
57 void notificatorChanged(const QString& name);
58
59 int currentIndex() const;
60
61 NotificatonList notificators() const;
62
63 virtual void notify(const MetaData& md);
64 virtual void notify(const QString& title, const QString& message, const QString& imagePath=QString());
65};
66
67#endif // NOTIFICATIONHANDLER_H
Definition: NotificationHandler.h:30
virtual void notify(const MetaData &md) override
notify when Metadata has been changed
QString name() const override
get name of notification interface
virtual void notify(const QString &title, const QString &message, const QString &imagePath) override
show standard notification
The MetaData class.
Definition: MetaData.h:47
Definition: NotificationHandler.h:43
Definition: NotificationInterface.h:31
Definition: EngineUtils.h:33