summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@theqtcompany.com>2015-07-01 17:20:45 +0200
committerChristian Kandeler <christian.kandeler@theqtcompany.com>2015-07-02 13:02:01 +0300
commitdaa478adad625b40d51cea9d90be8a77210a6818 (patch)
tree29932de6169b349550066d26d98fbe8723ba9beb
parent313724ace923b5b4a453722139c31ae2d8465e9c (diff)
downloadqt-creator-daa478adad625b40d51cea9d90be8a77210a6818.tar.gz
Factor out license check.
Change-Id: Ifcaab7252239bde1affa8bc55ab38761c0f6e99f Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
-rw-r--r--plugins/clangstaticanalyzer/clangstaticanalyzer.pro1
-rw-r--r--plugins/clangstaticanalyzer/clangstaticanalyzer.qbs1
-rw-r--r--plugins/clangstaticanalyzer/clangstaticanalyzerlicensecheck.h45
-rw-r--r--plugins/clangstaticanalyzer/clangstaticanalyzerplugin.cpp24
4 files changed, 51 insertions, 20 deletions
diff --git a/plugins/clangstaticanalyzer/clangstaticanalyzer.pro b/plugins/clangstaticanalyzer/clangstaticanalyzer.pro
index f348951ea7..176c3274f1 100644
--- a/plugins/clangstaticanalyzer/clangstaticanalyzer.pro
+++ b/plugins/clangstaticanalyzer/clangstaticanalyzer.pro
@@ -28,6 +28,7 @@ HEADERS += \
clangstaticanalyzerdiagnosticmodel.h \
clangstaticanalyzerdiagnosticview.h \
clangstaticanalyzer_global.h \
+ clangstaticanalyzerlicensecheck.h \
clangstaticanalyzerlogfilereader.h \
clangstaticanalyzerplugin.h \
clangstaticanalyzerprojectsettings.h \
diff --git a/plugins/clangstaticanalyzer/clangstaticanalyzer.qbs b/plugins/clangstaticanalyzer/clangstaticanalyzer.qbs
index 524debd500..beb745f529 100644
--- a/plugins/clangstaticanalyzer/clangstaticanalyzer.qbs
+++ b/plugins/clangstaticanalyzer/clangstaticanalyzer.qbs
@@ -30,6 +30,7 @@ QtcCommercialPlugin {
"clangstaticanalyzerdiagnosticmodel.h",
"clangstaticanalyzerdiagnosticview.cpp",
"clangstaticanalyzerdiagnosticview.h",
+ "clangstaticanalyzerlicensecheck.h",
"clangstaticanalyzerlogfilereader.cpp",
"clangstaticanalyzerlogfilereader.h",
"clangstaticanalyzerplugin.cpp",
diff --git a/plugins/clangstaticanalyzer/clangstaticanalyzerlicensecheck.h b/plugins/clangstaticanalyzer/clangstaticanalyzerlicensecheck.h
new file mode 100644
index 0000000000..7b0d09ba9d
--- /dev/null
+++ b/plugins/clangstaticanalyzer/clangstaticanalyzerlicensecheck.h
@@ -0,0 +1,45 @@
+/****************************************************************************
+**
+** Copyright (C) 2015 The Qt Company Ltd
+** All rights reserved.
+** For any questions to The Qt Company, please use contact form at http://www.qt.io/contact-us
+**
+** This file is part of the Qt Enterprise ClangStaticAnalyzer Add-on.
+**
+** Licensees holding valid Qt Enterprise licenses may use this file in
+** accordance with the Qt Enterprise License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company.
+**
+** If you have questions regarding the use of this file, please use
+** contact form at http://www.qt.io/contact-us
+**
+****************************************************************************/
+
+#ifndef CLANGSTATICANALYZERLICENSECHECK_H
+#define CLANGSTATICANALYZERLICENSECHECK_H
+
+#ifdef LICENSECHECKER
+#include <extensionsystem/pluginmanager.h>
+#include <licensechecker/licensecheckerplugin.h>
+#endif
+
+inline bool enterpriseFeaturesAvailable()
+{
+#ifdef LICENSECHECKER
+ LicenseChecker::LicenseCheckerPlugin *licenseChecker
+ = ExtensionSystem::PluginManager::getObject<LicenseChecker::LicenseCheckerPlugin>();
+
+ if (licenseChecker && licenseChecker->hasValidLicense()) {
+ if (licenseChecker->enterpriseFeatures())
+ return true;
+ } else {
+ qWarning() << "Invalid license, disabling Clang Static Analyzer";
+ }
+ return false;
+#else // LICENSECHECKER
+ return true;
+#endif
+}
+
+#endif // Include guard.
diff --git a/plugins/clangstaticanalyzer/clangstaticanalyzerplugin.cpp b/plugins/clangstaticanalyzer/clangstaticanalyzerplugin.cpp
index 2afd35cec3..2fb20ea644 100644
--- a/plugins/clangstaticanalyzer/clangstaticanalyzerplugin.cpp
+++ b/plugins/clangstaticanalyzer/clangstaticanalyzerplugin.cpp
@@ -20,6 +20,7 @@
#include "clangstaticanalyzerconfigwidget.h"
#include "clangstaticanalyzerconstants.h"
+#include "clangstaticanalyzerlicensecheck.h"
#include "clangstaticanalyzerprojectsettingswidget.h"
#include "clangstaticanalyzerruncontrolfactory.h"
#include "clangstaticanalyzertool.h"
@@ -38,12 +39,6 @@
#include <coreplugin/dialogs/ioptionspage.h>
#include <projectexplorer/projectpanelfactory.h>
-#ifdef LICENSECHECKER
-#include <licensechecker/licensecheckerplugin.h>
-#endif
-
-#include <extensionsystem/pluginmanager.h>
-
#include <QAction>
#include <QDebug>
#include <QMainWindow>
@@ -117,21 +112,7 @@ bool ClangStaticAnalyzerPlugin::initialize(const QStringList &arguments, QString
panelFactory->setDisplayName(tr("Clang Static Analyzer Settings"));
panelFactory->setSimpleCreateWidgetFunction<ProjectSettingsWidget>(QIcon());
ProjectExplorer::ProjectPanelFactory::registerFactory(panelFactory);
-
-#ifdef LICENSECHECKER
- LicenseChecker::LicenseCheckerPlugin *licenseChecker
- = ExtensionSystem::PluginManager::getObject<LicenseChecker::LicenseCheckerPlugin>();
-
- if (licenseChecker && licenseChecker->hasValidLicense()) {
- if (licenseChecker->enterpriseFeatures())
- return initializeEnterpriseFeatures(arguments, errorString);
- } else {
- qWarning() << "Invalid license, disabling Clang Static Analyzer";
- }
- return true;
-#else // LICENSECHECKER
return initializeEnterpriseFeatures(arguments, errorString);
-#endif
}
bool ClangStaticAnalyzerPlugin::initializeEnterpriseFeatures(const QStringList &arguments,
@@ -140,6 +121,9 @@ bool ClangStaticAnalyzerPlugin::initializeEnterpriseFeatures(const QStringList &
Q_UNUSED(arguments);
Q_UNUSED(errorString);
+ if (!enterpriseFeaturesAvailable())
+ return true;
+
auto tool = m_analyzerTool = new ClangStaticAnalyzerTool(this);
addAutoReleasedObject(new ClangStaticAnalyzerRunControlFactory(m_analyzerTool));
addAutoReleasedObject(new ClangStaticAnalyzerOptionsPage);