Référence de la classe TcpServer

La classe TcpServer est la classe correspondant au serveur. Plus de détails...

Liste de tous les membres

Fonctions membres publiques

void initialize ()
 Initialise le serveur.
void handleLogout (Customer *)
 Gère la déconnexion du client customer.
void handleMessage (QDataStream *, Customer *)
 Gestionnaire global des paquets.
void unhandled (QDataStream *, Customer *)
 Gestionnaire des paquets inutilisés.
void handlePing (QDataStream *, Customer *)
 Gestionnaire des paquets correspondant aux pings.
void handleLogin (QDataStream *, Customer *)
 Gestionnaire des paquets correspondant aux tentatives de login.
void handleMedicineModel (QDataStream *, Customer *)
 Gestionnaire des paquets correspondant aux demandes de la liste des médicaments disponibles.
void handlePatientsModel (QDataStream *, Customer *)
 Gestionnaire des paquets demandant le modèle contenant les patients.
void handleBodyPartsModel (QDataStream *, Customer *)
 Gestionnaire des paquets demandant le modèle contenant les noms et ids des différentes parties du corps humain.
void handlePatientQuery (QDataStream *, Customer *)
 Gestionnaire des paquets demandant les informations d'un patient.
void handleNewPatient (QDataStream *, Customer *)
 Gestionnaire des paquets demandant l'ajout d'un patient.
void handleModifyPatient (QDataStream *, Customer *)
 Gestionnaire des paquets demandant la modification d'un patient.
void handleNewDiagnostic (QDataStream *, Customer *)
 Gestionnaire des paquets demandant l'ajout d'un nouveau diagnostic au dossier d'un patient.
void handleNewSymptom (QDataStream *, Customer *)
 Gestionnaire des paquets demandant l'ajout d'un nouveau symptôme au dossier d'un patient.
void handleRemovePrescription (QDataStream *, Customer *)
 Gestionnaire des paquets demandant la suppression d'une prescription du dossier d'un patient.
void handleModifyPrescription (QDataStream *, Customer *)
 Gestionnaire des paquets demandant la modification d'une prescription du dossier d'un patient.
void handleNewPrescription (QDataStream *, Customer *)
 Gestionnaire des paquets demandant la modification d'une prescription du dossier d'un patient.
void handleEnterChat (QDataStream *, Customer *)
 Gestionnaire des paquets notifiant d'une entrée dans le salon.
void handleLeaveChat (QDataStream *, Customer *)
 Gestionnaire des paquets notifiant d'une sortie du salon.
void handleChatMessage (QDataStream *, Customer *)
 Gestionnaire des paquets notifiant d'un message dans le salon.
void handleChatUsersRequest (QDataStream *, Customer *)
 Gestionnaire des paquets demandant la liste des utilisateurs connectés au salon.
void handleStartECG (QDataStream *, Customer *)
 Gestionnaire des paquets demandant le lancement de l'ECG.
void handleStopECG (QDataStream *, Customer *)
 Gestionnaire des paquets demandant l'arrêt de l'ECG.
void handleAnalysisModel (QDataStream *, Customer *)
 Gestionnaire des paquets demandant le modèle des analyses (scans et radios) d'un patient.
void handleScanRequest (QDataStream *, Customer *)
 Gestionnaire des paquets demandant l'image d'une partie d'un scan.
void handleRadioRequest (QDataStream *, Customer *)
 Gestionnaire des paquets demandant l'image d'une partie d'une radio.

Connecteurs privés

void handleConnection ()
 Gère les nouvelles connexions.

Fonctions membres privées

QString prepareJSON (const QString &)
 Retourne une chaine parsée.
QString preparePatient (const int &)
 Retourne la chaine JSON des données du dossier du patient id.
void fillStrings (QList< QString > list,...)
 Remplit des QString avec les données de list.

Attributs privés

QList< Customer * > _customers

Description détaillée

La classe TcpServer est la classe correspondant au serveur.

Dérivée de QTcpServer, elle permet de gérer l'intégralité des clients connectés à l'application serveur. Elle écoute le port 45354 et gère les paquets, identifiables par leur opcode, envoyés par les clients.

Voir également:
Customer

Documentation des fonctions membres

void TcpServer::handleAnalysisModel ( QDataStream *  data,
Customer customer 
)

Gestionnaire des paquets demandant le modèle des analyses (scans et radios) d'un patient.

Envoit une chaine de caractères au format JSON contenant les données des analyses au client.

void TcpServer::handleBodyPartsModel ( QDataStream *  data,
Customer customer 
)

Gestionnaire des paquets demandant le modèle contenant les noms et ids des différentes parties du corps humain.

Envoit une chaine de caractères au format JSON contenant les données des parties du corps humain.

void TcpServer::handleChatMessage ( QDataStream *  data,
Customer customer 
)

Gestionnaire des paquets notifiant d'un message dans le salon.

Envoit à tous les clients de la liste des clients présents dans le salon une notification de nouveau message.

void TcpServer::handleChatUsersRequest ( QDataStream *  data,
Customer customer 
)

Gestionnaire des paquets demandant la liste des utilisateurs connectés au salon.

Envoit au client la liste des clients connectés au salon.

void TcpServer::handleConnection (  )  [private, slot]

Gère les nouvelles connexions.

Lorsqu'un client se connecte au serveur, il est ajouté à la liste des clients connectés au serveur pour une utilisation ultérieure.

void TcpServer::handleEnterChat ( QDataStream *  data,
Customer customer 
)

Gestionnaire des paquets notifiant d'une entrée dans le salon.

