La classe TcpSocket est la classe correspondant à un client. Plus de détails...
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 |
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.
TcpSocket::TcpSocket | ( | ) | [explicit] |
Constructeur de la classe.
Construit un objet TcpSocket.
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.
void TcpSocket::unhandled | ( | QDataStream * | data | ) |
Gestionnaire des paquets inutilisés.
Ne fait rien.
QTimer TcpSocket::_pingTimer [private] |
Utilisé pour envoyer des pings.
QTime TcpSocket::_pongTime [private] |
Utilisé pour calculer la latence.
int TcpSocket::_reconnectTries [private] |
Le nombre de tentatives de reconnexions.
quint64 TcpSocket::_size [private] |
La taille du paquet reçu.