/** * Handler for all Language HMI objects * $Id$ * $HeadURL$ * $Author$ * Created by Hanna E. Rathje, SLSE, 2015-09-03 */ #pragma once #include #include "aes_db.h" #include "handler_base.h" namespace AreaEffectSimulation { class ObjectDangerArea; class HandlerDangerArea final : public HandlerBase , protected Interface::Fts::DangerAreaModifyRequestHandler , protected Interface::Fts::DangerAreaRemoveRequestHandler { Q_OBJECT public: explicit HandlerDangerArea(MainHandler *mainHandler); ~HandlerDangerArea() = default; bool init(); int totalAreas() const override { return -1; } int totalAreasCentral() const override { return -1; } void recountActiveAreas() override {} Core::FunctionReplyObject dangerAreaModifyRequest(const DangerAreaModifyRequest &request); Core::FunctionReplyObject dangerAreaCreateRequest(const DangerAreaModifyRequest &request); bool dangerAreaRemoveRequest(const Core::RemoveElementRequest request); bool getDangerAreaByAssociatedAesId(const int &id, Database::AesDangerArea *dangerArea); private: void onDangerAreaModifyRequest(const rti::core::SampleIdentity &cookie, const DangerAreaModifyRequest &request) override; void onDangerAreaRemoveRequest(const rti::core::SampleIdentity &cookie, const Core::RemoveElementRequest &request) override; private slots: private: QMap m_dangerAreaObjMap; // Key = DangerAreaId }; }