#include "httpclient.h"
#include "routedata.h"
+#include "location.h"
#include "ui_zouba.h"
QString homeKey( "taivaanvuohentie%207%2Chelsinki" );
QString workKey( "it%E4merenkatu%2011%2Chelsinki" );
- QString workX( "2551042" );
- QString workY( "6672829" );
- QString homeX( "2549183" );
- QString homeY( "6672570" );
}
HttpClient::HttpClient( Ui::MainWindow *ui ) :
QUrl fullUrl( ytv );
QStringList a;
- a << workX << workY;
+ a << q->fromLocation().x << q->fromLocation().y;
QStringList b;
- b << homeX << homeY;
+ b << q->toLocation().x << q->toLocation().y;
fullUrl.addQueryItem( "a", a.join(",") );
fullUrl.addQueryItem( "b", b.join(",") );
ui->BusNoDisplay->setText( routeData.lineCode );
ui->TimeDisplay->setText( routeData.arrivalTime );
}
+
+void HttpClient::setFromLocation( Location fromLocation )
+{
+ q->setFromLocation( fromLocation );
+}
+
+Location HttpClient::fromLocation()
+{
+ return q->fromLocation();
+}
+
+void HttpClient::setToLocation( Location toLocation )
+{
+ q->setToLocation( toLocation );
+}
+
+Location HttpClient::toLocation()
+{
+ return q->toLocation();
+}
+
#include "ui_zouba.h"
+#include "location.h"
+
#include <QObject>
#include <QNetworkReply>
#include <QNetworkAccessManager>
HttpClient( Ui::MainWindow *ui );
~HttpClient();
+ Q_PROPERTY(Location fromLocation READ fromLocation WRITE setFromLocation);
+ Q_PROPERTY(Location toLocation READ toLocation WRITE setFromLocation);
+
+ /*!
+ * \brief Gets the route data from the server
+ */
void get();
+ /*!
+ * \brief Sets the from location
+ * \param fromLocation The from location
+ */
+ void setFromLocation( Location fromLocation );
+
+ /*!
+ \brief Get the from location
+ \return The from location
+ */
+ Location fromLocation();
+
+ /*!
+ * \brief Sets the to location
+ * \param toLocation The to location
+ */
+ void setToLocation( Location toLocation );
+
+ /*!
+ \brief Get the to location
+ \return The to location
+ */
+ Location toLocation();
+
public Q_SLOTS:
void replyFinished(QNetworkReply*);
HttpClientPrivate *q;
QNetworkAccessManager *manager;
Ui::MainWindow *ui;
-
};
#endif // HTTPCLIENT_H
#include "httpclient_p.h"
+#include "location.h"
#include <QXmlStreamReader>
#include <QDebug>
-HttpClientPrivate::HttpClientPrivate( QObject *parent )
+HttpClientPrivate::HttpClientPrivate( QObject *parent ) :
+ m_fromLocation(0,0),
+ m_toLocation(0,0)
{
}
return retVal;
}
+
+void HttpClientPrivate::setFromLocation( Location fromLocation )
+{
+ m_fromLocation = fromLocation;
+}
+
+Location HttpClientPrivate::fromLocation()
+{
+ return m_fromLocation;
+}
+
+void HttpClientPrivate::setToLocation( Location toLocation )
+{
+ m_toLocation = toLocation;
+}
+
+Location HttpClientPrivate::toLocation()
+
+{
+ return m_toLocation;
+}
#include "routedata.h"
+#include "location.h"
+
#include <QObject>
class HttpClientPrivate: public QObject
HttpClientPrivate( QObject *parent=0 );
~HttpClientPrivate();
+ Q_PROPERTY(Location fromLocation READ fromLocation WRITE setFromLocation);
+ Q_PROPERTY(Location toLocation READ toLocation WRITE setFromLocation);
+
RouteData parseReply( const QByteArray &reply );
+
+ /*!
+ * \brief Sets the from location
+ * \param fromLocation The from location
+ */
+ void setFromLocation( Location fromLocation );
+
+ /*!
+ \brief Get the from location
+ \return The from location
+ */
+ Location fromLocation();
+
+ /*!
+ * \brief Sets the to location
+ * \param toLocation The to location
+ */
+ void setToLocation( Location toLocation );
+
+ /*!
+ \brief Get the to location
+ \return The to location
+ */
+ Location toLocation();
+
+private:
+ Location m_fromLocation;
+ Location m_toLocation;
};
#endif // HTTPCLIENT_P_H
--- /dev/null
+#ifndef LOCATION_H
+#define LOCATION_H
+
+class Location
+{
+public:
+ Location( QString x, QString y ) :
+ x(x),
+ y(y)
+ {
+ };
+
+ QString x;
+ QString y;
+};
+#endif // LOCATION_H
#include "httpclient.h"
#include "ui_zouba.h"
+#include "location.h"
+
#include <QDebug>
+namespace {
+ Location home( "2549183", "6672570" );
+ Location work( "2551042", "6672829" );
+}
+
int main(int argc, char *argv[] )
{
QApplication app(argc, argv);
HttpClient httpClient( &ui );
+ httpClient.setFromLocation( work );
+ httpClient.setToLocation( home );
+
httpClient.get();
ui.TimeDisplay->setText( "HELLO" );
QCOMPARE( routeData.arrivalTime, QString( "1834" ) );
}
+void Ut_HttpClient::testSetFromLocation()
+{
+ Location work( "2551042", "6672829" );
+ m_subject->setFromLocation( work );
+ QCOMPARE( work.x, m_subject->fromLocation().x );
+ QCOMPARE( work.y, m_subject->fromLocation().y );
+}
+
+void Ut_HttpClient::testSetToLocation()
+{
+ Location work( "2551042", "6672829" );
+ m_subject->setToLocation( work );
+ QCOMPARE( work.x, m_subject->toLocation().x );
+ QCOMPARE( work.y, m_subject->toLocation().y );
+}
+
QTEST_MAIN(Ut_HttpClient)
void initTestCase();
void cleanupTestCase();
void testParseReply();
+ void testSetFromLocation();
+ void testSetToLocation();
private:
HttpClientPrivate *m_subject;