#ifndef METADATAPROCESSOR_H #define METADATAPROCESSOR_H #include #include #include #include #include struct InterfaceInfo; class MetadataProcessor : public QObject { Q_OBJECT public: explicit MetadataProcessor(QObject *parent = nullptr); bool processUf2Interfaces(const QString& basePath); bool processUft3Interfaces(const QString& basePath); bool processUf2StdFields(); bool processUf2DataType(); bool processUf2ErrNumber(); bool processUft3StdFields(); bool processUft3DataType(); bool processUft3Table(); QString getBasePath() const; void setBasePath(const QString& path); public: void initConfig(const QString& basePath); private: bool isValidUtf8(const QByteArray& data); bool writeJson(const QString& filePath, const QJsonObject& jsonObject); QJsonObject readJson(const QString& filePath); QJsonObject interfaceInfoToUFT3Json(const InterfaceInfo& info); QString m_basePath; QString m_uf2touft3Path; QString m_uf20Path; QString m_ufAcct20Path; QString m_uftDbSettPath; QString m_uft30PubPath; QString m_uft30CbptransPath; QString m_uft30Path; QString m_supportUftdbSett; QString m_moduleGenerationCheck; }; #endif // METADATAPROCESSOR_H