Miam-Player  0.8.0
A nice music player
basicplugin.h
Go to the documentation of this file.
1 #ifndef BASICPLUGIN_H
2 #define BASICPLUGIN_H
3 
4 #include <QStringList>
5 #include <QTranslator>
6 #include <QtPlugin>
7 
8 #include "miamcore_global.h"
9 
10 class MusicSearchEngine;
11 
18 class MIAMCORE_LIBRARY BasicPlugin : public QObject
19 {
20  Q_OBJECT
21 public:
22  QTranslator translator;
23 
24  explicit BasicPlugin(QObject *parent = nullptr) : QObject(parent) {}
25 
27  virtual ~BasicPlugin() {}
28 
29  virtual bool canInteractWithSearchEngine() const { return false; }
30 
31  virtual void cleanUpBeforeDestroy() {}
32 
34  virtual QWidget* configPage() = 0;
35 
36  virtual void init() {}
37 
39  virtual bool isConfigurable() const = 0;
40 
42 
44  virtual QString name() const = 0;
45 
47  virtual QString version() const = 0;
48 };
49 
50 QT_BEGIN_NAMESPACE
51 
52 #define BasicPlugin_iid "MiamPlayer.BasicPlugin"
53 
54 Q_DECLARE_INTERFACE(BasicPlugin, BasicPlugin_iid)
55 
56 QT_END_NAMESPACE
57 
58 #endif // BASICPLUGIN_H
virtual void init()
Definition: basicplugin.h:36
QTranslator translator
Definition: basicplugin.h:22
virtual ~BasicPlugin()
Definition: basicplugin.h:27
virtual bool canInteractWithSearchEngine() const
Definition: basicplugin.h:29
virtual void setMusicSearchEngine(MusicSearchEngine *)
Definition: basicplugin.h:41
The BasicPlugin class is the base class for creating a plugin.
Definition: basicplugin.h:18
The MusicSearchEngine class.
Definition: musicsearchengine.h:15
#define MIAMCORE_LIBRARY
Definition: miamcore_global.h:11
BasicPlugin(QObject *parent=nullptr)
Definition: basicplugin.h:24
#define BasicPlugin_iid
Definition: basicplugin.h:52
virtual void cleanUpBeforeDestroy()
Definition: basicplugin.h:31