netManager = new QNetworkAccessManager();
myXmlwriter = new XmlWriter();
myXmlreader = new XmlReader();
+ connect(myXmlreader, SIGNAL(userInfo(QStringList*)), this, SLOT(sendUsersInfo(QStringList*)));
}
/**
void HttpClient::requestRegistration()
{
qDebug() << "_requestRegistration" ;
- qDebug() << myMainw->settingsDialog->getRegUserName() << "+" << myMainw->settingsDialog->getRegPassword() << "+" << myMainw->settingsDialog->getRegEmail();
+ qDebug() << myMainw->settingsDialog->registerDialog->getRegUserName() << "+" << myMainw->settingsDialog->registerDialog->getRegPassword() << "+" << myMainw->settingsDialog->registerDialog->getRegEmail();
QBuffer *regbuffer = new QBuffer();
QUrl qurl("http://www.speedfreak-app.com/users/register");
QNetworkReply *currentDownload;
regbuffer->open(QBuffer::ReadWrite);
- myXmlwriter->writeRegistering(regbuffer,
+
+ // Without profile dialog
+ /*myXmlwriter->writeRegistering(regbuffer,
myMainw->settingsDialog->getRegUserName(),
myMainw->settingsDialog->getRegPassword(),
- myMainw->settingsDialog->getRegEmail(),
- "My car is cool");
+ myMainw->settingsDialog->getRegEmail());*/
+ // With profile dialog
+ /*myXmlwriter->writeRegistering(regbuffer,
+ myMainw->settingsDialog->getRegUserName(),
+ myMainw->settingsDialog->getRegPassword(),
+ myMainw->settingsDialog->getRegEmail(),
+ myMainw->settingsDialog->profileDialog->getDescription());
+ myMainw->settingsDialog->profileDialog->getManufacturer(),
+ myMainw->settingsDialog->profileDialog->getType(),
+ myMainw->settingsDialog->profileDialog->getModel(),
+ myMainw->settingsDialog->profileDialog->getDescription(),
+ myMainw->settingsDialog->profileDialog->getPicture());*/
+ // New way: Registerdialog = register + Profiledialog
+ myXmlwriter->writeRegistering(regbuffer,
+ myMainw->settingsDialog->registerDialog->getRegUserName(),
+ myMainw->settingsDialog->registerDialog->getRegPassword(),
+ myMainw->settingsDialog->registerDialog->getRegEmail(),
+ myMainw->settingsDialog->registerDialog->getDescription());
+
qDebug() << "carmainwindow: regbuffer->data(): " << regbuffer->data();
currentDownload = netManager->post(request, ("xml=" + regbuffer->data()));
//connect(currentDownload,SIGNAL(error(QNetworkReply::NetworkError)),myMainw,SLOT(errorFromServer(QNetworkReply::NetworkError)));
//Indicating user
- if(myMainw->settingsDialog)
- myMainw->settingsDialog->setLabelInfoToUser("Reguesting registration from server");
+ if(myMainw->settingsDialog->registerDialog)
+ myMainw->settingsDialog->registerDialog->setLabelInfoToUser("Reguesting registration from server");
regbuffer->close();
}
qDebug() << "_requestTopList";
qDebug() << category;
- QString urlBase = "http://www.speedfreak-app.com/results/list/";
+ QString urlBase = "http://www.speedfreak-app.com/results/list_results/";
QUrl qurl(urlBase + category + "/" + limit);
qDebug() << qurl.toString();
QNetworkRequest request(qurl);
void HttpClient::requestCategories()
{
qDebug() << "_requestCategories" ;
- QUrl qurl("http://www.speedfreak-app.com/results/categories");
+ QUrl qurl("http://www.speedfreak-app.com/results/categories");
qDebug() << qurl.toString();
QNetworkRequest request(qurl);
QNetworkReply *currentDownload;
myMainw->accstart->accRealTimeDialog->resultDialog->setSendServerButtonEnabled();
}
else {
- //qDebug() << "errorcode:" << errorcode << reply->errorString();
-
//Indicating user
if(myMainw->accstart->accRealTimeDialog->resultDialog)
QMessageBox::about(myMainw->accstart->accRealTimeDialog->resultDialog, "Server reply to result sending", "Result received " + reply->readAll());
qDebug() << "_ackOfRegistration";
if(myMainw->settingsDialog)
- myMainw->settingsDialog->setLabelInfoToUser("");
+ myMainw->settingsDialog->registerDialog->setLabelInfoToUser("");
QNetworkReply* reply = qobject_cast<QNetworkReply*>(sender());
errorcode = reply->error();
if(errorcode != 0) {
qDebug() << "errorcode:" << errorcode << reply->errorString();
- if(myMainw->settingsDialog)
- QMessageBox::about(myMainw->settingsDialog, "Server reply to registration",reply->readAll());
+ if(myMainw->settingsDialog->registerDialog)
+ QMessageBox::about(myMainw->settingsDialog->registerDialog, "Server reply to registration",reply->readAll());
}
else {
qDebug() << "errorcode=0" << errorcode << reply->errorString();
- if(myMainw->settingsDialog)
+ if(myMainw->settingsDialog->registerDialog)
{
- QMessageBox::about(myMainw->settingsDialog, "Server reply to registration", "User registration " + reply->readAll());
- myMainw->settingsDialog->clearRegisterLineEdits();
+ QMessageBox::about(myMainw->settingsDialog->registerDialog, "Server reply to registration", "User registration " + reply->readAll());
+ myMainw->settingsDialog->registerDialog->clearRegisterLineEdits();
}
}
}
myMainw->topResultDialog->setLabelInfoToUser("You're not logged! Please register or log in.");
}
else {
- //qDebug() << "errorcode:" << errorcode << reply->errorString();
//QMessageBox::about(myMainw->topResultDialog, "Server reply to requesting categories ", "OK");
if(myMainw->topResultDialog)
myMainw->topResultDialog->setLabelInfoToUser("");
return;
}
myXmlwriter->writeProfileXmlFile(&file, userName,
- myMainw->settingsDialog->profileDialog->getManufacturer(),
- myMainw->settingsDialog->profileDialog->getType(),
- myMainw->settingsDialog->profileDialog->getModel(),
- myMainw->settingsDialog->profileDialog->getDescription(),
- myMainw->settingsDialog->profileDialog->getPicture());
+ myMainw->settingsDialog->registerDialog->getManufacturer(),
+ myMainw->settingsDialog->registerDialog->getType(),
+ myMainw->settingsDialog->registerDialog->getModel(),
+ myMainw->settingsDialog->registerDialog->getDescription(),
+ myMainw->settingsDialog->registerDialog->getPicture());
//Indicating user
- if(myMainw->settingsDialog->profileDialog)
- myMainw->settingsDialog->profileDialog->setLabelInfoToUser("Profile saved to phone");
+ if(myMainw->settingsDialog->registerDialog)
+ myMainw->settingsDialog->registerDialog->setLabelInfoToUser("Profile saved to phone");
// Send xml to server
/*QUrl qurl("http://speedfreak-app.com/api/profile");
if(errorcode != 0) {
qDebug() << "errorcode:" << errorcode << reply->errorString();
//Indicating user
- if(myMainw->settingsDialog->profileDialog)
+ if(myMainw->settingsDialog->registerDialog)
{
//QMessageBox::about(myMainw->settingsDialog->profileDialog, "Server reply to requesting profile",reply->errorString());
- myMainw->settingsDialog->profileDialog->setLabelInfoToUser("Profile save to server - fail");
+ myMainw->settingsDialog->registerDialog->setLabelInfoToUser("Profile save to server - fail");
return true;
}
}
else {
qDebug() << "errorcode:" << errorcode << reply->errorString();
//Indicating user
- if(myMainw->settingsDialog->profileDialog)
+ if(myMainw->settingsDialog->registerDialog)
{
//QMessageBox::about(myMainw->settingsDialog->profileDialog, "Server reply to requesting profile", "OK " + reply->readAll());
- myMainw->settingsDialog->profileDialog->setLabelInfoToUser("Profile saved to server");
+ myMainw->settingsDialog->registerDialog->setLabelInfoToUser("Profile saved to server");
return false;
}
}
if(errorcode != 0) {
qDebug() << "errorcode:" << errorcode << reply->errorString();
//Indicating user
- if(myMainw->settingsDialog->profileDialog)
+ if(myMainw->settingsDialog->registerDialog)
{
//QMessageBox::about(myMainw->settingsDialog->profileDialog, "Server reply to requesting picture",reply->errorString());
- myMainw->settingsDialog->profileDialog->setLabelInfoToUser("Picture save to server - fail");
+ myMainw->settingsDialog->registerDialog->setLabelInfoToUser("Picture save to server - fail");
}
}
else {
qDebug() << "errorcode:" << errorcode << reply->errorString();
//Indicating user
- if(myMainw->settingsDialog->profileDialog)
+ if(myMainw->settingsDialog->registerDialog)
{
//QMessageBox::about(myMainw->settingsDialog->profileDialog, "Server reply to requesting picture", "OK " + reply->readAll());
- myMainw->settingsDialog->profileDialog->setLabelInfoToUser("Picture saved to server");
+ myMainw->settingsDialog->registerDialog->setLabelInfoToUser("Picture saved to server");
+ }
+ }
+}
+
+/**
+ *@brief Request the user information of certain user from the server.
+ *Send authentication information in the header.
+ *@param username which information we want.
+ */
+void HttpClient::requestUserInfo(QString username)
+{
+ qDebug() << "_requestUsersInfo" ;
+
+ QUrl qurl("http://speedfreak-app.com/users/info/" + username);
+ qDebug() << qurl.toString();
+ QNetworkRequest request(qurl);
+ QNetworkReply *currentDownload;
+
+ QString credentials = myMainw->settingsDialog->getUserName() + ":" + myMainw->settingsDialog->getPassword();
+ credentials = "Basic " + credentials.toAscii().toBase64();
+ request.setRawHeader(QByteArray("Authorization"),credentials.toAscii());
+
+ currentDownload = netManager->post(request, ("data=" ));
+ connect(currentDownload,SIGNAL(finished()),this,SLOT(ackOfUserInfo()));
+
+ //qDebug() << "requestUserInfo";
+ //ackOfUserInfo();
+}
+
+/**
+ *@brief React to servers responce after request the user information of certain user.
+ */
+void HttpClient::ackOfUserInfo()
+{
+ qDebug() << "ackUserInfo";
+ /*QString fileName = "user.xml";
+ QFile file(fileName);
+ //file.setFileName( "routetemp.xml");
+ if (!file.open(QFile::ReadOnly))
+ {
+ qDebug() << "_xmlShow fail";
+ return;
+ }
+
+ myXmlreader->xmlReadUserInfo(&file);
+ file.close();*/
+
+ QNetworkReply* reply = qobject_cast<QNetworkReply*>(sender());
+ //myXmlreader->xmlReadUserInfo(reply);
+
+ //for(int i = 0; i < myXmlreader->usersList->count(); i++)
+ //{
+ // myMainw->settingsDialog->sendUsernameToUsersDialog(myXmlreader->usersList->at(i));
+ //}
+ QNetworkReply::NetworkError errorcode;
+ errorcode = reply->error();
+ if(errorcode != 0) {
+ qDebug() << "errorcode:" << errorcode << reply->errorString();
+ //QMessageBox::about(myMainw->topResultDialog, "Server reply to requesting categories",reply->errorString());
+ if(myMainw->usersDialog)
+ myMainw->usersDialog->setLabelInfoToUser("You're not logged! Please register or log in.");
+ }
+ else {
+ myXmlreader->xmlReadUserInfo(reply);
+ qDebug() << "errorcode:" << errorcode << reply->errorString();
+ //QMessageBox::about(myMainw->topResultDialog, "Server reply to requesting categories ", "OK");
+ if(myMainw->usersDialog)
+ myMainw->usersDialog->setLabelInfoToUser("");
+ }
+}
+
+/**
+ *@brief Request the users list of all users from the server.
+ *Send authentication information in the header.
+ */
+void HttpClient::requestUsers()
+{
+ qDebug() << "_requestUsers" ;
+
+ QUrl qurl("http://www.speedfreak-app.com/users/list_all");
+ qDebug() << qurl.toString();
+ QNetworkRequest request(qurl);
+ QNetworkReply *currentDownload;
+
+ QString credentials = myMainw->settingsDialog->getUserName() + ":" + myMainw->settingsDialog->getPassword();
+ credentials = "Basic " + credentials.toAscii().toBase64();
+ request.setRawHeader(QByteArray("Authorization"),credentials.toAscii());
+
+ currentDownload = netManager->post(request, ("data=" ));
+ connect(currentDownload,SIGNAL(finished()),this,SLOT(ackOfUsers()));
+
+
+ //connect(currentDownload,SIGNAL(error(QNetworkReply::NetworkError)),myMainw,SLOT(errorFromServer(QNetworkReply::NetworkError)));
+
+ //Indicating user
+ if(myMainw->usersDialog)
+ myMainw->usersDialog->setLabelInfoToUser("Reguesting users from server");
+
+ //ackOfUsers();
+}
+
+/**
+ *@brief React to servers responce after request the users list of all users.
+ */
+void HttpClient::ackOfUsers()
+{
+ qDebug() << "ackUsers";
+ /* QString fileName = "jtn.xml";
+ QFile file(fileName);
+ //file.setFileName( "routetemp.xml");
+ if (!file.open(QFile::ReadOnly))
+ {
+ qDebug() << "_xmlShow fail";
+ return;
+ }
+
+ myXmlreader->xmlReadUsers(&file);
+ file.close();
+
+ for(int i = 0; i < myXmlreader->usersList->count(); i++)
+ {
+ myMainw->settingsDialog->sendUsernameToUsersDialog(myXmlreader->usersList->at(i));
+ }*/
+
+ qDebug() << "ackUsers";
+
+ //if(myMainw->topResultDialog)
+ // myMainw->topResultDialog->setLabelInfoToUser("");
+
+ QNetworkReply* reply = qobject_cast<QNetworkReply*>(sender());
+ //myXmlreader->xmlReadUsers(reply);
+
+ QNetworkReply::NetworkError errorcode;
+ errorcode = reply->error();
+ if(errorcode != 0) {
+ qDebug() << "errorcode:" << errorcode << reply->errorString();
+ //QMessageBox::about(myMainw->topResultDialog, "Server reply to requesting categories",reply->errorString());
+ if(myMainw->usersDialog)
+ myMainw->usersDialog->setLabelInfoToUser("You're not logged! Please register or log in.");
+ }
+ else {
+ myXmlreader->xmlReadUsers(reply);
+ qDebug() << "errorcode:" << errorcode << reply->errorString();
+ //QMessageBox::about(myMainw->topResultDialog, "Server reply to requesting categories ", "OK");
+ if(myMainw->usersDialog)
+ myMainw->usersDialog->setLabelInfoToUser("");
+ for(int i = 0; i < myXmlreader->usersList->count(); i++)
+ {
+ myMainw->usersDialog->appendUserToList(myXmlreader->usersList->at(i));
}
}
}
+
+/**
+ * This slot function called when userInfo signal is emitted from xmlreader.
+ *@param usersInfo includes information from certain user.
+ */
+void HttpClient::sendUsersInfo(QStringList* usersInfo)
+{
+ myMainw->usersDialog->setUserInfo(usersInfo);
+}