2015-10-30 15:51:57 +01:00
|
|
|
#ifndef IMETADATAPLUGIN_H
|
|
|
|
|
#define IMETADATAPLUGIN_H
|
|
|
|
|
|
|
|
|
|
#include <QString>
|
|
|
|
|
|
|
|
|
|
#include "core_global.h"
|
|
|
|
|
#include "iplugin.h"
|
|
|
|
|
|
|
|
|
|
class CORESHARED_EXPORT IMetaDataPlugin : public IPlugin
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
IMetaDataPlugin();
|
2016-02-09 10:04:17 +01:00
|
|
|
virtual ~IMetaDataPlugin();
|
2015-10-30 15:51:57 +01:00
|
|
|
|
|
|
|
|
// IPlugin interface
|
|
|
|
|
public:
|
|
|
|
|
virtual QString pluginName();
|
|
|
|
|
virtual QString pluginId();
|
|
|
|
|
virtual QString pluginDescription();
|
2015-11-13 15:11:47 +01:00
|
|
|
virtual int schemaVersion();
|
|
|
|
|
virtual QStringList schemas();
|
2015-11-15 22:26:50 +01:00
|
|
|
virtual QStringList dependsOn();
|
2017-03-24 14:49:46 +01:00
|
|
|
virtual ReportList reports();
|
2015-11-15 22:26:50 +01:00
|
|
|
|
2015-10-30 15:51:57 +01:00
|
|
|
virtual void init(const QJsonObject &metaData);
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
virtual void initServiceUi() = 0;
|
|
|
|
|
virtual void parseMetaData(const QJsonObject &metaData);
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
QString m_name;
|
|
|
|
|
QString m_id;
|
|
|
|
|
QString m_description;
|
2015-11-13 15:11:47 +01:00
|
|
|
int m_schemaVersion;
|
|
|
|
|
QStringList m_schemas;
|
2015-11-15 22:26:50 +01:00
|
|
|
QStringList m_dependsOn;
|
2017-03-24 14:49:46 +01:00
|
|
|
ReportList m_reports;
|
2015-10-30 15:51:57 +01:00
|
|
|
|
|
|
|
|
QString parseLocaleText(const QJsonObject &object);
|
2018-05-23 14:50:55 +02:00
|
|
|
void addCustomReports();
|
|
|
|
|
void addReportsFromJson(const QJsonValue &repArray);
|
2015-10-30 15:51:57 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#endif // IMETADATAPLUGIN_H
|