// Copyright (C) 2022 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 #pragma once #include "mcuabstracttargetfactory.h" #include "mcutargetdescription.h" #include "settingshandler.h" #include #include #include namespace McuSupport::Internal { class McuPackage; namespace Legacy { using ToolchainCompilerCreator = std::function; class McuTargetFactory : public McuAbstractTargetFactory { public: McuTargetFactory(const QHash &toolchainCreators, const QHash &toolchainFiles, const QHash &vendorPkgs, const SettingsHandler::Ptr &); QPair createTargets(const McuTargetDescription &, const McuPackagePtr &qtForMCUsPackage) override; AdditionalPackages getAdditionalPackages() const override; McuToolchainPackagePtr getToolchainCompiler(const McuTargetDescription::Toolchain &) const; McuPackagePtr getToolchainFile(const Utils::FilePath &qtForMCUSdkPath, const QString &toolchainName) const; private: QHash toolchainCreators; const QHash toolchainFiles; const QHash vendorPkgs; SettingsHandler::Ptr settingsHandler; }; // struct McuTargetFactory } // namespace Legacy } // namespace McuSupport::Internal