Files
qt5-legatus-legacy/Lts/Services/OperatorManagement/handler_active_apps.h
T
2026-08-13 18:33:10 +02:00

52 lines
1.4 KiB
C++
Executable File

/**
* @RDE_HEADER@
* Handle aes filter data
* $Id$
* $HeadURL$
* $Author$
* Created by Christian Ehrlicher, SLSE, 2017-06-16
*/
#pragma once
#include <QHash>
#include <OperatorManagement/opm_dts.h>
#include <OperatorManagement/opm_fts.h>
#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<Interface::Dts> dts() const;
std::shared_ptr<Interface::Fts> fts() const;
private:
QHash<int /*id*/, ActiveApp> m_activeApps;
MainHandler *m_mainHandler;
LOGGER_T m_logger;
};
}