7 #include <QNetworkAccessManager>
8 #include <QNetworkReply>
12 #include <QStringList>
14 #include <QXmlStreamReader>
19 q( new RoutePrivate( this ) ),
20 manager( new QNetworkAccessManager(this) )
22 connect( manager, SIGNAL( finished(QNetworkReply*) ), this, SLOT( replyFinished(QNetworkReply*) ) );
31 void Route::getRoute()
36 a << q->fromLocation().x() << q->fromLocation().y();
38 b << q->toLocation().x() << q->toLocation().y();
40 fullUrl.addQueryItem( "a", a.join(",") );
41 fullUrl.addQueryItem( "b", b.join(",") );
42 fullUrl.addQueryItem( "user", username );
43 fullUrl.addQueryItem( "pass", password );
45 manager->get( QNetworkRequest( fullUrl ) );
48 void Route::replyFinished( QNetworkReply * reply )
50 RouteData routeData = q->parseReply( reply->readAll() );
52 emit( routeReady( routeData ) );
55 void Route::setFromLocation( const Location &location )
57 if ( location.isValid() ) {
58 q->setFromLocation( location );
60 Location *locationPtr = qobject_cast<Location*>(sender());
62 q->setFromLocation( *locationPtr );
70 const Location &Route::fromLocation()
72 return q->fromLocation();
75 void Route::setToLocation( const Location &location )
77 if ( location.isValid() ) {
78 q->setToLocation( location );
80 Location *locationPtr = qobject_cast<Location*>(sender());
82 q->setToLocation( *locationPtr );
83 if ( q->fromValid() ) {
90 const Location &Route::toLocation()
92 return q->toLocation();