/** * Handler for all Language HMI objects * $Id$ * $HeadURL$ * $Author$ * Created by Hanna E. Rathje, SLSE, 2015-09-03 */ #pragma once #include "dds_handler.h" #include "logger.h" #include "main_handler.h" #include #include #include #include #include namespace AudioVideoManagement { class ObjectVideoTeam; class ActiveExercises; class ExerciseContext; class DefaultAvMenus; class HandlerVideoTeam : public QObject , protected Interface::Fts::VideoTeamModifyRequestHandler { Q_OBJECT public: HandlerVideoTeam(Interface::Dts *dts, Interface::Fts *fts, DatabaseInterface *db, ActiveExercises *activeExercises); ~HandlerVideoTeam(); bool init(); QMap videoTeams() const; signals: /** Signalled after device_config modifications. */ void avDbReloadNeeded(); void mvsChanged(); private: void onVideoTeamModifyRequest(const rti::core::SampleIdentity &cookie, const VideoTeamModifyRequest &request) override; Core::FunctionReplyObject videoTeamCreateRequest(const VideoTeamModifyRequest &request); Core::FunctionReplyObject videoTeamModifyRequest(const VideoTeamModifyRequest &request); bool needDeviceConfig(const VideoTeam &videoTeam) const; void onContextActivated(const ExerciseContext &context); void onContextDeactivated(const ExerciseContext &context); private: class DeviceConfig; QMap m_videoTeamObjMap; Interface::Dts *m_dts; Interface::Fts *m_fts; DatabaseInterface *m_db; ActiveExercises *m_activeExercises; LOGGER_T m_logger; std::unique_ptr m_deviceConfig; }; } // namespace AudioVideoManagement