/** *@RDE_HEADER@ * GUI Plugin for Building- Info * $Id$ * $HeadURL$ * $Author$ * Created by hjl, SLSE, 2017-04-05 */ #pragma once // Buildings #include "info_dialog_base.h" // DDS #include #include // HTTP Request #include class QTimer; class QUrl; namespace Ui { class EgcuOperationalDialog; } namespace Buildings { // -------------------------------------------------------- // BuildingInfoDialog // -------------------------------------------------------- class EgcuOperationalDialog : public InfoDialogBase { Q_OBJECT public: explicit EgcuOperationalDialog(int mountPointId, const QString &menuGroup, QWidget *parent = nullptr); ~EgcuOperationalDialog(); bool init(LtsSession::LtsSession *session) override; QString egcuName() const { return m_egcuName; } QString buildingDisplayName() const override { return egcuName(); } private: void retranslate() override; void showBuildingInfos() override; void startRequest(const QUrl &requestedUrl); void showEgcuInfos(); private slots: bool apply() override; void onUpdateState(); void httpFinished(); void onInstrumentationAssetChanged(const InfrastructureManagement::InstrumentationAsset &data, DataModification modType); void onMountPointAssetChanged(const InfrastructureManagement::MountingPointAsset &data, DataModification modType); private: Ui::EgcuOperationalDialog *m_ui = nullptr; QHash m_instrumentationAssets; // key = assetId int m_assetId = 0; int m_mountPointId = 0; QNetworkAccessManager m_qnam; bool m_httpRequestAborted = false; QString m_host; QString m_user; QString m_passwd; QString m_egcuName; QTimer *m_stateTimer = nullptr; }; } // namespace Buildings