summaryrefslogtreecommitdiff
path: root/client/netcom.cc
diff options
context:
space:
mode:
Diffstat (limited to 'client/netcom.cc')
-rw-r--r--client/netcom.cc54
1 files changed, 35 insertions, 19 deletions
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,20 +62,11 @@ 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
//
delete manager;
@@ -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);