/** * @RDE_HEADER@ * SaaDialogModel * $Id$ * $HeadURL$ * $Author$ */ #pragma once #include #include #include #include #include #include #include #include namespace SAAInterfaceAdapterAdler { using namespace SAAUtils; class SaaDialogModel final : public LtsWidgets::LtsAbstractTableModel { Q_OBJECT public: explicit SaaDialogModel(QObject *parent = nullptr); ~SaaDialogModel(); QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override final; bool initModel(LtsSession::LtsSession *session); enum Columns { Id, Name, Connected, IsUseByParty }; /// Ping saas handling void pingAllSaa(); void saaConnected(int assetId, bool state); protected: void stopPing(); void updateView(); void onPartyDataChanged(const ParticipantManagement::Party &data, DataModification modType); void getPartyWithAssetId(int assetId, ParticipantManagement::Party &party)const; private: bool isFiltered(const AssetManagement::Asset &data, DataModification modType) const override; void slotAssetChanged(const AssetManagement::Asset &data, DataModification modType); private: std::shared_ptr m_ppmDtc; std::shared_ptr m_asmDtc; QHash m_saaPingItems; LtsSession::LtsSession *m_session{nullptr}; LOGGER_T m_logger; }; } // namespace InfrastructureManagement