#include <simgear/math/sg_random.h>
#include <simgear/timing/sg_time.hxx>
+#include <simgear/timing/lowleveltime.h>
+
#include <Main/fg_props.hxx>
#include "fgmetar.hxx"
-FGMetar::FGMetar(const string& icao, const string& proxy, const string& port, const string& auth) :
- SGMetar(icao, proxy, port, auth, _rq_time = globals->get_time_params()->get_cur_time()),
+FGMetar::FGMetar(const string& icao) :
+ SGMetar(icao),
_snow_cover(false)
{
int i;
_min_visibility.set(12000.0);
vector<SGMetarCloud> cv = _clouds;;
- if (!cv.size()) {
+ if (cv.empty()) {
SGMetarCloud cl;
- cl.set(5500 * SG_FEET_TO_METER, 2);
+ cl.set(5500 * SG_FEET_TO_METER, SGMetarCloud::COVERAGE_SCATTERED);
_clouds.push_back(cl);
}
}
vector<SGMetarCloud>::iterator cloud, cv_end = cv.end();
for (i = 0, cloud = cv.begin(); cloud != cv_end; ++cloud, i++) {
- int cov = cloud->getCoverage();
- if (cov == -1)
- cov = 0;
+ SGMetarCloud::Coverage cov = cloud->getCoverage();
+ if (cov == SGMetarCloud::COVERAGE_NIL)
+ cov = SGMetarCloud::COVERAGE_CLEAR;
double alt = cloud->getAltitude_ft();
if (alt == SGMetarNaN)
_time = sgTimeGetGMT(_year - 1900, _month - 1, _day, _hour, _minute, 0);
- SG_LOG(SG_GENERAL, SG_INFO, _data);
+ SG_LOG(SG_ENVIRONMENT, SG_INFO, _data);
if (_x_proxy)
- SG_LOG(SG_GENERAL, SG_INFO, "METAR from proxy");
+ SG_LOG(SG_ENVIRONMENT, SG_INFO, "METAR from proxy");
else
- SG_LOG(SG_GENERAL, SG_INFO, "METAR from weather.noaa.gov");
+ SG_LOG(SG_ENVIRONMENT, SG_INFO, "METAR from weather.noaa.gov");
}
long FGMetar::getAge_min() const
{
- time_t now = _x_proxy ? _rq_time : time(0);
+ time_t now = _x_proxy ? _rq_time : sgGMTime();
return (now - _time) / 60;
}