/** * @RDE_HEADER@ * Handle aes filter data * $Id$ * $HeadURL$ * $Author$ * Created by Christian Ehrlicher, SLSE, 2017-06-16 */ #pragma once #include #include #include #include "logger.h" namespace OperatorManagement { class DatabaseInterface; class DdsHandler; class MainHandler; class HandlerActiveApps final : protected Interface::Fts::ActiveAppUpdateRequestHandler , protected Interface::Fts::ActiveAppRemoveRequestHandler { public: explicit HandlerActiveApps(OperatorManagement::MainHandler *mainHandler); ~HandlerActiveApps(); bool init(); void cleanupOperator(int operatorId); private: void cleanup(); void removeZombieEntry(const ActiveApp &request); void onActiveAppUpdateRequest(const rti::core::SampleIdentity &cookie, const ActiveApp &request) override; void onActiveAppRemoveRequest(const rti::core::SampleIdentity &cookie, const Core::RemoveElementRequest &request) override; Core::FunctionReplyObject activeAppUpdateRequest(const ActiveApp &request); Core::FunctionReplyObject activeAppRemoveRequest(const Core::RemoveElementRequest &request); std::shared_ptr dts() const; std::shared_ptr fts() const; private: QHash m_activeApps; MainHandler *m_mainHandler; LOGGER_T m_logger; }; }