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 
32  virtual QStringList classesToExtend() { return QStringList(); }
33 
34  virtual void cleanUpBeforeDestroy() {}
35 
37  virtual QWidget* configPage() = 0;
38 
39  virtual void init() {}
40 
42  virtual bool isConfigurable() const = 0;
43 
45 
47  virtual QString name() const = 0;
48 
50  virtual QString version() const = 0;
51 };
52 
53 QT_BEGIN_NAMESPACE
54 
55 #define BasicPlugin_iid "MiamPlayer.BasicPlugin"
56 
57 Q_DECLARE_INTERFACE(BasicPlugin, BasicPlugin_iid)
58 
59 QT_END_NAMESPACE
60 
61 #endif // BASICPLUGIN_H
virtual void init()
Definition: basicplugin.h:39
QTranslator translator
Definition: basicplugin.h:22
virtual ~BasicPlugin()
Definition: basicplugin.h:27
virtual QStringList classesToExtend()
Definition: basicplugin.h:32
virtual void setMusicSearchEngine(MusicSearchEngine *)
Definition: basicplugin.h:44
virtual bool canInteractWithSearchEngine() const
Definition: basicplugin.h:29
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:10
BasicPlugin(QObject *parent=nullptr)
Definition: basicplugin.h:24
#define BasicPlugin_iid
Definition: basicplugin.h:55
virtual void cleanUpBeforeDestroy()
Definition: basicplugin.h:34