/** * @RDE_HEADER@ * The ElokaDialog shows all electronic warfare and offers options to creating, updating and deleting * $Id$ * $HeadURL$ * $Author$ * Created by Astrid Mueller, SGAS, 2017-10-17 */ #pragma once #include #include #include #include #include #include #include namespace Ui { class ElokaDialog; } namespace AudioVideoManagement { class AvaSession; class StreamNameMapping; class ElokaDialog : public LtsWidgets::LtsDialog { Q_OBJECT public: ElokaDialog(LtsSession::LtsSession *session, AvaSession *avaSession, Interface::Dtc *avmDtc, StreamNameMapping *streamNameMapping, const QString &menuGroup, QWidget *parent = nullptr); ~ElokaDialog(); private slots: void onAvaSessionEstablished(); void onAvaSessionDisconnected(); void onAddClicked(); void onEditClicked(); void onRemoveClicked(); void onSelectionChanged(); void onPrint(); private: void retranslate() override; void setAvaSessionStatus(bool established); void getUsedRadioCircuits(); bool isCnr(ElokaData& data, const QMultiMap& userProfile); bool isTvc(ElokaData& data, const QMultiMap& userProfile); bool isAnnouncement(ElokaData& data); void onQueryElokaResponse(const QVector &&eloka); void tableColumnOrganiserSetting() override; private: Ui::ElokaDialog *m_ui; QString m_menuGroup; ElokaModel *m_elokaModel; LtsSession::LtsSession *m_session; AvaSession *m_avaSession; QueryElokaListCollector m_elokaListCollector; StreamNameMapping *m_streamNameMapping; Interface::Dtc *m_avmDtc; bool m_avaSessionEstablished; std::vector m_usedCnr; std::vector m_usedTvc; std::vector m_usedAnnouncement; LOGGER_T m_logger; }; } // namespace