#include <QObject>
#include <QHttp>
+#include <QHash>
class QByteArray;
class ConnectionSettings;
/*!
* This class uses the QHttp class to make HTTP requests. HTTP responses are
* returned as QByteArray.
- *
- * NOTE! Currently this class does NOT support multiple simultaneuos requests.
*/
class Communication : public QObject
{
virtual ~Communication();
//! Returns the response of a request identified by aRequestId.
/*!
- * NOTE! Currently the last request response is returned as the multiple
- * request support is not implemented.
* \param aRequestId Request id number.
*/
- const QByteArray& response( int aRequestId );
+ QByteArray* response( int aRequestId );
//! Makes a HTTP request to the server defined in the constructor.
/*!
* \param aRequestId Request id number.
* \param aError Error code of the request finished.
*/
- void requestFinished( int aRequestId, QHttp::Error aError );
+ void requestFinished( int aRequestId, int aError );
protected slots:
//! Connected to QHttp::readyRead to read the response buffer.
*/
QHttp* iHttp;
/*!
- * Response buffer
+ * QHash of requests and response buffers
*/
- QByteArray* iResponse;
+ QHash<int, QByteArray*> iResponses;
/*!
* ID number of a request currently ongoing
*/