52 lines
1.4 KiB
C++
Executable File
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;
|
|
};
|
|
}
|