/** * Handler for all Language HMI objects * $Id$ * $HeadURL$ * $Author$ * Created by Hanna E. Rathje, SLSE, 2015-09-03 */ #pragma once #include #include #include "dds_handler.h" #include "logger.h" #include "main_handler.h" #include // HTTP Request #include #include #include namespace AudioVideoManagement { class ObjectVideoReceiver; class HandlerVideoReceiver : public QObject , protected Interface::Fts::VideoReceiverModifyRequestHandler , protected Interface::Fts::VideoReceiverModifyActiveRequestHandler , protected Interface::Fts::VideoReceiverModifyAvsRequestHandler , protected Interface::Fts::VideoReceiverRemoveRequestHandler { Q_OBJECT public: HandlerVideoReceiver(MainHandler *mainHandler, Interface::Dts *dts, Interface::Fts *fts, DatabaseInterface *db); ~HandlerVideoReceiver(); bool init(); private slots: void onGetStatus(); void onHttpFinished(QNetworkReply *reply); private: void onVideoReceiverModifyRequest(const rti::core::SampleIdentity &cookie, const VideoReceiverModifyRequest &request) override; void onVideoReceiverModifyActiveRequest(const rti::core::SampleIdentity &cookie, const VideoReceiverModifyActiveRequest &request) override; void onVideoReceiverModifyAvsRequest(const rti::core::SampleIdentity &cookie, const VideoReceiverModifyAvsRequest &request) override; void onVideoReceiverRemoveRequest(const rti::core::SampleIdentity &cookie, const Core::RemoveElementRequest &request) override; Core::FunctionReplyObject videoReceiverCreateRequest(const VideoReceiverModifyRequest &request); Core::FunctionReplyObject videoReceiverModifyRequest(const VideoReceiverModifyRequest &request); Core::FunctionReplyObject videoReceiverModifyActiveRequest(const VideoReceiverModifyActiveRequest &request); Core::FunctionReplyObject videoReceiverModifyAvsRequest(const VideoReceiverModifyAvsRequest &request); VideoReceiver convert(const VideoReceiverModifyRequest &request); VideoReceiver convertActive(const VideoReceiverModifyActiveRequest &request); VideoReceiver convertAvs(const VideoReceiverModifyAvsRequest &request); void startRequest(const QUrl &requestedUrl); void updateObject(const int key, const double powerLevel, const double snr, const bool lockstatus, const int frequency); void activateChannel(const int channelId, const bool activate); void checkActiveState(const int key, const int remuxInputMask); void onSendHttpRequest(const int key); private: QMap m_videoReceiverObjMap; // Key = id VideoReceiver MainHandler *m_mainHandler; Interface::Dts *m_dts; Interface::Fts *m_fts; DatabaseInterface *m_db; // HTTP Request QMap m_receiver; // key=Hostname index = id vom videoReceiverObj QNetworkAccessManager *m_qNetworkAccessManager; // QNetworkReply *m_reply; bool m_httpRequestAborted; QTimer m_httpRequestTimer; LOGGER_T &m_logger; }; }