/** * 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" #include "object_recon_area.h" namespace AreaEffectSimulation { class HandlerReconArea final : public HandlerBase , protected Interface::Fts::ReconAreaModifyRequestHandler , protected Interface::Fts::ReconAreaRemoveRequestHandler { Q_OBJECT public: explicit HandlerReconArea(MainHandler *mainHandler); ~HandlerReconArea() = default; bool init(); void recountActiveAreas() override {} Core::FunctionReplyObject reconAreaModifyRequest(const ReconAreaModifyRequest &request); Core::FunctionReplyObject reconAreaModifyGeometryRequest(const ReconAreaModifyRequest &request); bool contains(int id) { return m_objectMap.contains(id); } Core::FunctionReplyObject removeObject(int id); Core::FunctionReplyObject switchTo(int id, AesEffectState effectState); Core::FunctionReplyObject activateObjectOffset(int id, qint64 msecs); ObjectReconArea* getItem(int id) const { return m_objectMap.value(id); } Core::FunctionReplyObject modifyPartyParticipant(qint32 itemId, qint32 partyId, qint32 participantId); private: Core::FunctionReplyObject reconAreaCreateRequest(const ReconAreaModifyRequest &request); void onReconAreaModifyRequest(const rti::core::SampleIdentity &cookie, const ReconAreaModifyRequest &request) override; void onReconAreaRemoveRequest(const rti::core::SampleIdentity &cookie, const Core::RemoveElementRequest &request) override; int totalAreas() const override { return -1; } int totalAreasCentral() const override { return -1; } QMap m_objectMap; }; }