9 #include <QNetworkAccessManager>
10 #include <QNetworkReply>
14 #include <QStringList>
16 #include <QXmlStreamReader>
19 QUrl ytv( "http://api.reittiopas.fi/public-ytv/fi/api/" );
20 QString username( "zouba" );
21 QString password( "caf9r3ee" );
23 QString homeKey( "taivaanvuohentie%207%2Chelsinki" );
24 QString workKey( "it%E4merenkatu%2011%2Chelsinki" );
28 Route::Route( Ui::MainWindow *ui ) :
29 q( new RoutePrivate( this ) ),
30 manager( new QNetworkAccessManager(this) ),
33 connect( manager, SIGNAL( finished(QNetworkReply*) ), this, SLOT( replyFinished(QNetworkReply*) ) );
47 a << q->fromLocation().x << q->fromLocation().y;
49 b << q->toLocation().x << q->toLocation().y;
51 fullUrl.addQueryItem( "a", a.join(",") );
52 fullUrl.addQueryItem( "b", b.join(",") );
53 fullUrl.addQueryItem( "user", username );
54 fullUrl.addQueryItem( "pass", password );
56 manager->get( QNetworkRequest( fullUrl ) );
59 void Route::replyFinished( QNetworkReply * reply )
61 RouteData routeData = q->parseReply( reply->readAll() );
63 ui->BusNoDisplay->setText( parseJOREcode( routeData.lineCode ) );
64 ui->TimeDisplay->setText( routeData.arrivalTime );
67 QString Route::parseJOREcode( const QString &joreCode ) const
69 QString areaTransportTypeCode( joreCode.mid(0,1) );
70 QString lineCode( joreCode.mid(1,4) );
71 QString letterVariant( joreCode.mid(5,1) );
72 QString letterNumberVariant( joreCode.mid(6,1) );
73 QString direction( joreCode.mid(7,1) );
75 return lineCode+letterVariant;
78 void Route::setFromLocation( Location fromLocation )
80 q->setFromLocation( fromLocation );
83 Location Route::fromLocation()
85 return q->fromLocation();
88 void Route::setToLocation( Location toLocation )
90 q->setToLocation( toLocation );
93 Location Route::toLocation()
95 return q->toLocation();