Build system changed to Cmake, ORM changed to QxORM, Qt6 compatibility.

This commit is contained in:
2023-04-28 22:25:29 +02:00
parent 30e6180c82
commit d699ce79f7
481 changed files with 2310 additions and 130206 deletions
+40 -10
View File
@@ -6,23 +6,53 @@
#include "core_global.h"
#include "iplugin.h"
class MetaData {
public:
MetaData(const QString& mName, const QString& mId, const QString& mDescription, int mSchemaVersion,
const QStringList& mSchemas, const QStringList& mDependsOn);
[[nodiscard]] const QString& getName() const;
[[nodiscard]] const QString& getId() const;
[[nodiscard]] const QString& getDescription() const;
[[nodiscard]] int getSchemaVersion() const;
[[nodiscard]] const QStringList& getSchemas() const;
[[nodiscard]] const QStringList& getDependsOn() const;
private:
QString m_name;
QString m_id;
QString m_description;
int m_schemaVersion;
QStringList m_schemas;
QStringList m_dependsOn;
};
using MetaDataPtr = QSharedPointer<MetaData>;
class CORESHARED_EXPORT IMetaDataPlugin : public IPlugin
{
public:
IMetaDataPlugin();
virtual ~IMetaDataPlugin();
~IMetaDataPlugin() override;
// IPlugin interface
public:
virtual QString pluginName();
virtual QString pluginId();
virtual QString pluginDescription();
virtual int schemaVersion();
virtual QStringList schemas();
virtual QStringList dependsOn();
virtual ReportList reports();
QString pluginName() override;
QString pluginId() override;
QString pluginDescription() override;
int schemaVersion() override;
QStringList schemas() override;
QStringList dependsOn() override;
ReportList reports() override;
virtual void init(const QJsonObject &metaData);
void init(const QJsonObject &metaData) override;
static MetaDataPtr loadBaseMetaData(const QJsonObject &metaData);
protected:
virtual void initServiceUi() = 0;
@@ -37,7 +67,7 @@ private:
QStringList m_dependsOn;
ReportList m_reports;
QString parseLocaleText(const QJsonObject &object);
static QString parseLocaleText(const QJsonObject &object);
void addCustomReports();
void addReportsFromJson(const QJsonValue &repArray);
};