Référence de la classe TcpSocket

La classe TcpSocket est la classe correspondant à un client. Plus de détails...

Liste de tous les membres

Fonctions membres publiques

 TcpSocket ()
 Constructeur de la classe.
void unhandled (QDataStream *)
 Gestionnaire des paquets inutilisés.
void handlePong (QDataStream *)
 Gestionnaire des paquets correspondant aux pongs.
void handleLogin (QDataStream *)
 Gestionnaire des paquets correspondant au résultat d'une tentative de login.
void handleMedicineModel (QDataStream *)
 Gestionnaire des paquets correspondant aux retour d'une demande de modèle contenant les médicaments disponibles.
void handlePatientsModel (QDataStream *)
 Gestionnaire des paquets correspondant aux retour d'une demande de modèle contenant les patients.
void handleBodyPartsModel (QDataStream *)
 Gestionnaire des paquets correspondant aux retour d'une demande de modèle contenant les parties du corps.
void handlePatientQuery (QDataStream *)
 Gestionnaire des paquets correspondant aux retour d'une demande d'informations à propos d'un patient.
void handleNewPatient (QDataStream *)
 Gestionnaire des paquets correspondant à une notification d'ajout du dossier d'un patient.
void handleModifyPatient (QDataStream *)
 Gestionnaire des paquets correspondant à une notification de modification du dossier d'un patient.
void handleNewDiagnostic (QDataStream *)
 Gestionnaire des paquets correspondant à une notification d'ajout de diagnostic dans le dossier d'un patient.
void handleNewSymptom (QDataStream *)
 Gestionnaire des paquets correspondant à une notification d'ajout de symptôme dans le dossier d'un patient.
void handleRemovePrescription (QDataStream *)
 Gestionnaire des paquets correspondant à une notification de suppression de prescription.
void handleModifyPrescription (QDataStream *)
 Gestionnaire des paquets correspondant à une notification de modification de prescription.
void handleNewPrescription (QDataStream *)
 Gestionnaire des paquets correspondant à une notification d'ajout de prescription.
void handleEnterChat (QDataStream *)
 Gestionnaire des paquets correspondant à une notification d'entrée d'un client dans le salon.
void handleLeaveChat (QDataStream *)
 Gestionnaire des paquets correspondant à une notification de sortie d'un client du salon.
void handleChatMessage (QDataStream *)
 Gestionnaire des paquets correspondant à une notification d'ajout de message dans le chat.
void handleChatUsersRequest (QDataStream *)
 Gestionnaire des paquets correspondant à une notification de réception de la liste des utilisateurs présents dans le chat.
void handleEcgData (QDataStream *)
 Gestionnaire des paquets correspondant à une notification de réception de points pour la courbe de l'ECG.
void handleAnalysisModel (QDataStream *)
 Gestionnaire des paquets correspondant à une notification de réception du modèle JSON des analyses (radios et scans) des patients.
void handleScanRequest (QDataStream *)
 Gestionnaire des paquets correspondant à une notification de réception de l'image d'une partie de scan.
void handleRadioRequest (QDataStream *)
 Gestionnaire des paquets correspondant à une notification de réception de l'image d'une partie de radio.
void sendLogin (QString, QString)
 Envoit les éléments d'une tentative de connexion au serveur.
void sendRequestForMedicineModel ()
 Envoit une demande du modèle des médicaments au serveur.
void sendRequestForPatients ()
 Envoit une demande du modèle de tous les patients au serveur.
void sendRequestForBodyParts ()
 Envoit une demande du modèle des parties du corps humain.
void sendRequestForPatient (int)
 Envoit une demande des informations du patient id.
void sendPatientInfos (int, QStringList)
 Envoit les informations relative à un ajout ou une modification du dossier d'un patient.
void sendNewDiagnostic (int, QString)
 Envoit les données relatives à l'ajout d'un diagnostic au dossier du patient à l'id id.
void sendNewSymptom (int, QString)
 Envoit les données relatives à l'ajout d'un symptôme au dossier du patient à l'id id.
void sendRemovePrescription (int, int)
 Envoit les données relatives à la suppression de la prescription id du dossier du patient à l'id patientId.
void sendPrescription (int, int, QString, int, int)
 Envoit les données relatives à la modification ou à l'ajout d'une prescription du dossier du patient à l'id patientId.
void sendEnterChat ()
 Envoit les données relatives à l'entrée de l'utilisateur du client dans le salon.
void sendLeaveChat ()
 Envoit les données relatives à la sortie de l'utilisateur du client du salon.
void sendMessageInChat (QString)
 Envoit un message dans le salon.
void sendChatUsersRequest ()
 Envoit une demande de la liste des utilisateurs connectés au chat.
void sendStartECG (int)
 Envoit au serveur une demande de lancement de l'ECG.
void sendStopECG ()
 Envoit au serveur une demande d'arrêt de l'ECG.
void sendRequestForAnalysis ()
 Envoit au serveur une demande du modèle des analyses (radios et scans) des patients.
void sendRequestForScan (int, int)
 Envoit une demande de la partie part du scan à l'id id.
void sendRequestForRadio (int, int, int)
 Envoit une demande de la partie (x, y) de la radio à l'id id.

Connecteurs privés

