McuSupport: use a dedicated class to create flash run worker

Change-Id: I26a403755f2ae57a43bbac2439359831a8d59431
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
hjk
2023-01-06 14:39:43 +01:00
parent 22da0f2fd6
commit 3171064ee2
3 changed files with 19 additions and 18 deletions

View File

@@ -53,9 +53,7 @@ class McuSupportPluginPrivate
public: public:
McuSupportDeviceFactory deviceFactory; McuSupportDeviceFactory deviceFactory;
McuSupportRunConfigurationFactory runConfigurationFactory; McuSupportRunConfigurationFactory runConfigurationFactory;
RunWorkerFactory runWorkerFactory{makeFlashAndRunWorker(), FlashRunWorkerFactory flashRunWorkerFactory;
{ProjectExplorer::Constants::NORMAL_RUN_MODE},
{Constants::RUNCONFIGURATION}};
SettingsHandler::Ptr m_settingsHandler{new SettingsHandler}; SettingsHandler::Ptr m_settingsHandler{new SettingsHandler};
McuSupportOptions m_options{m_settingsHandler}; McuSupportOptions m_options{m_settingsHandler};
McuSupportOptionsPage optionsPage{m_options, m_settingsHandler}; McuSupportOptionsPage optionsPage{m_options, m_settingsHandler};

View File

@@ -6,6 +6,7 @@
#include <projectexplorer/buildconfiguration.h> #include <projectexplorer/buildconfiguration.h>
#include <projectexplorer/project.h> #include <projectexplorer/project.h>
#include <projectexplorer/projectexplorerconstants.h>
#include <projectexplorer/target.h> #include <projectexplorer/target.h>
#include <cmakeprojectmanager/cmakekitinformation.h> #include <cmakeprojectmanager/cmakekitinformation.h>
@@ -16,8 +17,7 @@
using namespace ProjectExplorer; using namespace ProjectExplorer;
using namespace Utils; using namespace Utils;
namespace McuSupport { namespace McuSupport::Internal {
namespace Internal {
static FilePath cmakeFilePath(const Target *target) static FilePath cmakeFilePath(const Target *target)
{ {
@@ -76,17 +76,19 @@ public:
} }
}; };
RunWorkerFactory::WorkerCreator makeFlashAndRunWorker() // Factories
{
return RunWorkerFactory::make<FlashAndRunWorker>();
}
McuSupportRunConfigurationFactory::McuSupportRunConfigurationFactory() McuSupportRunConfigurationFactory::McuSupportRunConfigurationFactory()
: RunConfigurationFactory()
{ {
registerRunConfiguration<FlashAndRunConfiguration>(Constants::RUNCONFIGURATION); registerRunConfiguration<FlashAndRunConfiguration>(Constants::RUNCONFIGURATION);
addSupportedTargetDeviceType(Constants::DEVICE_TYPE); addSupportedTargetDeviceType(Constants::DEVICE_TYPE);
} }
} // namespace Internal FlashRunWorkerFactory::FlashRunWorkerFactory()
} // namespace McuSupport {
setProduct<FlashAndRunWorker>();
addSupportedRunMode(ProjectExplorer::Constants::NORMAL_RUN_MODE);
addSupportedRunConfig(Constants::RUNCONFIGURATION);
}
} // McuSupport::Internal

View File

@@ -3,11 +3,9 @@
#pragma once #pragma once
#include <projectexplorer/runconfiguration.h>
#include <projectexplorer/runcontrol.h> #include <projectexplorer/runcontrol.h>
namespace McuSupport { namespace McuSupport::Internal {
namespace Internal {
class McuSupportRunConfigurationFactory final : public ProjectExplorer::RunConfigurationFactory class McuSupportRunConfigurationFactory final : public ProjectExplorer::RunConfigurationFactory
{ {
@@ -15,7 +13,10 @@ public:
McuSupportRunConfigurationFactory(); McuSupportRunConfigurationFactory();
}; };
ProjectExplorer::RunWorkerFactory::WorkerCreator makeFlashAndRunWorker(); class FlashRunWorkerFactory final : public ProjectExplorer::RunWorkerFactory
{
public:
FlashRunWorkerFactory();
};
} // namespace Internal } // McuSupport::Internal
} // namespace McuSupport