Change MetarSet to MetarList

CMetarSet was implemented as a collection. This only makes sense for
values which have one member variable only or hardly ever change. METARs
often change and therefore a collection didn't make much sense.
Additional profiling showed that a sequence has better algorithmic
performance.

refs #689
This commit is contained in:
Roland Winklmeier
2016-06-28 16:31:14 +02:00
parent 319b18bf98
commit 28ec2be1ca
10 changed files with 32 additions and 32 deletions

View File

@@ -51,7 +51,7 @@ namespace BlackCore
Q_UNUSED(s);
}
CMetarSet CVatsimMetarReader::getMetars() const
CMetarList CVatsimMetarReader::getMetars() const
{
QReadLocker l(&m_lock);
return m_metars;
@@ -119,9 +119,9 @@ namespace BlackCore
return;
}
CMetarSet metars;
QString invalidMetars;
int invalidLineCount = 0;
CMetarList metars;
QTextStream lineReader(&metarData);
while (!lineReader.atEnd())
{

View File

@@ -18,7 +18,7 @@
#include "blackcore/threadedreader.h"
#include "blackmisc/weather/metar.h"
#include "blackmisc/weather/metardecoder.h"
#include "blackmisc/weather/metarset.h"
#include "blackmisc/weather/metarlist.h"
#include <QObject>
@@ -42,7 +42,7 @@ namespace BlackCore
//! Get METARs
//! \threadsafe
virtual BlackMisc::Weather::CMetarSet getMetars() const;
virtual BlackMisc::Weather::CMetarList getMetars() const;
//! Get METAR for airport
//! \threadsafe
@@ -53,8 +53,8 @@ namespace BlackCore
virtual int getMetarsCount() const;
signals:
//! METARs have been read and converted to BlackMisc::Weather::CMetarSet
void metarsRead(const BlackMisc::Weather::CMetarSet &metars);
//! METARs have been read and converted to BlackMisc::Weather::CMetarList
void metarsRead(const BlackMisc::Weather::CMetarList &metars);
//! Data have been read
void dataRead(BlackMisc::Network::CEntityFlags::Entity entity, BlackMisc::Network::CEntityFlags::ReadState state, int number);
@@ -76,7 +76,7 @@ namespace BlackCore
private:
BlackMisc::Weather::CMetarDecoder m_metarDecoder;
BlackMisc::Weather::CMetarSet m_metars;
BlackMisc::Weather::CMetarList m_metars;
BlackMisc::CSettingReadOnly<BlackCore::Settings::SettingsVatsimMetars> m_settings { this };
};
} // ns