public Message(MessageSujet sujet, Connection source, int id, bool enReception) { this.sujetMsg = sujet; this.connSource = source; this.typeMsg = MessageSujetToMessageType(sujetMsg); this.repondu = false; this.id = id; this.estEnvoyer = false; this.enReception = enReception; this.reponse = null; }
public NotifMessage(MessageSujet sujet, Connection source, int id, bool enReception) : base(sujet, source, id, enReception) { }
public ReponseRes(MessageSujet sujet, Connection source, int id, bool enReception) : base(sujet, source, id, enReception) { }
public RequeteRejoindrePartie(MessageSujet sujet, Connection source, int id, bool enReception) : base(sujet, source, id, enReception) { }
public RequeteVoleur(MessageSujet sujet, Connection source, int id, bool enReception) : base(sujet, source, id, enReception) { }
/* * MessageSujetToMessageType : Methode utilitaire pour etablir la conversion entre le * sujet d'un message et son type sous-jacent. */ protected static MessageType MessageSujetToMessageType(MessageSujet sujet) { if (sujet >= MessageSujet.RequeteConstructionRoute && sujet <= MessageSujet.RequeteActiverCarteDeveloppement) return MessageType.Requete; else if (sujet >= MessageSujet.ReponseOk && sujet <= MessageSujet.ReponseVoleur) return MessageType.Reponse; else return MessageType.Notif; }
/* * repondre : Methode servant a envoyer le message par le biais de la connection qui l'a creer. */ public Message creerReponse(MessageSujet sujet) { if (reponse != null || !isStateValidForResponse()) { throw new InvalidOperationException("Etat invalide du message pour la reponse."); } reponse = connSource.creerReponse(sujet, this); return reponse; }