#ifndef SOWATCH_NOTIFICATIONPLUGININTERFACE_H #define SOWATCH_NOTIFICATIONPLUGININTERFACE_H #include #include #include #include "sowatch_global.h" namespace sowatch { class ConfigKey; class Notification; class NotificationProvider; class SOWATCH_EXPORT NotificationPluginInterface { public: virtual ~NotificationPluginInterface(); struct NotificationProviderInfo { QString name; }; virtual QStringList providers() = 0; virtual NotificationProviderInfo describeProvider(const QString& driver) = 0; virtual NotificationProvider* getProvider(const QString& driver, ConfigKey *settings, QObject *parent = 0) = 0; }; } Q_DECLARE_INTERFACE(sowatch::NotificationPluginInterface, "com.javispedro.sowatch.NotificationPluginInterface") #endif // SOWATCH_NOTIFICATIONPLUGININTERFACE_H