/** * Handler for all off route mines * $Id$ * $HeadURL$ * $Author$ * Created by Hanna E. Rathje, SLSE, 2023-07-13 */ #pragma once #include #include "object_off_route_mine.h" #include "handler_base.h" #include "aes_db.h" namespace AreaEffectSimulation { class HandlerOffRouteMine final : public HandlerBaseTmpl , protected Interface::Fts::OffRouteMineModifyRequestHandler , protected Interface::Fts::OffRouteMineRemoveRequestHandler , protected Interface::Fts::OffRouteMineTriggerRequestHandler { Q_OBJECT public: explicit HandlerOffRouteMine(MainHandler *mainHandler); ~HandlerOffRouteMine() = default; bool init(); private: void onOffRouteMineModifyRequest(const rti::core::SampleIdentity &cookie, const OffRouteMineModifyRequest &request) override; void onOffRouteMineTriggerRequest(const rti::core::SampleIdentity &cookie, const OffRouteMineTriggerRequest &request) override; Core::FunctionReplyObject offRouteMineCreateRequest(const OffRouteMineModifyRequest &request); Core::FunctionReplyObject offRouteMineModifyRequest(const OffRouteMineModifyRequest &request); Core::FunctionReplyObject offRouteMineTriggerRequest(const OffRouteMineTriggerRequest &request); void onOffRouteMineRemoveRequest(const rti::core::SampleIdentity &cookie, const Core::RemoveElementRequest &request) override; int totalAreas() const override; int totalAreasCentral() const override; }; }