00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef TCPSOCKET_H
00024 #define TCPSOCKET_H
00025
00026 #include <QtGui>
00027 #include <QtNetwork>
00028
00029 #define CLIENT_USERNAME "developpez.com"
00030 #define CLIENT_PASSWORD "developpez"
00031
00032 class TcpSocket : public QTcpSocket
00033 {
00034 Q_OBJECT
00035
00036 public:
00037 explicit TcpSocket();
00038 void unhandled(QDataStream*);
00039 void handlePong(QDataStream*);
00040 void handleLogin(QDataStream*);
00041 void handleMedicineModel(QDataStream*);
00042 void handlePatientsModel(QDataStream*);
00043 void handleBodyPartsModel(QDataStream*);
00044 void handlePatientQuery(QDataStream*);
00045 void handleNewPatient(QDataStream*);
00046 void handleModifyPatient(QDataStream*);
00047 void handleNewDiagnostic(QDataStream*);
00048 void handleNewSymptom(QDataStream*);
00049 void handleRemovePrescription(QDataStream*);
00050 void handleModifyPrescription(QDataStream*);
00051 void handleNewPrescription(QDataStream*);
00052 void handleEnterChat(QDataStream*);
00053 void handleLeaveChat(QDataStream*);
00054 void handleChatMessage(QDataStream*);
00055 void handleChatUsersRequest(QDataStream*);
00056 void handleEcgData(QDataStream*);
00057 void handleAnalysisModel(QDataStream*);
00058 void handleScanRequest(QDataStream*);
00059 void handleRadioRequest(QDataStream*);
00060
00061 void sendLogin(QString, QString);
00062 void sendRequestForMedicineModel();
00063 void sendRequestForPatients();
00064 void sendRequestForBodyParts();
00065 void sendRequestForPatient(int);
00066 void sendPatientInfos(int, QStringList);
00067 void sendNewDiagnostic(int, QString);
00068 void sendNewSymptom(int, QString);
00069 void sendRemovePrescription(int, int);
00070 void sendPrescription(int, int, QString, int, int);
00071 void sendEnterChat();
00072 void sendLeaveChat();
00073 void sendMessageInChat(QString);
00074 void sendChatUsersRequest();
00075 void sendStartECG(int);
00076 void sendStopECG();
00077 void sendRequestForAnalysis();
00078 void sendRequestForScan(int, int);
00079 void sendRequestForRadio(int, int, int);
00080
00081 private slots:
00082 void read();
00083 void sendPing();
00084 void reconnect();
00085 void handleConnected();
00086
00087 private:
00088 void handleMessage(QDataStream*);
00089 void sendEmptyMessage(int);
00091 QTimer _pingTimer;
00093 QTime _pongTime;
00095 quint64 _size;
00097 int _reconnectTries;
00098 };
00099
00100 #endif // TCPSOCKET_H