/** * IsmHandler for WirelessLocationSystem * $Id$ * $HeadURL$ * $Author$ * Created by Christian Ehrlicher, SLSE, 2016-04-14 */ #pragma once #include #include #include "logger.h" #include #include #include namespace WirelessLocationSystem { class MainHandler; class IsmHandler : public QObject { Q_OBJECT public: explicit IsmHandler(QObject *parent = nullptr); bool init(MainHandler *mainHandler); int buildingIdFromExternalWlsId(int externalWlsId) const { return m_externalWlsId2MseId.value(externalWlsId, -1); } int roomIdFromRoomNumber(int buildingId, int roomNumber) const { return m_mseId2RoomId.value(buildingId).value(roomNumber, -1); } private Q_SLOTS: void onMainStructureElementChanged(const InfrastructureManagement::MainStructureElement &data, DataModification modType); private: // QMap QHash m_mainStructureElements; // QMap QHash m_externalWlsId2MseId; // QMap> QHash> m_mseId2RoomId; std::shared_ptr m_dtcIsm; LOGGER_T m_logger; }; } // namespace WirelessLocationSystem