HttpFetcher helper class for simple data fetch.
[yandex-traffic] / traffic.cpp
1 #include <QtCore>
2 #include "traffic.hpp"
3
4
5 // --------------------------------------------------
6 // TrafficInfo
7 // --------------------------------------------------
8 TrafficInfo::TrafficInfo ()
9 {
10 }
11
12
13 // --------------------------------------------------
14 // ExtendedTrafficInfo
15 // --------------------------------------------------
16 ExtendedTrafficInfo::ExtendedTrafficInfo ()
17 {
18 }
19
20
21 // --------------------------------------------------
22 // Traffic
23 // --------------------------------------------------
24 Traffic::Traffic ()
25     : QObject ()
26 {
27     connect (&_fetcher, SIGNAL (done (const QByteArray&)),
28              SLOT (fetchDone (const QByteArray&)));
29 }
30
31 // Perform asyncronous refresh of traffic information. If another update
32 // request is in progress, new is discarded. If update request finished
33 // successfully, updated() signal called.
34 void Traffic::update ()
35 {
36     if (_fetcher.busy ())
37         return;
38
39     _fetcher.fetch ("http://trf.maps.yandex.net/trf/stat.xml");
40 }
41
42
43 void Traffic::fetchDone (const QByteArray& data)
44 {
45     printf ("Got %d bytes of data\n", data.size ());
46 //    printf ("Data:\n%s\n", data.data ());
47     updated ();
48 }
49