/** * @RDE_HEADER@ * GUI Plugin for THP2 * $Id: tpm_gui_plugin.h 49807 2020-02-06 09:53:16Z ehrlicher $ * $HeadURL: svn://slssvn/TDS/branches/product/iterations/21_03_salted_caramel/Lts/Plugins/TakeHomePackageManager/tpm_gui_plugin.h $ * $Author: ehrlicher $ * * Created by Mike Wille, ESZS, 2024-02-20 */ #pragma once #include #include "logger.h" #include #include namespace TakeHomePackageManager { class GuiPlugin final : public QObject, public GuiPluginBase::Plugin { Q_PLUGIN_METADATA(IID "gui:3:tpm2.man") Q_INTERFACES(GuiPluginBase::Plugin) Q_OBJECT public: GuiPlugin() = default; ~GuiPlugin() = default; QString pluginName() override { return QLatin1String("TakeHomePackageManager2"); } std::shared_ptr createGuiInterface(LtsSession::LtsSession *session) override; bool availableInPartition(IDL::PartitionType partition) const override { return partition == IDL::PartitionType::Exercise; } }; class InterfaceImpl final : public QObject, public GuiPluginBase::Interface, public ForeignTpm2GuiInterface { Q_OBJECT public: explicit InterfaceImpl(LtsSession::LtsSession *session); bool fetchInterfaces() override; QString menuGroup() const override; QVector getActions() override; bool availableInPartition(IDL::PartitionType partition) const override { return partition == IDL::PartitionType::Exercise; } private: }; } // namespace TakeHomePackageManager