00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef ANCHOR_H
00024 #define ANCHOR_H
00025
00026 #include <QObject>
00027 #include <QVariant>
00028 #include <QDebug>
00029
00030 class TcpSocket;
00031 class PatientModel;
00032
00033 class Anchor : public QObject
00034 {
00035 Q_OBJECT
00036 Q_PROPERTY(int latency READ latency WRITE setLatency NOTIFY latencyChanged)
00037 Q_PROPERTY(bool connected READ connected WRITE setConnected NOTIFY connectionChanged)
00038 Q_PROPERTY(QString username READ username WRITE setUsername NOTIFY usernameChanged)
00039
00040 public:
00041 Anchor(QObject *parent = 0);
00042 void setSocket(TcpSocket*);
00043
00044
00045 Q_INVOKABLE void login(QString, QString);
00046 Q_INVOKABLE void requestForMedicineModel();
00047 Q_INVOKABLE void requestForPatientsModel();
00048 Q_INVOKABLE void requestForBodyPartsModel();
00049 Q_INVOKABLE void requestForPatient(int);
00050 Q_INVOKABLE void modifyPatient(int, QVariant);
00051 Q_INVOKABLE void addPatient(QVariant);
00052 Q_INVOKABLE void newDiagnostic(int, QString);
00053 Q_INVOKABLE void newSymptom(int, QString);
00054 Q_INVOKABLE void removePrescription(int, int);
00055 Q_INVOKABLE void newPrescription(int, QString, int, int);
00056 Q_INVOKABLE void modifyPrescription(int, int, QString, int, int);
00057 Q_INVOKABLE void enterChat();
00058 Q_INVOKABLE void leaveChat();
00059 Q_INVOKABLE void sendMessageInChat(QString);
00060 Q_INVOKABLE void getChatUsers();
00061 Q_INVOKABLE void startECG(int);
00062 Q_INVOKABLE void stopECG();
00063 Q_INVOKABLE void requestForAnalysisModel();
00064 Q_INVOKABLE void requestForScan(int, int);
00065 Q_INVOKABLE void requestForRadio(int, int, int);
00066
00067
00069 int latency() const;
00070 void setLatency(const int&);
00072 Q_SIGNAL void latencyChanged();
00074 bool connected() const;
00075 void setConnected(const bool&);
00077 Q_SIGNAL void connectionChanged();
00079 Q_SIGNAL void reconnectTry(int number);
00080
00081
00083 QString username() const;
00084 void setUsername(const QString&);
00086 Q_SIGNAL void usernameChanged();
00088 Q_SIGNAL void loginSuccess();
00090 Q_SIGNAL void loginFailure();
00091
00092
00094 Q_SIGNAL void receiveMedicineModel(const QString &medicine);
00096 Q_SIGNAL void receivePatientsModel(const QString &patients);
00098 Q_SIGNAL void receiveBodyPartsModel(const QString &parts);
00100 Q_SIGNAL void receivePatientInfos(const QString &patientInfos);
00102 Q_SIGNAL void receiveNewPatientInfos(const QString &patientInfos);
00104 Q_SIGNAL void receivePatientModifs(int id, const QString &patientInfos);
00106 Q_SIGNAL void receiveNewDiagnostic(int id, const QString &diagnostic);
00108 Q_SIGNAL void receiveNewSymptom(int id, const QString &symptom);
00110 Q_SIGNAL void receiveRemovePrescription(int patientId, int id);
00112 Q_SIGNAL void receiveNewPrescription(int patientId);
00114 Q_SIGNAL void receiveModifyPrescription(int patientId);
00116 Q_SIGNAL void receiveEnterChat(const QString &username);
00118 Q_SIGNAL void receiveLeaveChat(const QString &username);
00120 Q_SIGNAL void receiveChatMessage(const QString &username, const QString &message);
00122 Q_SIGNAL void receiveChatUsers(const QStringList &users);
00124 Q_SIGNAL void receiveEcgData(const QStringList &data);
00126 Q_SIGNAL void receiveAnalysisModel(const QString &analysis);
00128 Q_SIGNAL void receiveScan(int id, int part, const QString &path);
00130 Q_SIGNAL void receiveRadio(int id, int x_part, int y_part, const QString &path);
00131
00132 private:
00134 TcpSocket *_socket;
00136 int _latency;
00138 bool _connected;
00140 QString _username;
00141 };
00142
00143 #define SOCKET \
00144 if (_socket) \
00145 _socket
00146
00147 #endif // ANCHOR_H