RestLink 2.2.0
Powerfull Rest Client for Qt
Loading...
Searching...
No Matches
plugin.h
1#ifndef RESTLINK_PLUGIN_H
2#define RESTLINK_PLUGIN_H
3
4#include <RestLink/global.h>
5
6#include <QtCore/qobject.h>
7#include <QtCore/qjsonobject.h>
8
9#define RESTLINK_PLUGIN_IID "com.restlink.plugin"
10
11namespace RestLink {
12
13class AbstractRequestHandler;
14
15class RESTLINK_EXPORT Plugin : public QObject
16{
17 Q_OBJECT
18 Q_PROPERTY(QString uuid READ uuid CONSTANT)
19 Q_PROPERTY(QString name READ name CONSTANT)
20
21public:
22 explicit Plugin(QObject *parent = nullptr);
23 virtual ~Plugin();
24
25 QString uuid() const;
26 QString name() const;
27
28 QJsonObject metaData() const;
29 void setMetaData(const QJsonObject &metaData);
30
31 virtual AbstractRequestHandler *createHandler() = 0;
32
33private:
34 QJsonObject m_metaData;
35};
36
37} // namespace RestLink
38
39Q_DECLARE_INTERFACE(RestLink::Plugin, RESTLINK_PLUGIN_IID)
40
41#endif // RESTLINK_PLUGIN_H