/** * Handler for borderline objects * $Id$ * $HeadURL$ * $Author$ * Created by hjl, SLSE, 2017-06-14 */ #pragma once #include #include "object_borderline.h" #include "handler_base.h" namespace AreaEffectSimulation { class ObjectBorderline; class HandlerBorderline final : public HandlerBaseTmpl , protected Interface::Fts::BorderlineModifyRequestHandler , protected Interface::Fts::BorderlineRemoveRequestHandler { Q_OBJECT public: explicit HandlerBorderline(MainHandler *mainHandler); ~HandlerBorderline(); bool init(); int totalAreas() const override { return -1; } int totalAreasCentral() const override { return -1; } void recountActiveAreas() override {} private: // FTS methods void onBorderlineModifyRequest(const rti::core::SampleIdentity &cookie, const BorderlineModifyRequest &request) override; Core::FunctionReplyObject borderlineCreateRequest(const BorderlineModifyRequest &request); Core::FunctionReplyObject borderlineModifyRequest(const BorderlineModifyRequest &request); void onBorderlineRemoveRequest(const rti::core::SampleIdentity &cookie, const Core::RemoveElementRequest &request) override final; }; } // Namespace AreaEffectSimulation