void read ()
 Fonction de lecture des paquets.
void sendPing ()
 Envoit un ping au serveur et gère les tentatives de reconnexion.
void reconnect ()
 Reconnecte le client au serveur.
void handleConnected ()
 Envoit au gestionnaire de hooks une notification de connexion.

Fonctions membres privées

void handleMessage (QDataStream *)
 Gestionnaire global des paquets.
void sendEmptyMessage (int)
 Envoit un message simple au serveur contenant une opcode et les données obligatoires d'un paquet en provenance d'un client.

Attributs privés

QTimer _pingTimer
QTime _pongTime
quint64 _size
int _reconnectTries

Description détaillée

La classe TcpSocket est la classe correspondant à un client.

Dérivée de QTcpSocket, elle se connecte sur le port 45354, IP locale, et envoit des paquets, identifiables par leur opcode, au serveur selon les circonstances.

Après être connectée au serveur, l'application va envoyer toutes les dix secondes un ping au serveur pour informer de la latence.


Documentation des constructeurs et destructeur

TcpSocket::TcpSocket (  )  [explicit]

Constructeur de la classe.

Construit un objet TcpSocket.


Documentation des fonctions membres

void TcpSocket::handleBodyPartsModel ( QDataStream *  data  ) 

Gestionnaire des paquets correspondant aux retour d'une demande de modèle contenant les parties du corps.

Les données retournées sont au format JSON et sont parsées par la suite dans le QML.

void TcpSocket::handleLogin ( QDataStream *  data  ) 

Gestionnaire des paquets correspondant au résultat d'une tentative de login.

Retourne true en cas de succès, sinon false.

void TcpSocket::handleMedicineModel ( QDataStream *  data  ) 

Gestionnaire des paquets correspondant aux retour d'une demande de modèle contenant les médicaments disponibles.

Les données retournées sont au format JSON et sont parsées par la suite dans le QML.

void TcpSocket::handleMessage ( QDataStream *  data  )  [private]

Gestionnaire global des paquets.

Cette fonction est appelée une fois qu'un paquet a été entièrement reçu afin de le rediriger vers le gestionnaire de paquets associé à l'opcode qu'il possède.

Dans un premier temps, on récupère l'opcode, puis on vérifie qu'elle est bien valide. Enfin, on appelle le gestionnaire associé.

void TcpSocket::handleModifyPatient ( QDataStream *  data  ) 

Gestionnaire des paquets correspondant à une notification de modification du dossier d'un patient.

Les données retournées sont au format JSON et sont parsées par la suite dans le QML.

void TcpSocket::handleNewDiagnostic ( QDataStream *  data  ) 

Gestionnaire des paquets correspondant à une notification d'ajout de diagnostic dans le dossier d'un patient.

Les données retournées sont au format JSON et sont parsées par la suite dans le QML.

void TcpSocket::handleNewPatient ( QDataStream *  data  ) 

Gestionnaire des paquets correspondant à une notification d'ajout du dossier d'un patient.

Les données retournées sont au format JSON et sont parsées par la suite dans le QML.

void TcpSocket::handleNewSymptom ( QDataStream *  data  ) 

Gestionnaire des paquets correspondant à une notification d'ajout de symptôme dans le dossier d'un patient.

Les données retournées sont au format JSON et sont parsées par la suite dans le QML.

void TcpSocket::handlePatientQuery ( QDataStream *  data  ) 

Gestionnaire des paquets correspondant aux retour d'une demande d'informations à propos d'un patient.

Les données retournées sont au format JSON et sont parsées par la suite dans le QML.

void TcpSocket::handlePatientsModel ( QDataStream *  data  ) 

Gestionnaire des paquets correspondant aux retour d'une demande de modèle contenant les patients.

Les données retournées sont au format JSON et sont parsées par la suite dans le QML.

void TcpSocket::handlePong ( QDataStream *  data  ) 

Gestionnaire des paquets correspondant aux pongs.

Récupère un pong envoyé par le serveur suite à un ping.

void TcpSocket::handleRemovePrescription ( QDataStream *  data  ) 

Gestionnaire des paquets correspondant à une notification de suppression de prescription.

Les données retournées sont au format JSON et sont parsées par la suite dans le QML.

void TcpSocket::read (  )  [private, slot]

Fonction de lecture des paquets.

Récupère progressivement le contenu du paquet envoyé par le serveur, puis appelle la fonction privée handleMessage() pour que celle-ci le gère. Cela fait, la fonction nettoie les données restantes pour préparer l'arrivée d'un nouveau paquet.

Voir également:
TcpSocket::handleMessage(QDataStream *data)
void TcpSocket::unhandled ( QDataStream *  data  ) 

Gestionnaire des paquets inutilisés.

Ne fait rien.


Documentation des données membres

QTimer TcpSocket::_pingTimer [private]

Utilisé pour envoyer des pings.

QTime TcpSocket::_pongTime [private]

Utilisé pour calculer la latence.

Le nombre de tentatives de reconnexions.

quint64 TcpSocket::_size [private]

La taille du paquet reçu.


La documentation de cette classe a été générée à partir des fichiers suivants :
 Tout Classes Fonctions Variables Propriétés

Généré par  doxygen 1.6.2