/** * @RDE_HEADER@ * Routing Test - Watch for Exercises and create routes * $Id$ * $HeadURL$ * $Author$ */ #pragma once #include #include #include #include #include #include "logger.h" namespace RoutingService { class PartitionHandler : public QObject { Q_OBJECT public: explicit PartitionHandler(const std::shared_ptr &ddsConnector, QObject *parent = nullptr); ~PartitionHandler(); bool init(); private: void partitionModified(const QString &partitionName, const ExerciseManagement::ExerciseState &state); void partitionRemoved(const QString &partitionName); private Q_SLOTS: void onExerciseChanged(const ExerciseManagement::Exercise &data, DataModification modType); void onDestroyTimerTimeout(); Q_SIGNALS: void createSession(const QString &partitionNameSv, const QString &partitionNameWs); void destroySession(const QString &partitionNameSv, const QString &partitionNameWs); private: std::shared_ptr m_exmDtc; QMap m_destroyMap; QSet m_activeSessions; QTimer *m_destroyTimer; NGL::INGLLogger &m_logger; }; } // namespace RoutingService