BALL 1.5.0
BALLPlugin.h
Go to the documentation of this file.
1#ifndef BALL_PLUGIN_BALLPLUGIN_H
2#define BALL_PLUGIN_BALLPLUGIN_H
3
4#ifndef BALL_COMMON_GLOBAL_H
5# include <BALL/COMMON/global.h>
6#endif
7
8#include <QtCore/QString>
9#include <QtCore/QtPlugin>
10#include <QtCore/QVariant>
11
12class QPixmap;
13class QDialog;
14
15namespace BALL
16{
17
18 class PluginHandler;
19
21 {
22 public:
23 virtual ~BALLPlugin() {}
24
30 virtual QString getName() const = 0;
31
37 virtual QString getDescription() const = 0;
38
44 virtual bool isActive() = 0;
45
51 virtual bool activate() = 0;
52
58 virtual bool deactivate() = 0;
59 };
60}
61
62template<typename T>
64{
65 return qobject_cast<T>(dynamic_cast<QObject*>(plugin));
66}
67
68Q_DECLARE_METATYPE(BALL::BALLPlugin*)
69Q_DECLARE_INTERFACE(BALL::BALLPlugin, "org.ball-project.Plugin.BALLPlugin/1.0")
70
71#endif //BALL_PLUGIN_BALLPLUGIN_H
72
T qobject_cast(BALL::BALLPlugin *plugin)
Definition: BALLPlugin.h:63
Definition: constants.h:13
virtual bool deactivate()=0
virtual QString getDescription() const =0
virtual bool activate()=0
virtual QString getName() const =0
virtual bool isActive()=0
virtual ~BALLPlugin()
Definition: BALLPlugin.h:23
#define BALL_EXPORT
Definition: COMMON/global.h:50