core/qmljson: add support for synthesized .qml.json files

This commit is contained in:
outfoxxed 2025-05-18 20:39:48 -07:00
parent 6026c4ce27
commit 5193426cd7
No known key found for this signature in database
GPG key ID: 4C88A185FB89301E
5 changed files with 112 additions and 18 deletions

View file

@ -26,7 +26,7 @@ class QsInterceptDataReply: public QNetworkReply {
Q_OBJECT;
public:
QsInterceptDataReply(const QString& qmldir, QObject* parent = nullptr);
QsInterceptDataReply(const QString& data, QObject* parent = nullptr);
qint64 readData(char* data, qint64 maxSize) override;
@ -43,7 +43,7 @@ class QsInterceptNetworkAccessManager: public QNetworkAccessManager {
public:
QsInterceptNetworkAccessManager(
const QHash<QString, QString>& qmldirIntercepts,
const QHash<QString, QString>& fileIntercepts,
QObject* parent = nullptr
);
@ -55,15 +55,15 @@ protected:
) override;
private:
const QHash<QString, QString>& qmldirIntercepts;
const QHash<QString, QString>& fileIntercepts;
};
class QsInterceptNetworkAccessManagerFactory: public QQmlNetworkAccessManagerFactory {
public:
QsInterceptNetworkAccessManagerFactory(const QHash<QString, QString>& qmldirIntercepts)
: qmldirIntercepts(qmldirIntercepts) {}
QsInterceptNetworkAccessManagerFactory(const QHash<QString, QString>& fileIntercepts)
: fileIntercepts(fileIntercepts) {}
QNetworkAccessManager* create(QObject* parent) override;
private:
const QHash<QString, QString>& qmldirIntercepts;
const QHash<QString, QString>& fileIntercepts;
};