Files
qt-creator/src/plugins/baremetal/baremetalplugin.cpp
hjk fc1325d6c9 BareMetal: Use new setup approach for toolchain factories
Change-Id: Ic91ccab925f054d80fbfa8bc018b3e86d207b186
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2023-11-17 12:59:40 +00:00

71 lines
1.7 KiB
C++

// Copyright (C) 2016 Tim Sander <tim@krieglstein.org>
// Copyright (C) 2016 Denis Shienkov <denis.shienkov@gmail.com>
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
#include "baremetalplugin.h"
#include "baremetalconstants.h"
#include "baremetaldebugsupport.h"
#include "baremetaldevice.h"
#include "baremetalrunconfiguration.h"
#include "baremetaltr.h"
#include "debugserverprovidermanager.h"
#include "iarewtoolchain.h"
#include "keiltoolchain.h"
#include "sdcctoolchain.h"
#include <projectexplorer/deployconfiguration.h>
using namespace ProjectExplorer;
namespace BareMetal::Internal {
class BareMetalDeployConfigurationFactory : public DeployConfigurationFactory
{
public:
BareMetalDeployConfigurationFactory()
{
setConfigBaseId("BareMetal.DeployConfiguration");
setDefaultDisplayName(Tr::tr("Deploy to BareMetal Device"));
addSupportedTargetDeviceType(Constants::BareMetalOsType);
}
};
// BareMetalPluginPrivate
class BareMetalPluginPrivate
{
public:
BareMetalDeviceFactory deviceFactory;
BareMetalRunConfigurationFactory runConfigurationFactory;
BareMetalCustomRunConfigurationFactory customRunConfigurationFactory;
DebugServerProviderManager debugServerProviderManager;
BareMetalDeployConfigurationFactory deployConfigurationFactory;
BareMetalDebugSupportFactory runWorkerFactory;
};
// BareMetalPlugin
BareMetalPlugin::~BareMetalPlugin()
{
delete d;
}
void BareMetalPlugin::initialize()
{
d = new BareMetalPluginPrivate;
setupIarToolChain();
setupKeilToolChain();
setupSdccToolChain();
}
void BareMetalPlugin::extensionsInitialized()
{
DebugServerProviderManager::instance()->restoreProviders();
}
} // BareMetal::Internal