/** * @RDE_HEADER@ * Gui Plugin for AppStarter * $Id$ * $HeadURL$ * $Author$ * * Created by Mike Wille, SLSE, 2016-11-03 */ #pragma once #include #include #include namespace AppStarter { class GuiPlugin final : public QObject, public GuiPluginBase::Plugin { Q_PLUGIN_METADATA(IID "gui:3:app") Q_INTERFACES(GuiPluginBase::Plugin) Q_OBJECT public: explicit GuiPlugin() = default; ~GuiPlugin() = default; QString pluginName() override { return ForeignGuiInterface::pluginName(); } std::shared_ptr createGuiInterface(LtsSession::LtsSession *session) override; bool availableInPartition(IDL::PartitionType) const override { return true; } }; class InterfaceImpl final : public QObject, public GuiPluginBase::Interface { Q_OBJECT public: explicit InterfaceImpl(LtsSession::LtsSession *session); QVector getActions() override; QString menuGroup() const override; private: void startProcess(const QString &procName, const QStringList &args, const QString &title, const QString &identifier); void startApp(LtsAppDescriptor::App appId); QMap< QString, QPointer > m_ProcMap; }; } // namespace AppStarter