From 3d48d173bc89b8868bf28f22d875ff0667a24021 Mon Sep 17 00:00:00 2001 From: deva Date: Thu, 27 May 2010 09:40:55 +0000 Subject: New commit/discard methods --- client/netcom.cc | 54 +++++++++++++++++++++++++++++++++++------------------- 1 file changed, 35 insertions(+), 19 deletions(-) (limited to 'client/netcom.cc') diff --git a/client/netcom.cc b/client/netcom.cc index 4deba49..918b8e7 100644 --- a/client/netcom.cc +++ b/client/netcom.cc @@ -46,11 +46,8 @@ #endif #endif -NetCom::NetCom(QString host, quint16 port, QString user, QString cpr) +NetCom::NetCom(QString host, quint16 port) { - this->user = user; - this->cpr = cpr; - // // Setup connection // @@ -65,19 +62,10 @@ NetCom::NetCom(QString host, quint16 port, QString user, QString cpr) manager = new QNetworkAccessManager(this); connect(manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(replyFinished(QNetworkReply*))); - - QDomDocument doc; - makeTransfer(doc, false, true); } NetCom::~NetCom() { - // - // Send commit - // - QDomDocument doc; - makeTransfer(doc, true, true); - // // Clean up // @@ -89,7 +77,8 @@ void NetCom::replyFinished(QNetworkReply *reply) finished[reply] = true; } -QDomDocument NetCom::makeTransfer(QDomDocument &doc, bool commit, bool lockgui) +QDomDocument NetCom::makeTransfer(QDomDocument &doc, + bool commit, bool lockgui, bool discard) { printf("\nMaking transfer:\n%s", doc.toString().toStdString().c_str()); @@ -98,7 +87,13 @@ QDomDocument NetCom::makeTransfer(QDomDocument &doc, bool commit, bool lockgui) if(sessionid != "") request.setRawHeader("SessionID", sessionid.toStdString().c_str()); - if(commit) request.setRawHeader("SessionCommit", "yes"); + if(commit) { + request.setRawHeader("SessionCommit", "yes"); + } + + if(discard) { + request.setRawHeader("SessionDiscard", "yes"); + } // QNetworkReply *reply = manager->get(request); QNetworkReply *reply = manager->post(request, doc.toByteArray()); @@ -108,10 +103,13 @@ QDomDocument NetCom::makeTransfer(QDomDocument &doc, bool commit, bool lockgui) } finished.remove(reply); + QByteArray data = reply->readAll(); QDomDocument res_doc; - res_doc.setContent(reply->readAll()); + res_doc.setContent(data); + + printf("\nRecieved reponse:\n%s", data.data()); - printf("\nRecieved repons:\n%s", res_doc.toString().toStdString().c_str()); + printf("\nRecieved reponse (Parsed):\n%s", res_doc.toByteArray().data()); if(reply->hasRawHeader("SessionID")) { sessionid = reply->rawHeader("SessionID"); @@ -124,6 +122,24 @@ QDomDocument NetCom::makeTransfer(QDomDocument &doc, bool commit, bool lockgui) return res_doc; } +QDomDocument NetCom::initConnection() +{ + QDomDocument doc; + return makeTransfer(doc, false, true); +} + +QDomDocument NetCom::commit() +{ + QDomDocument doc; + return makeTransfer(doc, true, true); +} + +QDomDocument NetCom::discard() +{ + QDomDocument doc; + return makeTransfer(doc, false, true, true); +} + QDomDocument NetCom::send(QString templ, QString macro, bool lockgui) { QDomDocument doc; @@ -134,7 +150,7 @@ QDomDocument NetCom::send(QString templ, QString macro, bool lockgui) QDomElement pracro_elem = doc.createElement("pracro"); pracro_elem.setAttribute("version", "1.0"); - pracro_elem.setAttribute("cpr", cpr); + pracro_elem.setAttribute("cpr", patientid); pracro_elem.setAttribute("user", user); doc.appendChild(pracro_elem); @@ -157,7 +173,7 @@ QDomDocument NetCom::send(QVector< Widget* > widgets, QString templ, QDomElement pracro_elem = doc.createElement("pracro"); pracro_elem.setAttribute("version", "1.0"); - pracro_elem.setAttribute("cpr", cpr); + pracro_elem.setAttribute("cpr", patientid); pracro_elem.setAttribute("user", user); doc.appendChild(pracro_elem); -- cgit v1.2.3