Files
T
2026-08-13 18:33:10 +02:00

48 lines
1.6 KiB
C++
Executable File

/**
* @RDE_HEADER@
* Abstract class which defines selection behavior when clicking on mounting points on the map
* $Id$
* $HeadURL$
* $Author$
* Created by Hannes Baeuerle, SLSE, 2017-04-05
*/
#pragma once
#include <InfrastructureManagement/ism_ftc.h>
#include <InfrastructureManagement/logger.h>
#include <Plugins/InfrastructureManagement/ism_data_plugin_interface.h>
#include <Plugins/InfrastructureManagement/ism_resource_management_gui_plugin_interface.h>
#include <Plugins/SituationMapPlugin/situation_map_gui_plugin_interface.h>
namespace LtsUtils
{
class RequestHelper;
}
namespace InfrastructureManagement
{
class MountingPointSelector
: public Interface::Ftc::MountingPointPlanModifyReplyHandler
{
public:
explicit MountingPointSelector(const std::shared_ptr<Interface::Dtc> &dtc, const std::shared_ptr<Interface::Ftc> &ftc, const std::shared_ptr<ForeignDataInterface> &ismDataIfc, LtsUtils::RequestHelper *requestHelper, LOGGER_T logger);
virtual ~MountingPointSelector() = default;
virtual void addMountingPoints(const QVector<int32_t> &mountingPointIds, const QMap<int32_t, MountingPointState> &states, QWidget *parentWidget) = 0;
void onMountingPointPlanModifyReply(const Core::FunctionReplyObject &replyObject) override final;
protected: //methods
void startModifyRequest(const std::vector<MountingPointPlan> &data);
protected: // attributes
std::shared_ptr<ForeignDataInterface> m_ismDataIfc;
std::shared_ptr<Interface::Ftc> m_ftc;
std::shared_ptr<Interface::Dtc> m_dtc;
LtsUtils::RequestHelper *m_requestHelper;
LOGGER_T m_logger;
};
} // namespace InfrastructureManagement