Files
qt5-legatus-legacy/Lts/Services/AreaEffectSimulation/meteo_data_provider.h
T
2026-08-13 18:33:10 +02:00

36 lines
932 B
C++
Executable File

/**
* Subscribe to MeteoDataManagement and provide the correct weather for the given position
* $Id$
* $HeadURL$
* $Author$
*/
#pragma once
#include <QObject>
#include <QMap>
#include <MeteoDataManagement/mdm_dtc.h>
namespace AreaEffectSimulation
{
class MainHandler;
class MeteoDataProvider : public QObject
{
Q_OBJECT
public:
explicit MeteoDataProvider(MainHandler *mainHandler);
~MeteoDataProvider();
MeteoDataManagement::MeteoData getStaticWeather();
MeteoDataManagement::MeteoData getNearestWeather(const Core::GeoPosition2D &pos);
private Q_SLOTS:
void meteoDataChanged(const MeteoDataManagement::MeteoData &data, DataModification modType);
private:
void initWeatherData();
private:
MainHandler *m_mainHandler;
std::shared_ptr<MeteoDataManagement::Interface::Dtc> m_mdmDtc;
QMap<int, MeteoDataManagement::MeteoData> m_meteoData;
int m_staticWeatherId;
};
} // namespace AreaEffectSimulation