#include <QObject>
-#include "route.h"
-
-class NetworkAccessManager;
class QNetworkReply;
-class QNetworkRequest;
class QUrl;
+class GeoCoordinate;
+class NetworkAccessManager;
+class Route;
+
/**
* @brief RoutingService class for communicating with CloudMade server
* and parsing routing data
*
-* @author Henri Lampela
+* @author Henri Lampela - henri.lampela@ixonos.com
* @author Sami Rämö - sami.ramo@ixonos.com
*/
class RoutingService : public QObject
Q_OBJECT
public:
-
/**
* @brief Default constructor
*
*/
RoutingService(QObject *parent = 0);
- /**
- * @brief Destructor
- *
- */
- ~RoutingService();
-
/*******************************************************************************
* MEMBER FUNCTIONS AND SLOTS
******************************************************************************/
* @param from Start point of the route
* @param to End point of the route
*/
- void requestRoute(QPointF from, QPointF to);
+ void requestRoute(const GeoCoordinate &from, const GeoCoordinate &to);
private:
/**
void parseRouteData(const QByteArray &jsonReply);
/**
+ * @brief Request authorization token
+ *
+ */
+ void requestAuthorizationToken();
+
+ /**
* @brief Sends http request
*
* @param url destination
* SIGNALS
******************************************************************************/
signals:
-
/**
* @brief Signals error
*
*
* @param route Route item containing parsed route details
*/
- void routeParsed(Route route);
+ void routeParsed(Route &route);
/*******************************************************************************
* DATA MEMBERS
******************************************************************************/
private:
- QList<QNetworkReply *> m_currentRequests; ///< List of current http requests
+ QString m_pendingRequest; ///< Placeholder for pending route request
+ QString m_token; ///< Placeholder for authentication token
- NetworkAccessManager *m_networkManager; ///< Pointer to QNetworkAccessManager
+ NetworkAccessManager *m_networkManager; ///< Pointer to QNetworkAccessManager
};
#endif // ROUTINGSERVICE_H