diff options
Diffstat (limited to 'src/plugins/qmldesigner/dynamiclicensecheck.h')
-rw-r--r-- | src/plugins/qmldesigner/dynamiclicensecheck.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/plugins/qmldesigner/dynamiclicensecheck.h b/src/plugins/qmldesigner/dynamiclicensecheck.h index c26267c881..a3ddf6c192 100644 --- a/src/plugins/qmldesigner/dynamiclicensecheck.h +++ b/src/plugins/qmldesigner/dynamiclicensecheck.h @@ -32,6 +32,26 @@ inline ExtensionSystem::IPlugin *licenseCheckerPlugin() return pluginSpec->plugin(); return nullptr; } + +inline ExtensionSystem::IPlugin *dsLicenseCheckerPlugin() +{ + const ExtensionSystem::PluginSpec *pluginSpec = Utils::findOrDefault( + ExtensionSystem::PluginManager::plugins(), + Utils::equal(&ExtensionSystem::PluginSpec::name, QString("DSLicense"))); + + if (pluginSpec) + return pluginSpec->plugin(); + return nullptr; +} + +inline bool dsLicenseCheckerPluginExists() +{ + const ExtensionSystem::PluginSpec *pluginSpec = Utils::findOrDefault( + ExtensionSystem::PluginManager::plugins(), + Utils::equal(&ExtensionSystem::PluginSpec::name, QString("DSLicense"))); + + return pluginSpec; +} } // namespace Internal inline FoundLicense checkLicense() @@ -94,4 +114,23 @@ inline QString licenseeEmail() return {}; } +inline bool checkEnterpriseLicense() +{ + if (auto plugin = Internal::dsLicenseCheckerPlugin()) { + bool retVal = false; + bool success = QMetaObject::invokeMethod(plugin, + "checkEnterpriseLicense", + Qt::DirectConnection, + Q_RETURN_ARG(bool, retVal)); + + if (success) + return retVal; + } + + if (Internal::dsLicenseCheckerPluginExists()) + return false; + + return true; +} + } // namespace Utils |