From 1a104424eff1aa15b29a89d810089e548b93346a Mon Sep 17 00:00:00 2001 From: Max Mommersteeg Date: Thu, 6 Dec 2018 22:02:16 +0100 Subject: [PATCH] Support QResource.UnregisterResource. --- src/native/QmlNet/QmlNet/qml/QResource.cpp | 6 ++++++ src/net/Qml.Net/QResource.cs | 7 +++++++ 2 files changed, 13 insertions(+) diff --git a/src/native/QmlNet/QmlNet/qml/QResource.cpp b/src/native/QmlNet/QmlNet/qml/QResource.cpp index e41c8f74..bd858716 100644 --- a/src/native/QmlNet/QmlNet/qml/QResource.cpp +++ b/src/native/QmlNet/QmlNet/qml/QResource.cpp @@ -10,4 +10,10 @@ Q_DECL_EXPORT bool qresource_registerResource(LPWSTR rccFileName, LPWSTR resourc return QResource::registerResource(rccFileNameString, resourceRootString); } +Q_DECL_EXPORT bool qresource_unregisterResource(LPWSTR rccFileName, LPWSTR resourceRoot) { + QString rccFileNameString = QString::fromUtf16((const char16_t*)rccFileName); + QString resourceRootString = QString::fromUtf16((const char16_t*)resourceRoot); + return QResource::unregisterResource(rccFileNameString, resourceRootString); +} + } diff --git a/src/net/Qml.Net/QResource.cs b/src/net/Qml.Net/QResource.cs index 08bddff8..ad298ddf 100644 --- a/src/net/Qml.Net/QResource.cs +++ b/src/net/Qml.Net/QResource.cs @@ -9,11 +9,18 @@ namespace Qml.Net { return Internal.Interop.QResource.RegisterResource(rccFileName, resourceRoot); } + + public static bool UnregisterResource(string rccFileName, string resourceRoot = null) + { + return Internal.Interop.QResource.UnregisterResource(rccFileName, resourceRoot); + } } internal interface IQResourceInterop { [NativeSymbol(Entrypoint = "qresource_registerResource")] bool RegisterResource([MarshalAs(UnmanagedType.LPWStr), CallerFree]string rccFileName, [MarshalAs(UnmanagedType.LPWStr), CallerFree]string resourceRoot); + [NativeSymbol(Entrypoint = "qresource_unregisterResource")] + bool UnregisterResource([MarshalAs(UnmanagedType.LPWStr), CallerFree]string rccFileName, [MarshalAs(UnmanagedType.LPWStr), CallerFree]string resourceRoot); } } \ No newline at end of file