48 const thread_local QRegularExpression sRx( QStringLiteral(
"^data:([a-zA-Z0-9+\\-]*\\/[a-zA-Z0-9+\\-]*?)(?:;(base64|utf8))?,(.*)$" ) );
49 const QRegularExpressionMatch base64Match = sRx.match( path );
50 if ( !base64Match.hasMatch() )
53 const QString typeMatch = base64Match.captured( 2 );
54 const QString mimeMatch = base64Match.captured( 1 );
57 *mimeType = mimeMatch;
59 *data = base64Match.captured( 3 );
61 if ( typeMatch == QLatin1String(
"base64" ) )
63 else if ( typeMatch == QLatin1String(
"utf8" ) )
68 if ( mimeMatch.endsWith( QLatin1String(
"xml" ) ) || mimeMatch.endsWith( QLatin1String(
"svg" ) ) )
virtual void onRemoteContentFetched(const QString &url, bool success)
Triggered after remote content (i.e.
static bool parseBase64DataUrl(const QString &path, QString *mimeType=nullptr, QString *data=nullptr)
Parses a path to determine if it represents a base 64 encoded HTML data URL, and if so,...
QgsAbstractContentCacheBase(QObject *parent)
Constructor for QgsAbstractContentCacheBase, with the specified parent object.
static bool isBase64Data(const QString &path)
Returns true if path represents base64 encoded data.
QgsAbstractContentCacheEntry(const QString &path)
Constructor for QgsAbstractContentCacheEntry for an entry relating to the specified path.