From ffc19fdcd0845dbd85c2bba990c590fcc5fba670 Mon Sep 17 00:00:00 2001 From: Bent Bisballe Nyeng Date: Wed, 12 Oct 2011 12:09:50 +0200 Subject: Finalised the praxisd communination code. Still untested though... --- client/praxisd.h | 85 +++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 78 insertions(+), 7 deletions(-) (limited to 'client/praxisd.h') diff --git a/client/praxisd.h b/client/praxisd.h index dfaac59..c9ccaf3 100644 --- a/client/praxisd.h +++ b/client/praxisd.h @@ -28,12 +28,31 @@ #ifndef __PRACRO_PRAXISD_H__ #define __PRACRO_PRAXISD_H__ -class Praxisd { +#include +#include +#include + +#include +#include + +#include +#include +#include + +class Praxisd : public QObject { Q_OBJECT -public; - Praxisd(); +public: + typedef enum { + journal, + cavelist, + patient, + dokmenu, + dokmenufile + } reply_t; - QString journal_get_by_cpr(QString patientid); + Praxisd(QString host, quint16 port); + + void journal_get_by_cpr(QString patientid); typedef struct { QString sogenr; @@ -42,7 +61,7 @@ public; QString bemaerkning2; QString bemaerkning3; } cave_t; - QVector diverse_get_cave(QString sogenr); + void diverse_get_cave(QString sogenr); typedef struct { QString sogenr; @@ -87,18 +106,70 @@ public; QString unknown251; QString jtime; } patient_t; - patient_t patient_get_by_cpr(QString cpr); + void patient_get_by_cpr(QString cpr); typedef struct { + QString cpr; QString group; QString subject; QString filename; size_t filesize; QString date; } dokmenu_t; - QVector dokmenu_get_all_by_cpr(QString cpr); + void dokmenu_get_all_by_cpr(QString cpr); + + void dokmenu_get_by_cpr_and_name(QString cpr, QString name); + +signals: + void gotReply(QByteArray data); + void networkError(QString text); + + void gotJournal(QString data); + void gotCave(QVector cave); + void gotPatient(patient_t patient); + void gotDokMenu(QVector dokmenu); + void gotDokMenuFile(QString data); + +public slots: + void replyFinished(QNetworkReply*); + +private: + void makeTransfer(reply_t t, QString uri, QMap params); + + QNetworkAccessManager *manager; + QNetworkRequest request; + QString host; + unsigned short int port; + + QMap replytypes; +}; + +class PraxisdSync : public QThread { +Q_OBJECT +public: + PraxisdSync(QString host, unsigned short int port); + + QString journal_get_by_cpr(QString patientid); + QVector diverse_get_cave(QString sogenr); + Praxisd::patient_t patient_get_by_cpr(QString cpr); + QVector dokmenu_get_all_by_cpr(QString cpr); QString dokmenu_get_by_cpr_and_name(QString cpr, QString name); + + void run(); + +public slots: + void gotCaveList(QVector); + +private: + Praxisd praxisd; + QSemaphore rsem; + QSemaphore wsem; + + Praxisd::reply_t request_type; + QString request_sogenr; + + QVector cavelist; }; #endif/*__PRACRO_PRAXISD_H__*/ -- cgit v1.2.3