#include <QtXml>
#include "traffic.hpp"
+#include "log.hpp"
// --------------------------------------------------
}
+void TrafficInfo::dump ()
+{
+ Log::instance ()->add (QString ("TrafficInfo (%1): time = %2").arg (_valid ? "valid" : "not valid").arg (_localtime));
+}
+
+
// --------------------------------------------------
// ExtendedTrafficInfo
// --------------------------------------------------
}
+void ExtendedTrafficInfo::dump ()
+{
+ TrafficInfo::dump ();
+ Log::instance ()->add (QString ("ExtTrafficInfo: level = %1, hint = %2").arg (_level).arg (_hint));
+}
+
+
// --------------------------------------------------
// Traffic
// --------------------------------------------------
SLOT (fetchDone (const QByteArray&)));
}
+
// Perform asyncronous refresh of traffic information. If another update
// request is in progress, new is discarded. If update request finished
// successfully, updated() signal called.
void Traffic::update ()
{
- if (_fetcher.busy ())
- return;
-
+ Log::instance ()->add ("Traffic::update: Request status download");
_fetcher.fetch ("http://trf.maps.yandex.net/trf/stat.xml");
}
void Traffic::fetchDone (const QByteArray& data)
{
- printf ("Got %d bytes of data\n", data.size ());
// parse data got
- if (parse_traffic_data (QString::fromUtf8 (data.data ())))
+ if (parse_traffic_data (QString::fromUtf8 (data.data ()))) {
+ Log::instance ()->add ("Traffic::fetchDone: data parsed successfully");
updated ();
+ }
else
- printf ("Parse failed\n");
+ Log::instance ()->add ("Traffic::fetchDone: data parse error");
}
e = n.toElement ();
if (!e.isNull () && e.tagName () == "region") {
s = e.attribute ("id");
- printf ("Process region %s\n", s.toUtf8 ().data ());
try {
// Check that it is an extended traffic info
if (!e.firstChildElement ("level").isNull ()) {
}
}
catch (const QString& msg) {
- printf ("Region %s parse failed: %s\n", s.toUtf8 ().data (), msg.toUtf8 ().data ());
}
}
n = n.nextSibling ();
else
return it.value ();
}
+