2022-12-12 16:45:31 +01:00
|
|
|
// Copyright (C) 2022 The Qt Company Ltd.
|
|
|
|
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial
|
2022-11-28 09:48:11 +01:00
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include <extensionsystem/iplugin.h>
|
|
|
|
|
|
2022-12-13 11:17:12 +01:00
|
|
|
namespace ProjectExplorer { class Project; }
|
|
|
|
|
|
2022-11-28 09:48:11 +01:00
|
|
|
namespace Axivion::Internal {
|
|
|
|
|
|
2022-12-13 11:17:12 +01:00
|
|
|
class AxivionSettings;
|
|
|
|
|
class AxivionProjectSettings;
|
2022-12-14 13:53:00 +01:00
|
|
|
class ProjectInfo;
|
2022-12-13 11:17:12 +01:00
|
|
|
|
2022-11-28 09:48:11 +01:00
|
|
|
class AxivionPlugin final : public ExtensionSystem::IPlugin
|
|
|
|
|
{
|
|
|
|
|
Q_OBJECT
|
|
|
|
|
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QtCreatorPlugin" FILE "Axivion.json")
|
|
|
|
|
|
|
|
|
|
public:
|
2022-12-13 15:13:13 +01:00
|
|
|
AxivionPlugin();
|
2022-11-28 09:48:11 +01:00
|
|
|
~AxivionPlugin() final;
|
|
|
|
|
|
2022-12-13 15:13:13 +01:00
|
|
|
static AxivionPlugin *instance();
|
2022-12-13 11:17:12 +01:00
|
|
|
static AxivionSettings *settings();
|
|
|
|
|
static AxivionProjectSettings *projectSettings(ProjectExplorer::Project *project);
|
|
|
|
|
|
2022-12-13 15:13:13 +01:00
|
|
|
static bool handleCertificateIssue();
|
2022-12-14 12:11:03 +01:00
|
|
|
static void fetchProjectInfo(const QString &projectName);
|
2022-12-14 13:53:00 +01:00
|
|
|
static ProjectInfo projectInfo();
|
2022-12-13 15:13:13 +01:00
|
|
|
signals:
|
|
|
|
|
void settingsChanged();
|
|
|
|
|
|
2022-11-28 09:48:11 +01:00
|
|
|
private:
|
|
|
|
|
bool initialize(const QStringList &arguments, QString *errorMessage) final;
|
|
|
|
|
void extensionsInitialized() final {}
|
|
|
|
|
};
|
|
|
|
|
|
2022-12-12 16:45:31 +01:00
|
|
|
} // Axivion::Internal
|
2022-11-28 09:48:11 +01:00
|
|
|
|