Ajoute le client à la liste des clients présents dans le salon puis envoit à tous les clients connectés de la liste une notification de l'entrée.

void TcpServer::handleLeaveChat ( QDataStream *  data,
Customer customer 
)

Gestionnaire des paquets notifiant d'une sortie du salon.

Retire le client de la liste des clients présents dans le salon puis envoit à tous les clients connectés de la liste une notification de la sortie.

void TcpServer::handleLogin ( QDataStream *  data,
Customer customer 
)

Gestionnaire des paquets correspondant aux tentatives de login.

Envoit true si les identifiants passés sont corrects, sinon false.

void TcpServer::handleLogout ( Customer customer  ) 

Gère la déconnexion du client customer.

Retire le client de la liste des clients connectés au serveur puis le supprime. Dans le cas où le client serait dans la liste des clients en attente des informations en provenance du simulateur, celui-ci est retiré de la liste. Si le client était présent dans le chat, notifie les autres clients connectés de sa sortie du salon.

void TcpServer::handleMedicineModel ( QDataStream *  data,
Customer customer 
)

Gestionnaire des paquets correspondant aux demandes de la liste des médicaments disponibles.

Envoit une chaine de caractères au format JSON contenant les médicaments.

void TcpServer::handleMessage ( QDataStream *  data,
Customer customer 
)

Gestionnaire global des paquets.

Cette fonction est appelée depuis les clients 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 TcpServer::handleModifyPatient ( QDataStream *  data,
Customer customer 
)

Gestionnaire des paquets demandant la modification d'un patient.

Modifie les données du patient puis envoit à tous les clients connectés une chaine de caractères au format JSON contenant les informations concernant le dossier modifié du patient.

void TcpServer::handleModifyPrescription ( QDataStream *  data,
Customer customer 
)

Gestionnaire des paquets demandant la modification d'une prescription du dossier d'un patient.

Modifie la prescription puis envoit à tous les clients connectés une notification comme quoi les prescriptions du patient ont été modifiées.

void TcpServer::handleNewDiagnostic ( QDataStream *  data,
Customer customer 
)

Gestionnaire des paquets demandant l'ajout d'un nouveau diagnostic au dossier d'un patient.

Ajoute le nouveau diagnostic puis envoit à tous les clients connectés une chaine de caractères au format JSON contenant les informations du nouveau diagnostic.

void TcpServer::handleNewPatient ( QDataStream *  data,
Customer customer 
)

Gestionnaire des paquets demandant l'ajout d'un patient.

Ajoute le nouveau patient puis envoit à tous les clients connectés une chaine de caractères au format JSON contenant les informations concernant le nouveau patient.

void TcpServer::handleNewPrescription ( QDataStream *  data,
Customer customer 
)

Gestionnaire des paquets demandant la modification d'une prescription du dossier d'un patient.

Modifie la prescription puis envoit à tous les clients connectés une notification comme quoi les prescriptions du patient ont été modifiées.

void TcpServer::handleNewSymptom ( QDataStream *  data,
Customer customer 
)

Gestionnaire des paquets demandant l'ajout d'un nouveau symptôme au dossier d'un patient.

Ajoute le nouveau symptôme puis envoit à tous les clients connectés une chaine de caractères au format JSON contenant les informations du nouveau symptôme.

void TcpServer::handlePatientQuery ( QDataStream *  data,
Customer customer 
)

Gestionnaire des paquets demandant les informations d'un patient.

Envoit une chaine de caractères au format JSON contenant les informations concernant le patient.

void TcpServer::handlePatientsModel ( QDataStream *  data,
Customer customer 
)

Gestionnaire des paquets demandant le modèle contenant les patients.

Envoit une chaine de caractères au format JSON contenant les patients.

void TcpServer::handlePing ( QDataStream *  data,
Customer customer 
)

Gestionnaire des paquets correspondant aux pings.

Envoit un pong au client ayant envoyé un ping.

void TcpServer::handleRadioRequest ( QDataStream *  data,
Customer customer 
)

Gestionnaire des paquets demandant l'image d'une partie d'une radio.

Envoit l'image de la partie de la radio au client.

void TcpServer::handleRemovePrescription ( QDataStream *  data,
Customer customer 
)

Gestionnaire des paquets demandant la suppression d'une prescription du dossier d'un patient.

Supprime la prescription puis envoit à tous les clients connectés une notification comme quoi les prescriptions du patient ont été modifiées.

void TcpServer::handleScanRequest ( QDataStream *  data,
Customer customer 
)

Gestionnaire des paquets demandant l'image d'une partie d'un scan.

Envoit l'image de la partie du scan au client.

void TcpServer::handleStartECG ( QDataStream *  data,
Customer customer 
)

Gestionnaire des paquets demandant le lancement de l'ECG.

Ajoute le client à la liste des clients en attente des données de l'ECG, fournies par le simulateur de données.

void TcpServer::handleStopECG ( QDataStream *  data,
Customer customer 
)

Gestionnaire des paquets demandant l'arrêt de l'ECG.

Retire le client de la liste des clients en attente des données de l'ECG, fournies par le simulateur de données.

QString TcpServer::prepareJSON ( const QString &  str  )  [private]

Retourne une chaine parsée.

L'effet est équivalent à celui de la fonction addslashes de PHP, bien que seuls les antislashs et les guillemets soient traités.

void TcpServer::unhandled ( QDataStream *  data,
Customer customer 
)

Gestionnaire des paquets inutilisés.

Ne fait rien.


Documentation des données membres

QList<Customer*> TcpServer::_customers [private]

La liste des clients connectés au serveur.


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

Généré par  doxygen 1.6.2